NEWS
Button Press CUXD Device(CCU2)
-
Ich nehme das Device unter RPC1, das zum CUXD Objekt im ioBroker gehört. `
Moment jetzt komm ich nicht mehr mit.
Du schreibst im iobroker geht alles ABER in der CCU2 nicht. Wo ist nun die Frage ?
-
Also. Im Script nehme ich CUXD Element.
Zum Test hab ich den Button in der CCU2 gedrückt, kein Event im Log, drücke ich den Testbutton für den Taster im iobroker um den Knopfdruck zu simulieren, dann wird das Event ausgeführt.
Ich verstehe halt nicht wieso es mit der Simulation geht, aber wenn das Event von der CCU/CUXD kommt nicht.
-
Was ist das denn überhaupt für ein Gerätetyp mit der Seriennummer 4000001?
Beim Gerät Typ (28) System exec (Universalverbedienung) sieht der Code per Blackly so aus:
on({id: 'hm-rpc.2.CUX2801001.12.PRESS_SHORT', change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; console.log('Tastendruck kurz erkannt'); });
Wenn es sich um einen Taster (keine Schalter) handelt muss mit "Aktualisierung" abgefragt werden.
-
Habe auch gerade nachgeschaut. Das muss ein CUX Gerät mit CUX2801001 sein.
-
Danke für den Tipp. Hab nun einen Schalter erstellt und dein Snippet als Beispiel genommen. Auch hier das selbe. Gehe ich über die Objekte im ioBroker und simuliere den Tastendruck geht alles, drücke ich den Button in der CCU2 passiert nichts.
Muss ich evtl. noch mal die Devices neu einlesen?
on({id: 'hm-rpc.1.CUX2801002.1.PRESS_SHORT', change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; console.log('Tastendruck kurz erkannt'); });
-
Stimmt denn die Geräte-ID?
Enrico
-
mach doch mal ein Bild was du wo im iobroker machst und was du in der CCU machst.
Bilder sagen meiner Meinung nach mehr als tausend Worte
-
Muss ich evtl. noch mal die Devices neu einlesen? `
In der ersten Frage verwendest Du CUX4000001.16 und jetzt verwendest Du plötzlich CUX2801002.1Welches Gerät wird denn wirklich genutzt?
Ich habe jetzt mal selbst das Gerät (40) Universalfernbedienung angelegt und getestet.
on({id: 'hm-rpc.2.CUX4000001.1.PRESS_SHORT', change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; console.log('Tastendruck kurz erkannt'); });
Das funktioniert ohne Probleme!
-
Vorab: Ich hab ein neues CUXD Gerät erstellt (28) und es als Schalter angelegt.
Wenn ich nun hm-rpc.1.CUX2801002.1.PRESS_SHORT über den Simulator bediene wird das Skript bedient. Ich habe es nun testweise mit State statt Press_Short probiert, dann geht es auch im Skript. Ich teste es nun mal damit.
Grund ist das ich mein SoundTouch10 über einen Schalter ein/ausschalten will gleichzeitig damit aber auch den Status des Gerätes zeigen will
-
Das Gerät (28) kann man nicht als Schalter erstellen.
Dieses Gerät ist als "exec", "timer", "multi-dim-exec" und "ping" möglich.
Wenn das Gerät als "exec" konfiguriert wurde ist es im Prinzip ein 16-fach-Taster.
Der Datenpunkt "State" ist zwar vorhanden, aber kann nicht wie von Dir gewünscht einfach über die WebUI oder App gesetzt werden. Dazu wäre dann wiederum ein Skriptbefehl nötig.
Was Du benötigst ist ein Schalter, also ein Gerät das den Status ein/aus annehmen kann und auch so bedient wird.
Dazu benötigst Du das Gerät (40) konfiguriert als Schalter (NICHT als Taster). Hiermit kann dann über die WebUI/App der Status ein/aus gesetzt werden.
Abgefragt werden muss dann aber der Datenpunkt "state" true/ein und false/aus.
Du lagst also von Anfang an richtig mit der Auswahl des Gerätes und hast nur den falschen Datenpunkt abgefragt. Hättest Du gleich genau beschrieben worum es geht und was genau für ein Gerät/Zustand benötigt wird wäre bereits in der ersten Antwort die Lösung enthalten gewesen.
Hier mal der Code "wenn Schalter ein, dann Meldung":
on({id: "hm-rpc.2.CUX4000002.1.STATE"/*HM-RC-19 CUX4000002:1.STATE*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; console.log('Der Schalter ist eingeschaltet'); });