Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. RegEx Frage

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    RegEx Frage

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

      @hippocampus-0 Na was nutzt Du NodeRed, Blockly, Javascript? Und dann wäre es gut, wenn Du die gesamte Ausgabe hier in CodeTags einstellst. Sensible Informationen kannst Du ja aus - xxx

      H mickym 2 Replies Last reply Reply Quote 0
      • H
        hippocampus 0 @mickym last edited by

        @mickym Den Adapter Parser.O im ioBroker wollte ich nutzen

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

          @mickym Na wie gesagt das ist schon ein JSON und sowas parsed man nicht. Sondern Du rufst die Seite direkt aus Deiner Logikmaschine auf und greifst auf die Inhalte zu. Du kannst auch die ganze Seite mit dem Parser in einen Datenpunkt schreiben und dann mit der Logikmaschine auslesen. Wie gesagt mit RegEx kannst Du das Parsen - aber es wird nie runden.

          f34101b4-7194-4116-9d96-683e4de2beb1-image.png

          "price" : \d+\.\d{3}
          

          damit schneidest Du nur ab, wirst aber nie runden. Du kannst auch 3 Stellen nehmen, die in einen Datenpunkt mit dem Parser schreiben und dann mit Deiner Logikmaschine runden. Ist halt alles von hinten durch die Brust. Anders ist es halt wesentlich eleganter.

          H 1 Reply Last reply Reply Quote 0
          • H
            hippocampus 0 @mickym last edited by

            @mickym Hallo Dank für deine Hilfestellung. Was würde ich denn bei Block für Module zum Filtern benutzen?
            Bildschirmfoto 2023-08-26 um 13.48.40.png

            mickym paul53 2 Replies Last reply Reply Quote 0
            • mickym
              mickym Most Active @hippocampus 0 last edited by mickym

              OK ich seh - schon - ich mach Dir das Blockly. Ich geh mal davon aus, dass Du das EUR Teil willst.

              H 1 Reply Last reply Reply Quote 0
              • H
                hippocampus 0 @mickym last edited by

                @mickym Voll nett. Danke. Ja, nur der Euro Preis

                mickym 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @hippocampus 0 last edited by

                  @hippocampus-0 sagte: Was würde ich denn bei Block für Module zum Filtern benutzen?

                  Blockly_temp.JPG

                  H 2 Replies Last reply Reply Quote 0
                  • H
                    hippocampus 0 @paul53 last edited by

                    @paul53 Vielen Dank. Ich teste es gleich aus.

                    @mickym @paul53
                    Eine offene Frage habe ich noch unter https://forum.iobroker.net/topic/67842/parser-regex-von-einer-seite-mit-nur-einer-zahl/10?_=1693050873544

                    Dabei handelt es sich um eine Seite mit nur einer Zahl, welche ich mit dem Parser und RegEx auslesen möchte. Dabei wurde die RegEx Einstellung mit \d+ vorgeschlagen. Anscheinen sind die Parser Einstellungen (Num, Rolle, Typ, Alt, Intervall …) falsch bei mir - es wird mir statt einer Sechstelligen Zahl die sich ändert konstant eine 32 angezeigt

                    paul53 mickym 2 Replies Last reply Reply Quote 0
                    • paul53
                      paul53 @hippocampus 0 last edited by paul53

                      @hippocampus-0 sagte: Seite mit nur einer Zahl, welche ich mit dem Parser und RegEx auslesen möchte.

                      Weshalb nicht mit Blockly / request?

                      Blockly_temp.JPG

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

                        @hippocampus-0 sagte in RegEx Frage:

                        @mickym Voll nett. Danke. Ja, nur der Euro Preis

                        Hier meine Lösung:

                        b7c06824-4a47-47e8-b9d0-fd48eb168440-image.png

                        <xml xmlns="https://developers.google.com/blockly/xml">
                         <variables>
                           <variable id="Ek[*p2g7Z|Q*vQ@{yHXt">result</variable>
                         </variables>
                         <block type="request" id="kx4h?+GpTvqaa+KVru2K" x="188" y="-12">
                           <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="1N]NGk[~2i,3;A)-B$LC">
                               <field name="TEXT">https://price.bisq.wiz.biz/getAllMarketPrices</field>
                             </shadow>
                           </value>
                           <statement name="STATEMENT">
                             <block type="debug" id="FZ|r?_d=XyaCjm%`U]yJ">
                               <field name="Severity">log</field>
                               <value name="TEXT">
                                 <shadow type="text" id="H~r14.s=j[sKO$^Z5,nW">
                                   <field name="TEXT">test</field>
                                 </shadow>
                                 <block type="convert_jsonata" id="YZ{3,d*?VUvcq@/N?@h5">
                                   <value name="EXPRESSION">
                                     <shadow type="text" id="7ri%?@Mqq_TxZu*(I1@9">
                                       <field name="TEXT"> $formatNumber($.data[currencyCode="EUR"].price,"0.00")</field>
                                     </shadow>
                                   </value>
                                   <value name="TARGET">
                                     <block type="convert_json2object" id="q5DR(Z~vmsR,q%[c?az-">
                                       <value name="VALUE">
                                         <block type="variables_get" id="U7yuCC{@B8ev9SkLG4u8">
                                           <field name="VAR" id="Ek[*p2g7Z|Q*vQ@{yHXt">result</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                             </block>
                           </statement>
                         </block>
                        </xml>
                        

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

                          @hippocampus-0

                          b55b4512-78aa-44a8-874a-842afb677643-image.png

                          kann ich nicht nachvollziehen - aber wie @paul schreibt entweder auch mit blockly. Mit dem 32 ist dann ein Bug im Adapter.

                          H 1 Reply Last reply Reply Quote 0
                          • H
                            hippocampus 0 @paul53 last edited by

                            @paul53
                            Bei mir gibt es einen Fehler
                            Bildschirmfoto 2023-08-26 um 14.13.53.png

                            paul53 1 Reply Last reply Reply Quote 0
                            • H
                              hippocampus 0 @mickym last edited by

                              @mickym
                              Bildschirmfoto 2023-08-26 um 14.15.20.png Bildschirmfoto 2023-08-26 um 14.15.39.png

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

                                @hippocampus-0 Ja wie gesagt - nimm lieber blockly. Das ist nicht Dein Fehler, sondern ein Fehler des Adapters.

                                c3d635f2-ed28-443d-9679-7abea8aa821a-image.png

                                <xml xmlns="https://developers.google.com/blockly/xml">
                                 <variables>
                                   <variable id="Ek[*p2g7Z|Q*vQ@{yHXt">result</variable>
                                 </variables>
                                 <block type="request" id="kx4h?+GpTvqaa+KVru2K" x="88" y="-37">
                                   <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="1N]NGk[~2i,3;A)-B$LC">
                                       <field name="TEXT">https://price.bisq.wiz.biz/getAllMarketPrices</field>
                                     </shadow>
                                   </value>
                                   <statement name="STATEMENT">
                                     <block type="debug" id="FZ|r?_d=XyaCjm%`U]yJ">
                                       <field name="Severity">log</field>
                                       <value name="TEXT">
                                         <shadow type="text" id="H~r14.s=j[sKO$^Z5,nW">
                                           <field name="TEXT">test</field>
                                         </shadow>
                                         <block type="convert_jsonata" id="YZ{3,d*?VUvcq@/N?@h5">
                                           <value name="EXPRESSION">
                                             <shadow type="text" id="7ri%?@Mqq_TxZu*(I1@9">
                                               <field name="TEXT"> $formatNumber($.data[currencyCode="EUR"].price,"0.00")</field>
                                             </shadow>
                                           </value>
                                           <value name="TARGET">
                                             <block type="convert_json2object" id="q5DR(Z~vmsR,q%[c?az-">
                                               <value name="VALUE">
                                                 <block type="variables_get" id="U7yuCC{@B8ev9SkLG4u8">
                                                   <field name="VAR" id="Ek[*p2g7Z|Q*vQ@{yHXt">result</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                         </block>
                                       </value>
                                     </block>
                                   </statement>
                                   <next>
                                     <block type="request" id="bR|TkI(fcG?lN[E6ZA7a">
                                       <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="vOQ5NCa{6?!H9k{3i+jf">
                                           <field name="TEXT">https://mempool.space/api/blocks/tip/height</field>
                                         </shadow>
                                       </value>
                                       <statement name="STATEMENT">
                                         <block type="debug" id="x@b/;@{A-l4y4cbDRvrp">
                                           <field name="Severity">log</field>
                                           <value name="TEXT">
                                             <shadow type="text" id="H(qN|mDow5M*F:P2wst4">
                                               <field name="TEXT">test</field>
                                             </shadow>
                                             <block type="variables_get" id="U2Mwu}?|Bu{tt@#~`EFB">
                                               <field name="VAR" id="Ek[*p2g7Z|Q*vQ@{yHXt">result</field>
                                             </block>
                                           </value>
                                         </block>
                                       </statement>
                                     </block>
                                   </next>
                                 </block>
                                </xml>
                                

                                1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @hippocampus 0 last edited by paul53

                                  @hippocampus-0 sagte: Bei mir gibt es einen Fehler

                                  Du musst im Block "aktualisiere" einen existierenden Datenpunkt vom Typ "Zahl" zuweisen.

                                  1 Reply Last reply Reply Quote 0
                                  • H
                                    hippocampus 0 @mickym last edited by

                                    @mickym $formatNumber($.data[currencyCode="EUR"].price...) ?

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

                                      @hippocampus-0 Na importiere halt das Ganze Blockly.

                                      Der Code heißt:

                                      $formatNumber($.data[currencyCode="EUR"].price,"0.00")
                                      

                                      Das ergibt einen String und keine Zahl - da Du dann auch 2 Nachkommastellen hast, wenn gerundet. Man kann das auch noch so abändern, dass Du ein Komma statt Punkt hast.

                                      H 1 Reply Last reply Reply Quote 0
                                      • H
                                        hippocampus 0 @mickym last edited by

                                        @mickym super -hat geklappt mit dem code. Vielen Dank

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

                                          @hippocampus-0 Wenn Du den Code so änderst, dann bekommst auch noch eine deutsche Schreibweise mit Komma und Tausendertrennzeichen.

                                           $formatNumber($.data[currencyCode="EUR"].price,"#.##0,00",{'decimal-separator':',', 'grouping-separator':'.'})
                                          

                                          f66d2ac9-442b-4d85-95fd-1bfc228b68f4-image.png

                                          und so bekommst auch gleich € dahinter:

                                          $formatNumber($.data[currencyCode="EUR"].price,"#.##0,00 €",{'decimal-separator':',', 'grouping-separator':'.'})
                                          

                                          e35b3d29-3a29-4ddc-8952-659c46ada7df-image.png

                                          H 1 Reply Last reply Reply Quote 0
                                          • H
                                            hippocampus 0 @paul53 last edited by

                                            @paul53 hier bekomme ich leider einen Fehler

                                            Bildschirmfoto 2023-08-26 um 14.27.11.png

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            473
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            30
                                            1008
                                            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