Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Daten aus einer URL in eine Variable schreiben

    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

    Daten aus einer URL in eine Variable schreiben

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

      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 Reply Quote 0
      • P
        pix last edited by

        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
        1 Reply Last reply Reply Quote 0
        • S
          stoepselinho last edited by

          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 Reply Quote 0
          • S
            stoepselinho last edited by

            keine Idee wie man an den zweiten Wert kommt?

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

              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 Reply Quote 0
              • Bluefox
                Bluefox last edited by

                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 Reply Quote 0
                • S
                  stoepselinho last edited by

                  @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 Reply Quote 0
                  • M
                    moebius last edited by

                    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 Reply Quote 0
                    • P
                      pix last edited by

                      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

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

                        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 Reply Quote 0
                        • P
                          pix last edited by

                          Super gelöst! Danke fürs Feedback.

                          1 Reply Last reply Reply Quote 0
                          • R
                            ralalla last edited by

                            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.

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

                              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 Reply Quote 0
                              • ruhr70
                                ruhr70 last edited by

                                @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
                                
                                
                                1 Reply Last reply Reply Quote 0
                                • ruhr70
                                  ruhr70 last edited by

                                  @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

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

                                    super danke

                                    1 Reply Last reply Reply Quote 0
                                    • D
                                      Dice19 last edited by

                                      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 Reply Quote 0
                                      • frankjoke
                                        frankjoke last edited by

                                        Hallo mitsamt!

                                        Der Systeminfo-Adapter kann das und noch viel mehr! Er kann Webseiten laden und mittels Text, RegExp oder jQuery bearbeiten!

                                        1 Reply Last reply Reply Quote 0
                                        • R
                                          ralalla last edited by

                                          Danke ruhr70, so funktioniert es. (Besser später als nie bendanken 😉 )

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          749
                                          Online

                                          31.7k
                                          Users

                                          79.9k
                                          Topics

                                          1.3m
                                          Posts

                                          11
                                          28
                                          4568
                                          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