Files
home-assistant/appdaemon/settings/apps/light/salt_lamp.py
T
2019-10-31 11:33:20 +03:00

39 lines
1.0 KiB
Python

import appdaemon.plugins.hass.hassapi as hass
import noolite
class Noolite(hass.Hass):
noolite = noolite.NooLite()
brightness = 25
force = False
channel = 0
def initialize(self):
self.run_at_sunrise(self.sunrise_cb)
self.run_at_sunset(self.sunset_cb)
self.listen_state(self.light_change, "group.mainroom_light")
self.listen_event(self.away_mode, "away_mode")
def away_mode(self, event_id, event_args, kwargs):
self.noolite_off()
def light_change(self, entity, attribute, old, new, kwargs):
sun_down = self.sun_down()
if new == "off" and (sun_down or self.force):
self.noolite_on(self.brightness)
else:
self.noolite_off()
def noolite_off(self):
self.log("Turning off salt lamp.")
self.noolite.off(self.channel)
def noolite_on(self, brightness=120):
self.log("Turning on salt lamp for brightness {}.".format(brightness))
self.noolite.set(self.channel, brightness)
def sunset_cb(self, kwargs):
self.noolite_on(self.brightness)
def sunrise_cb(self, kwargs):
self.noolite_off()