.
This commit is contained in:
parent
c11d2e53fd
commit
46617bc952
393
rooms.py
Normal file
393
rooms.py
Normal file
@ -0,0 +1,393 @@
|
||||
import config
|
||||
from .topic import get_topic
|
||||
import logging
|
||||
#
|
||||
from devdi import topic as props
|
||||
from mqtt import mqtt_client
|
||||
"""
|
||||
In this module we initialse the smartzhome devices for all rooms.
|
||||
These rooms can be used in the different project for smarthome.
|
||||
|
||||
The device names in the room classes follow this definition:
|
||||
switch_main_light
|
||||
light_main_light
|
||||
motion_main_light_xx (xx: gf, ff)
|
||||
videv_main_light
|
||||
|
||||
switch_desk_light
|
||||
light_desk_light
|
||||
videv_desk_light
|
||||
|
||||
switch_floor_light
|
||||
light_floor_light
|
||||
videv_floor_light
|
||||
|
||||
switch_window_light
|
||||
light_window_light
|
||||
videv_window_light
|
||||
|
||||
switch_wardrobe_light
|
||||
light_wardrobe_light
|
||||
videv_wardrobe_light
|
||||
|
||||
switch_bed_dirk_light
|
||||
light_bed_dirk_light
|
||||
videv_bed_dirk_light
|
||||
|
||||
switch_bed_marion_light
|
||||
light_bed_marion_light
|
||||
videv_bed_marion_light
|
||||
|
||||
switch_window_light
|
||||
light_window_light
|
||||
videv_window_light
|
||||
|
||||
switch_garland_light
|
||||
videv_garland_light
|
||||
|
||||
switch_repeater
|
||||
videv_repeater
|
||||
|
||||
switch_xmas_tree_light
|
||||
videv_xmas_tree_light
|
||||
|
||||
switch_xmas_star_light
|
||||
videv_xmas_star_light
|
||||
|
||||
switch_circulation_pump
|
||||
videv_circulation_pump
|
||||
|
||||
my_powerplug
|
||||
videv_amplifier
|
||||
videv_cd_player
|
||||
videv_bluetooth
|
||||
videv_phono
|
||||
|
||||
switch_pc_dock
|
||||
videv_pc_dock
|
||||
|
||||
remote_ctrl
|
||||
audio_status_spotify
|
||||
audio_status_mpd
|
||||
audio_status_bluetooth
|
||||
|
||||
|
||||
valve_heating
|
||||
ambient_info
|
||||
videv_heating
|
||||
|
||||
input_device
|
||||
|
||||
|
||||
The following devices are already in use and have to be defined in devices.xxx
|
||||
"""
|
||||
from devices import group
|
||||
|
||||
from devices import shelly_sw1
|
||||
from devices import hue_sw_br_ct
|
||||
from devices import tradfri_sw
|
||||
from devices import tradfri_sw_br
|
||||
from devices import tradfri_sw_br_ct
|
||||
from devices import tradfri_button
|
||||
from devices import livarno_sw_br_ct
|
||||
from devices import brennenstuhl_heatingvalve
|
||||
from devices import silvercrest_powerplug
|
||||
from devices import silvercrest_motion_sensor
|
||||
from devices import my_powerplug
|
||||
from devices import audio_status
|
||||
from devices import remote
|
||||
from devices import my_ambient
|
||||
#
|
||||
from devices import videv_sw
|
||||
from devices import videv_sw_br
|
||||
from devices import videv_sw_br_ct
|
||||
from devices import videv_hea
|
||||
#
|
||||
#
|
||||
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 base_room(object):
|
||||
def __get_group__(self, class_type, mqtt_client, stg, loc, roo, fun, num):
|
||||
dg = []
|
||||
topic = get_topic(stg, loc, roo, fun)
|
||||
for i in range(1, num + 1):
|
||||
device_topic = topic + '_%d' % i
|
||||
dg.append(class_type(mqtt_client, device_topic))
|
||||
this_device = group(*dg)
|
||||
return this_device
|
||||
|
||||
|
||||
#
|
||||
# FFE #############################################################################################
|
||||
#
|
||||
class ffe_floor(base_room):
|
||||
def __init__(self, mqtt_client: mqtt_client):
|
||||
loc = props.LOC_FFE
|
||||
roo = props.ROO_FLO
|
||||
#
|
||||
# http://shelly1l-3C6105E4E629
|
||||
self.switch_main_light = shelly_sw1(mqtt_client, get_topic(props.STG_SHE, loc, roo, props.FUN_MAL))
|
||||
self.videv_main_light = videv_sw(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_MAL))
|
||||
|
||||
|
||||
class ffe_diningroom(base_room):
|
||||
def __init__(self, mqtt_client: mqtt_client):
|
||||
loc = props.LOC_FFE
|
||||
roo = props.ROO_DIN
|
||||
#
|
||||
# http://shelly1l-84CCA8ADD055
|
||||
self.switch_main_light = shelly_sw1(mqtt_client, get_topic(props.STG_SHE, loc, roo, props.FUN_MAL))
|
||||
self.videv_main_light = videv_sw(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_MAL))
|
||||
|
||||
self.switch_floor_light = silvercrest_powerplug(mqtt_client, get_topic(props.STG_ZFE, loc, roo, props.FUN_FLL))
|
||||
self.videv_floor_light = videv_sw(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_FLL))
|
||||
|
||||
self.valve_heating = brennenstuhl_heatingvalve(mqtt_client, get_topic(props.STG_ZFE, loc, roo, props.FUN_HEA))
|
||||
self.videv_heating = videv_hea(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_HEA))
|
||||
|
||||
if config.CHRISTMAS:
|
||||
self.switch_garland_light = silvercrest_powerplug(mqtt_client, get_topic(props.STG_ZFE, loc, roo, props.FUN_GAR))
|
||||
self.videv_garland_light = videv_sw(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_GAR))
|
||||
|
||||
|
||||
class ffe_kitchen(base_room):
|
||||
def __init__(self, mqtt_client: mqtt_client):
|
||||
loc = props.LOC_FFE
|
||||
roo = props.ROO_KIT
|
||||
#
|
||||
# http://shelly1l-8CAAB5616C01
|
||||
self.switch_main_light = shelly_sw1(mqtt_client, get_topic(props.STG_SHE, loc, roo, props.FUN_MAL))
|
||||
self.light_main_light = self.__get_group__(hue_sw_br_ct, mqtt_client, props.STG_ZFE, loc, roo, props.FUN_MAL, 2)
|
||||
self.videv_main_light = videv_sw_br_ct(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_MAL))
|
||||
|
||||
# http://shelly1-e89f6d85a466
|
||||
self.switch_circulation_pump = shelly_sw1(mqtt_client, get_topic(props.STG_SHE, loc, roo, props.FUN_CIR))
|
||||
self.videv_circulation_pump = videv_sw(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_CIR))
|
||||
|
||||
self.valve_heating = brennenstuhl_heatingvalve(mqtt_client, get_topic(props.STG_ZFE, loc, roo, props.FUN_HEA))
|
||||
self.videv_heating = videv_hea(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_HEA))
|
||||
|
||||
|
||||
class ffe_livingroom(base_room):
|
||||
def __init__(self, mqtt_client: mqtt_client):
|
||||
loc = props.LOC_FFE
|
||||
roo = props.ROO_LIV
|
||||
#
|
||||
# http://shelly1l-3C6105E3F910
|
||||
self.switch_main_light = shelly_sw1(mqtt_client, get_topic(props.STG_SHE, loc, roo, props.FUN_MAL))
|
||||
self.light_main_light = tradfri_sw_br_ct(mqtt_client, get_topic(props.STG_ZFE, loc, roo, props.FUN_MAL))
|
||||
self.videv_main_light = videv_sw_br_ct(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_MAL))
|
||||
|
||||
self.light_floor_light = self.__get_group__(tradfri_sw_br_ct, mqtt_client, props.STG_ZFE, loc, roo, props.FUN_FLL, 6)
|
||||
self.videv_floor_light = videv_sw_br_ct(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_FLL))
|
||||
|
||||
self.valve_heating = brennenstuhl_heatingvalve(mqtt_client, get_topic(props.STG_ZFE, loc, roo, props.FUN_HEA))
|
||||
self.videv_heating = videv_hea(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_HEA))
|
||||
|
||||
self.ambient_info = my_ambient(mqtt_client, get_topic(props.STG_MYA, loc, roo, props.FUN_AMB))
|
||||
|
||||
if config.CHRISTMAS:
|
||||
self.switch_xmas_tree_light = silvercrest_powerplug(mqtt_client, get_topic(props.STG_ZFE, loc, roo, props.FUN_XTR))
|
||||
self.videv_xmas_tree_light = videv_sw(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_XTR))
|
||||
|
||||
self.switch_xmas_star_light = silvercrest_powerplug(mqtt_client, get_topic(props.STG_ZFE, loc, roo, props.FUN_XST))
|
||||
self.videv_xmas_star_light = videv_sw(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_XST))
|
||||
|
||||
|
||||
class ffe_sleep(base_room):
|
||||
def __init__(self, mqtt_client: mqtt_client):
|
||||
loc = props.LOC_FFE
|
||||
roo = props.ROO_SLP
|
||||
#
|
||||
# http://shelly1l-E8DB84A254C7
|
||||
self.switch_main_light = shelly_sw1(mqtt_client, get_topic(props.STG_SHE, loc, roo, props.FUN_MAL))
|
||||
self.light_main_light = tradfri_sw_br_ct(mqtt_client, get_topic(props.STG_ZFE, loc, roo, props.FUN_MAL))
|
||||
self.videv_main_light = videv_sw_br_ct(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_MAL))
|
||||
|
||||
self.input_device = tradfri_button(mqtt_client, get_topic(props.STG_ZFE, loc, roo, props.FUN_INP))
|
||||
|
||||
self.light_bed_dirk_light = tradfri_sw_br(mqtt_client, get_topic(props.STG_ZFE, loc, roo, props.FUN_BLD))
|
||||
self.videv_bed_dirk_light = videv_sw_br(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_BLD))
|
||||
|
||||
self.switch_bed_marion_light = silvercrest_powerplug(mqtt_client, get_topic(props.STG_ZFE, loc, roo, props.FUN_BLM))
|
||||
self.videv_bed_marion_light = videv_sw(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_BLM))
|
||||
|
||||
self.light_wardrobe_light = tradfri_sw_br(mqtt_client, get_topic(props.STG_ZFE, loc, roo, props.FUN_WLI))
|
||||
self.videv_wardrobe_light = videv_sw_br(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_WLI))
|
||||
|
||||
self.valve_heating = brennenstuhl_heatingvalve(mqtt_client, get_topic(props.STG_ZFE, loc, roo, props.FUN_HEA))
|
||||
self.videv_heating = videv_hea(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_HEA))
|
||||
|
||||
|
||||
#
|
||||
# FFW #############################################################################################
|
||||
#
|
||||
class ffw_bath(base_room):
|
||||
def __init__(self, mqtt_client: mqtt_client):
|
||||
loc = props.LOC_FFW
|
||||
roo = props.ROO_BAT
|
||||
#
|
||||
# http://shelly1-58BF25D84219
|
||||
self.switch_main_light = shelly_sw1(mqtt_client, get_topic(props.STG_SHE, loc, roo, props.FUN_MAL))
|
||||
self.videv_main_light = videv_sw(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_MAL))
|
||||
|
||||
self.valve_heating = brennenstuhl_heatingvalve(mqtt_client, get_topic(props.STG_ZFW, loc, roo, props.FUN_HEA))
|
||||
self.videv_heating = videv_hea(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_HEA))
|
||||
|
||||
|
||||
class ffw_floor(base_room):
|
||||
def __init__(self, mqtt_client: mqtt_client):
|
||||
loc = props.LOC_FFW
|
||||
roo = props.ROO_FLO
|
||||
#
|
||||
# http://shelly1-58BF25D848EA
|
||||
self.switch_main_light = shelly_sw1(mqtt_client, get_topic(props.STG_SHE, loc, roo, props.FUN_MAL))
|
||||
self.videv_main_light = videv_sw(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_MAL))
|
||||
|
||||
|
||||
class ffw_julian(base_room):
|
||||
def __init__(self, mqtt_client: mqtt_client):
|
||||
loc = props.LOC_FFW
|
||||
roo = props.ROO_JUL
|
||||
#
|
||||
# http://shelly1l-3C6105E43452
|
||||
self.switch_main_light = shelly_sw1(mqtt_client, get_topic(props.STG_SHE, loc, roo, props.FUN_MAL))
|
||||
self.light_main_light = tradfri_sw_br_ct(mqtt_client, get_topic(props.STG_ZFW, loc, roo, props.FUN_MAL))
|
||||
self.videv_main_light = videv_sw_br_ct(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_MAL))
|
||||
|
||||
self.valve_heating = brennenstuhl_heatingvalve(mqtt_client, get_topic(props.STG_ZFW, loc, roo, props.FUN_HEA))
|
||||
self.videv_heating = videv_hea(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_HEA))
|
||||
|
||||
|
||||
class ffw_livingroom(base_room):
|
||||
def __init__(self, mqtt_client: mqtt_client):
|
||||
loc = props.LOC_FFW
|
||||
roo = props.ROO_LIV
|
||||
#
|
||||
# http://shelly1l-84CCA8ACE6A1
|
||||
self.switch_main_light = shelly_sw1(mqtt_client, get_topic(props.STG_SHE, loc, roo, props.FUN_MAL))
|
||||
self.light_main_light = tradfri_sw_br_ct(mqtt_client, get_topic(props.STG_ZFW, loc, roo, props.FUN_MAL))
|
||||
self.videv_main_light = videv_sw_br_ct(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_MAL))
|
||||
|
||||
self.valve_heating = brennenstuhl_heatingvalve(mqtt_client, get_topic(props.STG_ZFW, loc, roo, props.FUN_HEA))
|
||||
self.videv_heating = videv_hea(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_HEA))
|
||||
|
||||
|
||||
class ffw_sleep(base_room):
|
||||
def __init__(self, mqtt_client: mqtt_client):
|
||||
loc = props.LOC_FFW
|
||||
roo = props.ROO_SLP
|
||||
#
|
||||
# http://shelly1-3494546A51F2
|
||||
self.switch_main_light = shelly_sw1(mqtt_client, get_topic(props.STG_SHE, loc, roo, props.FUN_MAL))
|
||||
self.light_main_light = tradfri_sw_br(mqtt_client, get_topic(props.STG_ZFW, loc, roo, props.FUN_MAL))
|
||||
self.videv_main_light = videv_sw_br(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_MAL))
|
||||
|
||||
self.light_window_light = tradfri_sw_br_ct(mqtt_client, get_topic(props.STG_ZFW, loc, roo, props.FUN_WIL))
|
||||
self.videv_window_light = videv_sw_br_ct(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_WIL))
|
||||
|
||||
self.valve_heating = brennenstuhl_heatingvalve(mqtt_client, get_topic(props.STG_ZFW, loc, roo, props.FUN_HEA))
|
||||
self.videv_heating = videv_hea(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_HEA))
|
||||
|
||||
|
||||
#
|
||||
# GAR #############################################################################################
|
||||
#
|
||||
class gar_garden(base_room):
|
||||
def __init__(self, mqtt_client: mqtt_client):
|
||||
loc = props.LOC_GAR
|
||||
roo = props.ROO_GAR
|
||||
#
|
||||
self.switch_main_light = shelly_sw1(mqtt_client, get_topic(props.STG_SHE, loc, roo, props.FUN_MAL))
|
||||
self.videv_main_light = videv_sw(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_MAL))
|
||||
|
||||
self.videv_repeater = videv_sw(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_REP))
|
||||
self.switch_repeater = shelly_sw1(mqtt_client, get_topic(props.STG_ZGW, loc, roo, props.FUN_REP))
|
||||
|
||||
|
||||
#
|
||||
# GFW #############################################################################################
|
||||
#
|
||||
class gfw_dirk(base_room):
|
||||
def __init__(self, mqtt_client: mqtt_client):
|
||||
loc = props.LOC_GFW
|
||||
roo = props.ROO_DIR
|
||||
#
|
||||
# http://shelly1l-3C6105E44F27
|
||||
self.switch_main_light = shelly_sw1(mqtt_client, get_topic(props.STG_SHE, loc, roo, props.FUN_MAL))
|
||||
self.light_main_light = tradfri_sw_br_ct(mqtt_client, get_topic(props.STG_ZGW, loc, roo, props.FUN_MAL))
|
||||
self.videv_main_light = videv_sw_br_ct(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_MAL))
|
||||
|
||||
self.input_device = tradfri_button(mqtt_client, get_topic(props.STG_ZGW, loc, roo, props.FUN_INP))
|
||||
|
||||
self.my_powerplug = my_powerplug(mqtt_client, get_topic(props.STG_MYA, loc, roo, props.FUN_MPP))
|
||||
self.my_powerplug.set_ch_name(self.my_powerplug.KEY_OUTPUT_0, "amplifier")
|
||||
self.my_powerplug.set_ch_name(self.my_powerplug.KEY_OUTPUT_1, "phono")
|
||||
self.my_powerplug.set_ch_name(self.my_powerplug.KEY_OUTPUT_2, "cd-player")
|
||||
self.my_powerplug.set_ch_name(self.my_powerplug.KEY_OUTPUT_3, "bluetooth")
|
||||
self.videv_amplifier = videv_sw(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_AMP))
|
||||
self.videv_cd_player = videv_sw(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_CDP))
|
||||
self.videv_bluetooth = videv_sw(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_BTP))
|
||||
self.videv_phono = videv_sw(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_PHO))
|
||||
|
||||
self.light_desk_light = tradfri_sw_br_ct(mqtt_client, get_topic(props.STG_ZGW, loc, roo, props.FUN_DEL))
|
||||
self.videv_desk_light = videv_sw_br_ct(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_DEL))
|
||||
|
||||
self.switch_pc_dock = tradfri_sw(mqtt_client, get_topic(props.STG_ZGW, loc, roo, props.FUN_DCK))
|
||||
self.videv_pc_dock = videv_sw(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_DCK))
|
||||
|
||||
self.remote_ctrl = remote(mqtt_client, get_topic(props.STG_MYA, loc, roo, props.FUN_RCA))
|
||||
|
||||
self.audio_status_spotify = audio_status(mqtt_client, get_topic(props.STG_MYA, loc, roo, props.FUN_ASS))
|
||||
self.audio_status_mpd = audio_status(mqtt_client, get_topic(props.STG_MYA, loc, roo, props.FUN_ASM))
|
||||
self.audio_status_bluetooth = audio_status(mqtt_client, get_topic(props.STG_MYA, loc, roo, props.FUN_ASB))
|
||||
|
||||
self.valve_heating = brennenstuhl_heatingvalve(mqtt_client, get_topic(props.STG_ZGW, loc, roo, props.FUN_HEA))
|
||||
self.ambient_info = my_ambient(mqtt_client, get_topic(props.STG_MYA, loc, roo, props.FUN_AMB))
|
||||
self.videv_heating = videv_hea(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_HEA))
|
||||
|
||||
|
||||
class gfw_floor(base_room):
|
||||
def __init__(self, mqtt_client: mqtt_client):
|
||||
loc = props.LOC_GFW
|
||||
roo = props.ROO_FLO
|
||||
#
|
||||
# http://shelly1l-84CCA8AD1148
|
||||
self.switch_main_light = shelly_sw1(mqtt_client, get_topic(props.STG_SHE, loc, roo, props.FUN_MAL))
|
||||
self.light_main_light = self.__get_group__(tradfri_sw_br_ct, mqtt_client, props.STG_ZGW, loc, roo, props.FUN_MAL, 2)
|
||||
self.videv_main_light = videv_sw_br_ct(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_MAL))
|
||||
|
||||
|
||||
class gfw_marion(base_room):
|
||||
def __init__(self, mqtt_client: mqtt_client):
|
||||
loc = props.LOC_GFW
|
||||
roo = props.ROO_MAR
|
||||
# http://shelly1l-E8DB84A1E067
|
||||
self.switch_main_light = shelly_sw1(mqtt_client, get_topic(props.STG_SHE, loc, roo, props.FUN_MAL))
|
||||
self.videv_main_light = videv_sw(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_MAL))
|
||||
|
||||
self.light_window_light = tradfri_sw_br_ct(mqtt_client, get_topic(props.STG_ZGW, loc, roo, props.FUN_WIL))
|
||||
self.videv_window_light = videv_sw_br_ct(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_WIL))
|
||||
|
||||
self.valve_heating = brennenstuhl_heatingvalve(mqtt_client, get_topic(props.STG_ZGW, loc, roo, props.FUN_HEA))
|
||||
self.videv_heating = videv_hea(mqtt_client, get_topic(props.STG_VDE, loc, roo, props.FUN_HEA))
|
||||
|
||||
|
||||
#
|
||||
# STW #############################################################################################
|
||||
#
|
||||
class stairway(base_room):
|
||||
def __init__(self, mqtt_client: mqtt_client):
|
||||
loc = props.LOC_STW
|
||||
#
|
||||
# http://shelly1-3494546A9364
|
||||
self.switch_main_light = shelly_sw1(mqtt_client, get_topic(props.STG_SHE, loc, props.ROO_STF, props.FUN_MAL))
|
||||
self.motion_main_light_gf = silvercrest_motion_sensor(mqtt_client, get_topic(props.STG_ZGW, loc, props.ROO_STG, props.FUN_MSE))
|
||||
self.motion_main_light_ff = silvercrest_motion_sensor(mqtt_client, get_topic(props.STG_ZFE, loc, props.ROO_STF, props.FUN_MSE))
|
||||
self.videv_main_light = videv_sw(mqtt_client, get_topic(props.STG_VDE, loc, props.ROO_STF, props.FUN_MAL))
|
||||
|
Loading…
x
Reference in New Issue
Block a user