Hallo,
ich persönlich empfehle dieses ganze Anlernen in der Bridge zu vergessen. Kann man alles viel einfacher im IOBROKER programmieren und es gibt keine Beschränkung der Geräteanzahl.
Es gibt da einen Javascript-Script, der automatisch den Result-String auswertet und das Datenwort speichert:
var idJSON = 'mqtt.0.tele.RF-Bridge1.RESULT'; // Datenpunkt-ID mit JSON-String
var RFWert;
function JSONtoRF(json) {
var obj = JSON.parse(json);
RFWert = obj.RfReceived.Data;
var idJSON = 'mqtt.0.RF_Sensor';
var idRFWert = 'mqtt.0.RF_Data';
setState(idRFWert, RFWert);
}
JSONtoRF(getState(idJSON).val); // Script start
on(idJSON, function(dp) { // triggern bei Wertänderung
JSONtoRF(dp.state.val);
});
Alles anzeigen
Den idJSON auf den eigenen RESULT-Datenpunkt der RF-Bridge anpassen,
die Datenpunkte "mqtt.0.RF_Sensor" und "mqtt.0.RF_Data" als Zeichenkette anlegen,
und dann einen Script schreiben, der auf Änderungen von RF_Data lauert.
Blockly-Export:
<xml xmlns="http://www.w3.org/1999/xhtml">
<block type="on_ext" id="?r)/{E96+[;dYjo)XiIo" x="-387" y="-262">
<mutation items="1"></mutation>
<field name="CONDITION">ne</field>
<field name="ACK_CONDITION"></field>
<value name="OID0">
<shadow type="field_oid" id="?%.5esdTRLXw?xvnqO^s">
<field name="oid">mqtt.0.RF_Data</field>
</shadow>
</value>
<statement name="STATEMENT">
<block type="debug" id="Ee!]Q8nD0cI)zmkLl/db">
<field name="Severity">log</field>
<value name="TEXT">
<shadow type="text" id="Iol(mLH?GNV?uP{OtPfk">
<field name="TEXT">test</field>
</shadow>
<block type="variables_get" id="DjSa)k?HoT*1*HXo`g(%">
<field name="VAR">value</field>
</block>
</value>
<next>
<block type="comment" id="|Ak!b)]:xEV_3.Yal(x|">
<field name="COMMENT">Motion-Detector CT60: Alarm-Signal: D527CE</field>
<next>
<block type="controls_if" id="+,GjO!JEg(Pz.}m~Ch/f">
<value name="IF0">
<block type="logic_compare" id="kKusIL=^t9FY*/2MQj~x">
<field name="OP">EQ</field>
<value name="A">
<block type="variables_get" id="pUeDdL}2qZ`qxW9QQ+2P">
<field name="VAR">value</field>
</block>
</value>
<value name="B">
<block type="text" id="QEOHSqMfv[5EqcE25@,F">
<field name="TEXT">xxD527CE</field>
</block>
</value>
</block>
</value>
<statement name="DO0">
<block type="update" id="^%@nh|_z|+;Bt3qVjIP)">
<mutation delay_input="false"></mutation>
<field name="OID">admin.0.BaZi-Bewegung</field>
<field name="WITH_DELAY">FALSE</field>
<value name="VALUE">
<block type="logic_boolean" id="iP/%s5]Hx~sPW./{H,l+">
<field name="BOOL">TRUE</field>
</block>
</value>
<next>
<block type="update" id="Y|4o/~fNg@L0;uq0.(~;">
<mutation delay_input="true"></mutation>
<field name="OID">admin.0.BaZi-Bewegung</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">10</field>
<field name="UNIT">min</field>
<field name="CLEAR_RUNNING">TRUE</field>
<value name="VALUE">
<block type="logic_boolean" id="(T/4r=_L|@*%}BCqlO5c">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</next>
</block>
</statement>
<next>
<block type="comment" id="8Pfy%mP:)wnKf5g%BmDU">
<field name="COMMENT">Motion-Detector CT60: Monitoring-Signal: 1015CC</field>
<next>
<block type="comment" id="({b_5VqGea8*m7JdKo:t">
<field name="COMMENT">Motion-Detector CT60: Status Detector und Batterie: 901D03</field>
<next>
<block type="update" id="KMJqmFey%b28/a.0zwO!">
<mutation delay_input="true"></mutation>
<field name="OID">mqtt.0.RF_Data</field>
<field name="WITH_DELAY">TRUE</field>
<field name="DELAY_MS">100</field>
<field name="UNIT">ms</field>
<field name="CLEAR_RUNNING">FALSE</field>
<value name="VALUE">
<block type="text" id="pF7Hm8IhPu#h{iH-*RAT">
<field name="TEXT">-</field>
</block>
</value>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</statement>
</block>
</xml>
Alles anzeigen
Und man sendet einen Befehl an einen RF-Empfänger, indem man die RESULT-Daten von einem gesendeten Befehl mitschreibt und wieder mitsendet, so daß die Frequenzen und Schritttakte passen, der Inhalt ist dann entscheident:
Blockly-Export
...nur mal beispielhaft kopiert.
Die Codes für meine RF-Lichtschalter habe ich z.B. frei erfunden und in den Lichtschalter angelernt. Läuft prima.
Wer so einen Blockly-Export nicht importieren kann, möge doch dieses Forum nach den bisher aufgeführten Lösungen durchsuchen.