55 linhas
1.7 KiB
Python
55 linhas
1.7 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
#
|
|
|
|
import config
|
|
from devdi import props
|
|
import logging
|
|
from function.modules import motion_sensor_light
|
|
from function.rooms import room, room_collection
|
|
from function.videv import videv_switching_motion
|
|
|
|
try:
|
|
from config import APP_NAME as ROOT_LOGGER_NAME
|
|
except ImportError:
|
|
ROOT_LOGGER_NAME = 'root'
|
|
logger = logging.getLogger(ROOT_LOGGER_NAME).getChild(__name__)
|
|
|
|
loc = props.LOC_STW
|
|
|
|
|
|
class stairway(room_collection):
|
|
def __init__(self, mqtt_client, pd, vd):
|
|
super().__init__(mqtt_client, pd, vd)
|
|
self.stairway = stairway_stairway(mqtt_client, pd, vd)
|
|
|
|
|
|
class stairway_stairway(room):
|
|
def __init__(self, mqtt_client, pd, vd):
|
|
#
|
|
# Device initialisation
|
|
#
|
|
# http://shelly1-3494546A9364
|
|
self.main_light_shelly = pd.get(props.STG_SHE, loc, props.ROO_STF, props.FUN_MAL)
|
|
self.motion_sensor_ff = pd.get(props.STG_ZFE, loc, props.ROO_STF, props.FUN_MSE)
|
|
self.motion_sensor_gf = pd.get(props.STG_ZGW, loc, props.ROO_STG, props.FUN_MSE)
|
|
super().__init__(mqtt_client, pd, vd)
|
|
|
|
#
|
|
# Functionality initialisation
|
|
#
|
|
self.motion_sensor_light = motion_sensor_light(
|
|
self.main_light_shelly, self.main_light_shelly.set_output_0,
|
|
self.motion_sensor_gf, self.motion_sensor_ff,
|
|
timer_value=config.USER_ON_TIME_STAIRWAYS
|
|
)
|
|
|
|
#
|
|
# Virtual Device Interface
|
|
#
|
|
self.main_light_videv = videv_switching_motion(
|
|
mqtt_client, config.TOPIC_STW_STAIRWAY_MAIN_LIGHT_VIDEV,
|
|
self.main_light_shelly, self.main_light_shelly.KEY_OUTPUT_0,
|
|
self.motion_sensor_light
|
|
)
|