iobroker-community-adapters / ioBroker.hue

Control Philips Hue Bridge
http://www.iobroker.org
Apache License 2.0
43 stars 26 forks source link

Hue Motion Sensor can't turn on (specific situation) #592

Open H852ing opened 4 months ago

H852ing commented 4 months ago

When I set the "Motion Sensor" to "true" via the object "on" for the Sensor, the switch Button is not set to "on" in the Hue Smartphone App.

This happen just when the Switch in the Smartphone App is set to "off" via tap on the screen. When the Switch on the Smartphone is set to on (blue) than it is possible to set the status via iobroker.

It seems that the "turn off" command via Smartphone App has a different impact and block any further settings from the iobrocker "on=true" till the button is turned on again via Smartphone App. Than it is again possible to change the status of the motion sensor state.

I use: Philips Hue-Bridge: 3.10.2 js-controller: 5.0.12 Node.js: v18.17.1 NPM: 9.6.7

H852ing commented 4 months ago

Does really no one have any idea how to fix this behavior?

Baenker commented 2 months ago

Kann ich nicht nachvollziehen. Ich schalte den Motion Sensor (habe mehrere) öfter auf aus und ein via Javascript. Das ganze funktioniert sehr zuverlässig. Das heißt schalte ich aus meldet der Sensor keine Bewegungen mehr. Auch in der App sehe ich das der Sensor deaktiviert ist. Sollte also eher Einzelschicksal als generelles Problem sein. Die Frage wäre nur wie es dazu kommt…

H852ing commented 2 months ago

Hallo Baenker,

Ich habe es auch mal bei Eltern mit deren Hue Hardware ausprobiert und deren iobroker in Node Red. Auch da das selbe verhalten. Sobald in der Hue App der Schalter für den Sensor ausgeschaltet ist kann ich in Node Red mit dem "ioBroker out" Baustein den Status nicht mehr erfolgreich ändern. In der ioBroker Objektansicht wird mir zwar angezeigt das "on = true" ist aber in der Hue App auf dem Handy bleibt der Schalter auf aus. Es geht erst wieder wenn ich einmal im Handy den Schalter auf "an" gestellt habe. Danach kann ich dann wieder über Node Red mit dem "ioBroker out" Baustein den Status ändern.

Es ist also auf zwei komplett unterschiedlichen System nachstellbar.

Wie hast du es denn genau umgesetzt das es bei dir funktioniert? Mein einfacher Testaufbau sieht so aus.

001 002 003 004

Baenker commented 2 months ago

Ich nutze Javascript und setze das Object einfach auf true oder eben false also setState(Datenpunkt,false);

Wobei es ja theoretisch egal sein sollte wie man den Datenpunkt ändert. Meine Bewegungsmelder sind übrigens in der Hue App übrigens komplett nicht installiert. Ich habe sie also nur angelernt und dann abgebrochen. Da ich das verhalten komplett per Script steuere. Aktivieren oder deaktiveren kann ich die Bewegungsmelder trotzdem per App (was ich eigentlich nie mache)

micw421 commented 2 weeks ago

Ich kann das bestätigen. Dazu kommt noch, dass Änderungen in der App den on-Status am Objekt nicht verändern. Da wird also anscheinend die Push-Nachricht nicht korrekt verarbeitet:

Received on push connection: [{"creationtime":"2024-07-14T10:50:28Z","data":[{"enabled":false,"id":"bda76708-aa31-4d9c-9d32-9ea63bd3bc8a","id_v1":"/sensors/82","owner":{"rid":"656f8be4-0a14-493e-9aa9-7e5e4ff609f8","rtype":"device"},"type":"motion"}],"id":"9567b6e4-5e1b-43d4-a59e-a6d0925df50c","type":"update"}]

Der umgekehrte Weg funktioniert, also Änderungen am on-Status werden in der App richtig umgesetzt.

Dazu der oben beschriebene Fall: Wenn man den Sensor in der App ausschaltet, bleibt on auf true. Wenn man dann on auf false und wieder auf true setzt, passiert in dem Fall in der App tatsächlich nichts!