2022-12-20 14:05:32 +01:00
|
|
|
#!/usr/bin/env python
|
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
#
|
|
|
|
|
|
|
|
import logging
|
2023-01-26 10:40:56 +01:00
|
|
|
import inspect
|
2022-12-20 14:05:32 +01:00
|
|
|
|
|
|
|
try:
|
|
|
|
from config import APP_NAME as ROOT_LOGGER_NAME
|
|
|
|
except ImportError:
|
|
|
|
ROOT_LOGGER_NAME = 'root'
|
|
|
|
logger = logging.getLogger(ROOT_LOGGER_NAME).getChild(__name__)
|
|
|
|
|
|
|
|
|
|
|
|
class room(object):
|
2022-12-21 07:12:17 +01:00
|
|
|
def __init__(self, mqtt_client):
|
|
|
|
self.mqtt_client = mqtt_client
|
2023-01-26 08:25:40 +01:00
|
|
|
|
|
|
|
def all_off(self, device=None, key=None, data=None):
|
|
|
|
logger.info("Switching all off \"%s\"", type(self).__name__)
|
2023-01-26 10:40:56 +01:00
|
|
|
for name, obj in inspect.getmembers(self):
|
|
|
|
try:
|
|
|
|
if obj.__module__ == 'devices':
|
|
|
|
obj.all_off()
|
|
|
|
except AttributeError:
|
|
|
|
pass # not a module or has no method all_off
|