NEWS
Liquid Check json auslesen mit Blockly: request deprecated
-
Hallo zusammen !
Als AnfĂ€nger habe ich versucht mit blockly Daten aus einer web-json auszulesen. Es handelt sich dabei um eine pneumatische FĂŒllstandsanzeige fĂŒr eine Zisterne von si-elektronik Liquid Check.
Das blockly klappt soweit, jedoch habe ich Sorge weil im github steht, dass "request" deprecated sei.Kann ich das blockly so lassen, oder geht das beim nÀchsten iobroker Update kaputt ?
Oder gibt es eine andere einfache blockly Möglichkeit die Daten auszulesen ohne einen eigenen Adapter zu bemĂŒhen ?Besten Dank und GruĂ,
Sebastian


<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="e48tYq}a^towv8Y7jiIx">result</variable> </variables> <block type="schedule" id="kFcsR[Q,UJ+uK;YU^@J!" x="37" y="63"> <field name="SCHEDULE">*/30 * * * *</field> <statement name="STATEMENT"> <block type="request" id="1r*t9m?Bq{8up?5zPN#Z"> <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation> <field name="WITH_STATEMENT">TRUE</field> <field name="LOG"></field> <value name="URL"> <shadow type="text" id="dU;!(6*SSqT4s[$/.SQx"> <field name="TEXT">http://10.11.12.46/infos.json</field> </shadow> </value> <statement name="STATEMENT"> <block type="update" id=",63ffm5|Z|JNLxoy:gXj"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Zisterne_liter</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_attr" id="7ph[9]v-P.iKe(@K1UvD"> <value name="PATH"> <shadow type="text" id="~)(o/?x0kJ7#=ZSq4]#k"> <field name="TEXT">payload.measure.content</field> </shadow> </value> <value name="OBJECT"> <block type="variables_get" id="vyp7sOHk~HFsqzmM)!9f"> <field name="VAR" id="e48tYq}a^towv8Y7jiIx">result</field> </block> </value> </block> </value> <next> <block type="update" id="uoEUUPwavw#ph5B?F]vC"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Zisterne_hoehe</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_attr" id="CEt*=c@rFwA2Qr37iqTN"> <value name="PATH"> <shadow type="text" id="Dy}8g+m1v/*{OY8}LYUN"> <field name="TEXT">payload.measure.level</field> </shadow> </value> <value name="OBJECT"> <block type="variables_get" id="/(^vfl)o)1SU+WFMIi:!"> <field name="VAR" id="e48tYq}a^towv8Y7jiIx">result</field> </block> </value> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </xml> -
Zur Doku:
Inzwischen lese ich die JSON-Daten mit dem Parser-Adapter aus, weil beim Auslesen per Script immer wieder Fehlermeldungen auftraten:
Der Regex fĂŒr Tankvolumen ist z.B.:
?<="content":)[\s\S]*?(?=}) -
Hallo zusammen !
Als AnfĂ€nger habe ich versucht mit blockly Daten aus einer web-json auszulesen. Es handelt sich dabei um eine pneumatische FĂŒllstandsanzeige fĂŒr eine Zisterne von si-elektronik Liquid Check.
Das blockly klappt soweit, jedoch habe ich Sorge weil im github steht, dass "request" deprecated sei.Kann ich das blockly so lassen, oder geht das beim nÀchsten iobroker Update kaputt ?
Oder gibt es eine andere einfache blockly Möglichkeit die Daten auszulesen ohne einen eigenen Adapter zu bemĂŒhen ?Besten Dank und GruĂ,
Sebastian


<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="e48tYq}a^towv8Y7jiIx">result</variable> </variables> <block type="schedule" id="kFcsR[Q,UJ+uK;YU^@J!" x="37" y="63"> <field name="SCHEDULE">*/30 * * * *</field> <statement name="STATEMENT"> <block type="request" id="1r*t9m?Bq{8up?5zPN#Z"> <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation> <field name="WITH_STATEMENT">TRUE</field> <field name="LOG"></field> <value name="URL"> <shadow type="text" id="dU;!(6*SSqT4s[$/.SQx"> <field name="TEXT">http://10.11.12.46/infos.json</field> </shadow> </value> <statement name="STATEMENT"> <block type="update" id=",63ffm5|Z|JNLxoy:gXj"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Zisterne_liter</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_attr" id="7ph[9]v-P.iKe(@K1UvD"> <value name="PATH"> <shadow type="text" id="~)(o/?x0kJ7#=ZSq4]#k"> <field name="TEXT">payload.measure.content</field> </shadow> </value> <value name="OBJECT"> <block type="variables_get" id="vyp7sOHk~HFsqzmM)!9f"> <field name="VAR" id="e48tYq}a^towv8Y7jiIx">result</field> </block> </value> </block> </value> <next> <block type="update" id="uoEUUPwavw#ph5B?F]vC"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Zisterne_hoehe</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_attr" id="CEt*=c@rFwA2Qr37iqTN"> <value name="PATH"> <shadow type="text" id="Dy}8g+m1v/*{OY8}LYUN"> <field name="TEXT">payload.measure.level</field> </shadow> </value> <value name="OBJECT"> <block type="variables_get" id="/(^vfl)o)1SU+WFMIi:!"> <field name="VAR" id="e48tYq}a^towv8Y7jiIx">result</field> </block> </value> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </xml>@qwertz sagte in Liquid Check json auslesen mit Blockly: request deprecated:
jedoch habe ich Sorge weil im github steht, dass "request" deprecated sei.
kannste so lassen, request funktioniert ist nur n altes Modul wen das ersetzt wird sollte der block ĂŒbernommen werden
-
Hallo zusammen,
ich habe mir auch einen Liquid Check angeschafft, um die Sensorik aus dem Tank in den Anschlussraum zu verlagern.
Leider bekomme ich die Werte noch nicht in den iobroker.
Könntet ihr mir bitte genau sagen, wie ihr das umgesetzt habt?
Bei mir klappt es weder mit dem Script noch mit dem Parser-Adapter (welche Einstellungen mĂŒssen hier genau vorgenommen werden?)
Ăber eure Hilfe wĂŒrde ich mich sehr freuen!!
GruĂ
Matthias -
Kurze ErgÀnzung:
Der Parser-Adapter liefert mir folgende Fehlermeldung im LogInvalid regular expression: /?<="content":)[\s\S]*?(?=})/: Nothing to repeatAuĂerdem wird der Adapter angehalten, weil er zu oft abstĂŒrzt...
-
Kurze ErgÀnzung:
Der Parser-Adapter liefert mir folgende Fehlermeldung im LogInvalid regular expression: /?<="content":)[\s\S]*?(?=})/: Nothing to repeatAuĂerdem wird der Adapter angehalten, weil er zu oft abstĂŒrzt...
regEx: (?<="content":)[\s\S]*?(?=})
-
Vielen Dank, hat geklappt đ
-
Kannst du mir zufĂ€llig auch sagen, wie du die manuelle Messung anstöĂt?
-
Kannst du mir zufĂ€llig auch sagen, wie du die manuelle Messung anstöĂt?
@matthias-i
Mit Script:
https://forum.iobroker.net/post/667438 -
regEx: (?<="content":)[\s\S]*?(?=})
@qwertz hi, seit dem firmware-update funktioniert der regex nicht mehr...
das json sieht jetzt so aus (enthÀlt jetzt 2x "content" - vll. liegt es daran?) :header namespace "Device" name "Response" messageId "E9BBCD95-7CB445A0" payloadVersion "1" authorization "4417936C5638-000378FA" payload measure level 0.81 content 3093 raw level 0.8058 content 3074.8523 age 4368 expansion boardType -1 ...kannst du vll. helfen?
danke -
@qwertz hi, seit dem firmware-update funktioniert der regex nicht mehr...
das json sieht jetzt so aus (enthÀlt jetzt 2x "content" - vll. liegt es daran?) :header namespace "Device" name "Response" messageId "E9BBCD95-7CB445A0" payloadVersion "1" authorization "4417936C5638-000378FA" payload measure level 0.81 content 3093 raw level 0.8058 content 3074.8523 age 4368 expansion boardType -1 ...kannst du vll. helfen?
danke -
Ich schau nachher mal nach.
Welche Firmware Version hast du aktuell laufen beim liquid check ? Und welche Version hat dein Adapter PARSER ?

