Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Parser Wert auslesen aber wie?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Parser Wert auslesen aber wie?

    This topic has been deleted. Only users with topic management privileges can see it.
    • mickym
      mickym Most Active @G.Hawk last edited by

      @g-hawk Na dann kannst Du doch nun direkt mit aktualisiere Datenpunkt die Werte in die Datenpunkte schreiben.

      5938c4ca-c547-4f6a-8646-8c4ec687405a-image.png

      G 1 Reply Last reply Reply Quote 1
      • G
        G.Hawk @mickym last edited by

        @mickym
        Warte Ich teste 🙂

        1 Reply Last reply Reply Quote 0
        • G
          G.Hawk last edited by

          Wie geil ist das denn!!!!

          Unbenannt.JPG

          Vielen vielen Dank für deine Zeit und deine Mühe.

          Die Lösung könnte ich nochmal in dem Elmo Beitrag bekanntgeben.

          Super endlich funktioniert es.

          mickym 1 Reply Last reply Reply Quote 1
          • mickym
            mickym Most Active @G.Hawk last edited by mickym

            @g-hawk Na ja - erst mussten wir ja mal dem Problem auf die Spur kommen.

            Wenn Du nicht zufälligerweise

            Und ich muss im Parser ankreuzen " Verwenden sie einen unsicheren HTTP Parser

            das in diesem Posting erwähnt hättest, hätte ich ja nie nach einer Lösung gesucht. 😉

            Du siehst jede Information ist wertvoll.

            Wenn Du das Blockly noch flexibler machen willst - dann rufst du die Funktion halt mit der URL auf - dann kann man das universeller nutzen. Im Moment ist die URL ja fest codiert in der Funktion.

            G 1 Reply Last reply Reply Quote 0
            • G
              G.Hawk @mickym last edited by

              @mickym
              Ich habe es jetzt so gelöst:

              Unbenannt.JPG

              mickym 1 Reply Last reply Reply Quote 0
              • mickym
                mickym Most Active @G.Hawk last edited by

                @g-hawk Ja für Dich passt das - aber vielleicht haben ja andere eine andere URL um das nicht in der Funktion anpassen zu müssen - könnte man die URL auch im Blockly mitgeben:

                <xml xmlns="https://developers.google.com/blockly/xml">
                 <variables>
                   <variable id="Lw~KZwxPZX0q}#(uZtgK">url</variable>
                   <variable id="HKZ8QJwOkjzcY{)478uh">data</variable>
                 </variables>
                 <block type="procedures_defcustomreturn" id=".0+pfi#8i#U#jm$iU4:(" x="87" y="-188">
                   <mutation statements="false">
                     <arg name="url" varid="Lw~KZwxPZX0q}#(uZtgK"></arg>
                   </mutation>
                   <field name="NAME">EMETER_OBIS_V2</field>
                   <field name="SCRIPT">Y29uc3QgYXhpb3MgPSByZXF1aXJlKCdheGlvcycpOw0KIA0KLy8gY29uc3QgdXJsID0gJ2h0dHA6Ly8xOTIuMTY4LjEwLjIxMi9kYXRhJzsNCiANCnJldHVybiBheGlvcy5nZXQodXJsLCB7IGluc2VjdXJlSFRUUFBhcnNlcjogdHJ1ZSB9KS50aGVuKChyZXNwb25zZSkgPT4gcmVzcG9uc2UuZGF0YSk7DQo=</field>
                   <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                 </block>
                 <block type="variables_set" id="(^z7u:OWv3wK-3WwfK0$" x="88" y="-137">
                   <field name="VAR" id="HKZ8QJwOkjzcY{)478uh">data</field>
                   <value name="VALUE">
                     <block type="procedures_callcustomreturn" id="}DioNbC)Da-GiVrMZiBd">
                       <mutation name="EMETER_OBIS_V2">
                         <arg name="url"></arg>
                       </mutation>
                       <value name="ARG0">
                         <block type="text" id="k].Pk}UUl.@JnEA6mn]^">
                           <field name="TEXT">http://192.168.10.212/data</field>
                         </block>
                       </value>
                     </block>
                   </value>
                   <next>
                     <block type="update" id="3(|VBdRn)1U9^N!7tvAb">
                       <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                       <field name="OID">Object ID</field>
                       <field name="WITH_DELAY">FALSE</field>
                       <value name="VALUE">
                         <block type="convert_jsonata" id="%=2N*j`S5|XL#yGyeI#/">
                           <value name="EXPRESSION">
                             <shadow type="text" id="4N:x_Lg,Wyj4i`w{CLp$">
                               <field name="TEXT">$.measurements[0].values."1-0:16.7.0*255"</field>
                             </shadow>
                           </value>
                           <value name="TARGET">
                             <block type="variables_get" id="61cQ@n]W4V47kF7KXB2T">
                               <field name="VAR" id="HKZ8QJwOkjzcY{)478uh">data</field>
                             </block>
                           </value>
                         </block>
                       </value>
                       <next>
                         <block type="update" id="k)mckX^[[~8a7m*{oO22">
                           <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                           <field name="OID">Object ID</field>
                           <field name="WITH_DELAY">FALSE</field>
                           <value name="VALUE">
                             <block type="convert_jsonata" id="G:5%{?.U[SKF@~2[26jM">
                               <value name="EXPRESSION">
                                 <shadow type="text" id="L{p-Z8bb|m+v.SRn]!B+">
                                   <field name="TEXT">$.measurements[0].values."1-0:2.8.0*255"</field>
                                 </shadow>
                               </value>
                               <value name="TARGET">
                                 <block type="variables_get" id="EWxskiq?[#,T}VYNan]k">
                                   <field name="VAR" id="HKZ8QJwOkjzcY{)478uh">data</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                         </block>
                       </next>
                     </block>
                   </next>
                 </block>
                </xml>
                

                7a6dab77-2fa8-4c79-9cfa-8d4ec8219e29-image.png

                und wenn das hinhaut - dann kann man in der Funktion die auskommentierte URL löschen.

                Also die Zeile 3:

                0caaabaa-168a-4acb-8f78-d1ca477c2a45-image.png

                G 1 Reply Last reply Reply Quote 0
                • G
                  G.Hawk @mickym last edited by

                  @mickym
                  Hallo.
                  Ich habe heute ein Update des Java Adapters gemacht.
                  Leider funktioniert das Script jetzt nicht mehr.
                  In den Update Informationen stand auch ,dass man irgendwas ändern muss, wenn man Jsonata Blöcke verwendet.

                  Kann da jemand helfen?

                  mickym DJMarc75 2 Replies Last reply Reply Quote 0
                  • mickym
                    mickym Most Active @G.Hawk last edited by

                    @g-hawk Ich hab irgendwo mal gelesen, dass man das Script nochmal neu speicher muss.

                    1 Reply Last reply Reply Quote 0
                    • DJMarc75
                      DJMarc75 @G.Hawk last edited by

                      @g-hawk sagte in Parser Wert auslesen aber wie?:

                      Ich habe heute ein Update des Java Adapters gemacht.

                      zeig mal auf welche Version bitte

                      G 1 Reply Last reply Reply Quote 0
                      • G
                        G.Hawk @DJMarc75 last edited by G.Hawk

                        @djmarc75

                        7.0.3

                        2023-06-21 21:38:00.392	warn	at processTicksAndRejections (node:internal/process/task_queues:95:5)
                        
                        javascript.0
                        2023-06-21 21:38:00.392	warn	at processTicksAndRejections (node:internal/process/task_queues:95:5)
                        
                        javascript.0
                        2023-06-21 21:38:00.392	warn	at processTicksAndRejections (node:internal/process/task_queues:95:5)
                        
                        javascript.0
                        2023-06-21 21:38:00.392	warn	at Object.<anonymous> (script.js_.Strom.Gesamtstrom.Elmo_auslesen:19:3)
                        
                        javascript.0
                        2023-06-21 21:38:00.392	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1730:20)
                        
                        javascript.0
                        2023-06-21 21:38:00.391	warn	You are assigning a object to the state "0_userdata.0.Geraetesteuerung.Strom.Stromzähler_untere_Wohnung.Elmo_EWE.Stromverbrauch_aktuell" which expects a number. Please fix your code to use a number or change the state type to object. This warning might become an error in future versions.
                        
                        javascript.0
                        2023-06-21 21:38:00.389	warn	at processTicksAndRejections (node:internal/process/task_queues:95:5)
                        
                        javascript.0
                        2023-06-21 21:38:00.389	warn	at processTicksAndRejections (node:internal/process/task_queues:95:5)
                        
                        javascript.0
                        2023-06-21 21:38:00.389	warn	at processTicksAndRejections (node:internal/process/task_queues:95:5)
                        
                        javascript.0
                        2023-06-21 21:38:00.389	warn	at Object.<anonymous> (script.js_.Strom.Gesamtstrom.Elmo_auslesen:18:3)
                        
                        javascript.0
                        2023-06-21 21:38:00.389	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1730:20)
                        
                        javascript.0
                        2023-06-21 21:38:00.388	warn	You are assigning a object to the state "0_userdata.0.Geraetesteuerung.Strom.Stromzähler_untere_Wohnung.Elmo_EWE.Einspeisezaehlerstand_aktuell" which expects a number. Please fix your code to use a number or change the state type to object. This warning might become an error in future versions.
                        
                        javascript.0
                        2023-06-21 21:38:00.386	warn	at processTicksAndRejections (node:internal/process/task_queues:95:5)
                        
                        javascript.0
                        2023-06-21 21:38:00.386	warn	at Object.<anonymous> (script.js_.Strom.Gesamtstrom.Elmo_auslesen:17:3)
                        
                        javascript.0
                        2023-06-21 21:38:00.386	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1730:20)
                        
                        javascript.0
                        2023-06-21 21:38:00.384	warn	You are assigning a object to the state "0_userdata.0.Geraetesteuerung.Strom.Stromzähler_untere_Wohnung.Elmo_EWE.Hauptzaehlerstand_aktuell" which expects a number. Please fix your code to use a number or change the state type to object. This warning might become an error in future versions.
                        
                        

                        Das steht im Log

                        Homoran DJMarc75 2 Replies Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @G.Hawk last edited by

                          @g-hawk sagte in Parser Wert auslesen aber wie?:

                          You are assigning a object to the state "0_userdata.0.Geraetesteuerung.Strom.Stromzähler_untere_Wohnung.Elmo_EWE.Hauptzaehlerstand_aktuell" which expects a number. Please fix your code to use a number or change the state

                          da hast du einen falschen Datentyp

                          1 Reply Last reply Reply Quote 0
                          • DJMarc75
                            DJMarc75 @G.Hawk last edited by

                            @g-hawk sagte in Parser Wert auslesen aber wie?:

                            7.0.3

                            wenn das ein update von 6.x war dann gabs da auch einen Hinweis auf "breaking changes" welche jsonata betreffen.
                            Weiss aber nicht mehr was das war, musste suchen,

                            Und in Deinem LOG steht genau drin was im Skript nicht stimmt:

                            @g-hawk sagte in Parser Wert auslesen aber wie?:

                            2023-06-21 21:38:00.391 warn You are assigning a object to the state "0_userdata.0.Geraetesteuerung.Strom.Stromzähler_untere_Wohnung.Elmo_EWE.Stromverbrauch_aktuell" which expects a number. Please fix your code to use a number or change the state type to object. This warning might become an error in future versions.

                            und @Homoran war wieder schneller 😉

                            mickym 1 Reply Last reply Reply Quote 0
                            • mickym
                              mickym Most Active @DJMarc75 last edited by

                              @djmarc75 sagte in Parser Wert auslesen aber wie?:

                              wenn das ein update von 6.x war dann gabs da auch einen Hinweis auf "breaking changes" welche jsonata betreffen.
                              Weiss aber nicht mehr was das war, musste suchen,

                              Wie gesagt das Blockly nochmal neu speichern - JSONATA wird dann asynchron verarbeitet.

                              G 1 Reply Last reply Reply Quote 0
                              • G
                                G.Hawk @mickym last edited by

                                @mickym
                                Ok ich teste

                                mickym 1 Reply Last reply Reply Quote 0
                                • mickym
                                  mickym Most Active @G.Hawk last edited by mickym

                                  @g-hawk sagte in Parser Wert auslesen aber wie?:

                                  @mickym
                                  Ok ich teste

                                  Habe gerade auf meinem Testsystem den JS Adapter aktualisiert - da solltest Du auch diese Meldung bekommen haben:

                                  475c969b-1f4f-4cf7-b871-41f332b07d13-image.png

                                  G 1 Reply Last reply Reply Quote 1
                                  • G
                                    G.Hawk @mickym last edited by

                                    @mickym
                                    Das habe ich tatsächlich gelesen aber dass das so einfach gemeint war hätte ich jetzt nicht gedacht. Aber das Problem mit dem Object und number besteht weiterhin meine Datenpunkte sind alle number.
                                    Dann muss ja irgendwas im Skript nicht stimmen aufgrund dieser Fehlermeldung.
                                    Was müssen wir denn da ändern?

                                    mickym 2 Replies Last reply Reply Quote 0
                                    • mickym
                                      mickym Most Active @G.Hawk last edited by

                                      @g-hawk sagte in Parser Wert auslesen aber wie?:

                                      @mickym
                                      Das habe ich tatsächlich gelesen aber dass das so einfach gemeint war hätte ich jetzt nicht gedacht. Aber das Problem mit dem Object und number besteht weiterhin meine Datenpunkte sind alle number.
                                      Dann muss ja irgendwas im Skript nicht stimmen aufgrund dieser Fehlermeldung.
                                      Was müssen wir denn da ändern?

                                      Das hat aber mit JSONATA nichts zu tun - stell einfach in dem Datenpunkt der angemeckert wird den Datentyp auf number um.

                                      3ab74d63-d76f-4c84-adbc-8a47fbe7e504-image.png

                                      G 1 Reply Last reply Reply Quote 0
                                      • mickym
                                        mickym Most Active @G.Hawk last edited by

                                        @g-hawk sagte in Parser Wert auslesen aber wie?:

                                        @mickym
                                        Das habe ich tatsächlich gelesen aber dass das so einfach gemeint war hätte ich jetzt nicht gedacht. Aber das Problem mit dem Object und number besteht weiterhin meine Datenpunkte sind alle number.
                                        Dann muss ja irgendwas im Skript nicht stimmen aufgrund dieser Fehlermeldung.
                                        Was müssen wir denn da ändern?

                                        Wenn schon Number drin steht - dann scheint es nicht korrekt aufgelöst zu werden, dann schau halt nochmal nach was es ergibt.

                                        Ist es immer noch das

                                        {"meterId":"1KFM00000754396","deviceId":"EBSD14250567526","msgType":"EMETER_OBIS_V2","measurements":[{"timestamp":"2022-12-03T13:25:53Z","values":{"1-0:96.90.21":"7E2005D2","1-0:0.2.00":"312E3033","1-0:14.7.0255":50,"1-0:81.7.26255":359,"1-0:81.7.15255":330,"1-0:81.7.4255":337,"1-0:81.7.2255":238,"1-0:81.7.1255":118,"1-0:71.7.0255":10.119999885559082,"1-0:51.7.0255":1.7100000381469727,"1-0:31.7.0255":0.89999997615814209,"1-0:72.7.0255":235.89999389648438,"1-0:52.7.0255":234.69999694824219,"1-0:32.7.0255":237,"1-0:16.7.0255":2818,"1-0:2.8.0255":0,"1-0:1.8.0255":9071.03125,"1-0:96.1.0255":"0A014B464D0000006E24","1-0:96.50.1*1":"4B464D"}}]}
                                        

                                        Und Du brauchst das hier?
                                        1-0:16.7.0*255

                                        1 Reply Last reply Reply Quote 0
                                        • G
                                          G.Hawk @mickym last edited by

                                          @mickym
                                          Die stehen alle auf Zahl.

                                          Sag die Fehlermeldung nicht genau das Gegenteil?
                                          Also dass ich auf Objekt umstellen soll oder das Skript ändern soll?

                                          v6.3.5
                                          
                                          0
                                          99+
                                          Log-Größe: 284.3 KB
                                          
                                          1
                                          Zeit
                                          debug
                                          Nachricht
                                          
                                          javascript.0
                                          2023-06-25 11:26:01.194	info	State value to set for "0_userdata.0.Geraetesteuerung.Strom.Stromzähler_untere_Wohnung.Elmo_EWE.Stromverbrauch_aktuell" has to be type "number" but received type "string"
                                          
                                          javascript.0
                                          2023-06-25 11:26:01.193	info	State value to set for "0_userdata.0.Geraetesteuerung.Strom.Stromzähler_untere_Wohnung.Elmo_EWE.Einspeisezaehlerstand_aktuell" has to be type "number" but received type "string"
                                          
                                          javascript.0
                                          2023-06-25 11:26:01.192	info	State value to set for "0_userdata.0.Geraetesteuerung.Strom.Stromzähler_untere_Wohnung.Elmo_EWE.Hauptzaehlerstand_aktuell" has to be type "number" but received type "string"
                                          
                                          javascript.0
                                          2023-06-25 11:26:01.127	info	script.js_.Strom.Gesamtstrom.Elmo_auslesen: {}
                                          
                                          javascript.0
                                          2023-06-25 11:26:01.126	warn	at processTicksAndRejections (node:internal/process/task_queues:95:5)
                                          
                                          javascript.0
                                          2023-06-25 11:26:01.125	warn	at Object.<anonymous> (script.js_.Strom.Gesamtstrom.Elmo_auslesen:19:3)
                                          
                                          javascript.0
                                          2023-06-25 11:26:01.125	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1730:20)
                                          
                                          javascript.0
                                          2023-06-25 11:26:01.124	warn	You are assigning a object to the state "0_userdata.0.Geraetesteuerung.Strom.Stromzähler_untere_Wohnung.Elmo_EWE.Stromverbrauch_aktuell" which expects a number. Please fix your code to use a number or change the state type to object. This warning might become an error in future versions.
                                          
                                          javascript.0
                                          2023-06-25 11:26:01.120	warn	at processTicksAndRejections (node:internal/process/task_queues:95:5)
                                          
                                          javascript.0
                                          2023-06-25 11:26:01.120	warn	at Object.<anonymous> (script.js_.Strom.Gesamtstrom.Elmo_auslesen:18:3)
                                          
                                          javascript.0
                                          2023-06-25 11:26:01.120	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1730:20)
                                          
                                          javascript.0
                                          2023-06-25 11:26:01.119	warn	You are assigning a object to the state "0_userdata.0.Geraetesteuerung.Strom.Stromzähler_untere_Wohnung.Elmo_EWE.Einspeisezaehlerstand_aktuell" which expects a number. Please fix your code to use a number or change the state type to object. This warning might become an error in future versions.
                                          
                                          javascript.0
                                          2023-06-25 11:26:01.117	warn	at processTicksAndRejections (node:internal/process/task_queues:95:5)
                                          
                                          javascript.0
                                          2023-06-25 11:26:01.116	warn	at Object.<anonymous> (script.js_.Strom.Gesamtstrom.Elmo_auslesen:17:3)
                                          
                                          javascript.0
                                          2023-06-25 11:26:01.116	warn	at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1730:20)
                                          
                                          javascript.0
                                          2023-06-25 11:26:01.112	warn	You are assigning a object to the state "0_userdata.0.Geraetesteuerung.Strom.Stromzähler_untere_Wohnung.Elmo_EWE.Hauptzaehlerstand_aktuell" which expects a number. Please fix your code to use a number or change the state type to object. This warning might become an error in future versions.
                                          
                                          mickym 1 Reply Last reply Reply Quote 0
                                          • mickym
                                            mickym Most Active @G.Hawk last edited by

                                            @g-hawk Ja aber Du willst eine Zahl haben - es scheint aber ein Objekt anzukommen, also wird die Zahl nicht richtig extrahiert.

                                            G 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            744
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            147
                                            8389
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo