NEWS
E-INK Display OpenEPaperLink - Blockly, Java-Skripte usw.
-
Hallo zusammen,
das andere Thema
https://forum.iobroker.net/topic/66380/e-ink-display-openepaperlink-displayanzeige-mit-batterie
hat jetzt schon an die 900 Beiträge.
Da wäre es doch etwas übersichtlicher wenn wir hier alles an Blocklys, Java-Skipte usw. posten.
Grüße
Manfred -
Ich mache mal den Anfang.
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="e.-?J1RG(1E03apliOsd">url</variable> <variable id="eMqV!m8?ZCdqN2].w`xb">TagMini1</variable> <variable id="*)}|9mHpKcV3YN}|a_t5">jsonMini1</variable> </variables> <block type="procedures_defcustomreturn" id="Q)=N/g,e;;C$aa#GZ/g6" x="738" y="388"> <mutation statements="false"> <arg name="url" varid="e.-?J1RG(1E03apliOsd"></arg> </mutation> <field name="NAME">encodeURL</field> <field name="SCRIPT">dXJsID0gZW5jb2RlVVJJQ29tcG9uZW50KHVybCk7DQpyZXR1cm4gdXJsOw==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="on_ext" id="P$af/8byEUS#qCA]5B-P" x="738" y="413"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="4"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="qKgG$O[{3RUIQEMyX@84"> <field name="oid">hm-rpc.0.KEQ0908967.4.ACTUAL_TEMPERATURE</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="1=$zeB_8NZ{``1IKhA@;"> <field name="oid">hm-rpc.0.KEQ0908967.4.SET_TEMPERATURE</field> </shadow> </value> <value name="OID2"> <shadow type="field_oid" id="3xv_){1%Z-Px_oc=|ee]"> <field name="oid">hm-rpc.0.KEQ0908967.4.VALVE_STATE</field> </shadow> </value> <value name="OID3"> <shadow type="field_oid" id="1%z%;+tP3g0pYuG^87_*"> <field name="oid">hm-rpc.0.KEQ0908967.4.BATTERY_STATE</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="?`c`Nn3U3V@~!c@vILtF"> <value name="IF0"> <block type="time_compare" id="7~bZxST63%E#3wG~e~C$"> <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true"></mutation> <field name="OPTION">between</field> <field name="START_TIME">9:00</field> <field name="END_TIME">20:00</field> </block> </value> <statement name="DO0"> <block type="variables_set" id="}kvQ}B#.rViPjfKc-HTi"> <field name="VAR" id="eMqV!m8?ZCdqN2].w`xb">TagMini1</field> <value name="VALUE"> <block type="text" id="AS0{YNAIOlM%S|LO,c(?"> <field name="TEXT">0000050CE8EFB29E</field> </block> </value> <next> <block type="variables_set" id="k02GjbFfyHgTN`gcO-Da"> <field name="VAR" id="*)}|9mHpKcV3YN}|a_t5">jsonMini1</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="m+$OB%}5|)Pwa;Sp_8Xz"> <mutation name="encodeURL"> <arg name="url"></arg> </mutation> <value name="ARG0"> <block type="text_join" id="%7M,-4ru#q{/k6KDWMHm"> <mutation items="11"></mutation> <value name="ADD0"> <block type="text" id="KG:U*zHU9}`ZAfY=W0tK"> <field name="TEXT">[ {"text": [10,10,"Arbeitszimmer","fonts/bahnschrift30",2]},</field> </block> </value> <value name="ADD1"> <block type="text" id="J8kE(`F|;UG(UnXYIXH/"> <field name="TEXT">{"line": [10,35,374,35,1]},</field> </block> </value> <value name="ADD2"> <block type="text" id="n|(:Q;;@|/rl*,,eDMQ0"> <field name="TEXT">{"text": [10,50,"Aktuelle Temperatur:","fonts/bahnschrift20",1]}, {"text": [240,50,"</field> </block> </value> <value name="ADD3"> <block type="get_value" id="Ivop[TTx6k8izC(a}Lh$"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.KEQ0908967.4.ACTUAL_TEMPERATURE</field> </block> </value> <value name="ADD4"> <block type="text" id=".;[edg]Q8Y}~9~$]`WGh"> <field name="TEXT">°C","fonts/bahnschrift20",2]}, {"text": [10,80,"Eingestellte Temperatur:","fonts/bahnschrift20",1]}, {"text": [240,80,"</field> </block> </value> <value name="ADD5"> <block type="get_value" id="!vH6u](8OPQ3|j4+-R0`"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.KEQ0908967.4.SET_TEMPERATURE</field> </block> </value> <value name="ADD6"> <block type="text" id="10FFF9ZLy|n:h)tY)c|m"> <field name="TEXT">°C","fonts/bahnschrift20",2]}, {"text": [10,110,"Aktuelle Ventilstellung:","fonts/bahnschrift20",1]}, {"text": [240,110,"</field> </block> </value> <value name="ADD7"> <block type="get_value" id="N~fNY_bADcQ(?eeOcd70"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.KEQ0908967.4.VALVE_STATE</field> </block> </value> <value name="ADD8"> <block type="text" id="#7e9sI0@iu:c/+?Dr@Z."> <field name="TEXT"> %","fonts/bahnschrift20",2]}, {"text": [10,140,"Batteriespannung:","fonts/bahnschrift20",1]}, {"text": [240,140,"</field> </block> </value> <value name="ADD9"> <block type="get_value" id="M=3Q06RUua?Te,a?1Ui;"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.KEQ0908967.4.BATTERY_STATE</field> </block> </value> <value name="ADD10"> <block type="text" id="8Mjb{3)XGWhzToz{:.]t"> <field name="TEXT"> V","fonts/bahnschrift20",2]} ]</field> </block> </value> </block> </value> </block> </value> <next> <block type="http_post" id="AoQ+~mSdktWzhHgxGz#C"> <field name="TIMEOUT">15</field> <field name="UNIT">sec</field> <field name="TYPE">text</field> <value name="URL"> <shadow type="text" id="qh|GfefbC0op9nMhC4nk"> <field name="TEXT">http://192.168.49.187/jsonupload</field> </shadow> </value> <value name="DATA"> <block type="text_join" id="YiM(/:1NU2PK@ysCbT8$"> <mutation items="4"></mutation> <value name="ADD0"> <block type="text" id="sY#__Tq@9.DrJShh~Ant"> <field name="TEXT">mac=</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="^ag2u;YyTY9!dP{tJ|}c"> <field name="VAR" id="eMqV!m8?ZCdqN2].w`xb">TagMini1</field> </block> </value> <value name="ADD2"> <block type="text" id="k:I$k7w),ZmO9hEwr:$W"> <field name="TEXT">&json=</field> </block> </value> <value name="ADD3"> <block type="variables_get" id="MEQ/.CHU]v1WHbuc@`Ly"> <field name="VAR" id="*)}|9mHpKcV3YN}|a_t5">jsonMini1</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </xml>
Das ist ein Blockly um eine Anzeige zu erstellen die dann die aktuelle und die eingestellte Temperatur, die Ventilestellung und die Batteriespannung von HM Heizungsstellantrieb anzeigt.
Natürlich müssen die Datenpunkte, AP-Adresse usw. entsprechend geändert werden. Das sollte aber klar sein.
Ob das Blockly auch noch besser geht? Kann sein. Hier läuft es ohne Probleme.
Grüße
PS
Bei mir werden die TAGs nur in der Zeit zwischen 9 und 20 Uhr aktualisiert (kann natürlich geändert werden). Später ist keiner mehr da der auf dieTAGs schaut. Das entlastet ein wenig die Batterie in den TAGs. -
Hier ein kleines Blockly, wenn in den TAGs angezeigt werden soll ob etwas eingeschaltet oder ausgeschaltet ist.
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id=".N:Ev).-4-82UMj~s}jT">Uebergabe</variable> <variable id=":!8~[_wM)Q:b4Pev1|^x">Search</variable> <variable id="8f|o07jxrqx*$7Vx~oCA">Replace</variable> <variable id="e.-?J1RG(1E03apliOsd">url</variable> <variable id="eMqV!m8?ZCdqN2].w`xb">TagMini1</variable> <variable id="*)}|9mHpKcV3YN}|a_t5">jsonMini1</variable> </variables> <block type="procedures_defcustomreturn" id="X|o`:e#4rUy{jrxDqT0Y" x="738" y="338"> <mutation statements="false"> <arg name="Uebergabe" varid=".N:Ev).-4-82UMj~s}jT"></arg> <arg name="Search" varid=":!8~[_wM)Q:b4Pev1|^x"></arg> <arg name="Replace" varid="8f|o07jxrqx*$7Vx~oCA"></arg> </mutation> <field name="NAME">Replace Text</field> <field name="SCRIPT">bGV0IHN0cl8xID0gVWViZXJnYWJlOw0KbGV0IHN0cl8yID0gU2VhcmNoOw0KbGV0IHN0cl8zID0gUmVwbGFjZTsNCnN0cl8xID0gc3RyXzEucmVwbGFjZShTZWFyY2gsIFJlcGxhY2UpOw0KcmV0dXJuIHN0cl8xOw==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomreturn" id="Q)=N/g,e;;C$aa#GZ/g6" x="738" y="388"> <mutation statements="false"> <arg name="url" varid="e.-?J1RG(1E03apliOsd"></arg> </mutation> <field name="NAME">encodeURL</field> <field name="SCRIPT">dXJsID0gZW5jb2RlVVJJQ29tcG9uZW50KHVybCk7DQpyZXR1cm4gdXJsOw==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="on_ext" id="P$af/8byEUS#qCA]5B-P" x="738" y="438"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="4"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="qKgG$O[{3RUIQEMyX@84"> <field name="oid">mqtt.0.Heizung.config.HK2_Betriebsart</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="1=$zeB_8NZ{``1IKhA@;"> <field name="oid">mqtt.0.Heizung.config.WW_Betriebsart</field> </shadow> </value> <value name="OID2"> <shadow type="field_oid" id="3xv_){1%Z-Px_oc=|ee]"> <field name="oid">mqtt.0.Heizung.status.HK2_Pumpe</field> </shadow> </value> <value name="OID3"> <shadow type="field_oid" id="1%z%;+tP3g0pYuG^87_*"> <field name="oid">mqtt.0.Heizung.status.Brenner_Ansteuerung</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="cfr[e6_/^LK-t[30k1HG"> <value name="IF0"> <block type="time_compare" id="7~bZxST63%E#3wG~e~C$"> <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true"></mutation> <field name="OPTION">between</field> <field name="START_TIME">9:00</field> <field name="END_TIME">20:00</field> </block> </value> <statement name="DO0"> <block type="variables_set" id="}kvQ}B#.rViPjfKc-HTi"> <field name="VAR" id="eMqV!m8?ZCdqN2].w`xb">TagMini1</field> <value name="VALUE"> <block type="text" id="AS0{YNAIOlM%S|LO,c(?"> <field name="TEXT">00007E1BD7BCB29E</field> </block> </value> <next> <block type="variables_set" id="k02GjbFfyHgTN`gcO-Da"> <field name="VAR" id="*)}|9mHpKcV3YN}|a_t5">jsonMini1</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="m+$OB%}5|)Pwa;Sp_8Xz"> <mutation name="encodeURL"> <arg name="url"></arg> </mutation> <value name="ARG0"> <block type="text_join" id="%7M,-4ru#q{/k6KDWMHm"> <mutation items="7"></mutation> <value name="ADD0"> <block type="text" id="KG:U*zHU9}`ZAfY=W0tK"> <field name="TEXT">[ {"text": [10,10,"Heizung","fonts/bahnschrift30",2]},</field> </block> </value> <value name="ADD1"> <block type="text" id="J8kE(`F|;UG(UnXYIXH/"> <field name="TEXT">{"line": [10,35,374,35,1]},</field> </block> </value> <value name="ADD2"> <block type="text" id="n|(:Q;;@|/rl*,,eDMQ0"> <field name="TEXT">{"text": [10,50,"Betriebsart Heizung:","fonts/bahnschrift20",1]}, {"text": [250,50,"</field> </block> </value> <value name="ADD3"> <block type="logic_ternary" id="yJ,9[#P7w*KD^#R7%o1p"> <value name="IF"> <block type="logic_compare" id="_nY8e5S_F|Uf*C2U={MR"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="5Z^|9w~(1YmdVJQ7%v$0"> <field name="ATTR">val</field> <field name="OID">mqtt.0.Heizung.status.HK2_Pumpe</field> </block> </value> <value name="B"> <block type="text" id="DjlkmM}:zWp9nUl1c#%w"> <field name="TEXT">Tag</field> </block> </value> </block> </value> <value name="THEN"> <block type="text" id=".;[edg]Q8Y}~9~$]`WGh"> <field name="TEXT">Tag","fonts/bahnschrift20",2]}, {"text": [10,80,"Betriebsart Warmwasser:","fonts/bahnschrift20",1]}, {"text": [250,80,"</field> </block> </value> <value name="ELSE"> <block type="text" id="qo8G;N~ktlTg~Y,fI|~L"> <field name="TEXT">Nacht","fonts/bahnschrift20",2]}, {"text": [10,80,"Betriebsart Warmwasser:","fonts/bahnschrift20",1]}, {"text": [250,80,"</field> </block> </value> </block> </value> <value name="ADD4"> <block type="logic_ternary" id="@@MWpXGPxtivK*HP7FQ5"> <value name="IF"> <block type="logic_compare" id="],Di%nSz6X0:3d?mKs`u"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="%*uWF0=YeiZ7uN[o`X|}"> <field name="ATTR">val</field> <field name="OID">mqtt.0.Heizung.config.WW_Betriebsart</field> </block> </value> <value name="B"> <block type="text" id="hPuXlR|41/Yeo$oQ@=HH"> <field name="TEXT">Tag</field> </block> </value> </block> </value> <value name="THEN"> <block type="text" id="0xLY3lrDE~(SkKt_f8DH"> <field name="TEXT">Tag","fonts/bahnschrift20",2]}, {"text": [10,110,"Umwälzpumpe:","fonts/bahnschrift20",1]}, {"text": [250,110,"</field> </block> </value> <value name="ELSE"> <block type="text" id="Mm#t/sCT:uXw`)II6s=Y"> <field name="TEXT">Nacht","fonts/bahnschrift20",2]}, {"text": [10,110,"Umwälzpumpe:","fonts/bahnschrift20",1]}, {"text": [250,110,"</field> </block> </value> </block> </value> <value name="ADD5"> <block type="logic_ternary" id="xu3kals`NOzfBfKf^UVC"> <value name="IF"> <block type="logic_compare" id="!@n,)^%^oIzm9M$zIT[,"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="N~fNY_bADcQ(?eeOcd70"> <field name="ATTR">val</field> <field name="OID">mqtt.0.Heizung.status.HK2_Pumpe</field> </block> </value> <value name="B"> <block type="math_number" id="K0!IMZFfNjD]w1)oD[`["> <field name="NUM">100</field> </block> </value> </block> </value> <value name="THEN"> <block type="text" id=".yP]thn0Q)aA:e5!02ZK"> <field name="TEXT">Eingeschaltet","fonts/bahnschrift20",2]}, {"text": [10,140,"Ölbrenner:","fonts/bahnschrift20",1]}, {"text": [250,140,"</field> </block> </value> <value name="ELSE"> <block type="text" id="d(zc`iTQSg0r.f^FkqK:"> <field name="TEXT">Ausgeschaltet","fonts/bahnschrift20",1]}, {"text": [10,140,"Ölbrenner:","fonts/bahnschrift20",1]}, {"text": [250,140,"</field> </block> </value> </block> </value> <value name="ADD6"> <block type="logic_ternary" id="/+tc%%-nw4~=fQaHU,9Q"> <value name="IF"> <block type="logic_compare" id="kcb6qGG2z-7N*~2XYxvy"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="w52ns6N;Fk#N7x]WC6)!"> <field name="ATTR">val</field> <field name="OID">mqtt.0.Heizung.status.Brenner_Ansteuerung</field> </block> </value> <value name="B"> <block type="math_number" id="mN;DhZ|;S1bNC5I,OH!m"> <field name="NUM">1</field> </block> </value> </block> </value> <value name="THEN"> <block type="text" id="8Mjb{3)XGWhzToz{:.]t"> <field name="TEXT">Eingeschaltet","fonts/bahnschrift20",2]} ]</field> </block> </value> <value name="ELSE"> <block type="text" id="$l@9YB:|C/ww3ec:AL:8"> <field name="TEXT">Ausgeschaltet","fonts/bahnschrift20",1]} ]</field> </block> </value> </block> </value> </block> </value> </block> </value> <next> <block type="http_post" id="AoQ+~mSdktWzhHgxGz#C"> <field name="TIMEOUT">15</field> <field name="UNIT">sec</field> <field name="TYPE">text</field> <value name="URL"> <shadow type="text" id="qh|GfefbC0op9nMhC4nk"> <field name="TEXT">http://192.168.49.185/jsonupload</field> </shadow> </value> <value name="DATA"> <block type="text_join" id="YiM(/:1NU2PK@ysCbT8$"> <mutation items="4"></mutation> <value name="ADD0"> <block type="text" id="sY#__Tq@9.DrJShh~Ant"> <field name="TEXT">mac=</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="^ag2u;YyTY9!dP{tJ|}c"> <field name="VAR" id="eMqV!m8?ZCdqN2].w`xb">TagMini1</field> </block> </value> <value name="ADD2"> <block type="text" id="k:I$k7w),ZmO9hEwr:$W"> <field name="TEXT">&json=</field> </block> </value> <value name="ADD3"> <block type="variables_get" id="MEQ/.CHU]v1WHbuc@`Ly"> <field name="VAR" id="*)}|9mHpKcV3YN}|a_t5">jsonMini1</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </xml>
Natürlich müssen die Datenpunkte, AP-Adresse usw. entsprechend geändert werden. Das sollte aber klar sein.
Ob das Blockly auch noch besser geht? Kann sein. Hier läuft es ohne Probleme.
Grüße