Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scene processing wrong #183

Open
NeoCSharp opened this issue Feb 2, 2022 · 3 comments
Open

Scene processing wrong #183

NeoCSharp opened this issue Feb 2, 2022 · 3 comments
Labels
wontfix This will not be worked on

Comments

@NeoCSharp
Copy link

My livingroom is divided in 4 areas. If a callscene is called for a single area

On Area 1
2022-02-02 16:37:59,106 [21] DEBUG DigitalstromClient.Network.Base.DigitalstromRestClient - Response from /json/event/get?subscriptionID=4919&timeout=400&token=*** => {"result":{"events":[{"name":"callSceneBus","properties":{"callOrigin":"2","zoneID":"1134","originToken":"","originDSUID":"0000000000000000000000000000000000","sceneID":"6","groupID":"1"},"source":{"set":".zone(1134).group(1)","groupID":1,"zoneID":1134,"isApartment":false,"isGroup":true,"isDevice":false}},{"name":"callScene","properties":{"callOrigin":"2","zoneID":"1134","originToken":"","originDSUID":"0000000000000000000000000000000000","sceneID":"6","groupID":"1"},"source":{"set":".zone(1134).group(1)","groupID":1,"zoneID":1134,"isApartment":false,"isGroup":true,"isDevice":false}}]},"ok":true}

Off Area 1
2022-02-02 16:38:01,848 [22] DEBUG DigitalstromClient.Network.Base.DigitalstromRestClient - Response from /json/event/get?subscriptionID=4919&timeout=400&token=*** => {"result":{"events":[{"name":"callSceneBus","properties":{"callOrigin":"2","zoneID":"1134","originToken":"","originDSUID":"0000000000000000000000000000000000","sceneID":"1","groupID":"1"},"source":{"set":".zone(1134).group(1)","groupID":1,"zoneID":1134,"isApartment":false,"isGroup":true,"isDevice":false}},{"name":"callScene","properties":{"callOrigin":"2","zoneID":"1134","originToken":"","originDSUID":"0000000000000000000000000000000000","sceneID":"1","groupID":"1"},"source":{"set":".zone(1134).group(1)","groupID":1,"zoneID":1134,"isApartment":false,"isGroup":true,"isDevice":false}}]},"ok":true}

the Digitalstrom Plugin for IOBroker is showing all light devices in the complete zone with a brigthness of 100% even if this is not the case.
I wanted to use your plugin as a backchannel for Digitalstrom events to KNX in order to set specific position or state data in my MDX Glastaster2 switches.

Due to the fact the plugin is not working correctly i've created this bug.

As a workaround i've created a tool based on the old JSON API and also the new Smarthome API (which is not documented correctly) in order to get the related changes. I did not check your implementation but i think the you are looking to the to events like callscene, undoscene, callscenebus and perhaps to other events like deviceSensorValue etc..

If that is the case the answer from the callscene is not correctly processed. In the above event log you can see that callscene was called for zone 1134 (Wohnzimmer/Living Room) for sceneID 6 = AREA1_ON and than sceneID 1 = AREA1_OFF.

You can get a list of assigned scenes in zones by querying

https://dss.local:8080/json/property/query2?&query=/apartment/zones/*(ZoneID,scenes)/groups/*(group)/scenes/*(scene,name)

But the DS IOBroker Plugins sets all devices to 100%. This could be if the plugin does not know which device is in which area or if the scenes are not handled correctly

1 - Area 1 Off
2 - Area 2 Off
3 - Area 3 Off
4 - Area 4 Off
6 - Area 1 On
7 - Area 2 On
8 - Area 3 On
9 - Area 4 On

Here is the Log from IOBroker

2022-02-02 17:06:33.048 - debug: digitalstrom.0 (17775) EVENT: callScene: {"name":"callScene","properties":{"callOrigin":"2","zoneID":"1134","originToken":"","originDSUID":"0000000000000000000000000000000000","sceneID":"6","groupID":"1"},"source":{"set":".zone(1134).group(1)","groupID":1,"zoneID":1134,"isApartment":false,"isGroup":true,"isDevice":false}}
2022-02-02 17:06:33.049 - debug: digitalstrom.0 (17775) DEVICE event {"name":"callScene","properties":{"callOrigin":"2","zoneID":"1134","originToken":"","originDSUID":"0000000000000000000000000000000000","sceneID":"6","groupID":"1"},"source":{"set":".zone(1134).group(1)","groupID":1,"zoneID":1134,"isApartment":false,"isGroup":true,"isDevice":false}}
2022-02-02 17:06:33.050 - debug: digitalstrom.0 (17775) 1643817993050 PUSH Plan next queue entry (device-getOutputValue-302ed89f43f0000000004540005225dd00-undefined-undefined-undefined) for 302ed89f43f0000000000e400001067300 and prio low in 4136ms
2022-02-02 17:06:33.050 - debug: digitalstrom.0 (17775) DEVICE event {"name":"callScene","properties":{"callOrigin":"2","zoneID":"1134","originToken":"","originDSUID":"0000000000000000000000000000000000","sceneID":"6","groupID":"1"},"source":{"set":".zone(1134).group(1)","groupID":1,"zoneID":1134,"isApartment":false,"isGroup":true,"isDevice":false}}
2022-02-02 17:06:33.051 - debug: digitalstrom.0 (17775) 1643817993051 PUSH Plan next queue entry (device-getOutputValue-302ed89f43f000000000454000524ea700-undefined-undefined-undefined) for 302ed89f43f0000000000e400001067300 and prio low in 4135ms
2022-02-02 17:06:33.052 - debug: digitalstrom.0 (17775) DEVICE event {"name":"callScene","properties":{"callOrigin":"2","zoneID":"1134","originToken":"","originDSUID":"0000000000000000000000000000000000","sceneID":"6","groupID":"1"},"source":{"set":".zone(1134).group(1)","groupID":1,"zoneID":1134,"isApartment":false,"isGroup":true,"isDevice":false}}
2022-02-02 17:06:33.052 - debug: digitalstrom.0 (17775) 1643817993052 PUSH Plan next queue entry (device-getOutputValue-302ed89f43f000000000454000521e5d00-undefined-undefined-undefined) for 302ed89f43f0000000000e400001067300 and prio low in 4134ms
2022-02-02 17:06:33.053 - debug: digitalstrom.0 (17775) DEVICE event {"name":"callScene","properties":{"callOrigin":"2","zoneID":"1134","originToken":"","originDSUID":"0000000000000000000000000000000000","sceneID":"6","groupID":"1"},"source":{"set":".zone(1134).group(1)","groupID":1,"zoneID":1134,"isApartment":false,"isGroup":true,"isDevice":false}}
2022-02-02 17:06:33.053 - debug: digitalstrom.0 (17775) 1643817993053 PUSH Plan next queue entry (device-getOutputValue-302ed89f43f0000000004540005221f800-undefined-undefined-undefined) for 302ed89f43f0000000000e400001067300 and prio low in 4133ms
2022-02-02 17:06:33.075 - info: digitalstrom.0 (17775) State value to set for "digitalstrom.0.apartment.0.1134.1.scenes.sceneId" has to be type "number" but received type "string"
2022-02-02 17:06:33.082 - silly: digitalstrom.0 (17775) States user redis pmessage digitalstrom.0./digitalstrom.0.devices.302ed89f43f0000000000e400001067300.302ed89f43f0000000004540005225dd00.state:{"val":true,"ack":true,"ts":1643817993077,"q":0,"from":"system.adapter.digitalstrom.0","user":"system.user.admin","lc":1643817993077}
2022-02-02 17:06:33.085 - debug: digitalstrom.0 (17775) state digitalstrom.0.devices.302ed89f43f0000000000e400001067300.302ed89f43f0000000004540005225dd00.state changed: true (ack = true)
2022-02-02 17:06:33.087 - silly: digitalstrom.0 (17775) States user redis pmessage digitalstrom.0.
/digitalstrom.0.devices.302ed89f43f0000000000e400001067300.302ed89f43f0000000004540005225dd00.brightness:{"val":100,"ack":true,"ts":1643817993077,"q":0,"from":"system.adapter.digitalstrom.0","user":"system.user.admin","lc":1643817993077}
2022-02-02 17:06:33.088 - debug: digitalstrom.0 (17775) state digitalstrom.0.devices.302ed89f43f0000000000e400001067300.302ed89f43f0000000004540005225dd00.brightness changed: 100 (ack = true)
2022-02-02 17:06:33.091 - silly: digitalstrom.0 (17775) States user redis pmessage digitalstrom.0./digitalstrom.0.devices.302ed89f43f0000000000e400001067300.302ed89f43f000000000454000524ea700.state:{"val":true,"ack":true,"ts":1643817993077,"q":0,"from":"system.adapter.digitalstrom.0","user":"system.user.admin","lc":1643817993077}
2022-02-02 17:06:33.094 - debug: digitalstrom.0 (17775) state digitalstrom.0.devices.302ed89f43f0000000000e400001067300.302ed89f43f000000000454000524ea700.state changed: true (ack = true)
2022-02-02 17:06:33.097 - silly: digitalstrom.0 (17775) States user redis pmessage digitalstrom.0.
/digitalstrom.0.devices.302ed89f43f0000000000e400001067300.302ed89f43f000000000454000524ea700.brightness:{"val":100,"ack":true,"ts":1643817993078,"q":0,"from":"system.adapter.digitalstrom.0","user":"system.user.admin","lc":1643817993078}
2022-02-02 17:06:33.100 - debug: digitalstrom.0 (17775) state digitalstrom.0.devices.302ed89f43f0000000000e400001067300.302ed89f43f000000000454000524ea700.brightness changed: 100 (ack = true)
2022-02-02 17:06:33.100 - silly: digitalstrom.0 (17775) States user redis pmessage digitalstrom.0./digitalstrom.0.devices.302ed89f43f0000000000e400001067300.302ed89f43f000000000454000521e5d00.state:{"val":true,"ack":true,"ts":1643817993078,"q":0,"from":"system.adapter.digitalstrom.0","user":"system.user.admin","lc":1643817993078}
2022-02-02 17:06:33.102 - debug: digitalstrom.0 (17775) state digitalstrom.0.devices.302ed89f43f0000000000e400001067300.302ed89f43f000000000454000521e5d00.state changed: true (ack = true)
2022-02-02 17:06:33.104 - silly: digitalstrom.0 (17775) States user redis pmessage digitalstrom.0.
/digitalstrom.0.devices.302ed89f43f0000000000e400001067300.302ed89f43f000000000454000521e5d00.brightness:{"val":100,"ack":true,"ts":1643817993078,"q":0,"from":"system.adapter.digitalstrom.0","user":"system.user.admin","lc":1643817993078}
2022-02-02 17:06:33.106 - debug: digitalstrom.0 (17775) state digitalstrom.0.devices.302ed89f43f0000000000e400001067300.302ed89f43f000000000454000521e5d00.brightness changed: 100 (ack = true)
2022-02-02 17:06:33.108 - silly: digitalstrom.0 (17775) States user redis pmessage digitalstrom.0./digitalstrom.0.devices.302ed89f43f0000000000e400001067300.302ed89f43f0000000004540005221f800.state:{"val":true,"ack":true,"ts":1643817993078,"q":0,"from":"system.adapter.digitalstrom.0","user":"system.user.admin","lc":1643817993078}
2022-02-02 17:06:33.110 - debug: digitalstrom.0 (17775) state digitalstrom.0.devices.302ed89f43f0000000000e400001067300.302ed89f43f0000000004540005221f800.state changed: true (ack = true)
2022-02-02 17:06:33.114 - silly: digitalstrom.0 (17775) States user redis pmessage digitalstrom.0.
/digitalstrom.0.devices.302ed89f43f0000000000e400001067300.302ed89f43f0000000004540005221f800.brightness:{"val":100,"ack":true,"ts":1643817993079,"q":0,"from":"system.adapter.digitalstrom.0","user":"system.user.admin","lc":1643817993079}
2022-02-02 17:06:33.116 - debug: digitalstrom.0 (17775) state digitalstrom.0.devices.302ed89f43f0000000000e400001067300.302ed89f43f0000000004540005221f800.brightness changed: 100 (ack = true)
2022-02-02 17:06:33.118 - silly: digitalstrom.0 (17775) States user redis pmessage digitalstrom.0./digitalstrom.0.apartment.0.1134.1.scenes.Area1On:{"val":true,"ack":true,"ts":1643817993081,"q":0,"from":"system.adapter.digitalstrom.0","user":"system.user.admin","lc":1643817993081}
2022-02-02 17:06:33.120 - debug: digitalstrom.0 (17775) state digitalstrom.0.apartment.0.1134.1.scenes.Area1On changed: true (ack = true)
2022-02-02 17:06:33.126 - silly: digitalstrom.0 (17775) States user redis pmessage digitalstrom.0.
/digitalstrom.0.apartment.0.1134.1.scenes.Area1Off:{"val":false,"ack":true,"ts":1643817993081,"q":0,"from":"system.adapter.digitalstrom.0","user":"system.user.admin","lc":1643817993081}
2022-02-02 17:06:33.128 - debug: digitalstrom.0 (17775) state digitalstrom.0.apartment.0.1134.1.scenes.Area1Off changed: false (ack = true)
2022-02-02 17:06:33.129 - silly: digitalstrom.0 (17775) States user redis pmessage digitalstrom.0./digitalstrom.0.apartment.0.1134.1.scenes.sceneId:{"val":"6","ack":true,"ts":1643817993081,"q":0,"from":"system.adapter.digitalstrom.0","user":"system.user.admin","lc":1643817993081}
2022-02-02 17:06:33.131 - debug: digitalstrom.0 (17775) state digitalstrom.0.apartment.0.1134.1.scenes.sceneId changed: 6 (ack = true)
2022-02-02 17:06:33.283 - debug: digitalstrom.0 (17775) EVENT: deviceSensorValue: {"name":"deviceSensorValue","properties":{"contextMsg":"","contextId":"0","sensorValueFloat":"23.3","sensorIndex":"0","sensorType":"9"},"source":{"set":"dsid(385c0e7a2f724217b2e119a6c4577d9e00)","dsid":"385c0e7a2f724217b2e119a6c4577d9e00","zoneID":7,"isApartment":false,"isGroup":false,"isDevice":true,"dSUID":"385c0e7a2f724217b2e119a6c4577d9e00"}}
2022-02-02 17:06:33.289 - debug: digitalstrom.0 (17775) EVENT: zoneSensorValue: {"name":"zoneSensorValue","properties":{"sensorValueFloat":"23.275","originDSID":"1eebf52afcf15cc8c09a745e835adeea00","sensorType":"9","sensorValue":"2657"},"source":{"set":".zone(7).group(0)","groupID":0,"zoneID":7,"isApartment":false,"isGroup":true,"isDevice":false}}
2022-02-02 17:06:33.297 - info: digitalstrom.0 (17775) State value to set for "digitalstrom.0.apartment.0.7.sensors.TemperatureValue" has to be type "number" but received type "string"
2022-02-02 17:06:33.298 - silly: digitalstrom.0 (17775) States user redis pmessage digitalstrom.0.
/digitalstrom.0.devices.1eebf52afcf15cc8c09a745e835adeea00.385c0e7a2f724217b2e119a6c4577d9e00.sensors.0:{"val":23.3,"ack":true,"ts":1643817993293,"q":0,"from":"system.adapter.digitalstrom.0","user":"system.user.admin","lc":1643817273328}
2022-02-02 17:06:33.299 - debug: digitalstrom.0 (17775) state digitalstrom.0.devices.1eebf52afcf15cc8c09a745e835adeea00.385c0e7a2f724217b2e119a6c4577d9e00.sensors.0 changed: 23.3 (ack = true)
2022-02-02 17:06:33.303 - silly: digitalstrom.0 (17775) States user redis pmessage digitalstrom.0.*/digitalstrom.0.apartment.0.7.sensors.TemperatureValue:{"val":"23.275","ack":true,"ts":1643817993298,"q":0,"from":"system.adapter.digitalstrom.0","user":"system.user.admin","lc":1643817273342}
2022-02-02 17:06:33.304 - debug: digitalstrom.0 (17775) state digitalstrom.0.apartment.0.7.sensors.TemperatureValue changed: 23.275 (ack = true)

Furthermore i think, not checked it yet correctly, that if i change the preset value of Preset 1 to 10%, 2 to 25%, 3 to 75% and 4 to 100%. I think the plugin sets the value to 100% even if it is only 10%. Has to check it later.

Last but not least if i use the dimming feature a brightness value of between 0 and 1 can occur. Caused by the fact that the plugin is not showing any digits after the comma you should handle only 0,000 as 0 and 0,001-0,999 as 1 as long as you will only support integer values instead of floaring values. This is even a bug in the Digitalstrom App self.

@Apollon77
Copy link
Collaborator

Very fast out of the back of my head: The problem is that the adapter has no way to query the "real % values" per preset, so the adapter can only asumme based on the defaults.

In the setting you can disable this guessing by disabling "Use Scene Preset Values", but then the values are requested from DS which needs time, but is accurate. In fact also right now there would be the wring % value in te state until the real value was requested.

I plan to also use the new value API, but need to find time to do that. then it might be faster updated.

So (if I got your topic right) then you know the reason and the workaround

I leave open here till I have more time to look into ir ot implement the new API

@stale
Copy link

stale bot commented Jun 13, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs within the next 7 days. Please check if the issue is still relevant in the most current version of the adapter and tell us. Also check that all relevant details, logs and reproduction steps are included and update them if needed. Thank you for your contributions.
Dieses Problem wurde automatisch als veraltet markiert, da es in letzter Zeit keine Aktivitäten gab. Es wird geschlossen, wenn nicht innerhalb der nächsten 7 Tage weitere Aktivitäten stattfinden. Bitte überprüft, ob das Problem auch in der aktuellsten Version des Adapters noch relevant ist, und teilt uns dies mit. Überprüft auch, ob alle relevanten Details, Logs und Reproduktionsschritte enthalten sind bzw. aktualisiert diese. Vielen Dank für Eure Unterstützung.

@stale stale bot added the wontfix This will not be worked on label Jun 13, 2022
@Apollon77 Apollon77 removed the wontfix This will not be worked on label Aug 28, 2022
@stale
Copy link

stale bot commented May 9, 2023

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs within the next 7 days. Please check if the issue is still relevant in the most current version of the adapter and tell us. Also check that all relevant details, logs and reproduction steps are included and update them if needed. Thank you for your contributions.
Dieses Problem wurde automatisch als veraltet markiert, da es in letzter Zeit keine Aktivitäten gab. Es wird geschlossen, wenn nicht innerhalb der nächsten 7 Tage weitere Aktivitäten stattfinden. Bitte überprüft, ob das Problem auch in der aktuellsten Version des Adapters noch relevant ist, und teilt uns dies mit. Überprüft auch, ob alle relevanten Details, Logs und Reproduktionsschritte enthalten sind bzw. aktualisiert diese. Vielen Dank für Eure Unterstützung.

@stale stale bot added the wontfix This will not be worked on label May 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

2 participants