Support for Somfy Connexoon and Tahoma

Use this forum to discuss possible implementation of a new feature before opening a ticket.
A developer shall edit the topic title with "[xxx]" where xxx is the id of the accompanying tracker id.
Duplicate posts about the same id. +1 posts are not allowed.

Moderators: leecollings, remb0

MikeyMan
Posts: 237
Joined: Wednesday 17 October 2018 12:11
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Support for Somfy Connexoon and Tahoma

Post by MikeyMan »

looking at the readme:
Activating this mode will enable a local API on your TaHoma box. Be aware that Somfy will not be able to provide support for usage of this API.

2. Your Somfy box needs the traceable in your network.
To do this, you need to link your Somfy Box PIN to the Somfy Box IP address.
Add your Somfy Box PIN number to the IP in your local network in etc/hosts or in your DNS Server
```
192.168.1.1 1234-1234-1234.local
```
192.168.1.1 is the IP of your Somfy box<br/>
1234-1234-1234 is the PIN number of your Somfy box and don't forget to add .local to the PIN number
I don't thinkt his is necessary.
The API's function without an issue using ip and port:
In my case: https://10.0.0.199:8443/enduser-mobile-web/1/enduserAPI

Didn't have to fiddle around with hosts or dns server.
Makes life a bit easier i think.

Although apparently in the current setup it doesn't immediately work then.
Local:
somfy plugin.png
somfy plugin.png (106.91 KiB) Viewed 7945 times
However it does add the IO devices.
RTS devices not so much.

setting it to web presents a differnt error:
somfy plugin web.png
somfy plugin web.png (20.37 KiB) Viewed 7942 times
And also only adds the io devices.
Was expecting this mode to work as before.

Logfile at https://easyupload.io/uuabsq

was too big for attachment.

edit: removed it and started the log again:
somfy.log
(115.6 KiB) Downloaded 172 times
Don't know if that's part of the plugin, but this log is created with 640 permission btw

edit2: how is my current token known by this plugin btw? shouldn't this be keyed in as well as a variable?
User avatar
madpatrick
Posts: 636
Joined: Monday 26 December 2016 12:17
Target OS: Linux
Domoticz version: 2024.7
Location: Netherlands
Contact:

Re: Support for Somfy Connexoon and Tahoma

Post by madpatrick »

Can you post the log picture as text (between Code brackets)
2022-11-07 20_24_08-Domoticz - Post a reply.png
2022-11-07 20_24_08-Domoticz - Post a reply.png (5.82 KiB) Viewed 7904 times
The screenshots are unreadable
-= HP server GEN8 Xeon(R) E3-1220L_V2 -=- OZW -=- Toon2 (rooted) -=- Domoticz v2024.7 -=- Dashticz v3.12b on Tab8" =-
MikeyMan
Posts: 237
Joined: Wednesday 17 October 2018 12:11
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Support for Somfy Connexoon and Tahoma

Post by MikeyMan »

madpatrick wrote: Monday 07 November 2022 20:25 Can you post the log picture as text (between Code brackets)
2022-11-07 20_24_08-Domoticz - Post a reply.png

The screenshots are unreadable
The screenshots look just fine?
Have to re-add first before the log comes up again.
Also added the log files.

edit: this is the log with the web setting:

Code: Select all

2022-11-08 10:53:47.058 Error: Somfy Tahoma: Call to function 'onStart' failed, exception details:
2022-11-08 10:53:47.060 Error: Somfy Tahoma: Traceback (most recent call last):
2022-11-08 10:53:47.060 Error: Somfy Tahoma: File "/home/pi/domoticz/plugins/somfy/plugin.py", line 528, in onStart
2022-11-08 10:53:47.060 Error: Somfy Tahoma: _plugin.onStart()
2022-11-08 10:53:47.060 Error: Somfy Tahoma: File "/home/pi/domoticz/plugins/somfy/plugin.py", line 172, in onStart
2022-11-08 10:53:47.060 Error: Somfy Tahoma: self.create_devices(filtered_devices)
2022-11-08 10:53:47.060 Error: Somfy Tahoma: File "/home/pi/domoticz/plugins/somfy/plugin.py", line 485, in create_devices
2022-11-08 10:53:47.060 Error: Somfy Tahoma: elif (device["definition"]["deviceURL"].startswith("rts://")):
2022-11-08 10:53:47.060 Error: Somfy Tahoma: KeyError: 'deviceURL'
and with local setting:

Code: Select all

2022-11-08 10:55:18.992 Error: Somfy Tahoma: Call to function 'onStart' failed, exception details:
2022-11-08 10:55:19.055 Error: Somfy Tahoma: Traceback (most recent call last):
2022-11-08 10:55:19.055 Error: Somfy Tahoma: File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 159, in _new_conn
2022-11-08 10:55:19.055 Error: Somfy Tahoma: (self._dns_host, self.port), self.timeout, **extra_kw)
2022-11-08 10:55:19.055 Error: Somfy Tahoma: File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 57, in create_connection
2022-11-08 10:55:19.055 Error: Somfy Tahoma: for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
2022-11-08 10:55:19.055 Error: Somfy Tahoma: File "/usr/lib/python3.7/socket.py", line 748, in getaddrinfo
2022-11-08 10:55:19.055 Error: Somfy Tahoma: for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
2022-11-08 10:55:19.056 Error: Somfy Tahoma: socket.gaierror: [Errno -2] Name or service not known
2022-11-08 10:55:19.056 Error: Somfy Tahoma:
2022-11-08 10:55:19.056 Error: Somfy Tahoma: During handling of the above exception, another exception occurred:
2022-11-08 10:55:19.056 Error: Somfy Tahoma:
2022-11-08 10:55:19.056 Error: Somfy Tahoma: Traceback (most recent call last):
2022-11-08 10:55:19.056 Error: Somfy Tahoma: File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 600, in urlopen
2022-11-08 10:55:19.056 Error: Somfy Tahoma: chunked=chunked)
2022-11-08 10:55:19.056 Error: Somfy Tahoma: File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 343, in _make_request
2022-11-08 10:55:19.056 Error: Somfy Tahoma: self._validate_conn(conn)
2022-11-08 10:55:19.056 Error: Somfy Tahoma: File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 841, in _validate_conn
2022-11-08 10:55:19.056 Error: Somfy Tahoma: conn.connect()
2022-11-08 10:55:19.056 Error: Somfy Tahoma: File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 301, in connect
2022-11-08 10:55:19.056 Error: Somfy Tahoma: conn = self._new_conn()
2022-11-08 10:55:19.056 Error: Somfy Tahoma: File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 168, in _new_conn
2022-11-08 10:55:19.056 Error: Somfy Tahoma: self, "Failed to establish a new connection: %s" % e)
2022-11-08 10:55:19.056 Error: Somfy Tahoma: urllib3.exceptions.NewConnectionError: <urllib3.connection.VerifiedHTTPSConnection object at 0x6d64f570>: Failed to establish a new connection: [Errno -2] Name or service not known
2022-11-08 10:55:19.056 Error: Somfy Tahoma:
2022-11-08 10:55:19.056 Error: Somfy Tahoma: During handling of the above exception, another exception occurred:
2022-11-08 10:55:19.056 Error: Somfy Tahoma:
2022-11-08 10:55:19.056 Error: Somfy Tahoma: Traceback (most recent call last):
2022-11-08 10:55:19.056 Error: Somfy Tahoma: File "/usr/lib/python3/dist-packages/requests/adapters.py", line 449, in send
2022-11-08 10:55:19.056 Error: Somfy Tahoma: timeout=timeout
2022-11-08 10:55:19.056 Error: Somfy Tahoma: File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 638, in urlopen
2022-11-08 10:55:19.056 Error: Somfy Tahoma: _stacktrace=sys.exc_info()[2])
2022-11-08 10:55:19.056 Error: Somfy Tahoma: File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 398, in increment
2022-11-08 10:55:19.056 Error: Somfy Tahoma: raise MaxRetryError(_pool, url, error or ResponseError(cause))
2022-11-08 10:55:19.056 Error: Somfy Tahoma: urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='2017-8871-5701.local', port=8443): Max retries exceeded with url: /enduser-mobile-web/1/enduserAPI/events/register (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x6d64f570>: Failed to establish a new connection: [Errno -2] Name or service not known'))
2022-11-08 10:55:19.056 Error: Somfy Tahoma:
2022-11-08 10:55:19.056 Error: Somfy Tahoma: During handling of the above exception, another exception occurred:
2022-11-08 10:55:19.057 Error: Somfy Tahoma:
2022-11-08 10:55:19.057 Error: Somfy Tahoma: Traceback (most recent call last):
2022-11-08 10:55:19.057 Error: Somfy Tahoma: File "/home/pi/domoticz/plugins/somfy/plugin.py", line 528, in onStart
2022-11-08 10:55:19.057 Error: Somfy Tahoma: _plugin.onStart()
2022-11-08 10:55:19.057 Error: Somfy Tahoma: File "/home/pi/domoticz/plugins/somfy/plugin.py", line 166, in onStart
2022-11-08 10:55:19.057 Error: Somfy Tahoma: self.tahoma.register_listener()
2022-11-08 10:55:19.057 Error: Somfy Tahoma: File "/home/pi/domoticz/plugins/somfy/tahoma_local.py", line 254, in register_listener
2022-11-08 10:55:19.057 Error: Somfy Tahoma: response = self.listener.register_listener(self.base_url_local + "/events/register", headers=self.headers_with_token, verify=False)
2022-11-08 10:55:19.057 Error: Somfy Tahoma: File "/home/pi/domoticz/plugins/somfy/listener.py", line 42, in register_listener
2022-11-08 10:55:19.057 Error: Somfy Tahoma: response = requests.post(url, headers=headers, verify=verify, timeout=timeout)
2022-11-08 10:55:19.057 Error: Somfy Tahoma: File "/usr/lib/python3/dist-packages/requests/api.py", line 116, in post
2022-11-08 10:55:19.057 Error: Somfy Tahoma: return request('post', url, data=data, json=json, **kwargs)
2022-11-08 10:55:19.057 Error: Somfy Tahoma: File "/usr/lib/python3/dist-packages/requests/api.py", line 60, in request
2022-11-08 10:55:19.057 Error: Somfy Tahoma: return session.request(method=method, url=url, **kwargs)
2022-11-08 10:55:19.057 Error: Somfy Tahoma: File "/usr/lib/python3/dist-packages/requests/sessions.py", line 533, in request
2022-11-08 10:55:19.057 Error: Somfy Tahoma: resp = self.send(prep, **send_kwargs)
2022-11-08 10:55:19.057 Error: Somfy Tahoma: File "/usr/lib/python3/dist-packages/requests/sessions.py", line 646, in send
2022-11-08 10:55:19.057 Error: Somfy Tahoma: r = adapter.send(request, **kwargs)
2022-11-08 10:55:19.057 Error: Somfy Tahoma: File "/usr/lib/python3/dist-packages/requests/adapters.py", line 516, in send
2022-11-08 10:55:19.057 Error: Somfy Tahoma: raise ConnectionError(e, request=request)
2022-11-08 10:55:19.057 Error: Somfy Tahoma: requests.exceptions.ConnectionError: HTTPSConnectionPool(host='2017-8871-5701.local', port=8443): Max retries exceeded with url: /enduser-mobile-web/1/enduserAPI/events/register (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x6d64f570>: Failed to establish a new connection: [Errno -2] Name or service not known'))
re-checked all the python prerequisites and did another pull.
MikeyMan
Posts: 237
Joined: Wednesday 17 October 2018 12:11
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Support for Somfy Connexoon and Tahoma

Post by MikeyMan »

and the latest somfy log:

Code: Select all

2022-11-08 10:56:08,983 - DEBUG    - utils.py           - start filter devices
2022-11-08 10:56:08,990 - DEBUG    - utils.py           - filter_devices: Device name: HOMEKIT (stack) Device class: ProtocolGateway
2022-11-08 10:56:08,991 - DEBUG    - utils.py           - unsupported device found: {'creationTime': 1659382575000, 'lastUpdateTime': 1659382575000, 'label': 'HOMEKIT (stack)', 'deviceURL': 'homekit://2017-8871-5701/stack', 'shortcut': False, 'controllableName': 'homekit:StackComponent', 'definition': {'commands': [{'commandName': 'deleteControllers', 'nparams': 0}], 'states': [], 'dataProperties': [], 'widgetName': 'HomekitStack', 'uiProfiles': ['Specific'], 'uiClass': 'ProtocolGateway', 'qualifiedName': 'homekit:StackComponent', 'type': 'PROTOCOL_GATEWAY'}, 'attributes': [{'name': 'homekit:SetupCode', 'type': 3, 'value': '418-08-925'}, {'name': 'homekit:SetupPayload', 'type': 3, 'value': 'X-HM://002LX3OKD7KEH'}], 'available': True, 'enabled': True, 'placeOID': '5e6ed1c9-72cd-4c4f-9e4e-20c837f68475', 'widget': 'HomekitStack', 'type': 5, 'oid': '97c426db-717f-4e02-bda6-4fbed699f000', 'uiClass': 'ProtocolGateway'}
2022-11-08 10:56:08,991 - DEBUG    - utils.py           - filter_devices: Device name: Box Device class: Pod
2022-11-08 10:56:08,991 - DEBUG    - utils.py           - unsupported device found: {'creationTime': 1659382575000, 'lastUpdateTime': 1659382575000, 'label': 'Box', 'deviceURL': 'internal://2017-8871-5701/pod/0', 'shortcut': False, 'controllableName': 'internal:PodV3Component', 'definition': {'commands': [{'commandName': 'getName', 'nparams': 0}, {'commandName': 'update', 'nparams': 0}, {'commandName': 'setCountryCode', 'nparams': 1}, {'commandName': 'activateCalendar', 'nparams': 0}, {'commandName': 'deactivateCalendar', 'nparams': 0}, {'commandName': 'refreshPodMode', 'nparams': 0}, {'commandName': 'refreshUpdateStatus', 'nparams': 0}, {'commandName': 'setCalendar', 'nparams': 1}, {'commandName': 'setLightingLedPodMode', 'nparams': 1}, {'commandName': 'setPodLedOff', 'nparams': 0}, {'commandName': 'setPodLedOn', 'nparams': 0}], 'states': [{'type': 'DiscreteState', 'values': ['offline', 'online'], 'qualifiedName': 'core:ConnectivityState'}, {'type': 'DataState', 'qualifiedName': 'core:CountryCodeState'}, {'type': 'DataState', 'qualifiedName': 'core:LocalIPv4AddressState'}, {'type': 'DataState', 'qualifiedName': 'core:NameState'}, {'eventBased': True, 'type': 'DiscreteState', 'values': ['pressed', 'stop'], 'qualifiedName': 'internal:Button1State'}, {'eventBased': True, 'type': 'DiscreteState', 'values': ['pressed', 'stop'], 'qualifiedName': 'internal:Button2State'}, {'eventBased': True, 'type': 'DiscreteState', 'values': ['pressed', 'stop'], 'qualifiedName': 'internal:Button3State'}, {'type': 'ContinuousState', 'qualifiedName': 'internal:LightingLedPodModeState'}], 'dataProperties': [], 'widgetName': 'Pod', 'uiProfiles': ['UpdatableComponent'], 'uiClass': 'Pod', 'qualifiedName': 'internal:PodV3Component', 'type': 'ACTUATOR'}, 'states': [{'name': 'internal:LightingLedPodModeState', 'type': 2, 'value': 0.0}, {'name': 'core:CountryCodeState', 'type': 3, 'value': 'NL'}, {'name': 'core:LocalIPv4AddressState', 'type': 3, 'value': '10.0.0.161'}, {'name': 'core:NameState', 'type': 3, 'value': 'Box'}], 'available': True, 'enabled': True, 'placeOID': '5e6ed1c9-72cd-4c4f-9e4e-20c837f68475', 'widget': 'Pod', 'type': 1, 'oid': 'b75568d0-af99-44ac-9804-66fec2612706', 'uiClass': 'Pod'}
2022-11-08 10:56:08,992 - DEBUG    - utils.py           - filter_devices: Device name: INTERNAL (wifi/0) Device class: Wifi
2022-11-08 10:56:08,992 - DEBUG    - utils.py           - unsupported device found: {'creationTime': 1659382575000, 'lastUpdateTime': 1659382575000, 'label': 'INTERNAL (wifi/0)', 'deviceURL': 'internal://2017-8871-5701/wifi/0', 'shortcut': False, 'controllableName': 'internal:WifiComponent', 'definition': {'commands': [{'commandName': 'clearCredentials', 'nparams': 0}, {'commandName': 'setTargetInfraConfig', 'nparams': 2}, {'commandName': 'setWifiMode', 'nparams': 1}], 'states': [{'type': 'DataState', 'qualifiedName': 'internal:CurrentInfraConfigState'}, {'type': 'ContinuousState', 'qualifiedName': 'internal:SignalStrengthState'}, {'type': 'DataState', 'qualifiedName': 'internal:WifiModeState'}], 'dataProperties': [], 'widgetName': 'Wifi', 'uiProfiles': ['Specific'], 'uiClass': 'Wifi', 'qualifiedName': 'internal:WifiComponent', 'type': 'ACTUATOR'}, 'states': [{'name': 'internal:WifiModeState', 'type': 3, 'value': 'infrastructure'}, {'name': 'internal:CurrentInfraConfigState', 'type': 3, 'value': 'ubnt'}, {'name': 'internal:SignalStrengthState', 'type': 1, 'value': 87}], 'available': True, 'enabled': True, 'placeOID': '5e6ed1c9-72cd-4c4f-9e4e-20c837f68475', 'widget': 'Wifi', 'type': 1, 'oid': '6b617172-b7e5-42dd-9c4f-1aad74606ec6', 'uiClass': 'Wifi'}
2022-11-08 10:56:08,992 - DEBUG    - utils.py           - filter_devices: Device name: Verlichtingssensor achterkant Device class: LightSensor
2022-11-08 10:56:08,993 - DEBUG    - utils.py           - filter_devices: type of device = <class 'dict'>
2022-11-08 10:56:08,993 - INFO     - utils.py           - supported device found: {'creationTime': 1659614650000, 'lastUpdateTime': 1659614650000, 'label': 'Verlichtingssensor achterkant', 'deviceURL': 'io://2017-8871-5701/14384853', 'shortcut': False, 'controllableName': 'io:LightIOSystemSensor', 'definition': {'commands': [{'commandName': 'advancedRefresh', 'nparams': 1}], 'states': [{'type': 'DiscreteState', 'values': ['good', 'low', 'normal', 'verylow'], 'qualifiedName': 'core:DiscreteRSSILevelState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:LuminanceState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:RSSILevelState'}, {'type': 'DiscreteState', 'values': ['dead', 'lowBattery', 'maintenanceRequired', 'noDefect'], 'qualifiedName': 'core:SensorDefectState'}, {'type': 'DiscreteState', 'values': ['available', 'unavailable'], 'qualifiedName': 'core:StatusState'}], 'dataProperties': [{'value': {'activationDelayMap': {'middle': 0, 'lower': 1200, 'upper': 300}, 'referenceStates': ['middle', 'lower', 'upper'], 'qualifiedName': 'io:SunSensorHysteresisBehavior'}, 'qualifiedName': 'core:timeBasedHysteresisBehavior'}], 'widgetName': 'LuminanceSensor', 'uiProfiles': ['Specific'], 'uiClass': 'LightSensor', 'qualifiedName': 'io:LightIOSystemSensor', 'type': 'SENSOR'}, 'states': [{'name': 'core:StatusState', 'type': 3, 'value': 'available'}, {'name': 'core:DiscreteRSSILevelState', 'type': 3, 'value': 'normal'}, {'name': 'core:RSSILevelState', 'type': 2, 'value': 70.0}, {'name': 'core:LuminanceState', 'type': 2, 'value': 4459.0}], 'attributes': [{'name': 'core:MaxSensedValue', 'type': 1, 'value': 100000}, {'name': 'core:MinSensedValue', 'type': 1, 'value': 50}, {'name': 'core:Manufacturer', 'type': 3, 'value': 'Somfy'}, {'name': 'core:FirmwareRevision', 'type': 3, 'value': '5126936A15'}, {'name': 'core:MeasuredValueType', 'type': 3, 'value': 'core:LuminanceInLux'}, {'name': 'core:PowerSourceType', 'type': 3, 'value': 'battery'}], 'available': True, 'enabled': True, 'placeOID': '2d2037bd-bf9f-42a5-9e00-8ee251580de8', 'widget': 'LuminanceSensor', 'type': 2, 'oid': '68df242f-b9da-4af6-8654-ab3677506523', 'uiClass': 'LightSensor'}
2022-11-08 10:56:08,993 - DEBUG    - utils.py           - filter_devices: Device name: IO (15149504) Device class: ProtocolGateway
2022-11-08 10:56:08,994 - DEBUG    - utils.py           - unsupported device found: {'creationTime': 1659382805000, 'lastUpdateTime': 1659382805000, 'label': 'IO (15149504)', 'deviceURL': 'io://2017-8871-5701/15149504', 'shortcut': False, 'controllableName': 'io:StackComponent', 'definition': {'commands': [{'commandName': 'advancedSomfyDiscover', 'nparams': 1}, {'commandName': 'discover1WayController', 'nparams': 2}, {'commandName': 'discoverActuators', 'nparams': 1}, {'commandName': 'discoverSensors', 'nparams': 1}, {'commandName': 'discoverSomfyUnsetActuators', 'nparams': 0}, {'commandName': 'joinNetwork', 'nparams': 0}, {'commandName': 'resetNetworkSecurity', 'nparams': 0}, {'commandName': 'shareNetwork', 'nparams': 0}], 'states': [], 'dataProperties': [], 'widgetName': 'IOStack', 'uiProfiles': ['Specific'], 'uiClass': 'ProtocolGateway', 'qualifiedName': 'io:StackComponent', 'type': 'PROTOCOL_GATEWAY'}, 'available': True, 'enabled': True, 'placeOID': '5e6ed1c9-72cd-4c4f-9e4e-20c837f68475', 'widget': 'IOStack', 'type': 5, 'oid': '57d020a5-3ebf-46e8-b348-b1a41b935a31', 'uiClass': 'ProtocolGateway'}
2022-11-08 10:56:08,994 - DEBUG    - utils.py           - filter_devices: Device name: Zonwering Balkonraam Device class: ExteriorScreen
2022-11-08 10:56:08,994 - DEBUG    - utils.py           - filter_devices: type of device = <class 'dict'>
2022-11-08 10:56:08,995 - INFO     - utils.py           - supported device found: {'creationTime': 1659383285000, 'lastUpdateTime': 1659383285000, 'label': 'Zonwering Balkonraam', 'deviceURL': 'io://2017-8871-5701/3196925', 'shortcut': False, 'controllableName': 'io:VerticalExteriorAwningIOComponent', 'definition': {'commands': [{'commandName': 'advancedRefresh', 'nparams': 2}, {'commandName': 'close', 'nparams': 0}, {'commandName': 'delayedStopIdentify', 'nparams': 1}, {'commandName': 'deploy', 'nparams': 0}, {'commandName': 'down', 'nparams': 0}, {'commandName': 'getName', 'nparams': 0}, {'commandName': 'identify', 'nparams': 0}, {'commandName': 'my', 'nparams': 0}, {'commandName': 'open', 'nparams': 0}, {'commandName': 'refreshMemorized1Position', 'nparams': 0}, {'commandName': 'setClosure', 'nparams': 1}, {'commandName': 'setDeployment', 'nparams': 1}, {'commandName': 'setMemorized1Position', 'nparams': 1}, {'commandName': 'setName', 'nparams': 1}, {'commandName': 'setPosition', 'nparams': 1}, {'commandName': 'setSecuredPosition', 'nparams': 1}, {'commandName': 'startIdentify', 'nparams': 0}, {'commandName': 'stop', 'nparams': 0}, {'commandName': 'stopIdentify', 'nparams': 0}, {'commandName': 'undeploy', 'nparams': 0}, {'commandName': 'up', 'nparams': 0}, {'commandName': 'wink', 'nparams': 1}, {'commandName': 'runManufacturerSettingsCommand', 'nparams': 2}, {'commandName': 'keepOneWayControllersAndDeleteNode', 'nparams': 0}, {'commandName': 'pairOneWayController', 'nparams': 2}, {'commandName': 'sendIOKey', 'nparams': 0}, {'commandName': 'setConfigState', 'nparams': 1}, {'commandName': 'unpairAllOneWayControllersAndDeleteNode', 'nparams': 0}, {'commandName': 'unpairAllOneWayControllers', 'nparams': 0}, {'commandName': 'unpairOneWayController', 'nparams': 2}], 'states': [{'type': 'DataState', 'qualifiedName': 'core:AdditionalStatusState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ClosureState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:DeploymentState'}, {'type': 'DiscreteState', 'values': ['good', 'low', 'normal', 'verylow'], 'qualifiedName': 'core:DiscreteRSSILevelState'}, {'type': 'DataState', 'qualifiedName': 'core:ManufacturerDiagnosticsState'}, {'type': 'DataState', 'qualifiedName': 'core:ManufacturerSettingsState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:Memorized1PositionState'}, {'type': 'DiscreteState', 'values': ['false', 'true'], 'qualifiedName': 'core:MovingState'}, {'type': 'DataState', 'qualifiedName': 'core:NameState'}, {'type': 'DiscreteState', 'values': ['closed', 'open'], 'qualifiedName': 'core:OpenClosedState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:PriorityLockTimerState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:RSSILevelState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:SecuredPositionState'}, {'type': 'DiscreteState', 'values': ['available', 'unavailable'], 'qualifiedName': 'core:StatusState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:TargetClosureState'}, {'type': 'DiscreteState', 'values': ['comfortLevel1', 'comfortLevel2', 'comfortLevel3', 'comfortLevel4', 'environmentProtection', 'humanProtection', 'userLevel1', 'userLevel2'], 'qualifiedName': 'io:PriorityLockLevelState'}, {'type': 'DiscreteState', 'values': ['LSC', 'SAAC', 'SFC', 'UPS', 'externalGateway', 'localUser', 'myself', 'rain', 'security', 'temperature', 'timer', 'user', 'wind'], 'qualifiedName': 'io:PriorityLockOriginatorState'}], 'dataProperties': [{'value': '500', 'qualifiedName': 'core:identifyInterval'}], 'widgetName': 'PositionableScreen', 'uiProfiles': ['StatefulDeployableVerticalAwning', 'StatefulDeployable', 'Deployable', 'DeployUndeploy', 'StatefulCloseable', 'StatefulOpenClose', 'OpenClose'], 'uiClass': 'ExteriorScreen', 'qualifiedName': 'io:VerticalExteriorAwningIOComponent', 'type': 'ACTUATOR'}, 'states': [{'name': 'core:NameState', 'type': 3, 'value': 'Zonwering Balkon'}, {'name': 'core:PriorityLockTimerState', 'type': 1, 'value': 0}, {'name': 'core:StatusState', 'type': 3, 'value': 'available'}, {'name': 'core:DiscreteRSSILevelState', 'type': 3, 'value': 'normal'}, {'name': 'core:RSSILevelState', 'type': 2, 'value': 56.0}, {'name': 'core:ClosureState', 'type': 1, 'value': 0}, {'name': 'core:OpenClosedState', 'type': 3, 'value': 'open'}, {'name': 'core:DeploymentState', 'type': 1, 'value': 0}, {'name': 'core:Memorized1PositionState', 'type': 1, 'value': 105}, {'name': 'core:TargetClosureState', 'type': 1, 'value': 0}, {'name': 'core:MovingState', 'type': 6, 'value': False}], 'attributes': [{'name': 'core:Manufacturer', 'type': 3, 'value': 'Somfy'}, {'name': 'core:SupportedManufacturerSettingsCommands', 'type': 10, 'value': ['dead_man_up', 'dead_man_down', 'dead_man_stop', 'dead_man_impulse_up', 'dead_man_impulse_down', 'enter_settings_mode', 'save_upper_end_limit', 'save_lower_end_limit', 'stop_after_save_limit', 'save_settings', 'invert_rotation', 'save_my_position', 'delete_my_position', 'reset_actuator', 'double_power_cut', 'eject_from_setting_mode', 'enter_back_impulse_setting_mode', 'save_back_impulse_position']}, {'name': 'core:FirmwareRevision', 'type': 3, 'value': '5104761X04'}], 'available': True, 'enabled': True, 'placeOID': '2d2037bd-bf9f-42a5-9e00-8ee251580de8', 'widget': 'PositionableScreen', 'type': 1, 'oid': '6f558ff8-bed6-4458-abd5-db0024b3d914', 'uiClass': 'ExteriorScreen'}
2022-11-08 10:56:08,996 - DEBUG    - utils.py           - filter_devices: Device name: Zonwering Balkondeur Device class: ExteriorScreen
2022-11-08 10:56:08,996 - DEBUG    - utils.py           - filter_devices: type of device = <class 'dict'>
2022-11-08 10:56:08,997 - INFO     - utils.py           - supported device found: {'creationTime': 1659383284000, 'lastUpdateTime': 1659383284000, 'label': 'Zonwering Balkondeur', 'deviceURL': 'io://2017-8871-5701/8684910', 'shortcut': False, 'controllableName': 'io:VerticalExteriorAwningIOComponent', 'definition': {'commands': [{'commandName': 'advancedRefresh', 'nparams': 2}, {'commandName': 'close', 'nparams': 0}, {'commandName': 'delayedStopIdentify', 'nparams': 1}, {'commandName': 'deploy', 'nparams': 0}, {'commandName': 'down', 'nparams': 0}, {'commandName': 'getName', 'nparams': 0}, {'commandName': 'identify', 'nparams': 0}, {'commandName': 'my', 'nparams': 0}, {'commandName': 'open', 'nparams': 0}, {'commandName': 'refreshMemorized1Position', 'nparams': 0}, {'commandName': 'setClosure', 'nparams': 1}, {'commandName': 'setDeployment', 'nparams': 1}, {'commandName': 'setMemorized1Position', 'nparams': 1}, {'commandName': 'setName', 'nparams': 1}, {'commandName': 'setPosition', 'nparams': 1}, {'commandName': 'setSecuredPosition', 'nparams': 1}, {'commandName': 'startIdentify', 'nparams': 0}, {'commandName': 'stop', 'nparams': 0}, {'commandName': 'stopIdentify', 'nparams': 0}, {'commandName': 'undeploy', 'nparams': 0}, {'commandName': 'up', 'nparams': 0}, {'commandName': 'wink', 'nparams': 1}, {'commandName': 'runManufacturerSettingsCommand', 'nparams': 2}, {'commandName': 'keepOneWayControllersAndDeleteNode', 'nparams': 0}, {'commandName': 'pairOneWayController', 'nparams': 2}, {'commandName': 'sendIOKey', 'nparams': 0}, {'commandName': 'setConfigState', 'nparams': 1}, {'commandName': 'unpairAllOneWayControllersAndDeleteNode', 'nparams': 0}, {'commandName': 'unpairAllOneWayControllers', 'nparams': 0}, {'commandName': 'unpairOneWayController', 'nparams': 2}], 'states': [{'type': 'DataState', 'qualifiedName': 'core:AdditionalStatusState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:ClosureState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:DeploymentState'}, {'type': 'DiscreteState', 'values': ['good', 'low', 'normal', 'verylow'], 'qualifiedName': 'core:DiscreteRSSILevelState'}, {'type': 'DataState', 'qualifiedName': 'core:ManufacturerDiagnosticsState'}, {'type': 'DataState', 'qualifiedName': 'core:ManufacturerSettingsState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:Memorized1PositionState'}, {'type': 'DiscreteState', 'values': ['false', 'true'], 'qualifiedName': 'core:MovingState'}, {'type': 'DataState', 'qualifiedName': 'core:NameState'}, {'type': 'DiscreteState', 'values': ['closed', 'open'], 'qualifiedName': 'core:OpenClosedState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:PriorityLockTimerState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:RSSILevelState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:SecuredPositionState'}, {'type': 'DiscreteState', 'values': ['available', 'unavailable'], 'qualifiedName': 'core:StatusState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:TargetClosureState'}, {'type': 'DiscreteState', 'values': ['comfortLevel1', 'comfortLevel2', 'comfortLevel3', 'comfortLevel4', 'environmentProtection', 'humanProtection', 'userLevel1', 'userLevel2'], 'qualifiedName': 'io:PriorityLockLevelState'}, {'type': 'DiscreteState', 'values': ['LSC', 'SAAC', 'SFC', 'UPS', 'externalGateway', 'localUser', 'myself', 'rain', 'security', 'temperature', 'timer', 'user', 'wind'], 'qualifiedName': 'io:PriorityLockOriginatorState'}], 'dataProperties': [{'value': '500', 'qualifiedName': 'core:identifyInterval'}], 'widgetName': 'PositionableScreen', 'uiProfiles': ['StatefulDeployableVerticalAwning', 'StatefulDeployable', 'Deployable', 'DeployUndeploy', 'StatefulCloseable', 'StatefulOpenClose', 'OpenClose'], 'uiClass': 'ExteriorScreen', 'qualifiedName': 'io:VerticalExteriorAwningIOComponent', 'type': 'ACTUATOR'}, 'states': [{'name': 'core:NameState', 'type': 3, 'value': 'Zonwering Balkon'}, {'name': 'core:PriorityLockTimerState', 'type': 1, 'value': 0}, {'name': 'core:StatusState', 'type': 3, 'value': 'available'}, {'name': 'core:DiscreteRSSILevelState', 'type': 3, 'value': 'normal'}, {'name': 'core:RSSILevelState', 'type': 2, 'value': 56.0}, {'name': 'core:ClosureState', 'type': 1, 'value': 0}, {'name': 'core:OpenClosedState', 'type': 3, 'value': 'open'}, {'name': 'core:DeploymentState', 'type': 1, 'value': 0}, {'name': 'core:Memorized1PositionState', 'type': 1, 'value': 105}, {'name': 'core:TargetClosureState', 'type': 1, 'value': 0}, {'name': 'core:MovingState', 'type': 6, 'value': False}], 'attributes': [{'name': 'core:SupportedManufacturerSettingsCommands', 'type': 10, 'value': ['dead_man_up', 'dead_man_down', 'dead_man_stop', 'dead_man_impulse_up', 'dead_man_impulse_down', 'enter_settings_mode', 'save_upper_end_limit', 'save_lower_end_limit', 'stop_after_save_limit', 'save_settings', 'invert_rotation', 'save_my_position', 'delete_my_position', 'reset_actuator', 'double_power_cut', 'eject_from_setting_mode', 'enter_back_impulse_setting_mode', 'save_back_impulse_position']}, {'name': 'core:FirmwareRevision', 'type': 3, 'value': '5104761X04'}, {'name': 'core:Manufacturer', 'type': 3, 'value': 'Somfy'}], 'available': True, 'enabled': True, 'placeOID': '2d2037bd-bf9f-42a5-9e00-8ee251580de8', 'widget': 'PositionableScreen', 'type': 1, 'oid': '2c861047-bc3f-4af3-82b9-454bd6fc584d', 'uiClass': 'ExteriorScreen'}
2022-11-08 10:56:08,997 - DEBUG    - utils.py           - filter_devices: Device name: OGP KNX Bridge Device class: ProtocolGateway
2022-11-08 10:56:08,997 - DEBUG    - utils.py           - unsupported device found: {'creationTime': 1659382582000, 'lastUpdateTime': 1659382582000, 'label': 'OGP KNX Bridge', 'deviceURL': 'ogp://2017-8871-5701/00000BE8', 'shortcut': False, 'controllableName': 'ogp:Bridge', 'definition': {'commands': [{'commandName': 'identify', 'nparams': 0}, {'commandName': 'sendPrivate', 'nparams': 1}, {'commandName': 'setName', 'nparams': 1}], 'states': [{'type': 'DiscreteState', 'values': ['available', 'unavailable'], 'qualifiedName': 'core:AvailabilityState'}, {'type': 'DataState', 'qualifiedName': 'core:NameState'}, {'type': 'DataState', 'qualifiedName': 'core:Private10State'}, {'type': 'DataState', 'qualifiedName': 'core:Private1State'}, {'type': 'DataState', 'qualifiedName': 'core:Private2State'}, {'type': 'DataState', 'qualifiedName': 'core:Private3State'}, {'type': 'DataState', 'qualifiedName': 'core:Private4State'}, {'type': 'DataState', 'qualifiedName': 'core:Private5State'}, {'type': 'DataState', 'qualifiedName': 'core:Private6State'}, {'type': 'DataState', 'qualifiedName': 'core:Private7State'}, {'type': 'DataState', 'qualifiedName': 'core:Private8State'}, {'type': 'DataState', 'qualifiedName': 'core:Private9State'}, {'type': 'DataState', 'qualifiedName': 'core:RemovableState'}], 'dataProperties': [], 'widgetName': 'DynamicBridge', 'uiProfiles': ['Specific'], 'uiClass': 'ProtocolGateway', 'qualifiedName': 'ogp:Bridge', 'type': 'ACTUATOR'}, 'states': [{'name': 'core:NameState', 'type': 3, 'value': 'OGP KNX Bridge'}], 'attributes': [{'name': 'core:Manufacturer', 'type': 3, 'value': 'Overkiz'}, {'name': 'ogp:Features', 'type': 10, 'value': [{'name': 'private'}, {'name': 'identification'}]}, {'name': 'core:ManufacturerReference', 'type': 3, 'value': 'OGP KNX Bridge'}, {'name': 'core:Technology', 'type': 3, 'value': 'KNX'}], 'available': True, 'enabled': True, 'placeOID': '5e6ed1c9-72cd-4c4f-9e4e-20c837f68475', 'widget': 'DynamicBridge', 'type': 1, 'oid': 'd26da39d-34a7-40ca-a984-a4992279d1ee', 'uiClass': 'ProtocolGateway'}
2022-11-08 10:56:08,998 - DEBUG    - utils.py           - filter_devices: Device name: OGP Sonos Bridge Device class: ProtocolGateway
2022-11-08 10:56:08,998 - DEBUG    - utils.py           - unsupported device found: {'creationTime': 1659382737000, 'lastUpdateTime': 1659382737000, 'label': 'OGP Sonos Bridge', 'deviceURL': 'ogp://2017-8871-5701/0003FEF3', 'shortcut': False, 'controllableName': 'ogp:Bridge', 'definition': {'commands': [{'commandName': 'discover', 'nparams': 0}, {'commandName': 'reset', 'nparams': 0}], 'states': [{'type': 'DiscreteState', 'values': ['available', 'unavailable'], 'qualifiedName': 'core:AvailabilityState'}, {'type': 'DataState', 'qualifiedName': 'core:NameState'}, {'type': 'DataState', 'qualifiedName': 'core:RemovableState'}], 'dataProperties': [], 'widgetName': 'DynamicBridge', 'uiProfiles': ['Specific'], 'uiClass': 'ProtocolGateway', 'qualifiedName': 'ogp:Bridge', 'type': 'ACTUATOR'}, 'states': [{'name': 'core:NameState', 'type': 3, 'value': 'OGP Sonos Bridge'}], 'attributes': [{'name': 'core:Technology', 'type': 3, 'value': 'Sonos'}, {'name': 'ogp:Features', 'type': 10, 'value': [{'name': 'identification', 'commandLess': True}, {'name': 'discovery'}, {'name': 'reset'}]}, {'name': 'core:ManufacturerReference', 'type': 3, 'value': 'OGP Sonos Bridge'}, {'name': 'core:Manufacturer', 'type': 3, 'value': 'Overkiz'}], 'available': True, 'enabled': True, 'placeOID': '5e6ed1c9-72cd-4c4f-9e4e-20c837f68475', 'widget': 'DynamicBridge', 'type': 1, 'oid': '883fd406-cce7-4890-9a79-d5aa08427768', 'uiClass': 'ProtocolGateway'}
2022-11-08 10:56:08,998 - DEBUG    - utils.py           - filter_devices: Device name: OGP Siegenia Bridge Device class: ProtocolGateway
2022-11-08 10:56:08,999 - DEBUG    - utils.py           - unsupported device found: {'creationTime': 1659382582000, 'lastUpdateTime': 1659382582000, 'label': 'OGP Siegenia Bridge', 'deviceURL': 'ogp://2017-8871-5701/039575E9', 'shortcut': False, 'controllableName': 'ogp:Bridge', 'definition': {'commands': [{'commandName': 'discover', 'nparams': 0}, {'commandName': 'identify', 'nparams': 0}, {'commandName': 'setName', 'nparams': 1}], 'states': [{'type': 'DiscreteState', 'values': ['available', 'unavailable'], 'qualifiedName': 'core:AvailabilityState'}, {'type': 'DataState', 'qualifiedName': 'core:NameState'}, {'type': 'DataState', 'qualifiedName': 'core:RemovableState'}], 'dataProperties': [], 'widgetName': 'DynamicBridge', 'uiProfiles': ['Specific'], 'uiClass': 'ProtocolGateway', 'qualifiedName': 'ogp:Bridge', 'type': 'ACTUATOR'}, 'states': [{'name': 'core:NameState', 'type': 3, 'value': 'OGP Siegenia Bridge'}], 'attributes': [{'name': 'core:Technology', 'type': 3, 'value': 'Siegenia'}, {'name': 'core:Manufacturer', 'type': 3, 'value': 'Overkiz'}, {'name': 'core:ManufacturerReference', 'type': 3, 'value': 'OGP Siegenia Bridge'}, {'name': 'ogp:Features', 'type': 10, 'value': [{'name': 'discovery'}, {'name': 'identification'}]}], 'available': True, 'enabled': True, 'placeOID': '5e6ed1c9-72cd-4c4f-9e4e-20c837f68475', 'widget': 'DynamicBridge', 'type': 1, 'oid': '44ef3efb-3e89-441a-a38e-68c2bd46fa92', 'uiClass': 'ProtocolGateway'}
2022-11-08 10:56:08,999 - DEBUG    - utils.py           - filter_devices: Device name: OGP Intesis Bridge Device class: ProtocolGateway
2022-11-08 10:56:09,000 - DEBUG    - utils.py           - unsupported device found: {'creationTime': 1659382582000, 'lastUpdateTime': 1659382582000, 'label': 'OGP Intesis Bridge', 'deviceURL': 'ogp://2017-8871-5701/09E45393', 'shortcut': False, 'controllableName': 'ogp:Bridge', 'definition': {'commands': [{'commandName': 'discover', 'nparams': 0}, {'commandName': 'identify', 'nparams': 0}, {'commandName': 'setName', 'nparams': 1}], 'states': [{'type': 'DiscreteState', 'values': ['available', 'unavailable'], 'qualifiedName': 'core:AvailabilityState'}, {'type': 'DataState', 'qualifiedName': 'core:NameState'}, {'type': 'DataState', 'qualifiedName': 'core:RemovableState'}], 'dataProperties': [], 'widgetName': 'DynamicBridge', 'uiProfiles': ['Specific'], 'uiClass': 'ProtocolGateway', 'qualifiedName': 'ogp:Bridge', 'type': 'ACTUATOR'}, 'states': [{'name': 'core:NameState', 'type': 3, 'value': 'OGP Intesis Bridge'}], 'attributes': [{'name': 'core:Manufacturer', 'type': 3, 'value': 'Overkiz'}, {'name': 'core:Technology', 'type': 3, 'value': 'Intesis'}, {'name': 'ogp:Features', 'type': 10, 'value': [{'name': 'discovery'}, {'name': 'identification'}]}, {'name': 'core:ManufacturerReference', 'type': 3, 'value': 'OGP Intesis Bridge'}], 'available': True, 'enabled': True, 'placeOID': '5e6ed1c9-72cd-4c4f-9e4e-20c837f68475', 'widget': 'DynamicBridge', 'type': 1, 'oid': 'fac10535-b4a3-41bd-bb6f-ba66b2cf2ba7', 'uiClass': 'ProtocolGateway'}
2022-11-08 10:56:09,000 - DEBUG    - utils.py           - filter_devices: Device name: Slaapkamer Device class: MusicPlayer
2022-11-08 10:56:09,000 - DEBUG    - utils.py           - unsupported device found: {'creationTime': 1659469549000, 'lastUpdateTime': 1659469549000, 'label': 'Slaapkamer', 'deviceURL': 'ogp://2017-8871-5701/46E58D76', 'shortcut': False, 'controllableName': 'ogp:AudioPlayer', 'definition': {'commands': [{'commandName': 'mute', 'nparams': 0}, {'commandName': 'setVolume', 'nparams': 1}, {'commandName': 'unmute', 'nparams': 0}], 'states': [{'type': 'DiscreteState', 'values': ['available', 'unavailable'], 'qualifiedName': 'core:AvailabilityState'}, {'type': 'DataState', 'qualifiedName': 'core:MuteState'}, {'type': 'DataState', 'qualifiedName': 'core:NameState'}, {'type': 'DataState', 'qualifiedName': 'core:RemovableState'}, {'type': 'DataState', 'qualifiedName': 'core:VolumeLevelState'}], 'dataProperties': [], 'widgetName': 'DynamicAudioPlayer', 'uiProfiles': ['VolumeControl'], 'uiClass': 'MusicPlayer', 'qualifiedName': 'ogp:AudioPlayer', 'type': 'ACTUATOR'}, 'states': [{'name': 'core:NameState', 'type': 3, 'value': 'Slaapkamer'}, {'name': 'core:AvailabilityState', 'type': 3, 'value': 'available'}, {'name': 'core:RemovableState', 'type': 6, 'value': False}, {'name': 'core:VolumeLevelState', 'type': 1, 'value': 8}, {'name': 'core:MuteState', 'type': 6, 'value': False}], 'attributes': [{'name': 'core:SerialNumber', 'type': 3, 'value': '54-2A-1B-84-84-4A:8'}, {'name': 'core:ManufacturerReference', 'type': 3, 'value': 'S14'}, {'name': 'core:Manufacturer', 'type': 3, 'value': 'Sonos'}, {'name': 'ogp:Features', 'type': 10, 'value': [{'name': 'identification', 'commandLess': True}, {'name': 'volumeControl'}]}, {'name': 'core:Technology', 'type': 3, 'value': 'Sonos'}], 'available': True, 'enabled': True, 'placeOID': '5e6ed1c9-72cd-4c4f-9e4e-20c837f68475', 'widget': 'DynamicAudioPlayer', 'type': 1, 'oid': 'f1120332-645e-4c03-9e63-1f2400ce4a78', 'uiClass': 'MusicPlayer'}
2022-11-08 10:56:09,001 - DEBUG    - utils.py           - filter_devices: Device name: Slaapkamer Device class: MusicPlayer
2022-11-08 10:56:09,001 - DEBUG    - utils.py           - unsupported device found: {'creationTime': 1664606684000, 'lastUpdateTime': 1664606684000, 'label': 'Slaapkamer', 'deviceURL': 'ogp://2017-8871-5701/59717257', 'shortcut': False, 'controllableName': 'ogp:AudioPlayer', 'definition': {'commands': [{'commandName': 'activateOption', 'nparams': 1}, {'commandName': 'deactivateOption', 'nparams': 1}, {'commandName': 'fastBackward', 'nparams': 1}, {'commandName': 'fastForward', 'nparams': 1}, {'commandName': 'getMediaElements', 'nparams': 0}, {'commandName': 'mute', 'nparams': 0}, {'commandName': 'next', 'nparams': 0}, {'commandName': 'pause', 'nparams': 0}, {'commandName': 'previous', 'nparams': 0}, {'commandName': 'resume', 'nparams': 0}, {'commandName': 'setMediaElement', 'nparams': 1}, {'commandName': 'setTimelinePosition', 'nparams': 1}, {'commandName': 'setVolume', 'nparams': 1}, {'commandName': 'start', 'nparams': 0}, {'commandName': 'unmute', 'nparams': 0}], 'states': [{'type': 'DataState', 'qualifiedName': 'core:ActivatedOptionsState'}, {'type': 'DiscreteState', 'values': ['available', 'unavailable'], 'qualifiedName': 'core:AvailabilityState'}, {'type': 'DataState', 'qualifiedName': 'core:AvailableOptionsState'}, {'type': 'DataState', 'qualifiedName': 'core:GroupMembersState'}, {'type': 'DataState', 'qualifiedName': 'core:HasNextState'}, {'type': 'DataState', 'qualifiedName': 'core:HasPreviousState'}, {'type': 'DataState', 'qualifiedName': 'core:MediaElementState'}, {'type': 'DataState', 'qualifiedName': 'core:MuteState'}, {'type': 'DataState', 'qualifiedName': 'core:NameState'}, {'type': 'DataState', 'qualifiedName': 'core:PausedState'}, {'type': 'DataState', 'qualifiedName': 'core:RecommendedOptionsState'}, {'type': 'DataState', 'qualifiedName': 'core:RemovableState'}, {'type': 'DiscreteState', 'values': ['started', 'stopped'], 'qualifiedName': 'core:StartedStoppedState'}, {'type': 'DataState', 'qualifiedName': 'core:TimelineDurationState'}, {'type': 'DataState', 'qualifiedName': 'core:TimelinePositionState'}, {'type': 'DataState', 'qualifiedName': 'core:VolumeLevelState'}], 'dataProperties': [], 'widgetName': 'DynamicAudioPlayer', 'uiProfiles': ['VolumeControl', 'StatefulStartable', 'Startable'], 'uiClass': 'MusicPlayer', 'qualifiedName': 'ogp:AudioPlayer', 'type': 'ACTUATOR'}, 'states': [{'name': 'core:NameState', 'type': 3, 'value': 'Slaapkamer'}, {'name': 'core:AvailabilityState', 'type': 3, 'value': 'available'}, {'name': 'core:RemovableState', 'type': 6, 'value': False}, {'name': 'core:StartedStoppedState', 'type': 3, 'value': 'started'}, {'name': 'core:PausedState', 'type': 6, 'value': False}, {'name': 'core:VolumeLevelState', 'type': 1, 'value': 12}, {'name': 'core:MuteState', 'type': 6, 'value': False}, {'name': 'core:HasNextState', 'type': 6, 'value': False}, {'name': 'core:HasPreviousState', 'type': 6, 'value': False}, {'name': 'core:GroupMembersState', 'type': 10, 'value': ['ogp://2017-8871-5701/46E58D76']}, {'name': 'core:TimelinePositionState', 'type': 1, 'value': 1, 'lastUpdateTime': 1666506413000}, {'name': 'core:MediaElementState', 'type': 11, 'value': {'type': 'radio', 'metadata': {'explicit': False, 'service': 'Sonos Radio'}, 'name': 'Arrow Classic Rock'}}], 'attributes': [{'name': 'core:Technology', 'type': 3, 'value': 'Sonos'}, {'name': 'ogp:Features', 'type': 10, 'value': [{'name': 'identification', 'commandLess': True}, {'name': 'group', 'commandLess': True}, {'name': 'volumeControl'}, {'name': 'nextPrevious'}, {'name': 'pauseResume'}, {'name': 'start'}, {'name': 'optionControl'}, {'name': 'timelineControl'}, {'name': 'media'}]}, {'name': 'core:Manufacturer', 'type': 3, 'value': 'Sonos'}, {'name': 'core:SupportedOptions', 'type': 10, 'value': ['repeat', 'repeatOne', 'shuffle', 'crossfade']}, {'name': 'core:ManufacturerReference', 'type': 3, 'value': 'Sonos Group'}], 'available': True, 'enabled': True, 'placeOID': '5e6ed1c9-72cd-4c4f-9e4e-20c837f68475', 'widget': 'DynamicAudioPlayer', 'type': 1, 'oid': 'decd2336-8f1c-40e1-a496-4405a03796b4', 'uiClass': 'MusicPlayer'}
2022-11-08 10:56:09,002 - DEBUG    - utils.py           - filter_devices: Device name: Badkamer Device class: MusicPlayer
2022-11-08 10:56:09,002 - DEBUG    - utils.py           - unsupported device found: {'creationTime': 1666186662000, 'lastUpdateTime': 1666186662000, 'label': 'Badkamer', 'deviceURL': 'ogp://2017-8871-5701/76F0061A', 'shortcut': False, 'controllableName': 'ogp:AudioPlayer', 'definition': {'commands': [{'commandName': 'activateOption', 'nparams': 1}, {'commandName': 'deactivateOption', 'nparams': 1}, {'commandName': 'fastBackward', 'nparams': 1}, {'commandName': 'fastForward', 'nparams': 1}, {'commandName': 'getMediaElements', 'nparams': 0}, {'commandName': 'mute', 'nparams': 0}, {'commandName': 'next', 'nparams': 0}, {'commandName': 'pause', 'nparams': 0}, {'commandName': 'previous', 'nparams': 0}, {'commandName': 'resume', 'nparams': 0}, {'commandName': 'setMediaElement', 'nparams': 1}, {'commandName': 'setTimelinePosition', 'nparams': 1}, {'commandName': 'setVolume', 'nparams': 1}, {'commandName': 'start', 'nparams': 0}, {'commandName': 'unmute', 'nparams': 0}], 'states': [{'type': 'DataState', 'qualifiedName': 'core:ActivatedOptionsState'}, {'type': 'DiscreteState', 'values': ['available', 'unavailable'], 'qualifiedName': 'core:AvailabilityState'}, {'type': 'DataState', 'qualifiedName': 'core:AvailableOptionsState'}, {'type': 'DataState', 'qualifiedName': 'core:GroupMembersState'}, {'type': 'DataState', 'qualifiedName': 'core:HasNextState'}, {'type': 'DataState', 'qualifiedName': 'core:HasPreviousState'}, {'type': 'DataState', 'qualifiedName': 'core:MediaElementState'}, {'type': 'DataState', 'qualifiedName': 'core:MuteState'}, {'type': 'DataState', 'qualifiedName': 'core:NameState'}, {'type': 'DataState', 'qualifiedName': 'core:PausedState'}, {'type': 'DataState', 'qualifiedName': 'core:RecommendedOptionsState'}, {'type': 'DataState', 'qualifiedName': 'core:RemovableState'}, {'type': 'DiscreteState', 'values': ['started', 'stopped'], 'qualifiedName': 'core:StartedStoppedState'}, {'type': 'DataState', 'qualifiedName': 'core:TimelineDurationState'}, {'type': 'DataState', 'qualifiedName': 'core:TimelinePositionState'}, {'type': 'DataState', 'qualifiedName': 'core:VolumeLevelState'}], 'dataProperties': [], 'widgetName': 'DynamicAudioPlayer', 'uiProfiles': ['VolumeControl', 'StatefulStartable', 'Startable'], 'uiClass': 'MusicPlayer', 'qualifiedName': 'ogp:AudioPlayer', 'type': 'ACTUATOR'}, 'states': [{'name': 'core:NameState', 'type': 3, 'value': 'Badkamer'}, {'name': 'core:AvailabilityState', 'type': 3, 'value': 'unavailable'}, {'name': 'core:RemovableState', 'type': 6, 'value': True}, {'name': 'core:GroupMembersState', 'type': 10, 'value': ['ogp://2017-8871-5701/893321BC']}], 'attributes': [{'name': 'core:Technology', 'type': 3, 'value': 'Sonos'}, {'name': 'core:SupportedOptions', 'type': 10, 'value': ['repeat', 'repeatOne', 'shuffle', 'crossfade']}, {'name': 'core:Manufacturer', 'type': 3, 'value': 'Sonos'}, {'name': 'ogp:Features', 'type': 10, 'value': [{'name': 'identification', 'commandLess': True}, {'name': 'group', 'commandLess': True}, {'name': 'volumeControl'}, {'name': 'nextPrevious'}, {'name': 'pauseResume'}, {'name': 'start'}, {'name': 'optionControl'}, {'name': 'timelineControl'}, {'name': 'media'}]}, {'name': 'core:ManufacturerReference', 'type': 3, 'value': 'Sonos Group'}], 'available': False, 'enabled': True, 'placeOID': '5e6ed1c9-72cd-4c4f-9e4e-20c837f68475', 'widget': 'DynamicAudioPlayer', 'type': 1, 'oid': '7c7f6214-f3a8-48fc-ac66-94289697199b', 'uiClass': 'MusicPlayer'}
2022-11-08 10:56:09,003 - DEBUG    - utils.py           - filter_devices: Device name: Garage Device class: MusicPlayer
2022-11-08 10:56:09,003 - DEBUG    - utils.py           - unsupported device found: {'creationTime': 1659469549000, 'lastUpdateTime': 1659469549000, 'label': 'Garage', 'deviceURL': 'ogp://2017-8871-5701/7F676617', 'shortcut': False, 'controllableName': 'ogp:AudioPlayer', 'definition': {'commands': [{'commandName': 'mute', 'nparams': 0}, {'commandName': 'setVolume', 'nparams': 1}, {'commandName': 'unmute', 'nparams': 0}], 'states': [{'type': 'DiscreteState', 'values': ['available', 'unavailable'], 'qualifiedName': 'core:AvailabilityState'}, {'type': 'DataState', 'qualifiedName': 'core:MuteState'}, {'type': 'DataState', 'qualifiedName': 'core:NameState'}, {'type': 'DataState', 'qualifiedName': 'core:RemovableState'}, {'type': 'DataState', 'qualifiedName': 'core:VolumeLevelState'}], 'dataProperties': [], 'widgetName': 'DynamicAudioPlayer', 'uiProfiles': ['VolumeControl'], 'uiClass': 'MusicPlayer', 'qualifiedName': 'ogp:AudioPlayer', 'type': 'ACTUATOR'}, 'states': [{'name': 'core:NameState', 'type': 3, 'value': 'Garage'}, {'name': 'core:AvailabilityState', 'type': 3, 'value': 'unavailable'}, {'name': 'core:RemovableState', 'type': 6, 'value': True}, {'name': 'core:VolumeLevelState', 'type': 1, 'value': 18}, {'name': 'core:MuteState', 'type': 6, 'value': False}], 'attributes': [{'name': 'core:Manufacturer', 'type': 3, 'value': 'Sonos'}, {'name': 'core:SerialNumber', 'type': 3, 'value': 'B8-E9-37-30-A1-86:7'}, {'name': 'core:Technology', 'type': 3, 'value': 'Sonos'}, {'name': 'core:ManufacturerReference', 'type': 3, 'value': 'S3'}, {'name': 'ogp:Features', 'type': 10, 'value': [{'name': 'identification', 'commandLess': True}, {'name': 'volumeControl'}]}], 'available': False, 'enabled': True, 'placeOID': '5e6ed1c9-72cd-4c4f-9e4e-20c837f68475', 'widget': 'DynamicAudioPlayer', 'type': 1, 'oid': 'e3913fcf-dcce-4498-a061-4e1e09e7ced8', 'uiClass': 'MusicPlayer'}
2022-11-08 10:56:09,003 - DEBUG    - utils.py           - filter_devices: Device name: Keuken Device class: MusicPlayer
2022-11-08 10:56:09,004 - DEBUG    - utils.py           - unsupported device found: {'creationTime': 1659469549000, 'lastUpdateTime': 1659469549000, 'label': 'Keuken', 'deviceURL': 'ogp://2017-8871-5701/881483BA', 'shortcut': False, 'controllableName': 'ogp:AudioPlayer', 'definition': {'commands': [{'commandName': 'mute', 'nparams': 0}, {'commandName': 'setVolume', 'nparams': 1}, {'commandName': 'unmute', 'nparams': 0}], 'states': [{'type': 'DiscreteState', 'values': ['available', 'unavailable'], 'qualifiedName': 'core:AvailabilityState'}, {'type': 'DataState', 'qualifiedName': 'core:MuteState'}, {'type': 'DataState', 'qualifiedName': 'core:NameState'}, {'type': 'DataState', 'qualifiedName': 'core:RemovableState'}, {'type': 'DataState', 'qualifiedName': 'core:VolumeLevelState'}], 'dataProperties': [], 'widgetName': 'DynamicAudioPlayer', 'uiProfiles': ['VolumeControl'], 'uiClass': 'MusicPlayer', 'qualifiedName': 'ogp:AudioPlayer', 'type': 'ACTUATOR'}, 'states': [{'name': 'core:NameState', 'type': 3, 'value': 'Keuken'}, {'name': 'core:AvailabilityState', 'type': 3, 'value': 'available'}, {'name': 'core:RemovableState', 'type': 6, 'value': False}, {'name': 'core:VolumeLevelState', 'type': 1, 'value': 12}, {'name': 'core:MuteState', 'type': 6, 'value': False}], 'attributes': [{'name': 'ogp:Features', 'type': 10, 'value': [{'name': 'identification', 'commandLess': True}, {'name': 'volumeControl'}]}, {'name': 'core:SerialNumber', 'type': 3, 'value': 'B8-E9-37-32-BE-5C:D'}, {'name': 'core:Technology', 'type': 3, 'value': 'Sonos'}, {'name': 'core:ManufacturerReference', 'type': 3, 'value': 'S3'}, {'name': 'core:Manufacturer', 'type': 3, 'value': 'Sonos'}], 'available': True, 'enabled': True, 'placeOID': '5e6ed1c9-72cd-4c4f-9e4e-20c837f68475', 'widget': 'DynamicAudioPlayer', 'type': 1, 'oid': '89d72358-3fc2-4871-b024-083af5f61b56', 'uiClass': 'MusicPlayer'}
2022-11-08 10:56:09,004 - DEBUG    - utils.py           - filter_devices: Device name: Badkamer Device class: MusicPlayer
2022-11-08 10:56:09,005 - DEBUG    - utils.py           - unsupported device found: {'creationTime': 1659469548000, 'lastUpdateTime': 1659469548000, 'label': 'Badkamer', 'deviceURL': 'ogp://2017-8871-5701/893321BC', 'shortcut': False, 'controllableName': 'ogp:AudioPlayer', 'definition': {'commands': [{'commandName': 'mute', 'nparams': 0}, {'commandName': 'setVolume', 'nparams': 1}, {'commandName': 'unmute', 'nparams': 0}], 'states': [{'type': 'DiscreteState', 'values': ['available', 'unavailable'], 'qualifiedName': 'core:AvailabilityState'}, {'type': 'DataState', 'qualifiedName': 'core:MuteState'}, {'type': 'DataState', 'qualifiedName': 'core:NameState'}, {'type': 'DataState', 'qualifiedName': 'core:RemovableState'}, {'type': 'DataState', 'qualifiedName': 'core:VolumeLevelState'}], 'dataProperties': [], 'widgetName': 'DynamicAudioPlayer', 'uiProfiles': ['VolumeControl'], 'uiClass': 'MusicPlayer', 'qualifiedName': 'ogp:AudioPlayer', 'type': 'ACTUATOR'}, 'states': [{'name': 'core:NameState', 'type': 3, 'value': 'Badkamer'}, {'name': 'core:AvailabilityState', 'type': 3, 'value': 'unavailable'}, {'name': 'core:RemovableState', 'type': 6, 'value': True}, {'name': 'core:VolumeLevelState', 'type': 1, 'value': 22}, {'name': 'core:MuteState', 'type': 6, 'value': False}], 'attributes': [{'name': 'core:SerialNumber', 'type': 3, 'value': '78-28-CA-07-26-52:6'}, {'name': 'core:Manufacturer', 'type': 3, 'value': 'Sonos'}, {'name': 'core:Technology', 'type': 3, 'value': 'Sonos'}, {'name': 'ogp:Features', 'type': 10, 'value': [{'name': 'identification', 'commandLess': True}, {'name': 'volumeControl'}]}, {'name': 'core:ManufacturerReference', 'type': 3, 'value': 'S13'}], 'available': False, 'enabled': True, 'placeOID': '5e6ed1c9-72cd-4c4f-9e4e-20c837f68475', 'widget': 'DynamicAudioPlayer', 'type': 1, 'oid': 'ebdbcb0b-0216-4c33-9478-e9309f92268b', 'uiClass': 'MusicPlayer'}
2022-11-08 10:56:09,005 - DEBUG    - utils.py           - filter_devices: Device name: Keuken Device class: MusicPlayer
2022-11-08 10:56:09,006 - DEBUG    - utils.py           - unsupported device found: {'creationTime': 1666186662000, 'lastUpdateTime': 1666186662000, 'label': 'Keuken', 'deviceURL': 'ogp://2017-8871-5701/FE754ABE', 'shortcut': False, 'controllableName': 'ogp:AudioPlayer', 'definition': {'commands': [{'commandName': 'activateOption', 'nparams': 1}, {'commandName': 'deactivateOption', 'nparams': 1}, {'commandName': 'fastBackward', 'nparams': 1}, {'commandName': 'fastForward', 'nparams': 1}, {'commandName': 'getMediaElements', 'nparams': 0}, {'commandName': 'mute', 'nparams': 0}, {'commandName': 'next', 'nparams': 0}, {'commandName': 'pause', 'nparams': 0}, {'commandName': 'previous', 'nparams': 0}, {'commandName': 'resume', 'nparams': 0}, {'commandName': 'setMediaElement', 'nparams': 1}, {'commandName': 'setTimelinePosition', 'nparams': 1}, {'commandName': 'setVolume', 'nparams': 1}, {'commandName': 'start', 'nparams': 0}, {'commandName': 'unmute', 'nparams': 0}], 'states': [{'type': 'DataState', 'qualifiedName': 'core:ActivatedOptionsState'}, {'type': 'DiscreteState', 'values': ['available', 'unavailable'], 'qualifiedName': 'core:AvailabilityState'}, {'type': 'DataState', 'qualifiedName': 'core:AvailableOptionsState'}, {'type': 'DataState', 'qualifiedName': 'core:GroupMembersState'}, {'type': 'DataState', 'qualifiedName': 'core:HasNextState'}, {'type': 'DataState', 'qualifiedName': 'core:HasPreviousState'}, {'type': 'DataState', 'qualifiedName': 'core:MediaElementState'}, {'type': 'DataState', 'qualifiedName': 'core:MuteState'}, {'type': 'DataState', 'qualifiedName': 'core:NameState'}, {'type': 'DataState', 'qualifiedName': 'core:PausedState'}, {'type': 'DataState', 'qualifiedName': 'core:RecommendedOptionsState'}, {'type': 'DataState', 'qualifiedName': 'core:RemovableState'}, {'type': 'DiscreteState', 'values': ['started', 'stopped'], 'qualifiedName': 'core:StartedStoppedState'}, {'type': 'DataState', 'qualifiedName': 'core:TimelineDurationState'}, {'type': 'DataState', 'qualifiedName': 'core:TimelinePositionState'}, {'type': 'DataState', 'qualifiedName': 'core:VolumeLevelState'}], 'dataProperties': [], 'widgetName': 'DynamicAudioPlayer', 'uiProfiles': ['VolumeControl', 'StatefulStartable', 'Startable'], 'uiClass': 'MusicPlayer', 'qualifiedName': 'ogp:AudioPlayer', 'type': 'ACTUATOR'}, 'states': [{'name': 'core:NameState', 'type': 3, 'value': 'Keuken'}, {'name': 'core:AvailabilityState', 'type': 3, 'value': 'unavailable'}, {'name': 'core:RemovableState', 'type': 6, 'value': True}, {'name': 'core:GroupMembersState', 'type': 10, 'value': ['ogp://2017-8871-5701/881483BA']}], 'attributes': [{'name': 'core:Technology', 'type': 3, 'value': 'Sonos'}, {'name': 'ogp:Features', 'type': 10, 'value': [{'name': 'identification', 'commandLess': True}, {'name': 'group', 'commandLess': True}, {'name': 'volumeControl'}, {'name': 'nextPrevious'}, {'name': 'pauseResume'}, {'name': 'start'}, {'name': 'optionControl'}, {'name': 'timelineControl'}, {'name': 'media'}]}, {'name': 'core:ManufacturerReference', 'type': 3, 'value': 'Sonos Group'}, {'name': 'core:SupportedOptions', 'type': 10, 'value': ['repeat', 'repeatOne', 'shuffle', 'crossfade']}, {'name': 'core:Manufacturer', 'type': 3, 'value': 'Sonos'}], 'available': False, 'enabled': True, 'placeOID': '5e6ed1c9-72cd-4c4f-9e4e-20c837f68475', 'widget': 'DynamicAudioPlayer', 'type': 1, 'oid': 'd6b90d4c-6c85-45c0-af2e-1708539703aa', 'uiClass': 'MusicPlayer'}
2022-11-08 10:56:09,006 - DEBUG    - utils.py           - filter_devices: Device name: Zonwering Slaapkamer Device class: ExteriorScreen
2022-11-08 10:56:09,006 - DEBUG    - utils.py           - filter_devices: type of device = <class 'dict'>
2022-11-08 10:56:09,006 - INFO     - utils.py           - supported device found: {'creationTime': 1659460463000, 'lastUpdateTime': 1659460463000, 'label': 'Zonwering Slaapkamer', 'deviceURL': 'rts://2017-8871-5701/16722109', 'shortcut': False, 'controllableName': 'rts:ExteriorBlindRTSComponent', 'definition': {'commands': [{'commandName': 'close', 'nparams': 1}, {'commandName': 'down', 'nparams': 1}, {'commandName': 'identify', 'nparams': 0}, {'commandName': 'my', 'nparams': 1}, {'commandName': 'open', 'nparams': 1}, {'commandName': 'rest', 'nparams': 1}, {'commandName': 'stop', 'nparams': 1}, {'commandName': 'test', 'nparams': 0}, {'commandName': 'up', 'nparams': 1}, {'commandName': 'openConfiguration', 'nparams': 1}], 'states': [], 'dataProperties': [{'value': '0', 'qualifiedName': 'core:identifyInterval'}], 'widgetName': 'UpDownExteriorScreen', 'uiProfiles': ['OpenCloseBlind', 'OpenClose'], 'uiClass': 'ExteriorScreen', 'qualifiedName': 'rts:ExteriorBlindRTSComponent', 'type': 'ACTUATOR'}, 'attributes': [{'name': 'rts:diy', 'type': 6, 'value': False}], 'available': True, 'enabled': True, 'placeOID': '2d1cd28c-381a-45d4-a0a1-a2aee50574bf', 'widget': 'UpDownExteriorScreen', 'type': 1, 'oid': '453faeb3-37b0-47c0-81f3-3783bca84818', 'uiClass': 'ExteriorScreen'}
2022-11-08 10:56:09,007 - DEBUG    - utils.py           - filter_devices: Device name: Zonwering woonkamer Device class: ExteriorScreen
2022-11-08 10:56:09,007 - DEBUG    - utils.py           - filter_devices: type of device = <class 'dict'>
2022-11-08 10:56:09,007 - INFO     - utils.py           - supported device found: {'creationTime': 1660132825000, 'lastUpdateTime': 1660132825000, 'label': 'Zonwering woonkamer', 'deviceURL': 'rts://2017-8871-5701/16736992', 'shortcut': False, 'controllableName': 'rts:ExteriorBlindRTSComponent', 'definition': {'commands': [{'commandName': 'close', 'nparams': 1}, {'commandName': 'down', 'nparams': 1}, {'commandName': 'identify', 'nparams': 0}, {'commandName': 'my', 'nparams': 1}, {'commandName': 'open', 'nparams': 1}, {'commandName': 'rest', 'nparams': 1}, {'commandName': 'stop', 'nparams': 1}, {'commandName': 'test', 'nparams': 0}, {'commandName': 'up', 'nparams': 1}, {'commandName': 'openConfiguration', 'nparams': 1}], 'states': [], 'dataProperties': [{'value': '0', 'qualifiedName': 'core:identifyInterval'}], 'widgetName': 'UpDownExteriorScreen', 'uiProfiles': ['OpenCloseBlind', 'OpenClose'], 'uiClass': 'ExteriorScreen', 'qualifiedName': 'rts:ExteriorBlindRTSComponent', 'type': 'ACTUATOR'}, 'attributes': [{'name': 'rts:diy', 'type': 6, 'value': False}], 'available': True, 'enabled': True, 'placeOID': '188662e2-3027-48ee-b1fc-e0cc32ee4171', 'widget': 'UpDownExteriorScreen', 'type': 1, 'oid': '67236cb9-032b-429b-85ab-beeebb645778', 'uiClass': 'ExteriorScreen'}
2022-11-08 10:56:09,008 - DEBUG    - utils.py           - filter_devices: Device name: Zonwering keuken Device class: ExteriorScreen
2022-11-08 10:56:09,008 - DEBUG    - utils.py           - filter_devices: type of device = <class 'dict'>
2022-11-08 10:56:09,008 - INFO     - utils.py           - supported device found: {'creationTime': 1660132747000, 'lastUpdateTime': 1660132747000, 'label': 'Zonwering keuken', 'deviceURL': 'rts://2017-8871-5701/16740764', 'shortcut': False, 'controllableName': 'rts:ExteriorBlindRTSComponent', 'definition': {'commands': [{'commandName': 'close', 'nparams': 1}, {'commandName': 'down', 'nparams': 1}, {'commandName': 'identify', 'nparams': 0}, {'commandName': 'my', 'nparams': 1}, {'commandName': 'open', 'nparams': 1}, {'commandName': 'rest', 'nparams': 1}, {'commandName': 'stop', 'nparams': 1}, {'commandName': 'test', 'nparams': 0}, {'commandName': 'up', 'nparams': 1}, {'commandName': 'openConfiguration', 'nparams': 1}], 'states': [], 'dataProperties': [{'value': '0', 'qualifiedName': 'core:identifyInterval'}], 'widgetName': 'UpDownExteriorScreen', 'uiProfiles': ['OpenCloseBlind', 'OpenClose'], 'uiClass': 'ExteriorScreen', 'qualifiedName': 'rts:ExteriorBlindRTSComponent', 'type': 'ACTUATOR'}, 'attributes': [{'name': 'rts:diy', 'type': 6, 'value': False}], 'available': True, 'enabled': True, 'placeOID': '6996fcc0-5bc4-456a-bddf-fd536da2fd32', 'widget': 'UpDownExteriorScreen', 'type': 1, 'oid': '51825687-4045-46a4-beb9-e1be9f43db9f', 'uiClass': 'ExteriorScreen'}
2022-11-08 10:56:09,008 - DEBUG    - utils.py           - filter_devices: Device name: Zonwering Gym Device class: ExteriorScreen
2022-11-08 10:56:09,009 - DEBUG    - utils.py           - filter_devices: type of device = <class 'dict'>
2022-11-08 10:56:09,009 - INFO     - utils.py           - supported device found: {'creationTime': 1659460529000, 'lastUpdateTime': 1659460529000, 'label': 'Zonwering Gym', 'deviceURL': 'rts://2017-8871-5701/16745695', 'shortcut': False, 'controllableName': 'rts:ExteriorBlindRTSComponent', 'definition': {'commands': [{'commandName': 'close', 'nparams': 1}, {'commandName': 'down', 'nparams': 1}, {'commandName': 'identify', 'nparams': 0}, {'commandName': 'my', 'nparams': 1}, {'commandName': 'open', 'nparams': 1}, {'commandName': 'rest', 'nparams': 1}, {'commandName': 'stop', 'nparams': 1}, {'commandName': 'test', 'nparams': 0}, {'commandName': 'up', 'nparams': 1}, {'commandName': 'openConfiguration', 'nparams': 1}], 'states': [], 'dataProperties': [{'value': '0', 'qualifiedName': 'core:identifyInterval'}], 'widgetName': 'UpDownExteriorScreen', 'uiProfiles': ['OpenCloseBlind', 'OpenClose'], 'uiClass': 'ExteriorScreen', 'qualifiedName': 'rts:ExteriorBlindRTSComponent', 'type': 'ACTUATOR'}, 'attributes': [{'name': 'rts:diy', 'type': 6, 'value': False}], 'available': True, 'enabled': True, 'placeOID': '8059f877-5104-4b02-b2fb-34370e7d71e2', 'widget': 'UpDownExteriorScreen', 'type': 1, 'oid': 'e74b23dd-7a57-4fd3-a270-dab713783669', 'uiClass': 'ExteriorScreen'}
2022-11-08 10:56:09,009 - DEBUG    - utils.py           - filter_devices: Device name: ZIGBEE (0/0) Device class: NetworkComponent
2022-11-08 10:56:09,010 - DEBUG    - utils.py           - unsupported device found: {'creationTime': 1659383565000, 'lastUpdateTime': 1659383565000, 'label': 'ZIGBEE (0/0)', 'deviceURL': 'zigbee://2017-8871-5701/0/0', 'shortcut': False, 'controllableName': 'zigbee:ZigbeeNetworkNode', 'definition': {'commands': [{'commandName': 'leaveNetwork', 'nparams': 0}, {'commandName': 'refreshBindingTable', 'nparams': 0}, {'commandName': 'refreshNeighborTable', 'nparams': 0}, {'commandName': 'refreshRoutingTable', 'nparams': 0}], 'states': [{'type': 'DiscreteState', 'values': ['available', 'unavailable'], 'qualifiedName': 'core:StatusState'}, {'type': 'DataState', 'qualifiedName': 'zigbee:BindingTableState'}, {'type': 'DataState', 'qualifiedName': 'zigbee:NeighborTableState'}, {'type': 'DataState', 'qualifiedName': 'zigbee:RoutingTableState'}], 'dataProperties': [], 'widgetName': 'ZigbeeNetwork', 'uiProfiles': ['Specific'], 'uiClass': 'NetworkComponent', 'qualifiedName': 'zigbee:ZigbeeNetworkNode', 'type': 'INFRASTRUCTURE_COMPONENT'}, 'states': [{'name': 'core:StatusState', 'type': 3, 'value': 'available'}], 'attributes': [{'name': 'core:MacAddress', 'type': 3, 'value': '6DEO/v8+ehg='}], 'available': True, 'enabled': True, 'placeOID': '5e6ed1c9-72cd-4c4f-9e4e-20c837f68475', 'widget': 'ZigbeeNetwork', 'type': 6, 'oid': '6aba2a2a-2e41-4eac-86b1-d58c1c10e5bf', 'uiClass': 'NetworkComponent'}
2022-11-08 10:56:09,010 - DEBUG    - utils.py           - filter_devices: Device name: ZIGBEE (0/1) Device class: ProtocolGateway
2022-11-08 10:56:09,010 - DEBUG    - utils.py           - unsupported device found: {'creationTime': 1659383565000, 'lastUpdateTime': 1659383565000, 'label': 'ZIGBEE (0/1)', 'deviceURL': 'zigbee://2017-8871-5701/0/1', 'shortcut': False, 'controllableName': 'zigbee:StackV3Component', 'definition': {'commands': [{'commandName': 'bindingNetwork', 'nparams': 0}, {'commandName': 'closeNetwork', 'nparams': 0}, {'commandName': 'openNetwork', 'nparams': 1}, {'commandName': 'refreshNetwork', 'nparams': 0}, {'commandName': 'bind', 'nparams': 2}, {'commandName': 'closeNetworkManagement', 'nparams': 0}, {'commandName': 'openNetworkManagement', 'nparams': 0}, {'commandName': 'openNetworkWithCommissioningManagement', 'nparams': 0}, {'commandName': 'unbind', 'nparams': 2}], 'states': [{'type': 'DiscreteState', 'values': ['good', 'low', 'normal', 'verylow'], 'qualifiedName': 'core:DiscreteRSSILevelState'}, {'type': 'DataState', 'qualifiedName': 'core:ManufacturerNameState'}, {'type': 'DataState', 'qualifiedName': 'core:ProductModelNameState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:RSSILevelState'}, {'type': 'ContinuousState', 'qualifiedName': 'zigbee:LinkQualityIndicatorState'}], 'dataProperties': [], 'widgetName': 'ZigbeeStack', 'uiProfiles': ['Specific'], 'uiClass': 'ProtocolGateway', 'qualifiedName': 'zigbee:StackV3Component', 'type': 'PROTOCOL_GATEWAY'}, 'attributes': [{'name': 'core:MacAddress', 'type': 3, 'value': '6DEO/v8+ehg='}, {'name': 'zigbee:RadioChannel', 'type': 3, 'value': '20'}, {'name': 'zigbee:Role', 'type': 3, 'value': 'coordinator'}], 'available': True, 'enabled': True, 'placeOID': '5e6ed1c9-72cd-4c4f-9e4e-20c837f68475', 'widget': 'ZigbeeStack', 'type': 5, 'oid': 'fad462e5-10a0-4bc6-8630-f74a995b0243', 'uiClass': 'ProtocolGateway'}
2022-11-08 10:56:09,011 - DEBUG    - utils.py           - filter_devices: Device name: ZIGBEE (0/242) Device class: ProtocolGateway
2022-11-08 10:56:09,011 - DEBUG    - utils.py           - unsupported device found: {'creationTime': 1659383566000, 'lastUpdateTime': 1659383566000, 'label': 'ZIGBEE (0/242)', 'deviceURL': 'zigbee://2017-8871-5701/0/242', 'shortcut': False, 'controllableName': 'zigbee:StackV3Component', 'definition': {'commands': [{'commandName': 'bindingNetwork', 'nparams': 0}, {'commandName': 'closeNetwork', 'nparams': 0}, {'commandName': 'openNetwork', 'nparams': 1}, {'commandName': 'refreshNetwork', 'nparams': 0}, {'commandName': 'bind', 'nparams': 2}, {'commandName': 'closeNetworkManagement', 'nparams': 0}, {'commandName': 'openNetworkManagement', 'nparams': 0}, {'commandName': 'openNetworkWithCommissioningManagement', 'nparams': 0}, {'commandName': 'unbind', 'nparams': 2}], 'states': [{'type': 'DiscreteState', 'values': ['good', 'low', 'normal', 'verylow'], 'qualifiedName': 'core:DiscreteRSSILevelState'}, {'type': 'DataState', 'qualifiedName': 'core:ManufacturerNameState'}, {'type': 'DataState', 'qualifiedName': 'core:ProductModelNameState'}, {'type': 'ContinuousState', 'qualifiedName': 'core:RSSILevelState'}, {'type': 'ContinuousState', 'qualifiedName': 'zigbee:LinkQualityIndicatorState'}], 'dataProperties': [], 'widgetName': 'ZigbeeStack', 'uiProfiles': ['Specific'], 'uiClass': 'ProtocolGateway', 'qualifiedName': 'zigbee:StackV3Component', 'type': 'PROTOCOL_GATEWAY'}, 'attributes': [{'name': 'zigbee:RadioChannel', 'type': 3, 'value': '20'}, {'name': 'zigbee:Role', 'type': 3, 'value': 'coordinator'}, {'name': 'core:MacAddress', 'type': 3, 'value': '6DEO/v8+ehg='}], 'available': True, 'enabled': True, 'placeOID': '5e6ed1c9-72cd-4c4f-9e4e-20c837f68475', 'widget': 'ZigbeeStack', 'type': 5, 'oid': '368b4511-25a0-489d-8ea0-aa0c814439f1', 'uiClass': 'ProtocolGateway'}
2022-11-08 10:56:09,011 - DEBUG    - utils.py           - filter_devices: Device name: ZIGBEE (65535) Device class: ProtocolGateway
2022-11-08 10:56:09,012 - DEBUG    - utils.py           - unsupported device found: {'creationTime': 1659382575000, 'lastUpdateTime': 1659382575000, 'label': 'ZIGBEE (65535)', 'deviceURL': 'zigbee://2017-8871-5701/65535', 'shortcut': False, 'controllableName': 'zigbee:TransceiverV3_0Component', 'definition': {'commands': [], 'states': [], 'dataProperties': [], 'widgetName': 'ZigbeeStack', 'uiProfiles': ['Specific'], 'uiClass': 'ProtocolGateway', 'qualifiedName': 'zigbee:TransceiverV3_0Component', 'type': 'PROTOCOL_GATEWAY'}, 'available': True, 'enabled': True, 'placeOID': '5e6ed1c9-72cd-4c4f-9e4e-20c837f68475', 'widget': 'ZigbeeStack', 'type': 5, 'oid': '30ddad7c-bcf9-4efe-8bf4-528725e16aae', 'uiClass': 'ProtocolGateway'}
2022-11-08 10:56:09,012 - DEBUG    - utils.py           - finished filter devices
2022-11-08 10:56:09,013 - DEBUG    - plugin.py          - create_devices: devices found, domoticz: 3 API: 7
2022-11-08 10:56:09,013 - DEBUG    - plugin.py          - New device(s) detected
2022-11-08 10:56:09,013 - DEBUG    - plugin.py          - create_devices: check if need to create device: Verlichtingssensor achterkant
2022-11-08 10:56:09,014 - DEBUG    - plugin.py          - create_devices: step 2, do not create new device: Verlichtingssensor achterkant, device already exists
2022-11-08 10:56:09,014 - DEBUG    - plugin.py          - create_devices: check if need to create device: Zonwering Balkonraam
2022-11-08 10:56:09,014 - DEBUG    - plugin.py          - create_devices: step 2, do not create new device: Zonwering Balkonraam, device already exists
2022-11-08 10:56:09,014 - DEBUG    - plugin.py          - create_devices: check if need to create device: Zonwering Balkondeur
2022-11-08 10:56:09,014 - DEBUG    - plugin.py          - create_devices: step 2, do not create new device: Zonwering Balkondeur, device already exists
2022-11-08 10:56:09,015 - DEBUG    - plugin.py          - create_devices: check if need to create device: Zonwering Slaapkamer
2022-11-08 10:56:09,015 - DEBUG    - plugin.py          - create_devices: Must create new device: Zonwering Slaapkamer
See some unsupported devices that should be supported. For instance 'keuken'
Hann1BaL
Posts: 23
Joined: Sunday 11 March 2018 15:37
Target OS: Raspberry Pi / ODroid
Domoticz version: 2022.2
Contact:

Re: Support for Somfy Connexoon and Tahoma

Post by Hann1BaL »

Installed the plugin and the percentage works with my IO Somfy blinds, using web API with my Connexoon.
But the open/close buttons of my blinds dont work and I get this in the logs:

Code: Select all

2022-11-08 13:54:28.784 Error: Somfy Connexoon: Call to function 'onCommand' failed, exception details:
2022-11-08 13:54:28.786 Error: Somfy Connexoon: Traceback (most recent call last):
2022-11-08 13:54:28.786 Error: Somfy Connexoon: File "/home/pi/domoticz/plugins/domoticz_tahoma_blind/plugin.py", line 287, in onCommand
2022-11-08 13:54:28.787 Error: Somfy Connexoon: _plugin.onCommand(Unit, Command, Level, Hue)
2022-11-08 13:54:28.787 Error: Somfy Connexoon: File "/home/pi/domoticz/plugins/domoticz_tahoma_blind/plugin.py", line 231, in onCommand
2022-11-08 13:54:28.787 Error: Somfy Connexoon: data = {"label": "Domoticz - "+Devices[Unit].Name+" - "+commands["name"], "actions": self.actions_serialized}
2022-11-08 13:54:28.787 Error: Somfy Connexoon: KeyError: 'name'
What I expect is to open 100% and close 0%
B
JanJaap
Posts: 191
Joined: Thursday 12 October 2017 20:46
Target OS: Raspberry Pi / ODroid
Domoticz version: Dev
Location: the Netherlands
Contact:

Re: Support for Somfy Connexoon and Tahoma

Post by JanJaap »

@MikeyMan, form your last post it seems you got the connection to work, correct?
for adding the not supported device, please create an issue on Github issues with the piece of logging in it and a description of what the device is and the widgets you'd like to see in domoticz

@Hannibal, I need some debug logging (set the debug logging to true in the HW page) and add the log file contents to an issue in github. Replace private info with 'x'' (your box's pin will be all over the place)
RPi 3, Domoticz dev version, Aeon ZWave stick (with a whole bunch of slaves), Zigbee using Zigbee2MQTT, Nest thermo, P1 smart meter on RPi Zero
MikeyMan
Posts: 237
Joined: Wednesday 17 October 2018 12:11
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Support for Somfy Connexoon and Tahoma

Post by MikeyMan »

JanJaap wrote: Tuesday 08 November 2022 20:45 @MikeyMan, form your last post it seems you got the connection to work, correct?
for adding the not supported device, please create an issue on Github issues with the piece of logging in it and a description of what the device is and the widgets you'd like to see in domoticz

@Hannibal, I need some debug logging (set the debug logging to true in the HW page) and add the log file contents to an issue in github. Replace private info with 'x'' (your box's pin will be all over the place)
@JanJaap; yes it seems to work. Like i said, i dont think any fiddling around with etc/hosts

I'll create a github request.
Hann1BaL
Posts: 23
Joined: Sunday 11 March 2018 15:37
Target OS: Raspberry Pi / ODroid
Domoticz version: 2022.2
Contact:

Re: Support for Somfy Connexoon and Tahoma

Post by Hann1BaL »

JanJaap wrote: Tuesday 08 November 2022 20:45 @Hannibal, I need some debug logging (set the debug logging to true in the HW page) and add the log file contents to an issue in github. Replace private info with 'x'' (your box's pin will be all over the place)
I have added the issue to github. Thank you very much. I do not see the box' pin in the debug logging.
Hann1BaL
Posts: 23
Joined: Sunday 11 March 2018 15:37
Target OS: Raspberry Pi / ODroid
Domoticz version: 2022.2
Contact:

Re: Support for Somfy Connexoon and Tahoma

Post by Hann1BaL »

I got the plugin to work.
The challenge was that the old plugin, although not added as hardware in Domoticz was still present, it used the nonolk plugin. Removing that plugin and readding the hardware resolved in devices with the new stop button available.

To group my devices quite some time ago I wrote these DzVentz scripts:

Code: Select all

return {
	on = {
		devices = {
			1205
		}
	},
	execute = function(domoticz, kantoor)
		domoticz.log(kantoor.rawData[1])
		--domoticz.log(kantoor.state)
		if (kantoor.state == 'Closed') then
		    domoticz.devices(1491).close()
		    domoticz.devices(1485).close().afterSec(1)
		elseif (kantoor.state == 'Open') then
		    domoticz.devices(1491).open()
		    domoticz.devices(1485).open().afterSec(1)
		else
		    domoticz.devices(1491).setLevel(kantoor.rawData[1])
		    domoticz.devices(1485).setLevel(kantoor.rawData[1]).afterSec(1)
		end
	end
}
Basically a virtual switch with ID 1205 that upon change should trigger the changes of the 2 blinds in the office room and match the settings.
Sometimes it seems to work. Other times it does nothing and not triggering errors either.

Now, maybe someone has (and I know someone has :)) a different script method, as the above script was not designed for the Blinds + Stop type switch, which they now all are. The logic behind the script above was that I rely on on the web API and originally when I did not put delays in, sometimes it caused the API to timeout, which I believe is or was some sort of DDOS protection on the Somfy side.

It is hard troubleshooting when it actually does not trigger any error. (the device IDs are correct and I got it to function a few times... )


EDIT: Also since Domoticz has upgraded to 2022.2 and then because of issues I replaced the nonolk plugin with the Somfy one, the devices are no longer supported in HomeBridge (which I think is not a plugin issue, because HomeBridge talks straight to Domoticz) and I cannot use Siri to close the blinds anymore. The devices not set to Blinds + Stop dont have this problem
User avatar
madpatrick
Posts: 636
Joined: Monday 26 December 2016 12:17
Target OS: Linux
Domoticz version: 2024.7
Location: Netherlands
Contact:

Re: Support for Somfy Connexoon and Tahoma

Post by madpatrick »

Maybe this can help you out.
This is a script i use to control 2 screens with a dummy selector switch
2022-11-15 15_09_32-Domoticz - LightSwitches.png
2022-11-15 15_09_32-Domoticz - LightSwitches.png (7.61 KiB) Viewed 7751 times

Code: Select all

local scriptVar             = '-=# Screens Blok Woonkamer #=-'

return {
	    on      = { devices = {492},  --Dummy Switch to operated the 2 Screens
		            },
		
		logging = { level = domoticz.LOG_ERROR,
       	            marker      = scriptVar 
       	            },
       	        
	    execute = function(dz, device)
	    
	    local Kamer_gr          = dz.devices(603)  
	    local Kamer_kl          = dz.devices(612)

	if (device.state == 'Half') then
	    Kamer_gr.dimTo(50) 
            Kamer_kl.dimTo(50)
            dz.log('Screens Woonkamer op 50%', dz.LOG_FORCE)
        elseif (device.state == 'Dicht') then
            Kamer_gr.switchOff() 
            Kamer_kl.switchOff()
            dz.log('Screens Woonkamer helemaal Dicht', dz.LOG_FORCE)
        elseif (device.state == 'Open') then
            Kamer_gr.switchOn() 
            Kamer_kl.switchOn()
            dz.log('Screens Woonkamer helemaal Open', dz.LOG_FORCE)
        end
end
}
When you are using the latest version of the plugin you can use local connection to your Somfy box instead of the web API and delete the delay in your script
-= HP server GEN8 Xeon(R) E3-1220L_V2 -=- OZW -=- Toon2 (rooted) -=- Domoticz v2024.7 -=- Dashticz v3.12b on Tab8" =-
Hann1BaL
Posts: 23
Joined: Sunday 11 March 2018 15:37
Target OS: Raspberry Pi / ODroid
Domoticz version: 2022.2
Contact:

Re: Support for Somfy Connexoon and Tahoma

Post by Hann1BaL »

madpatrick wrote: Tuesday 15 November 2022 15:05 Maybe this can help you out.
This is a script i use to control 2 screens with a dummy selector switch
2022-11-15 15_09_32-Domoticz - LightSwitches.png

Code: Select all

local scriptVar             = '-=# Screens Blok Woonkamer #=-'

return {
	    on      = { devices = {492},  --Dummy Switch to operated the 2 Screens
		            },
		
		logging = { level = domoticz.LOG_ERROR,
       	            marker      = scriptVar 
       	            },
       	        
	    execute = function(dz, device)
	    
	    local Kamer_gr          = dz.devices(603)  
	    local Kamer_kl          = dz.devices(612)

	if (device.state == 'Half') then
	    Kamer_gr.dimTo(50) 
            Kamer_kl.dimTo(50)
            dz.log('Screens Woonkamer op 50%', dz.LOG_FORCE)
        elseif (device.state == 'Dicht') then
            Kamer_gr.switchOff() 
            Kamer_kl.switchOff()
            dz.log('Screens Woonkamer helemaal Dicht', dz.LOG_FORCE)
        elseif (device.state == 'Open') then
            Kamer_gr.switchOn() 
            Kamer_kl.switchOn()
            dz.log('Screens Woonkamer helemaal Open', dz.LOG_FORCE)
        end
end
}
When you are using the latest version of the plugin you can use local connection to your Somfy box instead of the web API and delete the delay in your script
Thanks. The downside is the lack of options (You basically set 3 settings, whereas I want to fully control and the reason is time of day and how high the sun is on a given moment,

I do use the latest version of the plugin, but I believe I have to use the web API since I have the Conexxoon box and not the Tahoma box.
JanJaap
Posts: 191
Joined: Thursday 12 October 2017 20:46
Target OS: Raspberry Pi / ODroid
Domoticz version: Dev
Location: the Netherlands
Contact:

Re: Support for Somfy Connexoon and Tahoma

Post by JanJaap »

Hannibal the Connexoon is indeed not capable of handling the local API, according the documentation of Somfy.

And indeed the Homebridge connection is a Domoticz thing. You can do 2 things:
- assign other switch types that you know work
- raise the issue at the forum.
RPi 3, Domoticz dev version, Aeon ZWave stick (with a whole bunch of slaves), Zigbee using Zigbee2MQTT, Nest thermo, P1 smart meter on RPi Zero
User avatar
madpatrick
Posts: 636
Joined: Monday 26 December 2016 12:17
Target OS: Linux
Domoticz version: 2024.7
Location: Netherlands
Contact:

Re: Support for Somfy Connexoon and Tahoma

Post by madpatrick »

Hann1BaL wrote: Tuesday 15 November 2022 20:41
Thanks. The downside is the lack of options (You basically set 3 settings, whereas I want to fully control and the reason is time of day and how high the sun is on a given moment,
You didn’t indicate what you needed
If you want more options in a script you have to be more specific.
-= HP server GEN8 Xeon(R) E3-1220L_V2 -=- OZW -=- Toon2 (rooted) -=- Domoticz v2024.7 -=- Dashticz v3.12b on Tab8" =-
Hann1BaL
Posts: 23
Joined: Sunday 11 March 2018 15:37
Target OS: Raspberry Pi / ODroid
Domoticz version: 2022.2
Contact:

Re: Support for Somfy Connexoon and Tahoma

Post by Hann1BaL »

madpatrick wrote: Thursday 17 November 2022 16:28
Hann1BaL wrote: Tuesday 15 November 2022 20:41
Thanks. The downside is the lack of options (You basically set 3 settings, whereas I want to fully control and the reason is time of day and how high the sun is on a given moment,
You didn’t indicate what you needed
If you want more options in a script you have to be more specific.
I believe the script I posted indicated exactly that as the virtual switch sends the rawdata level to the 3 phyiscal devices. Appreciate the input. It seems to keep erroring but working at the same time, so I think I will leave it as is now with the script that I had created. I dont think the script is causing issues, but the problems are related to the plugin or something.
MikeyMan
Posts: 237
Joined: Wednesday 17 October 2018 12:11
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Support for Somfy Connexoon and Tahoma

Post by MikeyMan »

Am i the only one not getting anymore MQTT output from the Somfy plugin? Could be Domoticz, could be plugin. Don't know how much control the plugins have over MQTT output.

Started using NodeRed to control the screens, but am not getting any input anymore.
Cyroq
Posts: 30
Joined: Monday 10 December 2018 13:44
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Support for Somfy Connexoon and Tahoma

Post by Cyroq »

Since Connexxoon has a developer mode now and I'd be able to integrate with Domoticz locally I was planning on buying one, but then I found out about the Somfy Connectivity Kit. It looks like the basic functionality of Connexxoon, but half the price.
Would this hardware also be supported by @madpatrick's plugin?
Cyroq
Posts: 30
Joined: Monday 10 December 2018 13:44
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Support for Somfy Connexoon and Tahoma

Post by Cyroq »

In the mean time Somfy updated their website with new information about the connectivity kit (Dutch but with an English main features table): https://www.somfy.nl/ondersteuning/veel ... oma-switch

I'm very curious if this would be compatible with Domoticz as well. It's only €69! But no scheduled scenes supported so that's where the power of Domoticz could come in.
User avatar
madpatrick
Posts: 636
Joined: Monday 26 December 2016 12:17
Target OS: Linux
Domoticz version: 2024.7
Location: Netherlands
Contact:

Re: Support for Somfy Connexoon and Tahoma

Post by madpatrick »

According to the table on this page it has no Cloud or Local API support.
-= HP server GEN8 Xeon(R) E3-1220L_V2 -=- OZW -=- Toon2 (rooted) -=- Domoticz v2024.7 -=- Dashticz v3.12b on Tab8" =-
MikeyP
Posts: 3
Joined: Friday 04 August 2017 23:10
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Support for Somfy Connexoon and Tahoma

Post by MikeyP »

Thanks MadPatrick, Jan-Jaap and others for building a more stable TaHoma interface!

(replace the "_" with "." below; I can't post with dots referring to ip addresses apparently)

My 2 cents on identifying the unit with pin "1234-5678-9012" by putting the ip address in the /etc/hosts (10_0_0_x 1234-5678-9012_local); via mDNS the unit publishes itself as "gateway-1234_5678_9012" (so you can ping gateway-1234_5678_9012); if that convention is used throughout the code, the ip address doesn't need to be fixed or to be defined explicitly in de DNS.

E. g.:

C:\>ping gateway-1234-5678-9012

Pinging gateway-1234-5678-9012_local [10_0_0_10] with 32 bytes of data:
Reply from 10_0_0_10: bytes=32 time=491ms TTL=64
MikeyMan
Posts: 237
Joined: Wednesday 17 October 2018 12:11
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: Support for Somfy Connexoon and Tahoma

Post by MikeyMan »

@mikeyp you can use code tags ;)
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest