Du musst auch mit einem Trigger anfangen, sonst klappt das nicht. Ohne Trigger wird das Script nur einmal beim Start durchlaufen und danach nicht mehr. Da wird das Script von Snatch wohl nicht funktionieren. Es sei denn du lässt das Script durch ein anderes Script immer wieder neu starten
Beiträge von Volvo44
-
-
So vielleicht
Code
Alles anzeigen<xml xmlns="http://www.w3.org/1999/xhtml"> <block type="on" id="S]N31~jQZzh{_q(:FTY4" x="-162" y="-87"> <field name="OID">mihome.0.devices.sensor_motion_aq2_158d0002b933d9.state</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="P3Ml,ZiexWT?MLs_Lczw"> <value name="IF0"> <block type="logic_operation" id="lhjOxG8:~:ZMbv!Bh`X4"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="/Dqj%VFwI!|3Ej],`3-!"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="k!X=;2}gymjVGW)dtgY`"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.sensor_motion_aq2_158d0002b933d9.state</field> </block> </value> <value name="B"> <block type="logic_boolean" id="WA31pK%MG;3SL%ki8STU"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="^iBcD]}Z:a2xMy4heaP:"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="tc~kY6{[%1Xyf%b^6pJC"> <field name="ATTR">val</field> <field name="OID">EigeneSchalter.0.SchaltungErfolgt</field> </block> </value> <value name="B"> <block type="logic_boolean" id="@:pS[f~d-3xoA1^#6a.g"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="S)t(fqXdC=cj1QbWhmjY"> <mutation delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="EC0o(vmT#})}0:AHN-9|"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id=";r8qWVn=hopA_jEL|^iH"> <mutation delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="_AJ_4|@zI7H}-_7DGrl["> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="]7}4:]]X_)Yw[KqlA)Uk"> <mutation delay_input="false"></mutation> <field name="OID">EigeneSchalter.0.SchaltungErfolgt</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="95BUD=]p5uW!iw9EnqNb"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </statement> <next> <block type="schedule" id="IeQre{]f+]kl(GUtrNA!"> <field name="SCHEDULE">0 0 * * *</field> <statement name="STATEMENT"> <block type="control" id="s8aff2gpx6k@6YxC!7d%"> <mutation delay_input="false"></mutation> <field name="OID">EigeneSchalter.0.SchaltungErfolgt</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="D^Jt.cmik[3T1p2`Wskr"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </next> </block> </xml>
-
Ich würde es so machen.
Code
Alles anzeigen<xml xmlns="http://www.w3.org/1999/xhtml"> <block type="on" id="1NYR`(|zE`12Ysr-)m9e" x="-237" y="-187"> <field name="OID">zigbee.0.00158d0002c5bfab.opened</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="-:AKec%HrtSdn?TshK_!"> <value name="IF0"> <block type="logic_compare" id="Mn71Z_tdX~rCasG(vSPC"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="(:)%Ck1x9LAEpl!ZqOYb"> <field name="ATTR">val</field> <field name="OID">zigbee.0.00158d0002c5bfab.opened</field> </block> </value> <value name="B"> <block type="logic_boolean" id="ra*(,W=G^Nm`E3f^y5Vs"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="QLYeSO{87e?y1Pi}/8l["> <mutation delay_input="true"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090U50783761FHJ.Commands.speak</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">10</field> <field name="UNIT">sec</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="text" id=":_w5K;YrkUuxMXC;g#R4"> <field name="TEXT">Fenster</field> </block> </value> <next> <block type="timeouts_setinterval" id="PJ7OFSfjqZt,cdpbcfPU"> <field name="NAME">Intervall</field> <field name="INTERVAL">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="bsuW[Z)8gtW}MKE)Rr)@"> <mutation delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090U50783761FHJ.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="AbKO~?Hfq(,O9,U4NZ{U"> <field name="TEXT">kuckuck</field> </block> </value> <next> <block type="controls_if" id="66SqH;E.LLkK7Cdi`OV3"> <value name="IF0"> <block type="logic_compare" id="oTEz;/6:IXS+?-vXN,_Z"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="AeeM}!HA69hqR(.=w2H["> <field name="ATTR">val</field> <field name="OID">zigbee.0.00158d0002c5bfab.opened</field> </block> </value> <value name="B"> <block type="logic_boolean" id="7taf1X!#Kb1EbHEKkx#)"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_clearinterval" id="_Ge!:z24b1AkEsHBfX_d"> <field name="NAME">Intervall</field> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block> </xml>
-
Du erstellst dir einen zusätzlichen Datenpunkt/Objekt z.B SchaltungErfolgt.
im Script dann, als Trigger den Motion Datenpunkt, dann Abfrage falls motion wahr und SchaltungErfolgt unwahr, steuere (deine Sachen die du steuern willst) zusätlich noch Schaltung erfolgt auf wahr steuern.
Den Datenpunkt SchaltungErfolgt setzt du dann per CronJob jeden Tag um 0 Uhr zurück auf unwahr.
-
-
Klick auf das Zahnrad in dem Sysmbol, dann kannst du noch zusätzlich Eingänge dranziehen. Oder richtiger gesagt Objekt IDs
-
Hi, mit nem Trigger die 3 Türen auf Änderung abfragen und dann Falls Tür1 = wahr und Tür2 = wahr und Tür3 = wahr steuere LED mit wahr
sonst steuere LED mit unwahr.
Man kann bei den Und Symbolen eins in das andere einfügen, dann hat man Und und Und, beliebig erweiterbar.
-
Hi, du muss noch nen Trigger verwenden. Falls Objekt ID wurde geändert. Bei Objekt ID wählst du auch Battery aus, und packst dein "falls mache" in den Trigger
Und anstatt für die 5 ein Textfeld zu verwenden, würde ich von Mathematik das Zahlenfeld nehmen.
-
Hi, also dem [definition='69','0']Gateway[/definition] kann man über den Router auch den Internetzugriff kappen, dann hat der auch keine Cloud Anbindung mehr. Den Internetzugriff braucht man nur falls man die App nutzen will, bzw. wenn man neue Geräte hinzufügen will.
-
Dann erstelle noch mal ein neues Objekt, und wähle das Logigwert beim erstellen aus. Ich glaube nachträglich ändern geht nicht.
-
Ist auch schreiben erlaubt eingestellt? Bei dem Objekt mal rechts auf den Stift klicken. Lesen und schreiben Erlaubt nen Haken dran machen.
Sollte so aussehen
-
Ich komme einfach nicht weiter. Bekomme bei Anfrage Wie ist die Temperatur folgende Fehlermeldung im Log. no state available for 'WSDCGQ11LM' with key 'Temperatur_Wohnzimmer
Was ist denn das WSDCGQ11LM ? Ist das ein Temperatursensor Objekt? Hast du den in deinem Script ausgewählt? Das Objekt schein keinen Status zu liefern.
-
Kann man nicht gleich in die Sprachausgabe der [definition='20','0']Alexa[/definition] (speak des jeweiligen Geräts) den Text einfügen anstatt erst noch ein Objekt als Überbringer zu nutzen?
Könnte mir vorstellen, dass ich auf diese Art etwas Rechenleistung einsparen könnte.Jau, da hast du recht. Du kannst das setzte Textausgabe auf Wert von AlexaSprachausgabe auch weglassen, und überall wo die Variable Textausgabe drin ist, Wert von Sprachausgabe einsetzten. Die Rechenleistung die du dadurch einsparst, ist so minimal das du das nicht merkst.
Ich hatte auch schon mal darüber nachgedacht es rauszunehmen, aber es dann doch drin gelassen. Wer weiß wozu ich die Variable noch mal nutzen könnte.
-
Hi, das sollte im Cloud Adapter so aussehen.
https://drive.google.com/open?id=1QnhJX…bHQxauk5Hu4Ik9D
Schreiben erlaubt muss für dieses Objekt auf jeden Fall deaktiviert sein. Sonst will [definition='20','0']Alexa[/definition] es steuern und die Abfrage funktioniert nicht.
-
Hi, für die Geräte die du über den Echo Plus koppeln kannst, brauchst du kein zusätliches [definition='69','0']Gateway[/definition], dafür gibts beim Iobroker nen Adapter, [definition='20','0']Alexa[/definition] 2, damit kann man die Geräte steuern die man mit den Echos gekoppelt hat.
Die Xiaomi Sensoren lassen sich nicht direkt mit dem Echo Plus koppeln, dafür braucht man das [definition='69','0']Gateway[/definition] oder den Zigbee Stick. Das bleibt jedem selbst überlassen. Beim Stick ist der Vorteil, das man damit auch noch HUE, [definition='60','0']Osram[/definition], Ikea usw. koppeln kann und man kann zusätzliche Sticks als Repeater programmieren um die Reichweite zu erhöhen. Beim [definition='69','0']Gateway[/definition] ist von Haus aus die Reichweite etwas höher und man hat noch ein Licht und nen Lautsprecher in der [definition='69','0']Gateway[/definition], aber man kann nur Xiaomi Geräte koppeln. (In Zukunft sollen Ikea Tradfri Geräte dazu kommen)
Geräte, wie DECT Thermostate die an der Fritzbox hängen kann man auch über nen Adapter, Fritz DECT, in den Iobroker einfügen.
Bewegungsmelder gibts auch von Xiaomi.
Türschlösseranbindung kann ich nichts zu sagen, habe ich mich nicht mit auseinander gesetzt. Aber wie gesagt alle Smart Home Geräte die schon mit [definition='20','0']Alexa[/definition] gekoppelt sind lassen sich über den Iobroker steuern. [definition='20','0']Alexa[/definition] 2 Adapter.
-
Hi, für die Abfrage habe ich es so gelöst, das ich mir dafür eigene Objekte erstelle. Diese verknüpfe ich dann über Node Red mit [definition='20','0'][definition='20','0']Alexa[/definition][/definition]. Dann erstelle ich eine Routine "[definition='20','0'][definition='20','0']Alexa[/definition][/definition], wie ist die Temperatur.." als Aktion lasse ich sie dann das Objekt schalten. Den Status dieses Objekts frage ich in einem Script ab und lasse den Echo dann per Alexa2 Adapter den Text Die Temperatur ist "Wert von Temperatursensor" Grad sprechen.
Edit:
Sonst schau mal hier, ist zwar für die Cloud, aber lässt sich auch für Node Red verwenden.
-
Bei welcher Funktion findet [definition='20','0']Alexa[/definition] alles doppelt? Bei den Wemos oder bei [definition='20','0']Alexa[/definition] Local?
Bei [definition='20','0']Alexa[/definition] Local habe ich sie auf der [definition='20','0']Alexa[/definition] Webseite auch doppelt stehen in der App aber nur einmal. Mit der Wemos Emulation im Zusammenhang mit [definition='20','0']Alexa[/definition] scheint es Probleme zu geben, ich weiß auch nicht ob das dafür gedacht war.
Hast bei Node Red nur die Instanz gelöscht oder auch den Adapter?
-
Also bei mir schalten alle Geräte ohne Probleme über Node Red. Habe alle über die [definition='20','0']Alexa[/definition] Local Funktion eingebunden. Sind über 20 Stück. Es gibt auch Leute die haben an die 70 drin und auch keine Problem. Es kann allerdings sein das man mal mehrmal suchen lassen muss oder auch den Adapter neu starten muss, damit [definition='20','0']Alexa[/definition] auch alle Geräte findet. Allerdings wird es wenn man Thermostate steuern will oder Temperaturen abfragen will über Node Red etwas kompliziert. Da muss man zusätzlich Scripte erstellen. Außerdem wird der Status der Geräte in der [definition='20','0']Alexa[/definition] App immer mit Ein und 49% angezeigt, egal wie der Staus wirklich ist. Damit kann ich allerdings leben, da ich eignetlich nie mit der App schalte.
-
Schön wenn es jetzt bei dir funktioniert.
Wenn du noch wissen willst wie man selbst Objekte erstellt, dann schau dir mal das Blocky Grundlagenvideo von Elzershark an. (Youtube) Ich glaube so bei 7 Minuten beschreibt er das. Wäre sowieso ein interessantes Video für Blocky Anfänger
-
Ich weiß ja nicht wie gut du dich mit dem Broker auskennst und ob du aus dem Broker über die Cloud oder Node Red mit [definition='20','0']Alexa[/definition] Objekte steuerst und ob du den [definition='20','0']Alexa[/definition] Adapter am laufen hast.
Man könnte sich selbst ein Objekt erstellen z.B NDR (Sendername), das dann über die Cloud oder Node Red von [definition='20','0']Alexa[/definition] suchen lassen. Dann ein Blocky erstellen wenn NDR ist wahr steuere Tune in Station (Unter Echo Divices, Gruppenname, Player) mit NDR. Wenn NDR false steuere Pause mit wahr. Dann kanst du sagen schalte NDR ein oder schalte NDR aus.