Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Daten aus einer URL in eine Variable schreiben

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.0k

Daten aus einer URL in eine Variable schreiben

Scheduled Pinned Locked Moved Skripten / Logik
28 Posts 11 Posters 5.1k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • apollon77A Online
    apollon77A Online
    apollon77
    wrote on last edited by
    #7

    hey,

    Es gibt den neuen "Parser"-Adapter … der kann regelmäßig URLs abholen und dort per Regex parsen

    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
    1 Reply Last reply
    0
    • S Offline
      S Offline
      stoepselinho
      wrote on last edited by
      #8

      Hinter der IP steckt mein PV Datenlogger und ich will mir den aktuellen Ertrag und den aktuellen Verbrauch vom Haus in einer Variablen speichern um es mit vis darzustellen

      1 Reply Last reply
      0
      • P Offline
        P Offline
        pix
        wrote on last edited by
        #9

        Hallo,

        mit diesem Ausdruck (nicht greedy) kannst du die Zahlen aus der erste Zeile rausfischen:

        (?<=[|])[0-9]*(?=[;])
        

        Der Ausdruck sucht Zahlenkombinationen, denen ein "|" vorausgeht und ein ";" folgt.

        Das ganze in den parser-Adapter kopiert sollte funktionieren.
        261_bildschirmfoto_2017-01-30_um_13.04.07.png

        Jetzt wird alle 300.000 ms oder 5min der Ausdruck gesucht und in den Datenpunkt parser.0.solar geschrieben.

        Kann sein, dass der Typ number noch Probleme macht und natürlich solltest du den URL noch komplettieren.

        Kann es selbst natürlich nicht ausprobieren 😄

        Gruß

        Pix

        ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

        1 Reply Last reply
        0
        • S Offline
          S Offline
          stoepselinho
          wrote on last edited by
          #10

          Werd ich heute Abend mal ausprobieren. Muss ich die richtige Zeile irgendwo angeben?

          Speichert der dann beide Werte in einer Variablen ab?

          1 Reply Last reply
          0
          • P Offline
            P Offline
            pix
            wrote on last edited by
            #11

            Nein, er speichert pro Zeile in den Einstellungen des parser-Adapters nur einen Wert. Da musst du noch eine Zeile anfügen.

            Du kannst auch diesen Ausdruck nehmen:

            [0-9]*(?=[;])
            ````für jede Zahl vor einem Semikolon nicht gierig, also nur beim ersten Vorkommen (nur der rote Wert).
            
            m[mi++]="28.01.17 18:20:00|623;0;8368|0;0;0;6275;0;0"
            
            m[mi++]="28.01.17 18:15:00|623;0;8317|0;0;0;6275;0;0"
            
            m[mi++]="28.01.17 18:10:00|652;0;8265|0;0;0;6275;0;0"
            
            Welche Werte brauchst du? Ist mir immer noch nicht klar. Kannst du das auch mal den Farben markieren?
            
            Gruß
            
            Pix

            ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

            1 Reply Last reply
            0
            • S Offline
              S Offline
              stoepselinho
              wrote on last edited by
              #12

              Hallo,

              der erste Rote wert müsste der aktuelle Verbrauch sein und der zweite der aktuelle Ertrag.

              m[mi++]="30.01.17 19:15:00|568;0;6100|0;0;0;309;0;0"

              1 Reply Last reply
              0
              • S Offline
                S Offline
                stoepselinho
                wrote on last edited by
                #13

                keine Idee wie man an den zweiten Wert kommt?

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  moebius
                  wrote on last edited by
                  #14

                  mit node-red zB:````
                  [{"id":"d622dd6c.13e18","type":"tab","label":"Flow 6"},{"id":"abca901f.329ba","type":"inject","z":"d622dd6c.13e18","name":"","topic":"","payload":"m[mi++]="28.01.17 18:20:00|623;0;8368|0;0;0;6275;0;0"","payloadType":"str","repeat":"","crontab":"","once":false,"x":123,"y":61,"wires":[["a8676829.f6bd48"]]},{"id":"a8676829.f6bd48","type":"split","z":"d622dd6c.13e18","name":"","splt":"|","x":263,"y":112,"wires":[["dd824334.af6fc"]]},{"id":"d54f3a3c.30d558","type":"split","z":"d622dd6c.13e18","name":"","splt":";","x":561,"y":199,"wires":[["fcd7879b.764f28"]]},{"id":"1bca33e3.e423fc","type":"debug","z":"d622dd6c.13e18","name":"","active":true,"console":"false","complete":"true","x":859,"y":264,"wires":[]},{"id":"dd824334.af6fc","type":"switch","z":"d622dd6c.13e18","name":"","property":"parts.index","propertyType":"msg","rules":[{"t":"gt","v":"0","vt":"num"}],"checkall":"true","outputs":1,"x":419,"y":152,"wires":[["d54f3a3c.30d558"]]},{"id":"fcd7879b.764f28","type":"switch","z":"d622dd6c.13e18","name":"","property":"parts.index","propertyType":"msg","rules":[{"t":"eq","v":"0","vt":"num"}],"checkall":"true","outputs":1,"x":713,"y":237,"wires":[["1bca33e3.e423fc"]]}]

                  Du müsstest noch inject durch den http request ersetzen.
                  [1803_clipboard02.jpg](/assets/uploads/files/1803_clipboard02.jpg)
                  1 Reply Last reply
                  0
                  • BluefoxB Offline
                    BluefoxB Offline
                    Bluefox
                    wrote on last edited by
                    #15
                    var text = 'm[mi++]="28.01.17 18:20:00|623;0;8368|0;0;0;6275;0;0"\n';
                    text += 'm[mi++]="28.01.17 18:15:00|623;0;8317|0;0;0;6275;0;0"\n';
                    text += 'm[mi++]="28.01.17 18:10:00|652;0;8265|0;0;0;6275;0;0"\n';
                    
                    var m = text.match(/\|(\d+);/g);
                    console.log(JSON.stringify(m));
                    console.log(m[0].substring(1, m[0].length - 1) + ' - ' + m[1].substring(1, m[1].length - 1));
                    

                    URL kann man so bekommen:

                    var request = require('request');
                    createState('myState1', {unit: 'W', type: 'number'});
                    createState('myState2', {unit: 'W', type: 'number'});
                    request('http://google.com', function (err, resp, body) {
                    	if (body) {
                    		var m = text.match(/\|(\d+);/g);
                    		if (m && m.length > 1) {
                    		       setState('myState1', parseInt(m[0].substring(1, m[0].length - 1) , 10), true);
                    		       setState('myState2', parseInt(m[1].substring(1, m[1].length - 1) , 10), true);
                    		}
                    	} else {
                    		console.warn('NO response: ' + err);
                    	}
                    });
                    
                    
                    1 Reply Last reply
                    0
                    • S Offline
                      S Offline
                      stoepselinho
                      wrote on last edited by
                      #16

                      @moebius:

                      mit node-red zB:````
                      [{"id":"d622dd6c.13e18","type":"tab","label":"Flow 6"},{"id":"abca901f.329ba","type":"inject","z":"d622dd6c.13e18","name":"","topic":"","payload":"m[mi++]="28.01.17 18:20:00|623;0;8368|0;0;0;6275;0;0"","payloadType":"str","repeat":"","crontab":"","once":false,"x":123,"y":61,"wires":[["a8676829.f6bd48"]]},{"id":"a8676829.f6bd48","type":"split","z":"d622dd6c.13e18","name":"","splt":"|","x":263,"y":112,"wires":[["dd824334.af6fc"]]},{"id":"d54f3a3c.30d558","type":"split","z":"d622dd6c.13e18","name":"","splt":";","x":561,"y":199,"wires":[["fcd7879b.764f28"]]},{"id":"1bca33e3.e423fc","type":"debug","z":"d622dd6c.13e18","name":"","active":true,"console":"false","complete":"true","x":859,"y":264,"wires":[]},{"id":"dd824334.af6fc","type":"switch","z":"d622dd6c.13e18","name":"","property":"parts.index","propertyType":"msg","rules":[{"t":"gt","v":"0","vt":"num"}],"checkall":"true","outputs":1,"x":419,"y":152,"wires":[["d54f3a3c.30d558"]]},{"id":"fcd7879b.764f28","type":"switch","z":"d622dd6c.13e18","name":"","property":"parts.index","propertyType":"msg","rules":[{"t":"eq","v":"0","vt":"num"}],"checkall":"true","outputs":1,"x":713,"y":237,"wires":[["1bca33e3.e423fc"]]}]

                      Du müsstest noch inject durch den http request ersetzen. `  
                      

                      hab das versucht, bekomm das irgendwie nicht hin. wie genau funktioniert das denn mit dem node-red? angezeigt wird es mir aber wo wird es denn gespeichert

                      1 Reply Last reply
                      0
                      • M Offline
                        M Offline
                        moebius
                        wrote on last edited by
                        #17

                        Was genau hast du versucht? Was genau hat nicht funktioniert?

                        Wenn du was mit node-red machen willst, schau dir bitte doch mal die schöne Hilfe die Homoran geschrieben hat an:

                        http://www.iobroker.net/?page_id=4284&lang=de

                        Da steht auch drin, wie du Werte von node-red wieder in iobroker speichern kannst.

                        1 Reply Last reply
                        0
                        • P Offline
                          P Offline
                          pix
                          wrote on last edited by
                          #18

                          Für den zweiten Wert nimmst du diesen Ausdruck (vorausgesetzt, der Wert 6275 bleibt immer gleich; könnte aber auch ohne 6275 gehen)

                          [0-9]*(?=;0;0;6275)
                          

                          https://regex101.com/r/QFGi6C/1

                          Sorry, hatte den Thread schon wieder vergessen.

                          Pix

                          EDIT: Also in http://forum.iobroker.net/viewtopic.php?f=21&t=5039&p=51250#p50343 ist der grüne Wert (0) gemeint

                          ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                          1 Reply Last reply
                          0
                          • S Offline
                            S Offline
                            stoepselinho
                            wrote on last edited by
                            #19

                            das scheint nicht zu klappen,

                            die werte sind nur 0 wenn die anlage nicht läuft. Jetzt sieht die Zeile so aus:

                            m[mi++]="04.02.17 12:50:00|462;0;3636|665;463;258;3218;405;406"

                            mit dem Code so funktionierts

                            [0-9]*(?=;*[0-9]*;*[0-9]*;*[0-9]*;*[0-9]*;*[0-9]*;*[0-9]")
                            
                            1 Reply Last reply
                            0
                            • P Offline
                              P Offline
                              pix
                              wrote on last edited by
                              #20

                              Super gelöst! Danke fürs Feedback.

                              ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                              1 Reply Last reply
                              0
                              • R Offline
                                R Offline
                                ralalla
                                wrote on last edited by
                                #21

                                Würde auch gerne den Parser nutzen um den Wasserstand eines Flusses auszulesen.

                                Z. B. von dieser URL http://www.hochwasser-rlp.de/hoechststa … l/BETZDORF

                                den Wasserstand der unter der Grafik hinter : letzter Messwert angezeigt wird.

                                Mit der Parser Testseite komme ich gar nicht klar sonst hätte ich da schon probiert.

                                ioBroker auf Intel NUC mit Proxmox / PiVCCU auf Pi3

                                1 Reply Last reply
                                0
                                • S Offline
                                  S Offline
                                  stoepselinho
                                  wrote on last edited by
                                  #22

                                  würde gerne noch weitere Werte aus der zeile haben, bekomme es aber nicht hin. jemand eine idee?

                                  m[mi++]="04.04.17 20:20:00|557;0;5473|0;0;0;17107;0;0"

                                  1 Reply Last reply
                                  0
                                  • ruhr70R Offline
                                    ruhr70R Offline
                                    ruhr70
                                    wrote on last edited by
                                    #23

                                    @stoepselinho:

                                    würde gerne noch weitere Werte aus der zeile haben, bekomme es aber nicht hin. jemand eine idee?

                                    m[mi++]="04.04.17 20:20:00|557;0;5473|0;0;0;17107;0;0" `

                                    \d+;
                                    -> 557
                                    
                                    \d+;(\d+)
                                    -> 0
                                    
                                    \d+;\d+;(\d+)
                                    -> 5473
                                    
                                    \d+;\d+;\d+\|(\d+)
                                    -> 0
                                    
                                    \d+;\d+;\d+\|\d+;(\d+)
                                    -> 0
                                    
                                    \d+;\d+;\d+\|\d+;\d+;(\d+)
                                    -> 0
                                    
                                    \d+;\d+;\d+\|\d+;\d+;\d+;(\d+)
                                    -> 17107
                                    
                                    \d+;\d+;\d+\|\d+;\d+;\d+;\d+;(\d+)
                                    -> 0
                                    
                                    \d+;\d+;\d+\|\d+;\d+;\d+;\d+;\d+;(\d+)
                                    -> 0
                                    

                                    Oder für Dein anderes Beispiel:

                                    m[mi++]="04.02.17 12:50:00|462;0;3636|665;463;258;3218;405;406"

                                    \d+;
                                    -> 462
                                    
                                    \d+;(\d+)
                                    -> 0
                                    
                                    \d+;\d+;(\d+)
                                    -> 3636
                                    
                                    \d+;\d+;\d+\|(\d+)
                                    -> 665
                                    
                                    \d+;\d+;\d+\|\d+;(\d+)
                                    -> 463
                                    
                                    \d+;\d+;\d+\|\d+;\d+;(\d+)
                                    -> 258
                                    
                                    \d+;\d+;\d+\|\d+;\d+;\d+;(\d+)
                                    -> 3218
                                    
                                    \d+;\d+;\d+\|\d+;\d+;\d+;\d+;(\d+)
                                    -> 405
                                    
                                    \d+;\d+;\d+\|\d+;\d+;\d+;\d+;\d+;(\d+)
                                    -> 406
                                    
                                    

                                    Adapter: Fritzbox, Unify Circuit
                                    Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                                    1 Reply Last reply
                                    0
                                    • ruhr70R Offline
                                      ruhr70R Offline
                                      ruhr70
                                      wrote on last edited by
                                      #24

                                      @ralalla:

                                      Würde auch gerne den Parser nutzen um den Wasserstand eines Flusses auszulesen.

                                      Z. B. von dieser URL http://www.hochwasser-rlp.de/hoechststa … l/BETZDORF

                                      den Wasserstand der unter der Grafik hinter : letzter Messwert angezeigt wird.

                                      Mit der Parser Testseite komme ich gar nicht klar sonst hätte ich da schon probiert. `

                                      Nur die cm?

                                      Mit dem Parser-Adapter erhaltene Objekte:

                                      327_hochwasser_objekte.jpg

                                      Einstellungen im Parser Adapter:

                                      327_hochwasser_einstellungen.jpg

                                      RegEx 1:

                                      Letzter Messwert: **(.+Uhr)**
                                      ```` **RegEx 2:
                                      

                                      (\d+) cm

                                      Adapter: Fritzbox, Unify Circuit
                                      Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                                      1 Reply Last reply
                                      0
                                      • S Offline
                                        S Offline
                                        stoepselinho
                                        wrote on last edited by
                                        #25

                                        super danke

                                        1 Reply Last reply
                                        0
                                        • D Offline
                                          D Offline
                                          Dice19
                                          wrote on last edited by
                                          #26

                                          HI,

                                          könnte mir jemand bei der Hochwasser Anzeige helfen.

                                          Habe die Daten soweit übernommen und eingetragen.

                                          Habe folgende Seite:

                                          https://www.pegelonline.wsv.de/webservi … ht=einzeln

                                          oder

                                          https://www.pegelonline.wsv.de/gast/sta ... r=48800108

                                          Nur bei mir zeigt er null und null cm an.

                                          Habe von ralalla mal den link zum testen reinkopiert, da klappt es.

                                          Jemand eine Idee wie es mit meiner Seite klappen kann?

                                          Danke

                                          Tobias

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          607

                                          Online

                                          32.4k

                                          Users

                                          81.4k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe