53 lines
1.7 KiB
Python
53 lines
1.7 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
#
|
|
|
|
import config
|
|
import devices
|
|
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__)
|
|
|
|
|
|
class stairway(room_collection):
|
|
def __init__(self, mqtt_client):
|
|
super().__init__(mqtt_client)
|
|
self.stairway = stairway_stairway(mqtt_client)
|
|
|
|
|
|
class stairway_stairway(room):
|
|
def __init__(self, mqtt_client):
|
|
#
|
|
# Device initialisation
|
|
#
|
|
# http://shelly1-3494546A9364
|
|
self.main_light_shelly = devices.shelly(mqtt_client, config.TOPIC_STW_STAIRWAY_MAIN_LIGHT_SHELLY)
|
|
self.motion_sensor_gf = devices.silvercrest_motion_sensor(mqtt_client, config.TOPIC_STW_STAIRWAY_MAIN_LIGHT_MOTION_SENSOR_GF)
|
|
self.motion_sensor_ff = devices.silvercrest_motion_sensor(mqtt_client, config.TOPIC_STW_STAIRWAY_MAIN_LIGHT_MOTION_SENSOR_FF)
|
|
super().__init__(mqtt_client)
|
|
|
|
#
|
|
# 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, devices.shelly.KEY_OUTPUT_0,
|
|
self.motion_sensor_light
|
|
)
|