123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- 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)
|