NEWS
Steckdose über Sonoff Zigbee Bridge in Iobroker schalten
-
Habe mir ne Sonoff Zigbee Bridge zugelegt und Tasmota draufgeladen. Anschließend nen Temperatursensor gepairt, werte wurden im lokalen WebIF der Bridge angezeigt und auch an Iobroker übermittelt. Anschließend habe ich mir ner schaltbare Steckdose von Ledvance(ehemals Osram) zugelegt und das gleiche versucht. Jetzt wirds schon etwas umständlicher. Im WebIF wird der Zustand(On/Off) angezeigt.
Aber das Schalten muss umständlich per Konsolenbefehl gemacht werden, Bsp.ZbSend { "device":"0x3126", "send":{"Power":"On"} }
Dann wollte ich das ganze über Iobroker schalten, aber es ist erstens total unübersichtlich... alles in einem Ordner:
und irgendwie sehe ich nirgends einen passenden Wert/State von meiner Steckdose.
Hat das jemand zufällig schon gemacht oder ähnliche Probleme? -
@pi_noob15 Was passiert denn, wenn man POWER auf true/false setzt?
Ist nur ein POWER da? Oder auch noch POWER1? -
@MCU geht leider nicht. Dieser state ändert sich wenn ein-/ausgeschaltet wird auf 1W/0W, aber darüber zu "schalten geht leider nicht.
Ich habe jetzt mal zusätzlich noch ne Steckdose gepairt um einen Defekt der ersten auszuschließen, aber diese hat exakt genau die gleichen "states".
Muss ich separat nen State anlegen ? Oder kann ich den Power on/off Befehl welcher über die Konsole der Bridge funktioniert irgendwie per Iobroker schicken ?
Über die Veränderung des State "Power" erhalte ich ja zumindes die Bestätigung nach dem Schalten........Habe jetzt auch schon die aktuellste Tasmota Version auf die Bridge geladen, jedoch keine Veränderung. ich glaube es würde Sinn machen wenn ich das ganze gleich per USB-Zigbee Stick mache? Wenn ja welcher wäre zu empfehlen für den Zigbee Adapter ?
-
-
@MCU ah cool, quasi per http Aufruf:
http://192.168.178.xxx/cm?cmnd=ZbSend { "device":"0x3126", "send":{"Power":"On"} }
Wobei schöner wäre wenns nen extra state/Variable im MQTT device gäbe, aber gut.
Wie kann ich diesen Aufruf per Iobroker bzw. In der VIS dann umsetzen?
-
@pi_noob15 Erstmal versuchen, ob es geht. Für die Vis kann man dann ein Datenpinkt erzeugen und dann in der Vis schalten. Ein Script führt dann ein Request mit den Daten aus.
-
@MCU ja klappt problemlos mit dem Befehl
-
@pi_noob15 Ok. Dann einen Datenpunkt anlegen:
Wird unter "javascript.0" angelegt. Wenn man userdata nehmen möchte, muss man es angeben.Edit: Es wird mit Sicherheit eine Möglichkeit geben für den Power-Einschaltwert ein Datenpunkt im MQTT / Sonoff Bereich zu erhalten. Man muss nur gründlich die Doku lesen. Thema rules
-
@MCU ich habe mir jetzt eine eine Variable "state_Plug1" unter "javascript.0" angelegt. Diese habe ich in Vis auf nen Button gelegt welcher diese dann auf False/True setzt. (Das funktioniert auch soweit)
Nun bräuchte ich ein Skript welches bei Statusänderung dieser Variable dann entweder den On oder Off Befehl per HTTP einmal rausschickt.
Bisher bin ich jetzt mal soweit gekommen, frage wäre nur noch wie Auswertung bei falls Wert auf true/false gemacht wird:
-
edit
läuft nun
Anpassung.......da ich aktuell 2x Steckdosen im Einsatz habe, müssen auch 2x devices geschalten werden. Was ich immer noch nicht kapiere wie die Prüfung auf true/false funktioniert und dementsprechend geschalten wird.
-
@pi_noob15
Das ist einfach erklärt.Wenn du in einem Trigger
diesen Baustein "wert" benutzt
dann versteckt sich hinter dem Baustein der Wert des Objektes welchen den Trigger ausgelöst hat. In deinem Fall ist also
"Wert" das gleiche was du bei "getValue("Set_State_Plug1")" bekommen würdest, nur das du dir den Wert nicht explizit noch einmal aus den Objekte heraus holst.Nun zum Falls Baustein. Er erwartet einen Baustein dessen Wert "wahr" oder "falsch" ist. Der Baustein "Wert" im Beispiel hat genau einen dieser beiden Werte, so das direkt dessen Wert geprüft werden kann. Alternativ könnte man da auch einen Vergleich "Wert" ist gleich "wahr" setzen.
Ich hoffe das bringt Licht ins Dunkle.
A.
Nachtragt: Obwohl die Farbe des Bausteines "Wert" die gleiche ist wie die des Bausteins "setze http_variable auf" kommt dieser nicht aus dem Bereich "Variablen" sondern aus dem Bereich wo auch die Trigger definiert werden.
A. -
@asgothian hilfeee, ich bekomm das nicht hin ;-( meine symbole bei blockly sehen ganz anders aus, wahscheinlich gab es 3 updates danach... ich scheitere schon an "Dann einen Datenpunkt anlegen". Das mache ich doch unter Objekten, oder ??? Warum dann das blaue puzzle-teil ? entschuldigt meine gefrustete schreibweise, aber ich habe exakt das gleiche problem mit der steckdose, grübel schon das ganze WE drüber und fange an an mir zu zweifeln...und ich möchte doch nur eine steckdose ein und ausschalten.. (über die vis, spätere regeln nicht ausgeschlossen. vielleicht mag mir jemand helfen. bin 50+, sorry , und danke schonmal ! karsten
-
bevor ich hier etwas im Detail erkläre solltest Du bitte:
- genau erklären was du machen willst
- einen Screenshot aus dem Objektbaum zeigen der von den betroffenen Geräten die Datenpunkte zeigt.
A.
-
Moin, hier die screenshots. was ich vorhabe steht auch ganz oben. in blockly ein script um die steckdose ein- / auszuschalten. aktuell funktioniert das über: http:
http://192.168.0.202/cm?cmnd=ZbSend { "device":"0x276B", "send":{"Power":"On"} } bzw "off" im Browser, aber es will mir nicht gelingen diese Befehle in blockly einzubauen.... -
Fein. Fangen wir mal langsam an.
-
Stell bitte sicher das dein Javascript Adapter neu genug ist (Version > 4.10.8)
-
Stell sicher das Du im Blockly die Folgenden Blöcke finden kannst:
-- In "Aktionen" den Block Request (1. Bild)
-- In "Text" den Block mit " " und "erstelle Text aus (2. Bild)
-- In "trigger" die beiden im 3. Bild sichtbaren Blöcke
-- In "Logik" den ersten Block (4. Bild)
Nun zum zusammen bauen. Man Nehme:
-
Im Block "Variablen" - Variable erstellen, Name "Sollstatus"
-
Aus dem Trigger Bereich den 'falls Objekt' Block.
-- Als ObjektID auswählen 'javascript.0.Home.Steckdose1
-- Alles weitere muss in die Klammer des Trigger Blocks -
Aus dem Logik Bereich den falls ... mache Block.
-- Auf das Blaue Zahnrad, ein "sonst" hinzufügen
-- An den Block angedockt: den Baustein "Objekt ID" aus dem Trigger Block. Diesen umstellen auf "wert"
-- In der Klammer des Falls: aus dem Variablen Bereich den Block 'setze Sollstatus auf', daran angedockt aus dem Text Bereich den Block " ", darin eintragen: "On" (mit den ")
-- In der Klammer des Sonst: aus dem Variablen Bereich den Block 'setze Sollstatus auf', daran angedockt aus dem Text Bereich den Block " ", darin eintragen: "Off" (mit den ") -
Aus dem Aktionen Bereich den Block "Request"
-- an URL angedockt den Baustein "erstelle Text aus" aus dem Text Bereich
-- Am erstelle Text Baustein die Anzahl der Andockpunkte um einen Erhöhen (über das blaue Zahnrad)
-- Am obersten Kontakt Andocken den Baustein " " aus dem Text Bereich, da eintragen: http://192.168.0.202/cm?cmnd=ZbSend{ "device":"0x276B", "send":{"Power":
-- am mittleren Kontakt Andocken den Baustein "Sollstatus" aus dem Variablen bereich
-- am untersten Kontakt andocken den Baustein " " aus dem Text Bereich, da eintragen: }}
Damit ist das Skript dann fertig und sollte auf ein manuelles Anpassen des Datenpunktes javascript.0.home.Steckdose1 reagieren.
Zu dem blauen Block "Datenpunkt erzeugen": Damit kannst Du in einem eigenen Blockly einen Datenpunkt erzeugen ohne das du das manuell über die Admin Oberfläche machst. Ich persönlich nutze den eher nie, da ich meine selbst angelegten Datenpunkte unter 0_Userdata.0 anlege. Wie Du das machst ist letztendlich egal. Wichtig ist das Du den entsprechend angelegten Datenpunkt dann im Trigger Baustein auswählst.
Ich hoffe das war hinreichend systematisch erklärt.
-
-
@asgothian
huiiiii! DAS ist ja mal ausführlich erklärt !! BESTEN Dank, ist ja nur noch wie malen-nach-zahlen. Werde es schnellstmöglich testen ! (nur heute wahrscheinlich nicht mehr) TOP 1 mit *
perfekt ! danke !
(muss man hier jetzt etwas auf gelöst setzten ??
)