NEWS
Yahka.0 und Harmony Hub activities
-
Hallo Zusammen,
ich habe jetzt viel probiert und gesucht und gelesen, finde aber keine Lösung.
Ich möchte im HomeKit meine Harmony Activities schalten bzw. umschalten können. Sowohl die Anbindung des Adapters "yahka" als auch der Harmony hat wunderbar funktioniert und es läuft alles. Im HomeKit sehe ich auch meine Activities (welche ich in die yahka Bridge als "switch" eingebunden habe) und kann sie auch antiken und die jeweilige Aktion wird gestartet. Mein eigentliches Problem, dass nach dem Starten der jeweiligen Aktivität der Schalter im HomeKit wieder auf "aus" geht als ob die Aktivität nicht läuft. Es fehlt also irgendwie der Status.
Wenn ich die Aktivität auf der Harmony Fernbedingung starte, sehe ich (solange die Aktivität gestartet wird) im Homekit, dass der Schalter auch auf "on" geht, allerdings geht es wieder aus nach dem der Start vollbracht ist.
Ich würde einfach gerne, unabhängig davon, von wo die Aktivität gestartet wird (HomeKit oder Harmony Fernbedinung) den Status in HomeKit sehen.
In "Objekte" im Biobroker ändern sich die Werte aber auch nicht, wenn ich die Aktivität per Fernbedingung starte. Sollten doch aber oder?
Und bei "Activity:currentActivity" ist immer mein "Fernsehen hinterlegt" obwohl vielleicht was anderes an ist.
hat mir irgend eine einen Tipp was ich falsch mache?
PS. als ich Harmony per Homebridge eingebunden habe, ging es alles wunderbar mit Rückmeldung. Das Mus doch bei Biobroker auch gehen.
-
Hey,
Ich hab gestern abend auch gerade herum probiert und bei mir funktioniert es. Es zeigt bei mir an das es an ist. Allerdings funktioniert das abschalten leider nicht. Kannst du mal zeigen wie du es konfiguriert hast im yahka adapter wenn ich zuhause bin kann ich das auch gerade nochmals testen und dir meine konfig senden.
Lg Noah
-
Hier mal meine Konfig von Yahka:
-
Hallo,
ich bin neu hier und habe mich eigentlich gut eingearbeitet, jedoch komme ich mit der Harmony auch nicht so ganz klar.
Ich habe auch das selbe Problem das ich alles mit yahka und Harmony einschalten kann, aber aus bekomme ich nicht hin.
Die geposteten Einstellungen helfen nicht.
Hat noch jemand Tipps für mich!
Gruß Dude
-
Hab's hin bekommen: (EDIT: Aktivität geändert - sorry)
Habe einen Schalter "Power" in yahka angelegt und bei On
iobroker.State harmony.0.Harmony Hub.activities.Fernsehen
scaleInt { "homekit.min": 0, "homekit.max": 1, "iobroker.min": 0, "iobroker.max": 2 }
eingetragen
Ähnlich steht das dann auch bei den Schaltern für die Aktivitäten, nur eben beispielsweise mit harmony.0.Harmony Hub.activities.Apple TV
-
Kannst du einmal genau erklären wo du was eingetragen hast? Bekomme das einfach nicht hin
1528_bildschirmfoto_2018-11-02_um_19.02.36.png -
Hier, bitte, so sieht es bei mir aus:
-
Das hatte ich auch schon. Ich kann damit auch wunderbar die Aktivity Fernsehen einschalten und im HomeKit wird das auch als "Ein" dargestellt. Aber ausschalten geht dann nicht. Im HomeKit springt der kurz auf "Aus" dann wieder auf "Ein" Fernsehen bleibt an.
Komisch finde ich, dass die Steuerung über Alexa einwandfrei funktioniert. Im Prinzip ist es da doch auch als Schalter konfiguriert
-
Bei mir funktioniert das so prima, zeigt mir immer den Status an. Ich bin sehr zufrieden damit.
Gesendet von iPad mit Tapatalk
-
Hi,
bei mir hat das mit dem Scaleint auch nur beim Starten einer Aktivität geklappt.
Liegt wohl daran, das Homekit bei einem Switch nur den Status als Boolean "true" "false" zurückliefert und dieses von der Funktion "scaleint" somit nicht umgerechnet werden kann (Funktion erwartet eine Zahl).
Hab allerdings eine andere funktionierende Lösung ohne Skript gefunden.
Einfach als Service Typ "AirPurifier" anstatt "Switch" einstellen und "Active" (erwartet bzw. liefert 0/1; 0=Aus, 1=Ein) mit der Aktivität verknüpfen und mit "scaleint" { "homekit.min": 0, "homekit.max": 1, "iobroker.min": 0, "iobroker.max": 2 } beschalten.
"CurrentAirPurifierState" (0=inactive, 1=idle, 2=purifying air) ebenfalls mit der Aktivität ohne Umrechnung verknüpfen.
Funktioniert bei mir sowohl zum Ein-/Ausschalten und Wechseln der Aktivitäten einwandfrei…
Sieht dann so aus:
-
Funktioniert wunderbar so! Danke!
-
Da ich mit der Lösung doch nicht so ganz zufrieden war (Fernsehen wird als Luftreiniger angezeigt), bin ich jetzt doch zum schalten der Harmony Activities über Node-RED gegangen. da gibt es auch einen HomeKit node. Mal schauen wie gut das im Langzeittest funktioniert. Schalten der Harmony Activities funktioniert so schonmal besser. Den Rest lasse ich über Yahka.
-
z.B. custom.0.harmony.scenes.SZENENAME erstellen (custom.0.harmony.scene.Apple_TV)
WICHTIG: SZENENAME muss identisch (inkl. Groß-/Kleinschreibung) zu z.B. harmony.0.Harmony_Hub.activities.Apple_TV sein)
on({id: /^custom\.0\.harmony\.scenes\..*$/, val:true}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; var ack = obj.state.ack; var altername = obj.id; var fields = altername.split("."); var activity = fields[4]; const dps = $("custom.0.harmony.scenes.*"); var devices = []; dps.each(function(id, i) { if (altername != id && getState(id).val == true) { setState(id, false); } }); activity = "harmony.0.Harmony_Hub.activities." + activity; setState(activity, 1); }); on({id: /^custom\.0\.harmony\.scenes\..*$/, val:false}, function (obj) { var anges = false; const dps = $("custom.0.harmony.scenes.*"); var devices = []; dps.each(function(id, i) { if (getState(id).val == true) { anges = true; } }); if (anges == false) { var altername = obj.id; var fields = altername.split("."); var activity = fields[4]; activity = "harmony.0.Harmony_Hub.activities." + activity; setState(activity, 0); } });
Zweites Script für Übernahme, wenn an der Harmony Remote angeschaltet/ausgeschaltet wird
on({id: 'harmony.0.Harmony_Hub.activities.currentActivity', change: "ne"}, function (obj) { var activity = getState('harmony.0.Harmony_Hub.activities.currentActivity').val; var customactivity = getState("custom.0.harmony.scenes." + activity).val; if (customactivity == false && activity != "PowerOff") { setState("custom.0.harmony.scenes." + activity, true); } });
Hässlich programmiert, noch nichts schön gemacht oder optimiert, aber geht.
An- sowie ausschalten einer Activity (wenn schon eine an ist, wird die andere auch ausgemacht) und ausschalten auch.
Script muss nicht angefasst werden bei neuer Activity.
Yahka einfach nur einen Switch mit State on auf die z.B. custom.0.harmony.scenes.Apple_TV
-
Wahrscheinlich ist die Frage ziemlich doof (sorry), aber wo genau füge ich das Skript denn ein?
Danke und viele Grüße
Max
-
Im Javascript Adapter
-
Ok danke. Das heißt ich muss für jede Aktion ein Skript mit Namen custom.0.harmony.scenes.SZENENAME erstellen und einmal ein Skript für die Übernahme (Name egal), richtig?
Bilder habe ich angehängt;)
18192_skripte.png
18192_yahka.png -
Ok danke. Das heißt ich muss für jede Aktion ein Skript mit Namen custom.0.harmony.scenes.SZENENAME erstellen und einmal ein Skript für die Übernahme (Name egal), richtig?
Bilder habe ich angehängt;) `
Mach es dir nicht so umständlich leg für deine 3 Szenen 3 Skripte an sonst wird es sehr unübersichtlich dann jeweils das 1 Script rein.
Das 2 brauchst du nur 1 mal.
Dann passt du es so an ( /^custom.0.harmony.scenes.Fernsehen.) in Zeile 1 und 19 und fertig.
Im Yahka hast du es schon richtig eingegeben.
Jetzt noch eine Frage von mir hast du die Skripte im Javascript 4.0 ohne weiteres eingefügt bekommen.
-
@Homer1976:Ok danke. Das heißt ich muss für jede Aktion ein Skript mit Namen custom.0.harmony.scenes.SZENENAME erstellen und einmal ein Skript für die Übernahme (Name egal), richtig?
Bilder habe ich angehängt;) `
Mach es dir nicht so umständlich leg für deine 3 Szenen 3 Skripte an sonst wird es sehr unübersichtlich dann jeweils das 1 Script rein.
Das 2 brauchst du nur 1 mal.
Dann passt du es so an ( /^custom.0.harmony.scenes.Fernsehen.) in Zeile 1 und 19 und fertig.
Im Yahka hast du es schon richtig eingegeben.
Jetzt noch eine Frage von mir hast du die Skripte im Javascript 4.0 ohne weiteres eingefügt bekommen. `
Ich dachte ich hätte für meine 3 Szenen bzw. Aktionen, 3 Skripte angelegt. Oder was meinst du genau?
Und in Yahka eben ebenso einen Switch für jede Aktion. Brauche ich den Paramter "ScaleInt" eigentlich?
Eingefügt habe ich die Skripte einfach per Copy&Paste. Klick auf das Plus (oben links), dann bei JavaScript auf hinzufügen.
Sorry falls ich mich extrem dumm anstelle, ist alles ein bisschen neu für mich;)
-
@Homer1976:Ok danke. Das heißt ich muss für jede Aktion ein Skript mit Namen custom.0.harmony.scenes.SZENENAME erstellen und einmal ein Skript für die Übernahme (Name egal), richtig?
Bilder habe ich angehängt;) `
Mach es dir nicht so umständlich leg für deine 3 Szenen 3 Skripte an sonst wird es sehr unübersichtlich dann jeweils das 1 Script rein.
Das 2 brauchst du nur 1 mal.
Dann passt du es so an ( /^custom.0.harmony.scenes.Fernsehen.) in Zeile 1 und 19 und fertig.
Im Yahka hast du es schon richtig eingegeben.
Jetzt noch eine Frage von mir hast du die Skripte im Javascript 4.0 ohne weiteres eingefügt bekommen. `
Ich dachte ich hätte für meine 3 Szenen bzw. Aktionen, 3 Skripte angelegt. Oder was meinst du genau?
Und in Yahka eben ebenso einen Switch für jede Aktion. Brauche ich den Paramter "ScaleInt" eigentlich?
Eingefügt habe ich die Skripte einfach per Copy&Paste. Klick auf das Plus (oben links), dann bei JavaScript auf hinzufügen.
Sorry falls ich mich extrem dumm anstelle, ist alles ein bisschen neu für mich;) `
hast eben sehr viele Ordner gemacht. nein reicht wenn du den state einstellst dann sollte alles funktionieren.
Copy/Paste funktioniert bei mir nicht deshalb habe ich noch 3.6.4 installiert.
-
Die Ordner wurden quasi automatisch erstellt als ich den Skriptnamen eingegeben habe…
Leider funktioniert es noch immer nicht. Kann es sein, dass die Skripte nicht laufen?
"custom.0.harmony.scenes.Fernsehen" hatte ich außerdem manuell in yahka eingetragen? Ist das so ok? Oder muss das mit einem Klick auf die Schaltfläche mit den drei Punkten auswählbar sein. Das ist es nämlich nicht...
18192_yahka.png
18192_skript.png