NEWS
VIS Objekt über YAHKA Adapter steuern
-
Servus Leute,
ich hab eine On/Off Funktion in VIS erstellt, welche 2 unterschiedliche URL's für ON und OFF ansteuern soll.
Das klappt aus dem VIS auch hervorragend. Nun möchte ich diese Funktion über YAHKA steuern.
Ich habe manuell ein Objekt im ioBroker Admin angelegt und auch im YAHKA konfiguriert.
Nur schalten lässt es sich nicht.
Wie muss man so etwas umsetzen?
3181_bildschirmfoto_2017-08-18_um_16.44.56.png -
Servus zusammen,
dann frag ich mal anders. Wie kann man ein Objekt anlegen welches auf einen Endpoint per JSON hört und diese dann steuern?
In meinem Fall kann ich meinen Endpunkt per HTTP wie folgt steuern.
http://192.168.X.XX:8080/switch/2/1
Wie gesagt, per VIS geht das schon, möchte es aber über HomeKit steuern?
Wäre Super wenn mich jemand kurz unterstützen kann.
Danke Euch
-
Hi,
ich weiß nicht, ob man ein VIS-Objekt direkt per YAHKA steuern kann - ich habe in meiner CCU2 einen CuxD-Schalter ohne jegliche Funktion angelegt und lasse diesen von YAHKA steuern. Sobald sich sein State ändert, läuft auf dem ioBroker ein JavaScript los, welches dann eigentlich das macht, was ich bezwecke - in Deinem Fall bspw. den URL-Aufruf. In meinem Fall ist es lediglich ein WOL auf einen Rechner. Außerdem lasse ich den Rechner per PING überwachen und seinen State anpassen, wenn der Rechner an oder aus ist. Sonst blieb der Schalter im Homekit immer an, auch wenn ich den Rechner heruntergefahren habe - außerdem geht er teilweise selbst an, um TV-Aufnahmen zu starten, dann möchte ich das auch im Homekit sehen.
Den auf der CCU2 angelegten Schalter kann man dann ja auch in VIS einbinden.
Läuft top bei mir, auch wenn es "hintenrum durch's Auge" ist
Gruß, Jan
-
So sieht es in YAHKA dann bei mir aus:
-
Danke, hättest du auch ein Beispiel Script für mich?
-
So lasse ich bei Änderung des State des CuxD-Schalters den Rechner "aufwecken":
var wol = require('wake_on_lan'); on({id: "hm-rpc.3.CUX2801002.1.STATE"/*Video-Rechner.STATE*/, change: "ne"}, function (obj) { if (getState("hm-rpc.3.CUX2801002.1.STATE").val === true) { wol.wake('XX:XX:XX:XX:XX:XX'); } } );
Die XX sind bei Bedarf durch die entsprechende MAC-Adresse des zu weckenden Rechners zu ersetzen.
-
Dieses Script hier greift auf den PING-Adapter von ioBroker zurück und ändert bei Bedarf den State des CuXD-Schalters und sendet mir mittels Telegram-Adapter eine Nachricht:
on({id: 'ping.0.ioBroker-RasPi.[IP-DES-RECHNERS]', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("ping.0.ioBroker-RasPi.[IP-DES-RECHNERS]").val == true) { setState("hm-rpc.3.CUX2801002.1.STATE"/*Video-Rechner.STATE*/, true); sendTo("telegram.0", "send", { text: 'Video-Rechner eingeschaltet' }); } else { setState("hm-rpc.3.CUX2801002.1.STATE"/*Video-Rechner.STATE*/, false); sendTo("telegram", "send", { text: 'Video-Rechner ausgeschaltet' }); } });
-
DANKE DIR. Ich versuche mal mein Glück
-
Hi,
hat es geholfen? Wenn ja, könntest Du im Thread-Titel noch ein [gelöst] ergänzen.
Wenn nein, kann ich noch helfen?
Gruß, Jan
-
Servus, bin noch nicht ganz durch damit, jetzt aber erstmal Urlaub. Teste es danach nochmal und gebe dir Bescheid. Aber Danke der Nachfrage
-
Dieses Script hier greift auf den PING-Adapter von ioBroker zurück und ändert bei Bedarf den State des CuXD-Schalters und sendet mir mittels Telegram-Adapter eine Nachricht:
on({id: 'ping.0.ioBroker-RasPi.[IP-DES-RECHNERS]', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("ping.0.ioBroker-RasPi.[IP-DES-RECHNERS]").val == true) { setState("hm-rpc.3.CUX2801002.1.STATE"/*Video-Rechner.STATE*/, true); sendTo("telegram.0", "send", { text: 'Video-Rechner eingeschaltet' }); } else { setState("hm-rpc.3.CUX2801002.1.STATE"/*Video-Rechner.STATE*/, false); sendTo("telegram", "send", { text: 'Video-Rechner ausgeschaltet' }); } }); ```` `
Hallo,
ich habe es mit Deinen Script meine HarmonyAktion "Fernsehen" in Yahka zu integrieren.
Dazu habe ich zwei Szenen erstellt:
Fernsehen an
Fernsehen aus
Einen virtuellen State erstellt, der über Yahka geschaltet und von Deinem Script überwacht wird. Funktioniert wunderbar.
Vielen Dank