Ich habe auf meinen Windows-PC die openHAB Demo Version 1.5.0 installiert.
Die Front-End Kommunikation ist über die REST-API und Atmosphere WebSockets realisiert.
Im Client habe ich die jquery.atmosphere.js Library eingebunden und bis jetzt drei verschiedene Versionen ausprobiert: 2.0.9, 2.2.1 und 2.2.3
In meinem Client Beispiel habe ich aus der openHab Demo vom FirstFloor/Bedroom das Light_FF_Bed_Ceiling und das Heating_FF_Bed als Switch eingebunden.
Ausserdem habe ich die Events Temperature_FF_Bed und Weather_Temperature subscribed.
Die Toggle Commands führe ich via REST-API Ajax calls aus.
Ich bekomme die Events für die einzelnen Subskriptionen und habe es auch schon über eine längere Zeit laufen lassen um zu sehen ob sich der WebSocket verabschiedet.
Es läuft soweit sehr gut, bis auf eine Ausnahme:
Scenario:
Light_FF_Bed_Ceiling ON
Heating_FF_Bed ON
Command Light_FF_Bed_Ceiling TOGGLE --> Light_FF_Bed_Ceiling OFF --> ich erhalte ein WebSocket Event
Command Light_FF_Bed_Ceiling TOGGLE --> Light_FF_Bed_Ceiling ON --> ich erhalte ein WebSocket Event
Command Heating_FF_Bed TOGGLE --> Heating_FF_Bed OFF --> ich erhalte ein WebSocket Event
Command Heating_FF_Bed TOGGLE --> Heating_FF_Bed ON --> ich erhalte ein WebSocket Event
Command Heating_FF_Bed TOGGLE --> Heating_FF_Bed OFF --> ich erhalte ein WebSocket Event
Command Light_FF_Bed_Ceiling TOGGLE --> Light_FF_Bed_Ceiling OFF --> ich erhalte KEIN WebSocket Event
Command Light_FF_Bed_Ceiling TOGGLE --> Light_FF_Bed_Ceiling ON --> ich erhalte ein WebSocket Event
Meine Beobachtung: Immer wenn der zweite Schalter in den selben Zustand des ersten Schalter "getoggelt" wird erhalte ich über den WebSocket kein Event.
Liegt das eventuell mit der Aussage in der REST-API Beschreibung zusammen in der es heisst:
"...openHAB will detect if the actual message is equal to the previous one and will supress double broadcasts."
Aber wir reden hier von zwei unterschiedlichen Aktoren die geschaltet wurden...
Als zweites Problem möchte ich nochmals auf meinen Post vom 30.07. hinweisen, die Frage ist für mich immer noch offen:
https://knx-user-forum.de/knx-eib-fo...-auslesen.html
Muss ich für jedes einzelne Element in meiner Sitemap einen Atmosphere Subscribe durchführen?
Vielen Dank für Hilfe im Voraus...
Die Front-End Kommunikation ist über die REST-API und Atmosphere WebSockets realisiert.
Im Client habe ich die jquery.atmosphere.js Library eingebunden und bis jetzt drei verschiedene Versionen ausprobiert: 2.0.9, 2.2.1 und 2.2.3
In meinem Client Beispiel habe ich aus der openHab Demo vom FirstFloor/Bedroom das Light_FF_Bed_Ceiling und das Heating_FF_Bed als Switch eingebunden.
Ausserdem habe ich die Events Temperature_FF_Bed und Weather_Temperature subscribed.
Die Toggle Commands führe ich via REST-API Ajax calls aus.
Ich bekomme die Events für die einzelnen Subskriptionen und habe es auch schon über eine längere Zeit laufen lassen um zu sehen ob sich der WebSocket verabschiedet.
Es läuft soweit sehr gut, bis auf eine Ausnahme:
Scenario:
Light_FF_Bed_Ceiling ON
Heating_FF_Bed ON
Command Light_FF_Bed_Ceiling TOGGLE --> Light_FF_Bed_Ceiling OFF --> ich erhalte ein WebSocket Event
Command Light_FF_Bed_Ceiling TOGGLE --> Light_FF_Bed_Ceiling ON --> ich erhalte ein WebSocket Event
Command Heating_FF_Bed TOGGLE --> Heating_FF_Bed OFF --> ich erhalte ein WebSocket Event
Command Heating_FF_Bed TOGGLE --> Heating_FF_Bed ON --> ich erhalte ein WebSocket Event
Command Heating_FF_Bed TOGGLE --> Heating_FF_Bed OFF --> ich erhalte ein WebSocket Event
Command Light_FF_Bed_Ceiling TOGGLE --> Light_FF_Bed_Ceiling OFF --> ich erhalte KEIN WebSocket Event
Command Light_FF_Bed_Ceiling TOGGLE --> Light_FF_Bed_Ceiling ON --> ich erhalte ein WebSocket Event
Meine Beobachtung: Immer wenn der zweite Schalter in den selben Zustand des ersten Schalter "getoggelt" wird erhalte ich über den WebSocket kein Event.
Liegt das eventuell mit der Aussage in der REST-API Beschreibung zusammen in der es heisst:
"...openHAB will detect if the actual message is equal to the previous one and will supress double broadcasts."
Aber wir reden hier von zwei unterschiedlichen Aktoren die geschaltet wurden...
Als zweites Problem möchte ich nochmals auf meinen Post vom 30.07. hinweisen, die Frage ist für mich immer noch offen:
https://knx-user-forum.de/knx-eib-fo...-auslesen.html
Muss ich für jedes einzelne Element in meiner Sitemap einen Atmosphere Subscribe durchführen?
Vielen Dank für Hilfe im Voraus...
Kommentar