def publishStateFromDomoticzTopic(self, mqtt_client, device, base_topic, message): OnOffSwitchAdapter.publishStateFromDomoticzTopic(self, mqtt_client, device, base_topic, message) base_topic = base_topic + '/' + str(message['idx']) if message.get('svalue1') is not None: mqtt_client.Publish(base_topic + '/brightness/set', str(message['svalue1'])) if message.get('Color') is not None: rgb_color = message['Color'] color = '%02x%02x%02x' % (rgb_color['r'], rgb_color['g'], rgb_color['b']) mqtt_client.Publish(base_topic + '/colorsettingrgb/set', color)
def _get_adapter(self, domoticz_devices, group_name): if (group_name.endswith('_dimmer')): adapter = DimmableBulbAdapter(domoticz_devices) elif (group_name.endswith('_ct')): adapter = DimmableCtBulbAdapter(domoticz_devices) else: adapter = OnOffSwitchAdapter(domoticz_devices) # Remove LinkQuality device from adapter adapter.devices.pop(0) return adapter
def _get_adapter(self, group_name): if (group_name.endswith('_dimmer')): adapter = DimmableBulbAdapter() elif (group_name.endswith('_ct')): adapter = DimmableCtBulbAdapter() elif (group_name.endswith('_rgb')): adapter = RGBAdapter() elif (group_name.endswith('_rgbw')): adapter = RGBWAdapter() else: adapter = OnOffSwitchAdapter() # Remove LinkQuality device from adapter if domoticz.get_plugin_config('trackLinkQuality'): adapter.devices.pop(0) return adapter
def handleMqttMessage(self, device, data, action, domoticz_port): if action == 'brightness': params = { 'param': 'switchlight', 'idx': device['idx'], 'switchcmd': 'Set Level', 'level': data } OnOffSwitchAdapter.callDomoticzApi(self, domoticz_port, urllib.parse.urlencode(params)) elif action == 'onoff': OnOffSwitchAdapter.handleMqttMessage(self, device, data, action, domoticz_port) elif action == 'colorsettingrgb': params = { 'param': 'setcolbrightnessvalue', 'idx': device['idx'], 'hex': data } OnOffSwitchAdapter.callDomoticzApi(self, domoticz_port, urllib.parse.urlencode(params))
from adapters.dimmable_adapter import DimmableAdapter from adapters.on_off_switch_adapter import OnOffSwitchAdapter from adapters.scene_adapter import SceneAdapter from adapters.temperature_adapter import TemperatureAdapter from adapters.temperature_sensor_adapter import TemperatureSensorAdapter from adapters.open_close_switch_adapter import OpenCloseSwitchAdapter import Domoticz adapter_by_type = { 'Dimmer': DimmableAdapter(), 'Blinds Inverted': DimmableAdapter(), 'Blinds': DimmableAdapter(), 'Blinds Percentage': DimmableAdapter(), 'Blinds Percentage Inverted': DimmableAdapter(), 'Venetian Blinds EU': OpenCloseSwitchAdapter(), 'On/Off': OnOffSwitchAdapter(), 'Push On Button': OnOffSwitchAdapter(), 'Push Off Button': OnOffSwitchAdapter(), 'Scene': SceneAdapter(), 'Group': SceneAdapter(), 'Thermostat': TemperatureAdapter(), 'Door Lock': OnOffSwitchAdapter(), 'Temp': TemperatureSensorAdapter(), 'Temp + Humidity': TemperatureSensorAdapter(), 'Temp + Humidity + Baro': TemperatureSensorAdapter() } def getAdapter(device): if 'SwitchType' in device and device['SwitchType'] in adapter_by_type: Domoticz.Debug('getAdapter SwitchType: %s' % (device['SwitchType']))
def publishState(self, mqtt_client, device, base_topic, value): OnOffSwitchAdapter.publishState(self, mqtt_client, device, base_topic, value)