#!/usr/bin/env python # -*- coding: utf-8 -*- # import config import devices from function.modules import heating_function from function.rooms import room from function.videv import videv_switch_brightness, videv_switch_brightness_color_temp, videv_heating import logging 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 first_floor_west_julian(room): def __init__(self, mqtt_client): # # Device initialisation # # http://shelly1l-3C6105E43452 self.main_light_shelly = devices.shelly(mqtt_client, config.TOPIC_FFW_JULIAN_MAIN_LIGHT_SHELLY) self.main_light_tradfri = devices.tradfri_light(mqtt_client, config.TOPIC_FFW_JULIAN_MAIN_LIGHT_ZIGBEE) super().__init__(mqtt_client) # # Virtual Device Interface # self.main_light_videv = videv_switch_brightness_color_temp( mqtt_client, config.TOPIC_FFW_JULIAN_MAIN_LIGHT_VIDEV, self.main_light_shelly, devices.shelly.KEY_OUTPUT_0, self.main_light_tradfri, devices.tradfri_light.KEY_BRIGHTNESS, self.main_light_tradfri, devices.tradfri_light.KEY_COLOR_TEMP ) class first_floor_west_bath(room): def __init__(self, mqtt_client): # # Device initialisation # self.heating_valve = devices.brennenstuhl_heatingvalve(mqtt_client, config.TOPIC_FFW_BATH_HEATING_VALVE_ZIGBEE) super().__init__(mqtt_client) # # Functionality initialisation # # heating function self.heating_function = heating_function(self.heating_valve, config.DEFAULT_TEMPERATURE_FFW_BATH) # # Virtual Device Interface # self.heating_function_videv = videv_heating( mqtt_client, config.TOPIC_FFW_BATH_HEATING_VALVE_VIDEV, self.heating_function ) class first_floor_west_living(room): def __init__(self, mqtt_client): # # Device initialisation # # http://shelly1l-84CCA8ACE6A1 self.main_light_shelly = devices.shelly(mqtt_client, config.TOPIC_FFW_LIVINGROOM_MAIN_LIGHT_SHELLY) self.main_light_tradfri = devices.tradfri_light(mqtt_client, config.TOPIC_FFW_LIVINGROOM_MAIN_LIGHT_ZIGBEE) super().__init__(mqtt_client) # # Virtual Device Interface # self.main_light_videv = videv_switch_brightness_color_temp( mqtt_client, config.TOPIC_FFW_LIVINGROOM_MAIN_LIGHT_VIDEV, self.main_light_shelly, devices.shelly.KEY_OUTPUT_0, self.main_light_tradfri, devices.tradfri_light.KEY_BRIGHTNESS, self.main_light_tradfri, devices.tradfri_light.KEY_COLOR_TEMP ) class first_floor_west_sleep(room): def __init__(self, mqtt_client): # # Device initialisation # # http://shelly1-3494546A51F2 self.main_light_shelly = devices.shelly(mqtt_client, config.TOPIC_FFW_SLEEP_MAIN_LIGHT_SHELLY) self.main_light_tradfri = devices.tradfri_light(mqtt_client, config.TOPIC_FFW_SLEEP_MAIN_LIGHT_ZIGBEE) super().__init__(mqtt_client) # # Virtual Device Interface # self.main_light_videv = videv_switch_brightness( mqtt_client, config.TOPIC_FFW_SLEEP_MAIN_LIGHT_VIDEV, self.main_light_shelly, devices.shelly.KEY_OUTPUT_0, self.main_light_tradfri, devices.tradfri_light.KEY_BRIGHTNESS )