NEWS
Blockly Script Hilfe
-
Ich möchte einen RFID-Chip auslesen und in abhängigkeit eine Lampe damit AN/AUS schalten.
Da ich das mit einem Chip realisieren will muss ich die Abhängigkeiten wie Lampe ist AN/AUS und
den Zeitstempel der ausgelesenen RFID verwenden.
Ich tu mich damit aber sehr schwer und glaube ich habe einen Fehler in meiner Logik.
Kann jemand da bitte mal drüber schauen und mir evtl nen Tip geben.
-
den Zeitstempel der ausgelesenen RFID verwenden. `
Was willst Du mit dem Zeitstempel ? Die Aktualisierung (Änderung) des Zeitstempels ist Voraussetzung dafür, dass getriggert wird.
@Marko79:Ich möchte einen RFID-Chip auslesen und in abhängigkeit `
In welcher Abhängigkeit ? Welchen Wert liefert der RFID-Datenpunkt bei Erkennen des RFID-Chips und bei Nichterkennen ? -
Das system gibt die Kennung des RFID-Chips als Wert aus…zb:xxxxx828.
wenn ich den gleichen Chip erneut davor halte ändert sich der Wert in der Zelle nicht, aber der Zeitstempel.
Da ich aber nur einen Chip verwenden will und dieser immer den gleichen Inhalt zurück gibt (z.B.xxxxx828)
muss ich das Schalten abängig von dem Zeitstempel und dem aktuellen Zustand der Lampe machen.
Der Zeitstempel soll dafür sorgen das pro auslesen des Chips auch nur einmal geschaltet wird (evtl kann man hier dann ne Zeitschwelle einbauen oder die Verzögerungsfunktion nutzen).
Wenn ich den Chip zb dauernd davor halte wird er immer wieder ausgelesen und ich hätte ein Blinklicht.
Durch den Zeitstempel will ich das unterbinden.
Ich hoffe das ist verständlich geschrieben."Kopfkratz"
-
Das system gibt die Kennung des RFID-Chips als Wert aus…zb:xxxxx828. `
Innerhalb eines JSON-Strings als svalue ?Dann sollte es so funktionieren:
Export, in den noch die richtigen Datenpunkt-IDs eingesetzt werden müssen:! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="procedures_defcustomreturn" id="l?Ac#Qpv`P_23fG!XjE=" x="113" y="-12"><mutation statements="false"><arg name="x"></arg></mutation>
<field name="NAME">getsvalue</field>
<field name="SCRIPT">dmFyIG9iaiA9IEpTT04ucGFyc2UoeCk7CnJldHVybiBvYmouc3ZhbHVlOw==</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment></block>
<block type="comment" id="CH-iW]4jo[;@S1F0-y91" x="113" y="38"><field name="COMMENT">ID TV_LICHT</field>
<next><block type="variables_set" id="l3jLI7#u~iy^,f3J!7["><field name="VAR">tvlicht</field>
<value name="VALUE"><block type="get_value" id="p?UCXs5nOa#{/D@M6yy"><field name="ATTR">val</field>
<field name="OID">ID auswählen</field></block></value>
<next><block type="on_ext" id="~+qq5:QThYeF#(+,)uRQ"><mutation items="1"></mutation>
<field name="CONDITION">ne</field><value name="OID0"><shadow type="field_oid" id="g1RpA^Nt*mIcFS~*;v*3"><field name="oid">default</field></shadow></value> <statement name="STATEMENT"><block type="variables_set" id="42=%~f?|E=J[,VuI]2A)"><field name="VAR">tvlicht</field> <value name="VALUE"><block type="variables_get" id="R:p=%:U6Fc[]k-CW%3cI"><field name="VAR">value</field></block></value></block></statement> <next><block type="comment" id="87X{9^FNZTsi@;3Q4xg~"><field name="COMMENT">ID RFID</field> <next><block type="on_ext" id="Pw:E`2.yC07ztSCrpEts"><mutation items="1"></mutation> <field name="CONDITION">any</field> <value name="OID0"><shadow type="field_oid" id="}=/~)AoP:;tzU*c~S`O="><field name="oid">default</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id="qgi*s?%:lkvS#uB^FrJ!"><value name="IF0"><block type="logic_compare" id="L.7,Q:r3xr3}]6/ToV;Q"><field name="OP">EQ</field> <value name="A"><block type="procedures_callcustomreturn" id="2cKBZdr8e{~4-9ZOA/RI"><mutation name="getsvalue"><arg name="x"></arg></mutation> <value name="ARG0"><block type="variables_get" id="p;!;F#7Q3;vYQ`Z319pa"><field name="VAR">value</field></block></value></block></value> <value name="B"><block type="text" id="!p=@M;jymJW?j{#y`DGQ"><field name="TEXT">909222828</field></block></value></block></value> <statement name="DO0"><block type="controls_if" id="sPVa!N?MI6pRuiuc#D@S"><mutation else="1"></mutation> <value name="IF0"><block type="variables_get" id="L2|_S!U^TM[q(5)RX=%K"><field name="VAR">tvlicht</field></block></value> <statement name="DO0"><block type="control" id=".INS.Z#D}`VG1MH/^jF^"><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=":pIF,Yog8u[,_44xe3~1"><field name="BOOL">FALSE</field></block></value></block></statement> <statement name="ELSE"><block type="control" id=".bo,ILfOXw,;77q(!SkU"><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="0{jaed*l3LJhf~@*sd@,"><field name="BOOL">TRUE</field></block></value></block></statement></block></statement></block></statement></block></next></block></next></block></next></block></next></block>
<block type="comment" id="8qdZjH:CCMPOfk8`^=(V" x="313" y="488"><field name="COMMENT">ID TV_LICHT</field></block></xml>
-
Wenn ich den Chip zb dauernd davor halte wird er immer wieder ausgelesen und ich hätte ein Blinklicht.
Durch den Zeitstempel will ich das unterbinden. `
Das kann man durch eine Verzögerung, die größer ist als das Aktualisierungsintervall, verhindern. -
Anstelle von Timeout kann man auch die Differenz der Zeitstempel (neu - alt) auswerten.
-
Danke schon mal aber woher hast du die getsvalue Bausteine? Ich finde den 2ten von Dir nicht. Und ich kann dein Script nicht ganz nachvollziehen.
Kannst Du es mir kurz in Worten erklären?
Danke
-
woher hast du die getsvalue Bausteine? `
getsvalue() ist eine selbst deklarierte Javascriptfunktion, da ich in Blockly keine andere Möglichkeit gefunden habe, auf Eigenschaften eines Objekts zuzugreifen.function getsvalue(x) { var obj = JSON.parse(x); return obj.svalue; }
In dem Vergleich mit '909222828' wird die Funktion aufgerufen, um aus dem JSON-String des Datenpunktes den Wert der Eigenschaft svalue zu erhalten.
@Marko79:Kannst Du es mir kurz in Worten erklären? `
Erst wird bei Skriptstart die Skriptvariable tvlicht mit dem Wert des Datenpunktes "TV_LICHt" initialisiert. In dem folgenden Trigger wird tvlicht aktualisiert, wenn der Datenpunkt "TV_LICHT" bestätigt wird. tvlicht enthält so immer den Wert von "TV_LICHT".Im RFID-Trigger wird geprüft ob die RFID '909222828' passt und ob zwischen dem aktuellen und dem davorliegendem Zeitstempel mind. 5 s vergangen sind: Nur dann erfolgt das Toggeln von "TV_LICHT".
Wie lang ist das Aktualisierungsintervall des RFID-Datenpunktes ?
-
Das aktualisierungsinterval liegt bei ca 1-2sec.
Muss ich die selbst deklarierte Funktion irgendwo erstellen und dann in Blockly einfügen?
-
Das aktualisierungsinterval liegt bei ca 1-2sec. `
Dann passen die 5 s im Skript.
@Marko79:Muss ich die selbst deklarierte Funktion irgendwo erstellen und dann in Blockly einfügen? `
Du kannst das Blockly importieren und um die Datenpunkt-IDs ergänzen:! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="CH-iW]4jo[;@S1F0-y91" x="113" y="63"><field name="COMMENT">ID TV_LICHT</field>
<next><block type="variables_set" id="l3jLI7#u~iy^,f3J!7["><field name="VAR">tvlicht</field>
<value name="VALUE"><block type="get_value" id="p?UCXs5nOa#{/D@M6yy"><field name="ATTR">val</field>
<field name="OID">ID auswählen</field></block></value>
<next><block type="on_ext" id="~+qq5:QThYeF#(+,)uRQ"><mutation items="1"></mutation>
<field name="CONDITION">any</field>
<field name="ACK_CONDITION">true</field>
<value name="OID0"><shadow type="field_oid" id="g1RpA^NtmIcFS~;v*3"><field name="oid">default</field></shadow></value>
<statement name="STATEMENT"><block type="variables_set" id="42=%~f?|E=J[,VuI]2A)"><field name="VAR">tvlicht</field>
<value name="VALUE"><block type="variables_get" id="R:p=%:U6Fc[]k-CW%3cI"><field name="VAR">value</field></block></value></block></statement></block></next></block></next></block>
<block type="procedures_defcustomreturn" id="l?Ac#QpvP_23fG!XjE=" x="113" y="238"><mutation statements="false"><arg name="x"></arg></mutation> <field name="NAME">getsvalue</field> <field name="SCRIPT">dmFyIG9iaiA9IEpTT04ucGFyc2UoeCk7CnJldHVybiBvYmouc3ZhbHVlOw==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment></block> <block type="comment" id="87X{9^FNZTsi@;3Q4xg~" x="113" y="263"><field name="COMMENT">ID RFID</field> <next><block type="on_ext" id="Pw:E
2.yC07ztSCrpEts"><mutation items="1"></mutation>
<field name="CONDITION">any</field><value name="OID0"><shadow type="field_oid" id="}=/~)AoP:;tzU*c~S`O="><field name="oid">default</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id="qgi*s?%:lkvS#uB^FrJ!"><value name="IF0"><block type="logic_operation" id="E;8m2ab;k__{aUWIOirs" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="L.7,Q:r3xr3}]6/ToV;Q"><field name="OP">EQ</field> <value name="A"><block type="procedures_callcustomreturn" id="2cKBZdr8e{~4-9ZOA/RI"><mutation name="getsvalue"><arg name="x"></arg></mutation> <value name="ARG0"><block type="variables_get" id="p;!;F#7Q3;vYQ`Z319pa"><field name="VAR">value</field></block></value></block></value> <value name="B"><block type="text" id="!p=@M;jymJW?j{#y`DGQ"><field name="TEXT">909222828</field></block></value></block></value> <value name="B"><block type="logic_compare" id=".,;v5-l4#QPt6b0Ds*n@"><field name="OP">GT</field> <value name="A"><block type="math_arithmetic" id="Fk;/xM.v5-Qc?cm|q%AK"><field name="OP">MINUS</field> <value name="A"><shadow type="math_number" id="%rN@{*qh8S(l}:i}:)JK"><field name="NUM">1</field></shadow> <block type="on_source" id="B{{J[%@e~G1#Yh-4C3IK"><field name="ATTR">state.ts</field></block></value> <value name="B"><shadow type="math_number" id="*uQdP*#Xr7RYbxHYwyoJ"><field name="NUM">1</field></shadow> <block type="on_source" id=".Q7n#ncm{iP=qxzv?+~_"><field name="ATTR">oldState.ts</field></block></value></block></value> <value name="B"><block type="math_number" id="s7lPv?V]1;rSJ0EH^X4@"><field name="NUM">5000</field></block></value></block></value></block></value> <statement name="DO0"><block type="controls_if" id="sPVa!N?MI6pRuiuc#D@S"><mutation else="1"></mutation> <value name="IF0"><block type="variables_get" id="L2|_S!U^TM[q(5)RX=%K"><field name="VAR">tvlicht</field></block></value> <statement name="DO0"><block type="control" id=".INS.Z#D}`VG1MH/^jF^"><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=":pIF,Yog8u[,_44xe3~1"><field name="BOOL">FALSE</field></block></value></block></statement> <statement name="ELSE"><block type="control" id=".bo,ILfOXw,;77q(!SkU"><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="0{jaed*l3LJhf~@*sd@,"><field name="BOOL">TRUE</field></block></value></block></statement></block></statement></block></statement></block></next></block>
<block type="comment" id="8qdZjH:CCMPOfk8`^=(V" x="313" y="588"><field name="COMMENT">ID TV_LICHT</field></block></xml>
Hier ist die Funktion __getsvalue(x)__ enthalten.
-
Hallo Paul,
stell es hier nochmal ein wie ich es mit Java Version 3.6.4 am laufen hatte mit der neuen Version funktioniert es nicht mehr.
Wäre schön wenn du mal drüber kuckst.Grüße
<xml xmlns="http://www.w3.org/1999/xhtml"> <block type="variables_set" id="l3jLI7#u~iy^,f3J!7[*" x="13" y="13"> <field name="VAR">Alarmanlage</field> <value name="VALUE"> <block type="get_value" id="p?UCXs5nOa#{/D@M6y*y"> <field name="ATTR">val</field> <field name="OID">javascript.0.Alarmanlage.in.homeapp</field> </block> </value> <next> <block type="on_ext" id="~+qq5:QThYeF#(+,)uRQ"> <mutation items="1"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION">true</field> <value name="OID0"> <shadow type="field_oid" id="g1RpA^Nt*mIcFS~*;v*3"> <field name="oid">javascript.0.Alarmanlage.in.homeapp</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="42=%~f?|E=J[,VuI]2A)"> <field name="VAR">Alarmanlage</field> <value name="VALUE"> <block type="variables_get" id="R:p=%:U6Fc[]k-CW%3cI"> <field name="VAR">value</field> </block> </value> </block> </statement> </block> </next> </block> <block type="procedures_defcustomreturn" id="l?Ac#Qpv`P_23fG!XjE=" x="13" y="188"> <mutation statements="false"> <arg name="x"></arg> </mutation> <field name="NAME">getsvalue</field> <field name="SCRIPT">dmFyIG9iaiA9IEpTT04ucGFyc2UoeCk7CnJldHVybiBvYmouc3ZhbHVlOw==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="comment" id="87X{9^FNZTsi@;3Q4xg~" x="13" y="213"> <field name="COMMENT">ID RFID</field> <next> <block type="on_ext" id="Pw:E`2.yC07ztSCrpEts"> <mutation items="1"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="}=/~)AoP:;tzU*c~S`O="> <field name="oid">mqtt.0.domoticz.in</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="qgi*s?%:lkvS#uB^FrJ!"> <value name="IF0"> <block type="logic_operation" id="E;8m2ab;k__{aUWIOirs" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="L.7,Q:r3xr3}]6/ToV;Q"> <field name="OP">EQ</field> <value name="A"> <block type="procedures_callcustomreturn" id="2cKBZdr8e{~4-9ZOA/RI"> <mutation name="getsvalue"> <arg name="x"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="p;!;F#7Q3;vYQ`Z319pa"> <field name="VAR">value</field> </block> </value> </block> </value> <value name="B"> <block type="text" id="!p=@M;jymJW?j{#y`DGQ"> <field name="TEXT">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id=".,;v5-l4#QPt6b0Ds*n@"> <field name="OP">GT</field> <value name="A"> <block type="math_arithmetic" id="Fk;/xM.v5-Qc?cm|q%AK"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="%rN@{*qh8S(l}:i}:)JK"> <field name="NUM">1</field> </shadow> <block type="on_source" id="B{{J[%@e~G1#Yh-4C3IK"> <field name="ATTR">state.ts</field> </block> </value> <value name="B"> <shadow type="math_number" id="*uQdP*#Xr7RYbxHYwyoJ"> <field name="NUM">1</field> </shadow> <block type="on_source" id=".Q7n#ncm{iP=qxzv?+~_"> <field name="ATTR">oldState.ts</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="s7lPv?V]1;rSJ0EH^X4@"> <field name="NUM">5000</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="sPVa!N?MI6pRuiuc#D@S"> <mutation else="1"></mutation> <value name="IF0"> <block type="variables_get" id="L2|_S!U^TM[q(5)RX=%K"> <field name="VAR">Alarmanlage</field> </block> </value> <statement name="DO0"> <block type="control" id=".INS.Z#D}`VG1MH/^jF^"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Alarmanlage.in.homeapp</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="S9.w{yJJX%d%[O4JeGqe"> <field name="NUM">0</field> </block> </value> <next> <block type="telegram" id="?+Fq4|7Pc-6uPDRgUnP]" collapsed="true"> <field name="INSTANCE"></field> <field name="LOG">log</field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id=":,hghY,H2cOT+?d|ZyhK"> <field name="TEXT">Alarmanlage unscharf Steffen</field> </shadow> </value> </block> </next> </block> </statement> <statement name="ELSE"> <block type="control" id=".bo,ILfOXw,;77q(!SkU"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.Alarmanlage.in.homeapp</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="CKW*p{Jngy[-a5t#FzVZ"> <field name="NUM">1</field> </block> </value> <next> <block type="telegram" id="m4?a4G5P2f@7U8.eEuU2" collapsed="true"> <field name="INSTANCE"></field> <field name="LOG">log</field> <field name="SILENT">FALSE</field> <field name="PARSEMODE">default</field> <value name="MESSAGE"> <shadow type="text" id="5[iepV.AgzhVr|gf6TZb"> <field name="TEXT">Alarmanlage scharf Steffen</field> </shadow> </value> </block> </next> </block> </statement> </block> </statement> </block> </statement> </block> </next> </block> </xml>
-
Hallöchen Paul,
ich muss Dich auch nerven.
Ich möchte ebenfalls mit nur 1 Karte Licht/Szenen an-und ausschalten.
Nehme ich den Baustein umschalten, dann gehen die HUE Lampen mit Level 100 an.
Ich habe aber bei dem Baustein keine Möglichkeit , was anderes einzugeben.
Szenen habe ich in dem Alexa Adapter und HUE Adapter. Ich habe alle Datenpunkte mal ausprobiert für die Objekt ID im Blockly. Keine Szene ging damit an.
Vielleicht kannst Du, als Mr.Brain, ein paar visuelle Hilfen geben. -
@paul53 sagte in Blockly Script Hilfe:
Das system gibt die Kennung des RFID-Chips als Wert aus…zb:xxxxx828. `
Innerhalb eines JSON-Strings als svalue ?Dann sollte es so funktionieren:
Export, in den noch die richtigen Datenpunkt-IDs eingesetzt werden müssen:! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="procedures_defcustomreturn" id="l?Ac#Qpv`P_23fG!XjE=" x="113" y="-12"><mutation statements="false"><arg name="x"></arg></mutation>
<field name="NAME">getsvalue</field>
<field name="SCRIPT">dmFyIG9iaiA9IEpTT04ucGFyc2UoeCk7CnJldHVybiBvYmouc3ZhbHVlOw==</field>
<comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment></block>
<block type="comment" id="CH-iW]4jo[;@S1F0-y91" x="113" y="38"><field name="COMMENT">ID TV_LICHT</field>
<next><block type="variables_set" id="l3jLI7#u~iy^,f3J!7["><field name="VAR">tvlicht</field>
<value name="VALUE"><block type="get_value" id="p?UCXs5nOa#{/D@M6yy"><field name="ATTR">val</field>
<field name="OID">ID auswählen</field></block></value>
<next><block type="on_ext" id="~+qq5:QThYeF#(+,)uRQ"><mutation items="1"></mutation>
<field name="CONDITION">ne</field><value name="OID0"><shadow type="field_oid" id="g1RpA^Nt*mIcFS~*;v*3"><field name="oid">default</field></shadow></value> <statement name="STATEMENT"><block type="variables_set" id="42=%~f?|E=J[,VuI]2A)"><field name="VAR">tvlicht</field> <value name="VALUE"><block type="variables_get" id="R:p=%:U6Fc[]k-CW%3cI"><field name="VAR">value</field></block></value></block></statement> <next><block type="comment" id="87X{9^FNZTsi@;3Q4xg~"><field name="COMMENT">ID RFID</field> <next><block type="on_ext" id="Pw:E`2.yC07ztSCrpEts"><mutation items="1"></mutation> <field name="CONDITION">any</field> <value name="OID0"><shadow type="field_oid" id="}=/~)AoP:;tzU*c~S`O="><field name="oid">default</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id="qgi*s?%:lkvS#uB^FrJ!"><value name="IF0"><block type="logic_compare" id="L.7,Q:r3xr3}]6/ToV;Q"><field name="OP">EQ</field> <value name="A"><block type="procedures_callcustomreturn" id="2cKBZdr8e{~4-9ZOA/RI"><mutation name="getsvalue"><arg name="x"></arg></mutation> <value name="ARG0"><block type="variables_get" id="p;!;F#7Q3;vYQ`Z319pa"><field name="VAR">value</field></block></value></block></value> <value name="B"><block type="text" id="!p=@M;jymJW?j{#y`DGQ"><field name="TEXT">909222828</field></block></value></block></value> <statement name="DO0"><block type="controls_if" id="sPVa!N?MI6pRuiuc#D@S"><mutation else="1"></mutation> <value name="IF0"><block type="variables_get" id="L2|_S!U^TM[q(5)RX=%K"><field name="VAR">tvlicht</field></block></value> <statement name="DO0"><block type="control" id=".INS.Z#D}`VG1MH/^jF^"><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=":pIF,Yog8u[,_44xe3~1"><field name="BOOL">FALSE</field></block></value></block></statement> <statement name="ELSE"><block type="control" id=".bo,ILfOXw,;77q(!SkU"><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="0{jaed*l3LJhf~@*sd@,"><field name="BOOL">TRUE</field></block></value></block></statement></block></statement></block></statement></block></next></block></next></block></next></block></next></block>
<block type="comment" id="8qdZjH:CCMPOfk8`^=(V" x="313" y="488"><field name="COMMENT">ID TV_LICHT</field></block></xml>