NEWS
gelöst 2 sonoff RF bridge tasmota Flash blocky
-
Hi,
Um mein Grundstück komplett abzudecken brauche ich 2 sonoff bridge damit die Reichweite reicht.
Jetzt kommt mein Problem wenn beide bridge den gleichen rfkey empfangen, da beide in Reichweite sind, macht das Skript natürlich Blödsinn.
Ich bin bis dato noch nicht auf eine Idee gekommen wie ich iobroker blocky dazu bringen kann das der key nur einmal ausgewertet wird egal von welcher bridge dieser kommt.
Hat einer von euch eine Idee wie man sowas macht?
Gruss
-
@ludino sagte: wie ich iobroker blocky dazu bringen kann das der key nur einmal ausgewertet wird egal von welcher bridge dieser kommt.
Suche im Forum nach "entprellen".
-
@paul53 said in 2 sonoff RF bridge tasmota Flash blocky:
@ludino sagte: wie ich iobroker blocky dazu bringen kann das der key nur einmal ausgewertet wird egal von welcher bridge dieser kommt.
Suche im Forum nach "entprellen".
Danke Dir für die Antwort
kann man das so machen?
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="G(JC:W*|750X0dsYewe8">VAR-Aussen</variable> <variable id="UUQ%oRYf@/Gc}Qn|k{;S">VAR-Garage</variable> <variable type="timeout" id="VAR-Ruecksetzen">VAR-Ruecksetzen</variable> </variables> <block type="on_ext" id="mxlAMn]RfkXvQGeA2sZ#" x="-512" y="38"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="zwU-#CVw:#O[WY;xw.3g"> <field name="oid">sonoff.0.RF-Bridge-Aussen.RfReceived_Data</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="FYe{v0=QIP3D^[W]Yf%u"> <field name="oid">sonoff.0.RF-Bridge-Garage.RfReceived_Data</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id=")8sPY`O#)8I(=8H$_pLX"> <value name="IF0"> <block type="logic_operation" id="7#$#W1]Nopz$n64z$P.n" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="1zTbk;QIv)R|Hm-C-IN%"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="|PPi+`1N5$VLs[s%1O1q"> <field name="ATTR">val</field> <field name="OID">sonoff.0.RF-Bridge-Aussen.RfReceived_Data</field> </block> </value> <value name="B"> <block type="text" id="kE`Gq+;yfZLD2f={/AG;"> <field name="TEXT">88DC91</field> </block> </value> </block> </value> <value name="B"> <block type="logic_negate" id="-US[pg:vd#h.cgNT:C3D"> <value name="BOOL"> <block type="logic_compare" id="ILr);[.12RkoYWX.SZ]R"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="SKtEo|HJanZ.[}w*HcC!"> <field name="ATTR">val</field> <field name="OID">sonoff.0.RF-Bridge-Garage.RfReceived_Data</field> </block> </value> <value name="B"> <block type="text" id="/P{F.`QLDUW{(RM%KJNY"> <field name="TEXT">88DC91</field> </block> </value> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="6!@1ku.6]oB-GE~SS]8h"> <field name="VAR" id="G(JC:W*|750X0dsYewe8">VAR-Aussen</field> <value name="VALUE"> <block type="text" id="_#S_]vB9f4YwWf1gJLcr"> <field name="TEXT">88DC91</field> </block> </value> <next> <block type="control" id="AjY*c=Orj]reO![kPO5/"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">deconz.0.Lights.3.on</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="TkiA%{TefEml.Gr?U~@A"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="controls_if" id=";uw|M%7HnBGuyb0eShi4"> <value name="IF0"> <block type="logic_operation" id="M{ST:XLRU=Tx;/~n~4]o" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="I:ccBIQM;(ZRC{Eg]:i;"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="?Fn.~p/q!|$=$]u.HC,O"> <field name="ATTR">val</field> <field name="OID">sonoff.0.RF-Bridge-Garage.RfReceived_Data</field> </block> </value> <value name="B"> <block type="text" id="3V8*A|9EkR=brfE8-o0x"> <field name="TEXT">88DC91</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="%TY$,s*x3h1z(g+MnEs."> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="TH_QnWuU7lGq@]}pC0p*"> <field name="ATTR">val</field> <field name="OID">sonoff.0.RF-Bridge-Aussen.RfReceived_Data</field> </block> </value> <value name="B"> <block type="text" id="Oq(@XiTHK6_QTI!4;p}D"> <field name="TEXT">88DC91</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="sno;s.VRib1L2NlV:3PB"> <field name="VAR" id="UUQ%oRYf@/Gc}Qn|k{;S">VAR-Garage</field> <value name="VALUE"> <block type="text" id="dCpA^k7Q%MauXxt%!VvZ"> <field name="TEXT">88DC91</field> </block> </value> <next> <block type="control" id="19);/*.:(ma+7io~nyB7"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">deconz.0.Lights.3.on</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="/_B]K$`V;_{?waL8]U[Q"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> <next> <block type="controls_if" id="WTPMHJKN,U^R}vEPRD)_"> <value name="IF0"> <block type="logic_operation" id=":P#?KhQpJsskAGVC.`pL"> <field name="OP">OR</field> <value name="A"> <block type="logic_compare" id="#s#0b%!6.tvRI;I_-ai$"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="@#_E@b5DrM2hv4*!r0DX"> <field name="VAR" id="G(JC:W*|750X0dsYewe8">VAR-Aussen</field> </block> </value> <value name="B"> <block type="text" id="fPagBKqT`C6GLn*7Sk5+"> <field name="TEXT">88DC91</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="mbAKuu_SpI+yw|m;zf%c"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="=_j[gKfI-Xb6?]`zEph*"> <field name="VAR" id="UUQ%oRYf@/Gc}Qn|k{;S">VAR-Garage</field> </block> </value> <value name="B"> <block type="text" id="2=Y6G6[]E+3*!;v}Oiim"> <field name="TEXT">88DC91</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_settimeout" id="i{2K2H_h}*Du#/faawvR"> <field name="NAME">VAR-Ruecksetzen</field> <field name="DELAY">1</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="variables_set" id="3*1c-]VAiM|HovjGzKn_"> <field name="VAR" id="UUQ%oRYf@/Gc}Qn|k{;S">VAR-Garage</field> <value name="VALUE"> <block type="logic_boolean" id="gk!^7Z)X|c981zPh8MYL"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="variables_set" id="pWZLt}h`1mJLsP].aq@I"> <field name="VAR" id="G(JC:W*|750X0dsYewe8">VAR-Aussen</field> <value name="VALUE"> <block type="logic_boolean" id="`_H:A2.xNr$Xllv4J6c."> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </xml> Gruß
Blödsinn was ich da gemacht habe
-
@ludino Das kann man ggf. so machen, ist aber nur bedingt sinnvoll - im Detail hab ich das nicht analysiert.
Du solltest diesen Baustein nutzen. Damit kannst du im Trigger
- abfragen welcher der beiden Trigger Datenpunkte den Trigger ausgelöst hat (und damit für eine Zeit die Auslösung durch den anderen blockieren) Dann Lässt du den als "Objekt ID" stehen
- den Wert abfragen der den Trigger auslöst - dann stellst du den auf "wert" ("state value") um.
Damit sollte ein Skript wie dieses funktionieren.
Wenn du noch unterschiede machen willst welche der RF Bridges den Befehl ausgelöst hast bräuchtest du noch ein Falls zur Abfrage von "Objekt ID".
A.
-
wurde geändert ist ok dann aber beide Datenpunkte nach dem Blockly auf 0 setzen.
-
@asgothian said in 2 sonoff RF bridge tasmota Flash blocky:
@ludino Das kann man ggf. so machen, ist aber nur bedingt sinnvoll - im Detail hab ich das nicht analysiert.
Du solltest diesen Baustein nutzen. Damit kannst du im Trigger
- abfragen welcher der beiden Trigger Datenpunkte den Trigger ausgelöst hat (und damit für eine Zeit die Auslösung durch den anderen blockieren) Dann Lässt du den als "Objekt ID" stehen
- den Wert abfragen der den Trigger auslöst - dann stellst du den auf "wert" ("state value") um.
Damit sollte ein Skript wie dieses funktionieren.
Wenn du noch unterschiede machen willst welche der RF Bridges den Befehl ausgelöst hast bräuchtest du noch ein Falls zur Abfrage von "Objekt ID".
A.
Hallo müsste da nicht ein true sein?
-
@ludino sagte in 2 sonoff RF bridge tasmota Flash blocky:
Hallo müsste da nicht ein true sein?
Ja, du hast den eingebauten Fehler gefunden.
Spass beiseite - ich hatte das heute morgen kurz zusammenkopiert. Das ist ein Kopierfehler, da muss wirklich "true" stehen.
A.
-
@asgothian said in 2 sonoff RF bridge tasmota Flash blocky:
@ludino sagte in 2 sonoff RF bridge tasmota Flash blocky:
Hallo müsste da nicht ein true sein?
Ja, du hast den eingebauten Fehler gefunden.
Spass beiseite - ich hatte das heute morgen kurz zusammenkopiert. Das ist ein Kopierfehler, da muss wirklich "true" stehen.
A.
Vielen lieben dank, es läuft auf jeden fall.
Danke auch an alle anderen die mir geholfen haben!
grußß
@asgothian said in 2 sonoff RF bridge tasmota Flash blocky:
@ludino sagte in 2 sonoff RF bridge tasmota Flash blocky:
Hallo müsste da nicht ein true sein?
Ja, du hast den eingebauten Fehler gefunden.
Spass beiseite - ich hatte das heute morgen kurz zusammenkopiert. Das ist ein Kopierfehler, da muss wirklich "true" stehen.
A.
vielen lieben Dank,
es läuft auf jeden fall alles,
danke alle anderen die mir auch geholfen haben.
Gruß