Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Adapter - Parser (regEx)

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Adapter - Parser (regEx)

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      stoepselinho last edited by

      hab in in der Homematic versucht. schmeißt mir nur ??? raus. Und es ist ja nicht genau die von meinem Standort sondern von Berlin glaube ich.

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

        @stoepselinho:

        hab in in der Homematic versucht. schmeißt mir nur ??? raus. `
        Javascript ist nicht HomeMatic.
        @stoepselinho:

        Und es ist ja nicht genau die von meinem Standort sondern von Berlin glaube ich. `
        Die Koordinaten Deines Standortes gibst Du in den Haupteinstellungen des Hosts ein. In der Konfiguration der Javascript-Instanz im Reiter "ASTRO-EINSTELLUNGEN" setzt Du den Haken bei "Verwenden Sie die Systemeinstellungen".

        Alternativ kannst Du die Koordinaten auch in der Konfiguration der JS-Instanz angeben.

        1 Reply Last reply Reply Quote 0
        • S
          stoepselinho last edited by

          und wie lass ich mir die dann Anzeigen?

          1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators last edited by

            @Homoran:

            ich seh mir das nachher mal an - habe gerade noch andere Baustellen `

            Ist relativ einfach lösbar

            Gruß

            Rainer

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

              @stoepselinho:

              und wie lass ich mir die dann Anzeigen? `
              Du meinst, wie du die Koordinaten Deines Standortes ermittelst ? Google Earth / Google Maps / GPS im Smartphone

              1 Reply Last reply Reply Quote 0
              • S
                stoepselinho last edited by

                möchte die Zeiten gerne in eine Variable speichern. stehe aber gerade voll aufm Schlauch,

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

                  @stoepselinho:

                  möchte die Zeiten gerne in eine Variable speichern. `
                  Ein kleines Skript macht es.

                  // IDs anpassen !
                  const idSA = '..'; // Datenpunkt-ID Sonnenaufgang
                  const idSU = '..'; // Datenpunkt-ID Sonnenuntergang
                  
                  function sonne() {
                     setState(idSA, formatDate(getAstroDate("sunrise"), 'hh:mm'));
                     setState(idSU, formatDate(getAstroDate("sunset"), 'hh:mm'));
                  }
                  
                  sonne(); // Skriptstart
                  schedule('1 0 * * *', sonne); // täglich um 00:01 Uhr
                  
                  
                  1 Reply Last reply Reply Quote 0
                  • E
                    excalibur270 last edited by

                    @Homoran:

                    @Homoran:

                    ich seh mir das nachher mal an - habe gerade noch andere Baustellen `

                    Ist relativ einfach lösbar

                    Gruß

                    Rainer `

                    Hallo Rainer.

                    Ich habe jetzt die Genehmigung erhalten Inhalte von CT.de auszuwerten. Ich habe das mit dem Parser des lpg Preises mittlerweile hinbekommen.

                    1 Reply Last reply Reply Quote 0
                    • M
                      mrniceguy last edited by

                      Da Wunderground demnächst seine Api einstellen wird suche ich eine neue Möglichkeit auf andere Weise den UV INdex zu ermitteln.

                      Kann mir einer erklären, wie ich mit dem Parser den UV Index der folgenden Seite auslesen kann ?

                      https://www.wetter.de/deutschland/wette … tuell.html

                      Auf der Seite wird der Wert als Zahl ausgegeben.

                      Vielen Dank

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

                        Hallo,

                        ich hab heute mein Parser Adapter aktualisiert, seit dem parst er mit diesem Regex meine Seite nicht mehr, ist vor dem Update sauber gegangen,

                        hat sich da was geändert?

                        Ich will quasi den Wert in der zweiten Zeile mit "1102" parsen.

                        Hier der Screenshot:

                        6616_parser.jpg

                        Schonmal vielen Dank im Voraus.

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

                          Hat sich erledigt, anscheinend nimmt der Parser den Begriff "\n" also Zeilensprung nicht mehr wahr.

                          Habs jetzt mit "(\d+,?\d? Watt)" hinbekommen.

                          1 Reply Last reply Reply Quote 0
                          • I
                            icecube86 last edited by icecube86

                            Hallo zusammen,

                            ich muss folgende Daten aus folgender URL auslesen:

                            https://measurements.mobile-alerts.eu/H … XXXXXXXXXX

                            0,0 mm

                            3,9 C

                            72%

                            Die Werte sind weiß hinterlegt

                            Hab aber echt überhaupt keinen Plan wie ich da ran komme.

                            Oder wie ich den Code kürzer fassen kann.

                            Vorab Danke

                            <!DOCTYPE html>
                            <html>
                            <head>
                                <meta charset="utf-8" />
                                <meta name="viewport" content="width=device-width, initial-scale=1.0">
                                <title>Sensor &#220;berblick</title>
                                <link href="/Content/css?v=Eswk_2H6Ss2i4k1dsN9Z3Pw8JisA8ojhWaoiEJ001" rel="stylesheet"/>
                            
                                <script src="/bundles/modernizr?v=inCVuEFe6J4Q07A0AcRsbJic_UE5MwpRMNtk94TE1"></script>
                            
                            </head>
                            <body>
                                <div class="navbar navbar-inverse navbar-fixed-top">
                                    <div class="container">
                                        <div class="navbar-header">
                                            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                                                <span class="icon-bar"></span>
                                                <span class="icon-bar"></span>
                                                <span class="icon-bar"></span>
                                            </button>
                                            <div class="navbar-brand">MOBILE ALERTS</div>
                                        </div>
                                        <div class="navbar-collapse collapse">
                                            <ul class="nav navbar-nav">
                                                <li><a href="/">Home</a></li>
                                                    <li><a href="/Home/SensorsOverview?phoneid=85032269">Sensoren</a></li>
                                                    <li><a href="/Home/Actions?phoneid=85032269">Aktionslog</a></li>
                            
                                                    <li><a href="/Home/Imprint?phoneid=85032269">Impressum</a></li>
                                                    <li><a href="/Home/Privacy?phoneid=85032269">Datenschutzerkl&#228;rung</a></li>
                                            </ul>
                                        </div>
                                    </div>
                                </div>
                                <div class="container body-content">
                                    
                            
                            
                            <h3>&#220;berblick f&#252;r Phone ID 85032269</h3>
                            
                            <p><a href="/">Zur&#252;ck zu Home</a></p>
                            
                            
                            
                            <div class="panel panel-default">
                                <div class="panel-body">
                                    <div class="sensor">
                            
                            <div class="sensor-header">
                                <h3>
                                    <a href="/Home/MeasurementDetails?deviceid=0869C700&amp;vendorid=E1F232-3A62-44F3-8DA6-B586958D91D1&amp;appbundle=de.synertronixx.remotemonitor">Regensensor</a>
                                </h3>
                                <div class="sensor-component">
                                    <h5>ID</h5>
                                    <h4>0869C700</h4>
                                </div>
                            </div>
                            
                            <div class="nofloat"></div>
                            
                                <div class="sensor-component">
                                    <h5>Zeitpunkt</h5>
                                    <h4>14.02.2019 11:27:17</h4>
                                </div>
                                <div class="sensor-component">
                                    <h5>Regen</h5>
                                    <h4>0,0 mm</h4>
                                </div>
                                    </div>
                                </div>
                            </div>
                            
                            <div class="panel panel-default">
                                <div class="panel-body">
                                    <div class="sensor">
                            
                            <div class="sensor-header">
                                <h3>
                                    <a href="/Home/MeasurementDetails?deviceid=0320532F8&amp;vendorid=E1F232BB-3A62-44F3-8DA6-B586958D&amp;appbundle=de.synertronixx.remotemonitor">Temperatur Garage</a>
                                </h3>
                                <div class="sensor-component">
                                    <h5>ID</h5>
                                    <h4>0320532F84</h4>
                                </div>
                            </div>
                            
                            <div class="nofloat"></div>
                            
                                <div class="sensor-component">
                                    <h5>Zeitpunkt</h5>
                                    <h4>16.02.2019 09:52:07</h4>
                                </div>
                                <div class="sensor-component">
                                    <h5>Temperatur</h5>
                                    <h4>3,9 C</h4>
                                </div>
                                <div class="sensor-component">
                                    <h5>Luftfeuchte</h5> <!-- Luftfeuchtigkeit -->
                                    <h4>72%</h4>
                                </div>
                                    </div>
                                </div>
                            </div>
                                    <hr />
                                    <footer>
                                        <p>&copy; 2019 - DATA INFORMATION SERVICES GmbH</p>
                                    </footer>
                                </div>
                            
                                <script src="/bundles/jquery?v=DilzeZuJxdbQsfc_JOwsWB4VFDhTPM73urYeggaKdL81"></script>
                            
                                <script src="/bundles/bootstrap?v=7Xzbs2X8mMtYC4-Iw230CaK9M6od8KC4beA8yw1"></script>
                            
                                
                            </body>
                            </html>
                            1 Reply Last reply Reply Quote 0
                            • I
                              icecube86 last edited by icecube86

                              Keiner eine Idee? - ich vermute das man die URL auch noch weiter detailieren kann, sodass nur die entsprechenden Werte ausgegeben werden, aber auch da steh ich auf dem Schlauch. Wäre echt dankbar wenn einer einen tipp hätte

                              Homoran 1 Reply Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators @icecube86 last edited by

                                @icecube86dazu müsste ich am PC sitzen
                                An Handy ist das nicht so dolle.

                                Ich hoffe ich denke da heute Nachmittag dran

                                1 Reply Last reply Reply Quote 0
                                • Diginix
                                  Diginix last edited by Diginix

                                  Ich versuche mich auch gerade an dem Parser. In der Instanz Konfiguration funktioniert das RegEx im Tester. In Onlinetest ebenso. Nur bei der eigentlichen Arbeit des Adapters bekomme ich immer nur den Error 0x44 Cannot find number in answer for parser.0.

                                  Edit: Das Sonderzeichen ° war das Problem. Das html ist nicht utf-8 und dadurch hat das Zeichen im RegEx nicht gematcht.

                                  1 Reply Last reply Reply Quote 0
                                  • Q
                                    Qlink last edited by

                                    Hi Leute,

                                    ich habe nun endlich einen Weg gefunden wie ich unter Windows die Sensordaten auslesen und per Webserver abrufen kann.
                                    Jetzt möchte ich die Daten gerne per Parser Adapter in iobroker bekommen, bekomme das mit regex101.com aber nicht mal ansatzweise hin. Verstehe nur Bahnhof ...

                                    Es wäre toll wenn mir jemand Starthilfe geben könnte.

                                    Hier die Website Daten:
                                    hwinfo.txt
                                    Ich möchte z.B. den Wert "Core #0 Usage", "SensorValue": "5,3" auslesen

                                    oder "CPU Package", "SensorValue": "37"

                                    oder "SensorClass": "S.M.A.R.T.: INTEL SSDSA2CW120G3 (CVPR344400F1120LGN)",
                                    "SensorName": "Drive Remaining Life",
                                    "SensorValue": "99",

                                    usw.

                                    Danke für eure Hilfe.

                                    1 Reply Last reply Reply Quote 0
                                    • Q
                                      Qlink last edited by Qlink

                                      hätte mir mal folgendes zusammengebastelt:

                                      (?<="Core #3 VID",)\n "SensorValue": "[0-9]+(,[0-9]+)?

                                      aber damit fehlt mir die Stelle vor dem Komma und er nimmt mir auch das Wort SensorValue mit:

                                      regex.PNG

                                      https://regex101.com/r/oHCIgq/2

                                      Wie bekomme ich die 2 Sachen weg ?

                                      Diginix 1 Reply Last reply Reply Quote 0
                                      • Diginix
                                        Diginix @Qlink last edited by Diginix

                                        @Qlink

                                        Core #3 VID",\s*"SensorValue": "(\d+,\d+)",
                                        

                                        Die runde Klammer kommt nur um den Teil den du auch als Ergebnis willst. Du hast nur die Nachkommastelle in Klammern und den Namen "Core..." brauchst du gar nicht.
                                        Den trägst du im Parser Adapter als Namen des Objektes ein. So bekommt das Objekt dann nur den eigentlichen Wert 0,7...
                                        Der Parser trimmt bei mir schon alle Zeilenumbrüche usw. Der RegEx für den Adapter darf als nicht mehr nach Zeilenumbrüchen suchen. Daher müsste es wohl dann im Adapter so aussehen:

                                        Core #3 VID",.*"SensorValue": "(\d+,\d+)",
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • Q
                                          Qlink last edited by

                                          @Diginix

                                          Danke für deine Hilfe!
                                          Mit deinem ersten Vorschlag hab ich den Nuller vor dem Komma auch schonmal dabei. D.h. der Wert wäre soweit schonmal vollständig.
                                          Den Name Core... brauche ich glaube ich schon in der Abfrage, da das Format "SensorValue" ... mit genau dem Wert öfters auf der Homepage vorkommt und ich sonst nicht wüsste wie ich den richtigen Wert erwische ...

                                          Mit deinem zweiten Vorschlag kommt allerdings auf regex101.com nur "no matches found"

                                          Diginix 1 Reply Last reply Reply Quote 0
                                          • Homoran
                                            Homoran Global Moderator Administrators last edited by Homoran

                                            Der ioBroker Parser schein mit dem \n nicht zurechtzukommen.
                                            Gib mir ein paar Minuten, ich teste es mal.

                                            EDIT:
                                            probiere das mal:

                                            Core #3 VID"[^\:]+:\s\"(\d\,\d+)
                                            
                                            Homoran 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            43
                                            268
                                            93217
                                            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