import config import devdi import devdi.props as props import logging import mqtt import os import report import time # TODO: Implementation of missing devices in devices/__init__.py # TODO: Implementation of interface for external device stimulation logger = logging.getLogger(config.APP_NAME) if __name__ == "__main__": # # Logging # if config.DEBUG: report.appLoggingConfigure(None, 'stdout', ((config.APP_NAME, logging.DEBUG), ), target_level=logging.WARNING, fmt=report.SHORT_FMT, host='localhost', port=19996) else: report.stdoutLoggingConfigure(((config.APP_NAME, logging.WARNING), ), report.SHORT_FMT) # # MQTT Client # mc = mqtt.mqtt_client(host=config.MQTT_SERVER, port=config.MQTT_PORT, username=config.MQTT_USER, password=config.MQTT_PASSWORD, name=config.APP_NAME) # # Smarthome physical Devices # pd = devdi.physical_devices(mc) # # Smart Home Functionality # ####### # GFW # ####### loc = props.LOC_GFW # DIRK roo = props.ROO_DIR sml = pd.get(props.STG_SHE, loc, roo, props.FUN_MAL) tml = pd.get(props.STG_ZGW, loc, roo, props.FUN_MAL) sml.register_power_on_instance(tml, sml.PROPERTIES[0]) sml = pd.get(props.STG_MYA, loc, roo, props.FUN_MPP) tml = pd.get(props.STG_ZGW, loc, roo, props.FUN_DEL) sml.register_power_on_instance(tml, sml.PROPERTIES[1]) # FLOOR roo = props.ROO_FLO sml = pd.get(props.STG_SHE, loc, roo, props.FUN_MAL) tml = pd.get(props.STG_ZGW, loc, roo, props.FUN_MAL) sml.register_power_on_instance(tml, sml.PROPERTIES[0]) ####### # FFW # ####### loc = props.LOC_FFW # JULIAN roo = props.ROO_JUL sml = pd.get(props.STG_SHE, loc, roo, props.FUN_MAL) tml = pd.get(props.STG_ZFW, loc, roo, props.FUN_MAL) sml.register_power_on_instance(tml, sml.PROPERTIES[0]) # LIVINGROOM roo = props.ROO_LIV sml = pd.get(props.STG_SHE, loc, roo, props.FUN_MAL) tml = pd.get(props.STG_ZFW, loc, roo, props.FUN_MAL) sml.register_power_on_instance(tml, sml.PROPERTIES[0]) # SLEEP roo = props.ROO_SLP sml = pd.get(props.STG_SHE, loc, roo, props.FUN_MAL) tml = pd.get(props.STG_ZFW, loc, roo, props.FUN_MAL) sml.register_power_on_instance(tml, sml.PROPERTIES[0]) ####### # FFE # ####### loc = props.LOC_FFE # KITCHEN roo = props.ROO_KIT sml = pd.get(props.STG_SHE, loc, roo, props.FUN_CIR) sml.auto_off(600) # LIVINGROOM roo = props.ROO_LIV sml = pd.get(props.STG_SHE, loc, roo, props.FUN_MAL) tml = pd.get(props.STG_ZFE, loc, roo, props.FUN_MAL) sml.register_power_on_instance(tml, sml.PROPERTIES[0]) # SLEEP roo = props.ROO_SLP sml = pd.get(props.STG_SHE, loc, roo, props.FUN_MAL) tml = pd.get(props.STG_ZFE, loc, roo, props.FUN_MAL) sml.register_power_on_instance(tml, sml.PROPERTIES[0]) while (True): time.sleep(1)