Hello,
I’m trying to write my apps with assumption to use one class methods… in different classes (in the same app file).
My general class:
class MyCheck(hass.Hass):
...
# windows check
def windows(self):
self.log(self.args['windows'])
for window in self.args['windows']:
if self.get_state(window) == 'on':
MyNotify.notify(self, "OPEN window LEFT: ", window)
# doors check
def doors(self):
for door in self.args['doors']:
if self.get_state(door) == 'on':
MyNotify.notify(self, "OPEN door LEFT: ", door)
...
And I use class MyCheck in different classes:
class MyPresenceAwayMode(hass.Hass):
...
def awaymodeswitch_on(self, entity, attribute, old, new, kwargs):
MyCheck.windows(self)
MyCheck.lamps(self)
...
class MyVacationMode(hass.Hass):
...
def vacation_on(self, entity, attribute, old, new, kwargs):
MyCheck.windows(self)
MyCheck.doors(self)
MyCheck.lamps(self)
...
I assumed that class MyCheck should include all my entities, so I tought my apps.yaml should like this:
my_presence_check:
module: my_presence
class: MyCheck
windows:
- binary_sensor.window_kr
- binary_sensor.window_br
doors:
- binary_sensor.door_lr
- binary_sensor.door_hw
my_presence_away:
module: my_presence
class: MyPresenceAwayMode
my_presence_vacation:
module: my_presence
class: MyVacationMode
but… in such an configuration it doesn’t work properly.
When I try to access MyCheck.windows(self) from class MyPresenceAwayMode I receive:
KeyError: 'windows'
So… it looks like that class MyCheck doesn’t have access to his ‘self’ configuration entities.
I found the way how to resolve situation:
I moved entities to particular MyPresenceAwayMode and MyVacationMode classes configuration:
my_presence_check:
module: my_presence
class: MyCheck
my_presence_away:
module: my_presence
class: MyPresenceAwayMode
windows:
- binary_sensor.window_kr
- binary_sensor.window_br
doors:
- binary_sensor.door_lr
- binary_sensor.door_hw
my_presence_vacation:
module: my_presence
class: MyVacationMode
windows:
- binary_sensor.window_kr
- binary_sensor.window_br
doors:
- binary_sensor.door_lr
- binary_sensor.door_hw
However… that’s not my final intention - I don’t want repeat my entities configuration for every particular class.
How can I access ‘self’ configuration entries for MyCheck class?
Greetings, M