NEWS
setState in Yahka konfigurieren (Obi Steckdose)
-
Gib mir 20min dann bin ich am Rechner.
Die Dose kommt über die API und selbst angelegte Datenpunkte in den Iobroker.
Esp8266 wird genutzt . -
-
@haselchen Ok - das heißt Du sendest den Status via SimpleAPI an den iobroker. Aber der Rückweg, wie Du via HTTP schalten willst erschließt sich mir nicht?
-
Siehst du an den Befehlen unten.... im Screenshot
Andere, nicht so wichtige Dosen, steuere ich über Blockly mit HTTP 192....../ON oder eben OFF
Gebe ich dein Beispiel ein:
setState geht auf true aber nix passiert. Der Rest bleibt false oder OFF.
-
@haselchen Na das habe ich schon verstanden, aber das macht Dein ESP => Richtung iobroker - das ist aber immer eine Einbahnstrasse.
Du musst genauso wie bei den anderen Steckdosen via Blockly oder NR doch wieder schalten. -
Also das darfst du mich doch nicht fragen
Wird vermutlich über Simple Api gesteuert...siehe wieder Screenshot rechte Seite
-
@haselchen Nee die SimpleAPI empfängt nur, die sendet NIE!!! Dann müsste Deine GUI schon den iobroker Datenpunkt zusätzlich abfragen und dann reagieren. Hast Du schon mal mit dem Browser versucht über die OBI API Befehle zu senden?
Das was Du da machst, ist im Prinzip den Status der Lampe in den iobroker schreiben, mehr kann ich aus den Screenshots nicht entdecken, -
Klar , klappt alles.
Guck dir doch mal genau den Screenshot an.
Dort ist eingestellt, dass die Api zu einer bestimmten Zeit den Status von Iobroker abfragt.
Befehle werden aber sofort ausgeführt. -
@haselchen OK - also wenn Du den SetState im iobroker direkt setzt schaltest Du die Lampe?
-
Nein, setState alleine bringt es nicht.
Da passiert nichts, ausser das der Datenpunkt auf true geht.
Das value darunter denke ich mal muss mit auf true gehen. -
@haselchen Du kannst doch über die Admin Oberfläche testen in dem Du die Werte manuell einträgst
-
Hab ich, damit komme ich nicht weiter.
Anscheinend reagiert die Dose nur auf die HTTP Befehle.
Kann ich die in Yakha irgendwo eingeben? -
@haselchen Nein Du kannst im YAHKA keine HTTP Befehle absenden. Das war aber ein guter Test, weil Du siehst, dass es nichts gebracht hätte - wenn Du manuell was eingibst. Dann musst Du wohl wieder Dein Blockly benutzen. Das heißt dein SetState könnte man ggf. ganz weglassen.
Du könntest höchstens mal schauen, wenn der Wert im DP State über die Lampe und die SimpleAPI gesetzt werden, ob dieser bestätigt gesetzt wird. das geht aber in dem Du bei der SImple API &ack=true mitgibst. Habe ich gerade gesehen:
-
Das ärgert mich richtig, weil mir das Wissen fehlt, dass eventuell vernünftig umzusetzen.
Jetzt habe ich tatsächlich die Krücke über Blockly genommen, was mich so richtig nervt. -
@haselchen Wie @mickym schrieb. Mit dem Yahka kannst Du nur bestehende Datenpunkte an Homekit weiterleiten und von dort aus steuern bzw. dort eben States oder Sensorenwerte ausgeben lassen. Die Steuerung der Steckdose erfolgt dabei aber immer, so wie bei jedem anderen Gerät aus, über iobroker. Entweder, die Datenpunkte für Yahka liegen direkt in einem bestehenden Adapterzweig, oder, wie bei Dir eben, Du steuerst die Geräte direkt über html-Befehle an. Dann hast Du ja in iobroker im Normalfall irgendeinen Triggerdatenpunkt, der den Befehl abschicken soll, und diesen Trigger schaltest Du dann via Yahka. Problem dabei ist aber, Du siehst in Homekit dann immer nur den Zustand des Datenpunktes und nicht den der Steckdose selbst. Wenn die stromlos ist und Du schaltest den Datenpunkt, dann siehst Du in Homekit, sie wäre an, in iobroker der Datenpunkt zeigt das auch an, aber es passiert halt nix (maximal ein Fehler im Log, dass ein htnl-Befehl nicht ankommt.
Wenn Deine Steckdose ihren Zustand via html auch ausgibt, kannst Du das in einem zweiten Datenpunkt anzeigen lassen und diesen dann via Yahka visualisieren. Aber dennoch brauchst Du da immer eine Logik wie Javascript/Blockly oder Nodered, die die Datenpunkte und html-Befehle miteinander verwurstet.Gruss, Jürgen
-
@haselchen Na das ist nicht schlimm. Wie gesagt ich habe Dir gerade gepostet, dass das ACK Flag in die URL beim Setzen des States am Besten mitgegeben wird.
Im Blockly selektierst Du nun aber, dass nur dann der HTTP Request gesendet wird, wenn
Änderung unbestätigt.
YAHKA sendet immer unbestätigt und nur dann soll das Blockly reagieren. Sonst hast Du schnell eine Endlosschleife produziert.Die Anzeige im YAHKA kannst dann noch so einstellen, dass hier wiederum nur bestätigte Änderungen durchgereicht werden und die musst halt mit dem %ack=true noch an die URL dranhängen, die den Status via SimpleAPI schreibt.
-
@wildbill Na ja sowie ich das verstanden habe, pollt oder will er via SimpleAPI die Datenpunkte abrufen - aber das muss dann halt intern umgesetzt werden. Da kann ich nicht viel dazu sagen. Ich bin auch erst mal weg - noch bissi im Biergarten.
-
Das Merkwürdige daran ist, ich habe damals mehrere umgebaut.
Alle die gleiche Software.
Nun habe ich eine Dose, die soll angehen, wenn ein HM Türsensor reagiert.
Und zwar mit dem setState Datenpunkt über ein Blockly. Funktioniert.Mache ich das nun mit dieser Dose hier, geht sie nicht an.
Nur über den HTTP Befehl.
Deshalb bin ich ja so angefressen.
Ich hab das nun so gelöst:Nicht wundern wegen Wohnzimmer. So habe ich sie damals angelegt.
In Yahka:
So bekomme ich auch in Homekit immer den aktuellen Zustand.
-
@haselchen
Hast du mal überlegt die Dose mit Tasmota zu flashen? Dann kannst du direkt über einen Datenpunkt im Sonoff oder MQTT-Adapter schalten. Funktioniert wunderbar.
Oder benutzt du noch andere Funktionen der Webgui? -
Klar werde ich da hellhörig, aber wie kriege ich auf die alternative Software hier Tasmota?
Aufschrauben geht nicht.Edit: Habs im Netz gefunden. Das ist momentan keine Option. Ich habs ja jetzt über 100 Ecken umgesetzt.
Damit kann ich erstmal leben. Für 10Euro damals passt das schon.Edit 2:
Okay, doch wieder interessant