NEWS
Yet another HomeKit adapter
-
Du kannst die Bridge nur einmal adden. Die anderen User musst du dann einladen. Ist ansich recht easy. Einfach mal ein paar Anleitungen durch-googeln.
-
Ich habe mit Hilfe meiner über OCCU eingebundenen Netatmo-Station das "AirQuality" Gerät von YAHKA bzw. Homekit umgesetzt.
Stumpf aber die Bewertung sieht erstmal vielversprechend aus.
Vielleicht interessiert das ja den ein oder anderen hier.
Script und Einbindung anbei.
/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/ //Skript zur Bewertung der AirQuality im HomeKit YAHKA-Adapter /* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/ // Variablen erstellen createState('AirQuality', { name: 'Air-Quality-Bewertung' }); /* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/ //Wohnzimmer /* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/ // Variablen erstellen createState('AirQuality.Wohnzimmer', { name: 'AirQuality im Wohnzimmer' }); //Alle 5 Minuten Luftqualität prüfem schedule("*/5 * * * *", function () { var co2 = getState("hm-rega.0.1992"/*CO2_Wohnzimmer*/).val; var temp_in = getState("hm-rpc.0.CUX9002001.1.TEMPERATURE"/*NetAtmo Innen:1.TEMPERATURE*/).val; var hum_in = getState("hm-rpc.0.CUX9002001.1.HUMIDITY"/*NetAtmo Innen:1.HUMIDITY*/).val; if (co2 <= 1750) { note=5; } if (co2 <= 1500) { note=4; } if (co2 <= 1250) { note=3; } if (co2 <= 100) { note=2; } if (co2 <= 750) { note=1; } if (temp_in <= 18.5) { note=note+2; } if (temp_in >= 24.0) { note=note+2; } if (hum_in >= 60) { note=note+2; } if (hum_in <= 35) { note=note+2; } if (note > 6) { note=6; } setState("javascript.0.AirQuality.Wohnzimmer"/*AirQuality im Wohnzimmer*/, note, true); });
Die IDs der Geräte müssen natürlich auf den jeweiligen Fall umgeändert werden.
5820_airqualitysensor.png -
Hallo zusammen, muss das Thema Rollläden nochmal auffassen:
Habe KNX Rollläden, welche ich über Yahka ansteuere. Das klappt auch alles soweit. Als Target Position die soll und bei current Position die Istposition eingetragen. Soweit, so gut. Wenn ich jetzt allerdings über einen KNX-Taster den Rollladen runter fahre, so ändert sich zwar der istwert, der Sollwert bleibt aber bei z.B. 100, weil durch den Taster nur ein Befehl für Kurz-, bzw. Langzeit kommt. Rufe ich dann z.B. Ne Stunde später Homkit auf, dann scheint es, als würde im Homekit die Rolllade fahren und fahren, obwohl sie es nicht tut. Das Problem ist dann der Unterschied zwischen soll und Istposition. Gibt es da irgendjemanden, der Ähnliches beobachtet und das Problem gelöst hat?
Ich hoffe ihr konntet mir folgen
Schönen Gruß
-
Hallo zusammen,
ich habe in ioBroker einen Datenpunkt für die Waschmaschine (true=Waschmaschine läuft, false=Waschmaschine läuft nicht). Jetzt möchte ich in Apple Home diesen Datenpunkt visualisieren (nicht verändern, nur anzeigen). Habe mir da als Servicetyp "Fan" vorgestellt, der würde sich dann drehen, wenn die Waschmaschine läuft.
Wie stelle ich den Servicetyp "Fan" so ein, dass er nur anzeigt und sich nicht, durch draufdrücken, verändert? Oder gibt es aus eurer Sicht eine elegantere Methode, sich diesen Datenpunkt anzeigen zu lassen?
Danke im Voraus.
-
Hallo zusammen, muss das Thema Rollläden nochmal auffassen:
Habe KNX Rollläden, welche ich über Yahka ansteuere. Das klappt auch alles soweit. Als Target Position die soll und bei current Position die Istposition eingetragen. Soweit, so gut. Wenn ich jetzt allerdings über einen KNX-Taster den Rollladen runter fahre, so ändert sich zwar der istwert, der Sollwert bleibt aber bei z.B. 100, weil durch den Taster nur ein Befehl für Kurz-, bzw. Langzeit kommt. Rufe ich dann z.B. Ne Stunde später Homkit auf, dann scheint es, als würde im Homekit die Rolllade fahren und fahren, obwohl sie es nicht tut. Das Problem ist dann der Unterschied zwischen soll und Istposition. Gibt es da irgendjemanden, der Ähnliches beobachtet und das Problem gelöst hat?
Ich hoffe ihr konntet mir folgen
Schönen Gruß `
Das Problem habe ich bei meinen Fibaro Rolladen Aktoren auch. Kann man an einem Datenpunkt bei KNX festellen, ob der Rolladen still steht oder sich bewegt?
-
Hallo zusammen, muss das Thema Rollläden nochmal auffassen:
Habe KNX Rollläden, welche ich über Yahka ansteuere. Das klappt auch alles soweit. Als Target Position die soll und bei current Position die Istposition eingetragen. Soweit, so gut. Wenn ich jetzt allerdings über einen KNX-Taster den Rollladen runter fahre, so ändert sich zwar der istwert, der Sollwert bleibt aber bei z.B. 100, weil durch den Taster nur ein Befehl für Kurz-, bzw. Langzeit kommt. Rufe ich dann z.B. Ne Stunde später Homkit auf, dann scheint es, als würde im Homekit die Rolllade fahren und fahren, obwohl sie es nicht tut. Das Problem ist dann der Unterschied zwischen soll und Istposition. Gibt es da irgendjemanden, der Ähnliches beobachtet und das Problem gelöst hat?
Ich hoffe ihr konntet mir folgen
Schönen Gruß `
Das Problem habe ich bei meinen Fibaro Rolladen Aktoren auch. Kann man an einem Datenpunkt bei KNX festellen, ob der Rolladen still steht oder sich bewegt? `
Nein, leider nicht. Bekomme über den Bus nur ein kurzes Signal, wenn die Taste kurz bzw. Lang gedrückt wird.
-
Ändert sich der IST-Wert am Datenpunkt bei Rolladenlauf ständig oder nur wenn der Lauf beendet ist?
-
Ändert sich der IST-Wert am Datenpunkt bei Rolladenlauf ständig oder nur wenn der Lauf beendet ist? `
Nur wenn der Lauf beendet ist. -
Nur wenn der Lauf beendet ist. `
Versuch es mal damit…
Blocky Export...
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="y-2HEmkl+M]R.WjzxaCE" x="-787" y="-537"><field name="COMMENT">Hier bei Object ID den Datenpunkt IST-Position eintragen</field>
<next><block type="on_ext" id="tWe5sMj`+Pa==Qa%e:S{"><mutation items="1"></mutation>
<field name="CONDITION">ne</field><value name="OID0"><shadow type="field_oid" id="KTV~)9`v*~3G*Pq3AtZe"><field name="oid">default</field></shadow></value> <statement name="STATEMENT"><block type="comment" id="]}?djMl)4%kSXGz2_#;g"><field name="COMMENT">Bei mehrfachem Triggern, den alten Timer löschen</field> <next><block type="timeouts_cleartimeout" id="w|1*GQ6Ggi]Xx3`#fEWl"><field name="NAME">timeout</field> <next><block type="comment" id="ACWFoMpEdc[;o-sS1|vh"><field name="COMMENT">Lieber etwas warten, falls sich der IST-Wert noch mal ändert.</field> <next><block type="timeouts_settimeout" id="//kr9FBsV5Gi3}#YaQ?B"><field name="NAME">timeout</field> <field name="DELAY">5</field> <field name="UNIT">sec</field> <statement name="STATEMENT"><block type="controls_if" id="tPba%M?[iOzgzMgV})GS"><value name="IF0"><block type="logic_compare" id="??*6OcLZxHavMfw/4Li%"><field name="OP">NEQ</field> <value name="A"><block type="variables_get" id="zbKdzEaoO[[OFM1)`G_t"><field name="VAR">IST-Wert</field></block></value> <value name="B"><block type="variables_get" id="}D^Rc#^h%Mzo~yj)?+Ce"><field name="VAR">SOLL-Wert</field></block></value></block></value> <statement name="DO0"><block type="comment" id="+BNC.QgfHOh?m-}wU~7|"><field name="COMMENT">Hier bei Object ID den Datenpunkt IST-Position eintragen</field> <next><block type="control" id="+ERi2QWY.ITzPg@!8y03"><mutation delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="Y0f(3.=GA,.67oqPHd-j"><field name="VAR">IST-Wert</field></block></value></block></next></block></statement></block></statement></block></next></block></next></block></next></block></statement></block></next></block></xml>
[3610_clipboard01.jpg](/assets/uploads/files/3610_clipboard01.jpg)
-
Hey. Sowas wäre mir im Leben nicht eingefallen. Werd es morgen direkt mal testen. Vielen Dank dir
-
Aber muss ich zum Schluss nicht den Sollwert und nicht den Istwert reinschreiben? Weil die Istposition übernimmt er ja nach erfolgter fahrt richtig und das Problem ist ja, dass die Sollposition beim Tastendruck nicht geändert wird…
-
Aber muss ich zum Schluss nicht den Sollwert und nicht den Istwert reinschreiben? Weil die Istposition übernimmt er ja nach erfolgter fahrt richtig und das Problem ist ja, dass die Sollposition beim Tastendruck nicht geändert wird… `
Der IST-Wert muss in den Sollwert geschrieben werden damit in Homekit wieder die Anzeige korrekt ist.
-
Aber muss ich zum Schluss nicht den Sollwert und nicht den Istwert reinschreiben? Weil die Istposition übernimmt er ja nach erfolgter fahrt richtig und das Problem ist ja, dass die Sollposition beim Tastendruck nicht geändert wird… `
Der IST-Wert muss in den Sollwert geschrieben werden damit in Homekit wieder die Anzeige korrekt ist. `
Genau. Aber du schreibst in deinem Script ja den Ist-Wert in das Objekt Istwert, oder? Jedenfalls dein Kommentar im blockly deutet darauf hin.
-
Aber muss ich zum Schluss nicht den Sollwert und nicht den Istwert reinschreiben? Weil die Istposition übernimmt er ja nach erfolgter fahrt richtig und das Problem ist ja, dass die Sollposition beim Tastendruck nicht geändert wird… `
Der IST-Wert muss in den Sollwert geschrieben werden damit in Homekit wieder die Anzeige korrekt ist. `
Genau. Aber du schreibst in deinem Script ja den Ist-Wert in das Objekt Istwert, oder? Jedenfalls dein Kommentar im blockly deutet darauf hin. `
Ups.in Object ID muss natürlich der Sollwert rein. Ist wohl doch schon zu spät… -
Kein Problem. Bin froh, dass ich nicht ganz auf dem Schlauch stehe
Dank dir nochmal für deine Hilfe. Werd morgen berichten, wie es läuft .
Gute Nacht
-
Dank dir nochmal für deine Hilfe. Werd morgen berichten, wie es läuft .
Gute Nacht `
Also, die Grundfunktion ist Super. Klappt alles wie es soll, im HomeKit wird alles richtig angezeigt….ABER nach den eingestellten 5 Sekunden kommt es hin und wieder vor, dass die Rolllade noch ein zehntel Sekündchen fährt. ich denke das liegt daran, dass der Jalousieaktor irgendwo stehen bleibt und dann durch den Sollwert auf genau die Prozentzahl fährt. Beispiel : Istwert tatsächlich: 25,4 % Istwert angezeigt : 25 % Sollwert nach 5 Sekunden 25 %. somit fährt der Rollladen noch um 0,4 Prozent nach oben...dafür vielleicht noch ne Idee ? brauch ich den Timeout von 5 Sekunden überhaupt ? Weil bei erneuter Bewegung der Rolllade und der damit einhergehenden Veränderung des Istwertes wird der Trigger erneut ausgeführt und somit die Sollposition wieder berrechnet
-
Hey,
Gerade beim ansteuern der Rolllade durch Taster noch gesehen, dass es Log-Einträge über den Vorgang gibt… was kann das bedeuten?
2476_errorlog.jpeg -
Hey,
Gerade beim ansteuern der Rolllade durch Taster noch gesehen, dass es Log-Einträge über den Vorgang gibt… was kann das bedeuten? `
Poste mal einen Screenshot der RAW Daten des Datenpunktes…
-
Dank dir nochmal für deine Hilfe. Werd morgen berichten, wie es läuft .
Gute Nacht `
Also, die Grundfunktion ist Super. Klappt alles wie es soll, im HomeKit wird alles richtig angezeigt….ABER nach den eingestellten 5 Sekunden kommt es hin und wieder vor, dass die Rolllade noch ein zehntel Sekündchen fährt. ich denke das liegt daran, dass der Jalousieaktor irgendwo stehen bleibt und dann durch den Sollwert auf genau die Prozentzahl fährt. Beispiel : Istwert tatsächlich: 25,4 % Istwert angezeigt : 25 % Sollwert nach 5 Sekunden 25 %. somit fährt der Rollladen noch um 0,4 Prozent nach oben...dafür vielleicht noch ne Idee ? brauch ich den Timeout von 5 Sekunden überhaupt ? Weil bei erneuter Bewegung der Rolllade und der damit einhergehenden Veränderung des Istwertes wird der Trigger erneut ausgeführt und somit die Sollposition wieder berrechnet `
Lass dir mal in deinem Skript per Debug die Werte für IST und SOLL ausgeben -
Hier mal der Datenpunkt, der das Problem im Post verursacht. Allerdings machen das Alle Rollläden. Die Einstellungen sind aber auch für alle Datenpunkte gleich.
2476_700351ca-bb56-4614-a5b6-c91e5e7833f5.jpeg