NEWS
Yet another HomeKit adapter
-
@EnoceanEltako Der Datenpunkt ist ganz klar merkwürdig Rolle Zahl für ein Schalt-Objekt?!
Normal sollte da Rolle State stehen, dann gibt es nur true und false, alles wäre klar geregelt.Man könnte ein Blockly basteln:
Wenn sich der Status ändert und = On(1) ist, dann schreibe ein anderes Objekt (mit der oben genannten State Rolle) auf True.
Das gleiche natürlich umgekehrt falls false...Vielleicht geht es auch direkt in Yahka, da kenne ich mich leider nicht aus. Vielleicht kann hier @Asgothian weiterhelfen.
-
@EnoceanEltako
assuming 1 = true, 2 = false.
toHomekit:
return (value == 1);
fromHomekit
if (value) return 1; return 2;
-
@loverz @Asgothian
Cool also damit funktioniert es schonmal wenn ich aus der Home App schalte. HomeKit bekommt es aber nicht mit wenn ich extern bspw. über einen Taster schalte. -
@EnoceanEltako funktioniert das "extern" schalten und den richtigen Status in HomeKit denn mit anderen Geräten?
-
@EnoceanEltako Ich kann dir mit den beiden kleinen Skripts leider nicht weiterhelfen, da ich sie nicht verstehe. Sorry.
Ich für meinen Teil würde ein Blockly schreiben, das kann ich. -
Ich denke die beste Lösung wäre, wenn es über die Yahka Funktionen nicht funktioniert, vielleicht das @Jey-Cee (sorry für die Verlinkung ) die Datenpunkte des Enocean Adapters richtig deklariert und auch nur "true" oder "false" und nicht "On(1)" und "Off(0)" dort angibt. Ich denke jeder der ioBroker benutzt braucht das als "Hilfe für die Oberfläche"nicht. Falls das überhaupt möglich ist, weil es ja auch einen Wert "2 Teach-In" gibt wie im Bild zu sehen:
Man kann es über eigene Datenpunkte und Skripte machen. Aber wenn du dein ganzes Haus damit voll hast ist das nicht so toll bzw. zielführend.
Ansonsten @EnoceanEltako :
https://www.smarthome-tricks.de/software-iobroker/eigene-datenpunkte-in-iobroker-anlegen/
Die angelegten Datenpunkte einfach "Standard" lassen. Also den "Datenpunkttyp" als "Logikwert" lassen. Dann musst du gucken auf was du triggern musst. Werden die CMD Datenpunkte AUSSCHLIEßLICH vom ioBroker beschrieben oder hat das Gerät vielleicht einen "Hardware Schalter" der direkt den CMD Datenpunkt beschreibt?
Wenn die CMD Datenpunkte nur durch ioBroker geschaltet werden ein Skipt schreiben welches auf deine angelegten Datenpunkte triggert und dann die CMD Datenpunkte entsprechend mit "On(1)" oder "Off(0)" beschreibt. Für die Steuerung darfst du dann aber nur noch deine angelegten Datenpunkte benutzen.Quick and dirty (geht schöner ich weiß, das Prinzip soll nur verstaden werden):
Oder nur mit 1 und 0 oder true und false bechreiben, je nachdem auf was der CMD Datenpunkt "hört". -
@el_malto der Datenpunkt CMD enthält für jedes enOcean Gerät alle Möglichen Befehle, das ist der Kompriss der Nötig war um die ganze Welt an enOcean Geräten in ioBroker zu bekommen. Das Objekt ist also vollkommen Valide und kann kein boolean sein.
EnOcean ist relativ Komplex und im Gegensatz zu den meisten anderen Standards wird mit einem Telegram nicht nur ein einfacher Befehl gesendet sondern gleich ein ganzes Set an Befehlen und Parametern.
Die Idee dahinter ist so wenig wie möglich Datenverkehr zu verursachen um möglichst wenig Strom zu verbrauchen.Man muss also zuerst Wählen welche Befehle und Parameter mit dem Telegram gesendet werden sollen und dann kann man senden.
Wo immer es möglich ist werden die Parameter und Befehle fest hinterlegt um es einfach zu halten.
Aber es gibt Tausende Geräte die ganz Unterschiedlich sind. Vom einfachen Schaltaktor, über Thermostaten bis hin zu Gateways die es ermöglichen mit Systemen wie KNX, DALI, Eltako RS485-Bus uvm. zu Kommunizieren.Für diese Freiheit muss man dann halt selber noch ein bisschen Hand anlegen und etwas Gehirn schmalz investieren.
-
@el_malto besten Dank. Muss mir das mal am Rechner anschauen. Schaffe es vermutlich morgen Abend mal.
Kann ich das auch so gestalten dass ich sage wenn wert 0 oder Off(0) ist ?
Die Geräte schalte ich auch ganz normal über Taster im Haus, über mein Smart Home Gateway wibutler und Alexa.
-
@EnoceanEltako ja du kannst abfragen was du willst. Aber den Datenpunkt nach zwei Werten die beide das gleiche sind abzufragen macht ja kein Sinn. Einfach ausprobieren ob "0" oder "Off(0)" funktioniert.
Ich kennen die Enocean Aktoren nicht. Wie hast du denn die Taster im Haus angebunden? Also hast du das auch über ioBroker verknüpft oder kommunizieren die direkt? Weil dann musst du halt gucken was Sinn macht und auf was du triggerst. Wenn die Taster und Alexa direkt den CMD Datenpunkt beschreiben macht es kein Sinn auf die angelegten Datenpunkte zu triggern.
Ansonsten einfach ein Skripte schreiben das sich beide Datenpunkte immer syncronisieren. -
@el_malto j die Taster sind quasi offline direkt mit den Aktoren verbunden.
Folgendes:
Habe bemerkt dass der „cmd“ Datenpunkt nur von iobroker zum steuern verwendet wird.
Ansonsten wenn ich von extern, also offline, wibutler app oder Alexa, schalte dann ändert sich an dem cmd Datenpunkt nichts. Sondern darüber gibt es so „Switch“ Datenpunkte (Stellen quasi einen virtuellen Taster dar), bei denen wird das dann angezeigt. Mit True und false. Sind aber nicht die Dafenpunkte mit welchen man was steuern kann. Stimmt das so oder? @Jey-Cee (sorry aber dein Input ist wertvoll falls jemand mit enocean Yahka nutzen möchte ) -
@EnoceanEltako sagte in Yet another HomeKit adapter:
Sind aber nicht die Dafenpunkte mit welchen man was steuern kann. Stimmt das so oder?
Richtig das ist die Rückmeldung des Aktuellen Zustands.
-
@Jey-Cee du könntest aber per Script die CMD Datenpunkt auf 1(On) schreiben, wenn deine Alexa den anderen Datenpunkt auf On setzt um Synchron zu bleiben.
Dieses enocean scheint echt kompliziert zu sein, frage mich, wieso das manche überhaupt einbauen.
-
@EnoceanEltako sagte in Yet another HomeKit adapter:
@el_malto j die Taster sind quasi offline direkt mit den Aktoren verbunden.
Folgendes:
Habe bemerkt dass der „cmd“ Datenpunkt nur von iobroker zum steuern verwendet wird.
Ansonsten wenn ich von extern, also offline, wibutler app oder Alexa, schalte dann ändert sich an dem cmd Datenpunkt nichts. Sondern darüber gibt es so „Switch“ Datenpunkte (Stellen quasi einen virtuellen Taster dar), bei denen wird das dann angezeigt. Mit True und false. Sind aber nicht die Dafenpunkte mit welchen man was steuern kann. Stimmt das so oder?@Jey-Cee sagte in Yet another HomeKit adapter:
@EnoceanEltako sagte in Yet another HomeKit adapter:
Sind aber nicht die Dafenpunkte mit welchen man was steuern kann. Stimmt das so oder?
Richtig das ist die Rückmeldung des Aktuellen Zustands.
Dann müsste das doch einfach mit einen "MultiState" in Yahka zu lösen sein oder nicht?
Bei "Read" den "Switch" Datenpunkt der die Rückmeldung des aktuellen Zustands angibt und bei "Write" den "CMD" Datenpunkt. -
@el_malto oh ok das kannte ich nicht. Muss ich mal probieren!
Weiterhin "script" als conversion nutzen?
Edit: Es funktioniert so wie von el_malto beschrieben! Jetzt muss ich mich noch mit dem Dimmlevel beschäftigen never ending story...
-
@EnoceanEltako wenn das auch über den CMD Datenpunkt bestätigt werden muss, wirst du über Skripte nicht mehr hinweg kommen.
-
@el_malto wieso?
Er kann doch hier einfach weitere Datenpunkte angeben:
-
@loverz Kommt drauf an wie diese Enocean Geräte funktionieren. Nach der Erklärung von @Jey-Cee könnte es so sein, dass erst der Dimmwert in einen Datenpunkt gesetzt wird und dann mit dem CMD Datenpunkt alle Parameter auf den Bus gejagt werden. Das muss @Jey-Cee oder @EnoceanEltako was zu sagen.
Wenn die Werte erst mit dem CMD Datenpunkt los gesendet werden, kann er da den Datenpunkt für den Dimmwert zwar eintragen, aber wie wird der Dimmwert dann mit dem CMD Datenpunkt bestätigt (wenn das überhaupt muss)? Es müsste ja nach den setzen des Dimmwertes der CMD Datenpunkt nochmal richtig beschrieben werden. -
@el_malto sagte in Yet another HomeKit adapter:
Nach der Erklärung von @Jey-Cee könnte es so sein, dass erst der Dimmwert in einen Datenpunkt gesetzt wird und dann mit dem CMD Datenpunkt alle Parameter auf den Bus gejagt werden.
Genau so ist es.
-
@el_malto Die einzelnen Einträge werden doch zyklisch nacheinander abgearbeitet. Wenn man in den oberen Platz den Dimm-Wert einträgt und in den unteren den CMD Befehl, könnte es klappen. Wahrscheinlich ist diese bezüglich der Abarbeitung aber so schnell, dass es wohl doch nicht funktioniert.
-
@loverz Ah ok, müsste @EnoceanEltako dann mal testen.