Files
home-assistant/appdaemon/settings/apps/presence/homekit/intercom_switch.py
T
2019-11-07 12:36:14 +03:00

37 lines
1.3 KiB
Python

import appdaemon.plugins.hass.hassapi as hass
import datetime
#
# Intercom auto open switch by presence
#
# Args:
# entity_id - intercom autp open switch
# arrive_event - Arrive event name.
# leave_event - Leave event name
# constraint - (optional, input_boolen), if turned off - no notifications will be sent.
#
# Release Notes
#
# Version 1.0:
# Initial Version
class IntercomSwitch(hass.Hass):
def initialize(self):
if "entity_id" not in self.args or "arrive_event" not in self.args or "leave_event" not in self.args:
self.error("Please provide entity_id, arrive_event, leave_event in config!")
return
self.listen_event(self.arrive_event, self.args['arrive_event'])
self.listen_event(self.leave_event, self.args['leave_event'])
def arrive_event(self, event_id, event_args, kwargs):
if 'constraint' in self.args and not self.constrain_input_boolean(self.args['constraint']):
return
entity_id = self.args['entity_id']
self.log("Somebody come home, turn on {}".format(entity_id))
self.turn_on(entity_id)
def leave_event(self, event_id, event_args, kwargs):
if 'constraint' in self.args and not self.constrain_input_boolean(self.args['constraint']):
return
entity_id = self.args['entity_id']
self.log("All persons leave home, turn off {}".format(entity_id))
self.turn_off(entity_id)