NEWS
Hue Push API für Hue Adapter
-
Super, vielen Dank, das hat geholfen. Die Meldungen im Log scheinen weg zu sein.
Die Version scheint die neuste zu sein (1.1.3) wenn ich da nixt vermischt habe.
Hätte ich, ohne Urlaub, wohl auch schon vorher bemerkt. Man versucht aber dann doch immer auch erstmal zu gucken ob man selbst herausfindet woran es liegt, bevor man euch hier damit belässtigt.
Ja, das mit den Scripten mit Logausgaben füttern wäre noch grundsätzlich die Verfeinerung der Skripte. Bin ich allerding bisher noch nicht angegangen, auch weil ich erst einmal alles richtig zum laufen bekommen will. Wenn alles gut läuft, dann gehe ich auch die Königsklassen (Skripte vereinfachen, Logs einbauen usw.) an.
Gruß
Jan -
@Pman , danke für dieses Script
ich habe versucht, meine "Friends of Hue" Schalter auch zum Steuern der Rollos zu nutzen und hatte dabei mit der Zeitverzögerung gekämpft. Nach Einsatz deines Scripts habe ich festgestellt, dass jetzt auch der "buttonevent" vom ZGPSwitch beim langen Drücken erkannt wird. Ich möchte erreichen, dass beim linken oberen Taster beim Langdruck das Rollo hochfährt. Für den Kurzdruck soll eine HUE Szene aktiviert werden. Nun habe ich jedoch das Problem, dass sofort beim kurzen Drücken der Wert auf "1000" geht und beim Loslassen auf "1002". Das gleiche natürlich beim langen Drücken, dann ist die "1000" für die Zeit des Drucks aktiv. Wie kann ich jetzt in Blockly den Trigger gestalten, dass nicht beide Aktionen ausgeführt werden? Besser wäre für den Langdruck einen anderen Wert zu setzen...
Vielen Dank vorab und viele Grüße
Andreas -
@Pman Klasse Script! Hat meine Bewegungsmelder Schaltung erst möglich gemacht.
Nun habe ich leider ein Problem, dass ich nicht gelöst bekomme:
Ich habe einen ZGPSwitch (Senic Friends of Hue) der nicht mit push updated (per polling ja, aber langsam). Ein anderer Friends of hue switch updated per push gut. ZLLSwitches gehen ebenfalls. Gibt es da irgendeinen Trick, oder Dinge die ich ausprobieren kann? Im Log finde ich nix... -
@Pman Nun habe ich nochmal den kompletten Hue Adapter neue installiert, neues token geholt, ins script gepackt und geht. Keine Ahnung wieso...
-
@pman Kann auch das objekt colormode (ct oder xy) auch per push abgefragt werden? Brauche das um den aktuellen Status einer Lampe zu speichern und dann später wieder aufzurufen. Nur deswegen habe ich aktuell noch polling parallel an. Das führt bei FoH Schaltern aber zu Problemen da beim Polling andere Werte zurückgegeben werden als beim Push Script.
Polling gibt 20,21, etc... und beim Script ist es 2000, 2001, etc... (nutze die den Hue adapter)Also entweder bei FoH Schaltern das gleiche zurückgeben wie beim polling, oder colormode integrieren ;).
-
Hallo,
bei mir und einem Kumpel hängt sich das Script nach 14 Tage auf. Heißt die Datenpunkte werden nicht mehr gepollt. Die Konfiguration ist bei beiden gleich. Es werden bei uns nur Hue Bewegungsmelder zur Weiterverarbeitung synchronisiert. Wenn ich den ganzen Java Adapter neustarte besteht das Problem weiterhin. Drücke ich in den Scripten einmal auf Stop und Start funktioniert das ganze wieder. Habe das ganze jetzt mehrfach über Wochen geprüft und gegen gecheckt.
Gibt es eine Möglichkeit nur das Script Zeitgesteuert neu zu starten? -
@alveran bei mir hält das Script seit mittlerweile mehr als 8 Wochen keinen Tag mehr durch, nicht mal einen halben. Ich lasse es via Blockly jede Stunde neu starten. Unter Objekte/javascript/0/scriptEnabled findest Du alle Scripte und kannst den Datenpunkt einfach auf false setzen und dann wieder auf true.
Wie gesagt, ich mache das via Blockly Script jede Std.
Warum es auf einmal nicht mehr funktioniert (davor gab es nie ein Problem) schiebe ich in meinem Fall auf die Nutzung des Zigbee-Adapters, obwohl der Kanal, den er nutzt, frei ist. Aber seitdem der läuft habe ich die Probleme (zumindest ist es mir danach erst aufgefallen). -
Ich habe das Skript seit ca. 1.5 Monaten in Betrieb.
Schon am dritten Tag funktionierte es nicht mehr.
Dann das Skript neugestartet und seitdem läuft es.
Sehr komisch das Ganze. -
Vielleicht läuft eine Cache oder Tmp voll?
-
@darkblu na was ist denn da komisch.. es verbindet sich einmal und ein reconnect ist nicht drin.. wenn die verbindung weg ist.. ist die weg..
ist halt nur ein script
-
Nachdem ich nun eine weitere javascript-Instanz installiert habe und die beiden (ich habe zwei Hue Bridges) Push-Scripte in die Instanz 1 verschoben habe, laufen sie seit 24 Std durch?! Also scheinbar ist irgendwas in meiner javascript.0 Instanz was sie regelmäßig nach ein oder zwei Std stoppen lässt.
(Docker Image mit MACVLAN, DS1821+, 32GB RAM) -
Hallo, riesen Dank erstmal für das Script. Endlich funktionieren die BWM ohne ewige Wartezeit. Ich hab jetzt aber das Problem das mir bei einigen Lampen der DP "on" als "true" angezeigt werden obwohl sie ausgeschalten sind. Wenn ich sie dann ein und ausschalte stimmt der DP wieder bis er nach einiger Zeit wieder auf "true" springt ohne das die Lampe geschalten wurde. Ich hab die entsprechenden Lampen schon mal gelöscht und wieder neu angelernt sowie die DP gelöscht. Im Javascript Adapter hab ich "setObject" erlaubt und Polling im HUE Adpter deaktiviert. Ich nutze den normalen HUE Adapter
-
Hallo,
leider bekomme ich das script nicht zum laufen. Hab alles beachtet aber ich bekomme immer folgende Meldung es aktualisiert rein gar nichts.17:35:21.509 warn javascript.1 (4623) script.js.common.Hue.pushHue: could not read packet: {"type":"message","data":"[{\"creationtime\":\"2022-11-23T16:35:21Z\",\"data\":[{\"id\":\"5b80b735-89f1-4299-86ec-8e8f3a6a398c\",\"id_v1\":\"/lights/19\",\"on\":{\"on\":true},\"owner\":{\"rid\":\"8600a8a9-4da7-44ce-bae4-2a4d32e1b11a\",\"rtype\":\"device\"},\"type\":\"light\"},{\"id\":\"e62b1ce1-483e-40e5-8aba-9152d780f486\",\"id_v1\":\"/groups/0\",\"on\":{\"on\":true},\"owner\":{\"rid\":\"bf44f813-282a-4189-97f1-559398dc690a\",\"rtype\":\"bridge_home\"},\"type\":\"grouped_light\"},{\"dimming\":{\"brightness\":100.0},\"id\":\"e62b1ce1-483e-40e5-8aba-9152d780f486\",\"id_v1\":\"/groups/0\",\"owner\":{\"rid\":\"bf44f813-282a-4189-97f1-559398dc690a\",\"rtype\":\"bridge_home\"},\"type\":\"grouped_light\"},{\"id\":\"a77c0c6e-4e0b-44f6-bb97-87a2f513e84a\",\"id_v1\":\"/groups/9\",\"on\":{\"on\":true},\"owner\":{\"rid\":\"c40c5d3c-a2b4-412a-b138-37ae94d6b5ad\",\"rtype\":\"zone\"},\"type\":\"grouped_light\"},{\"dimming\":{\"brightness\":100.0},\"id\":\"a77c0c6e-4e0b-44f6-bb97-87a2f513e84a\",\"id_v1\":\"/groups/9\",\"owner\":{\"rid\":\"c40c5d3c-a2b4-412a-b138-37ae94d6b5ad\",\"rtype\":\"zone\"},\"type\":\"grouped_light\"},{\"id\":\"c9875030-a2ab-4f16-b649-20fb727d8b44\",\"id_v1\":\"/groups/24\",\"on\":{\"on\":true},\"owner\":{\"rid\":\"b3876cb3-dff7-44b7-b664-ce80a32f6f45\",\"rtype\":\"room\"},\"type\":\"grouped_light\"},{\"dimming\":{\"brightness\":100.0},\"id\":\"c9875030-a2ab-4f16-b649-20fb727d8b44\",\"id_v1\":\"/groups/24\",\"owner\":{\"rid\":\"b3876cb3-dff7-44b7-b664-ce80a32f6f45\",\"rtype\":\"room\"},\"type\":\"grouped_light\"}],\"id\":\"577afbf3-0e1b-4e5a-a7b9-7dbb2f579925\",\"type\":\"update\"}]","lastEventId":"1669221321:0","origin":"https://192.168.2.77"} 17:35:21.509 warn javascript.1 (4623) script.js.common.Hue.pushHue: Cannot set property 'resource' of undefined
-
Hallo @Pman ,
erst mal vielen Dank für dein Skript - es sieht für mich sehr vielversprechend aus, allerdings habe ich in der aktuellsten(?) Version 1.1.3 TypeScript-Fehler, die ich nicht einordnen kann...
Der Fehler lautet "ERROR: Expected 3 arguments, but got 2. " und kommt von der Funktion updateHueState() in Zeile 263. Dort werden 3 Parameter erwartet, aber z.B. in den Zeilen 285-287 der Funktion updateRGBHue() werden auch nur 2 Parameter übergeben.
In Zeile 194 beispielsweise wird die Funktion korrekt mit 3 Parametern aufgerufen:
updateHueState(IdCache[resource + '.' + resourceId + '.' + stateName], updateValue, UPDATEMAP[resource + '.' + action + '.' + endpoint].after);
Was macht der 3. Parameter, ist dieser optional? Was ist dessen Aufgabe? Sollen da Funktionsaufrufe kaskadiert werden?
Ich habe den Funktionskopf mal wie folgt abgeändert und teste mal damit, möchte aber natürlich nicht, dass dann eine wichtige Funktion davon betroffen ist...
function updateHueState(stateId, value, after = null) {
-
Leider kommt danach die nächste Fehlermeldung:
TypeScript compilation failed: 'sensors.button.last_event': { stateName: 'buttonevent', convert: (val) => { return ((UUIDs[this.idv2] && UUIDs[this.idv2].metadata) ? UUIDs[this.idv2].metadata.control_id : 0) * 1000 + (val === 'repeat' ? 1 : 0) + (val === 'short_release' ? 2 : 0) + (val === 'long_release' ? 3 : 0); }, validTypes: ['ZLLSwitch', 'ZGPSwitch'] }, ^ ERROR: Object is possibly 'undefined'.
Ich kenne mich zu wenig mit TypeScript aus, um beurteilen zu können, was ihm da nicht gefällt. Aber eigentlich wird mit dem Code ja nur eine Zahl generiert, die den Tastendrücken entspricht. Wo da was undefiniert sein könnte, ist mir schleierhaft - es wird ja eigentlich immer was zurückgegeben.
Aber vielleicht kann hier jemand mit TypeScript-Erfahrung einen Tip geben? -
@antimon musst Dich auch nicht in TypeScript auskennen. Besser in Javascript und das Script als solches anlegen…
-
habe das gleiche Bild. Der Raum schaltet nicht auf z.B. .on = false, nur die Lampen darin selbst. Das Skript funktioniert also nicht mit Räumen? Ist das so gewollt oder mache ich was falsch?
Grüße, schönes neues Jahr und @Pman: danke für das super Skript!
-
@ptr was heißt das gleiche Bild? Gleiches Bild wie wer? Bei mir funktioniert es meistens. Bei einem Raum habe ich das Problem das es nicht zuverlässig ist. Ich vermute das es nicht 100% von der Bridge kommt wenn die Lampe nicht nur in einem Raum ist sondern auch noch in einer Zone.
Ansonsten wird bei mir auch der Raum richtig umgestellt. Kann aber nur für den normalen Hue-Adapter sprechen.
-
@cash das gleiche Bild, dass der Raum nicht aktualisiert wird, sondern nur die Lampen darin. (Hat „Antworten“ nicht verlinkt)
Das mit der Zonensache werde ich bei mir anschauen.
Es geht um den Hue-Adapter.Gibt es Unterschiede was man verwenden sollte? ZB keine Gruppen, sondern nur Räume und Zonen zB? Gibt es da kompatibleres zB?
-
@ptr wie gesagt kann ich bei mir so nicht bestätigen. Was man verwendet hängt davon ab wie man Hue organisiert. Ich nutze viele Zonen und dort dann Szenen. Somit kann ich pro Raum die Lampen einfach über Szenen unterschiedlich steuern.
Hast Du das Problem bei jeden Raum oder nur bei bestimmten?