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. Off Topic
  4. Website auslesen/JSON parsen

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    11
    2
    209

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

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

Website auslesen/JSON parsen

Website auslesen/JSON parsen

Scheduled Pinned Locked Moved Off Topic
30 Posts 6 Posters 3.4k Views 5 Watching
  • 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.
  • ? A Former User

    @ianig-iro

    Hi,
    ich hab mal auf die schnelle was zusammen geschrieben, funktioniert hier:

    // Pegelonline script by ilovegym66
    // 
    
    var request = require('request');
    var url = 'https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations/Mainz/W/currentmeasurement.json';
    var timestamp;
    var trend;
    var value;
    var stateMnwMhw;
    var stateNswHsw;
    
    var idtimestamp = '0_userdata.0.Pegelonline.Mainz.timestamp';
    var idtrend = '0_userdata.0.Pegelonline.Mainz.trend';
    var idvalue = '0_userdata.0.Pegelonline.Mainz.value';
    var idstateMnwMhw = '0_userdata.0.Pegelonline.Mainz.stateMnwMhw';
    var idstateNswHsw = '0_userdata.0.Pegelonline.Mainz.stateNswHsw';
    
    createState('0_userdata.0.Pegelonline.Mainz.timestamp', {
        name: 'timestamp',
        });
    
    createState('0_userdata.0.Pegelonline.Mainz.value', {
        name: 'value',
        });
    
    createState('0_userdata.0.Pegelonline.Mainz.trend', {
        name: 'trend',
        });
    
    createState('0_userdata.0.Pegelonline.Mainz.stateMnwMhw', {
        name: 'stateMnwMhw',
        });
    
    createState('0_userdata.0.Pegelonline.Mainz.stateNswHsw', {
        name: 'stateNswHsw',
        });    
    
    
    
    
    function PegelMainz() { 
    request(url, function ( err, state, body){
        if (err) {
            log("Fehler aufgetreten: " + err);
        } else {
        var obj = JSON.parse(body);
        timestamp = obj.timestamp;
        value = obj.value;
        trend = obj.trend;
        stateMnwMhw = obj.stateMnwMhw;
        stateNswHsw = obj.stateNswHsw;
    
        setState(idtimestamp, timestamp);
        setState(idtrend, trend);
        setState(idvalue, value);
        setState(idstateMnwMhw, stateMnwMhw);
        setState(idstateNswHsw, stateNswHsw);
        } 
    });
    }
    
    schedule('*/21 * * * *', PegelMainz);
    
    
    I Offline
    I Offline
    Ianig Iro
    wrote on last edited by
    #10

    @ilovegym Danke, das werde ich aus Interesse auch nochmal testen

    ? 1 Reply Last reply
    0
    • I Ianig Iro

      @ilovegym Danke, das werde ich aus Interesse auch nochmal testen

      ? Offline
      ? Offline
      A Former User
      wrote on last edited by
      #11

      @ianig-iro Gern geschehen, läuft bei mir, hab für jede Station/Ort ein Script, einfach den Ortsnamen ( hier Mainz ) austauschen, geht mit der funktion "change all Occurences" am einfachsten 🙂

      f89f298f-a7b8-43d0-84a5-a096cbf544ed-grafik.png

      1 Reply Last reply
      1
      • ? A Former User

        @ianig-iro

        Hi,
        ich hab mal auf die schnelle was zusammen geschrieben, funktioniert hier:

        // Pegelonline script by ilovegym66
        // 
        
        var request = require('request');
        var url = 'https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations/Mainz/W/currentmeasurement.json';
        var timestamp;
        var trend;
        var value;
        var stateMnwMhw;
        var stateNswHsw;
        
        var idtimestamp = '0_userdata.0.Pegelonline.Mainz.timestamp';
        var idtrend = '0_userdata.0.Pegelonline.Mainz.trend';
        var idvalue = '0_userdata.0.Pegelonline.Mainz.value';
        var idstateMnwMhw = '0_userdata.0.Pegelonline.Mainz.stateMnwMhw';
        var idstateNswHsw = '0_userdata.0.Pegelonline.Mainz.stateNswHsw';
        
        createState('0_userdata.0.Pegelonline.Mainz.timestamp', {
            name: 'timestamp',
            });
        
        createState('0_userdata.0.Pegelonline.Mainz.value', {
            name: 'value',
            });
        
        createState('0_userdata.0.Pegelonline.Mainz.trend', {
            name: 'trend',
            });
        
        createState('0_userdata.0.Pegelonline.Mainz.stateMnwMhw', {
            name: 'stateMnwMhw',
            });
        
        createState('0_userdata.0.Pegelonline.Mainz.stateNswHsw', {
            name: 'stateNswHsw',
            });    
        
        
        
        
        function PegelMainz() { 
        request(url, function ( err, state, body){
            if (err) {
                log("Fehler aufgetreten: " + err);
            } else {
            var obj = JSON.parse(body);
            timestamp = obj.timestamp;
            value = obj.value;
            trend = obj.trend;
            stateMnwMhw = obj.stateMnwMhw;
            stateNswHsw = obj.stateNswHsw;
        
            setState(idtimestamp, timestamp);
            setState(idtrend, trend);
            setState(idvalue, value);
            setState(idstateMnwMhw, stateMnwMhw);
            setState(idstateNswHsw, stateNswHsw);
            } 
        });
        }
        
        schedule('*/21 * * * *', PegelMainz);
        
        
        NegaleinN Offline
        NegaleinN Offline
        Negalein
        Global Moderator
        wrote on last edited by
        #12

        @ilovegym sagte in Website auslesen/JSON parsen:

        ich hab mal auf die schnelle was zusammen geschrieben, funktioniert hier:

        Hi Bernd!

        Würde das auch mit pegelalarm.at funktionieren?

        ° Node.js: 20.17.0 NPM: 10.8.2
        ° Proxmox, Ubuntu 22.04.3 LTS
        ° Fixer ---> iob fix

        1 Reply Last reply
        0
        • ? Offline
          ? Offline
          A Former User
          wrote on last edited by
          #13

          @negalein auf anhieb nicht, da man sich bei deren API anmelden muss.

          NegaleinN 2 Replies Last reply
          0
          • ? A Former User

            @negalein auf anhieb nicht, da man sich bei deren API anmelden muss.

            NegaleinN Offline
            NegaleinN Offline
            Negalein
            Global Moderator
            wrote on last edited by
            #14

            @ilovegym sagte in Website auslesen/JSON parsen:

            auf anhieb nicht, da man sich bei deren API anmelden muss.

            gerade gesehen, dass es 2 APIs gibt.
            Mit 1.1 wird ein Login benötigt, aber mit 1.0 läufts ohne.

            https://api.pegelalarm.at/api/station/1.0/list

            ° Node.js: 20.17.0 NPM: 10.8.2
            ° Proxmox, Ubuntu 22.04.3 LTS
            ° Fixer ---> iob fix

            1 Reply Last reply
            0
            • ? A Former User

              @negalein auf anhieb nicht, da man sich bei deren API anmelden muss.

              NegaleinN Offline
              NegaleinN Offline
              Negalein
              Global Moderator
              wrote on last edited by
              #15

              @ilovegym sagte in Website auslesen/JSON parsen:

              auf anhieb nicht, da man sich bei deren API anmelden muss

              Hallo

              Konntest du mit der API 1.0 was erreichen?

              ° Node.js: 20.17.0 NPM: 10.8.2
              ° Proxmox, Ubuntu 22.04.3 LTS
              ° Fixer ---> iob fix

              ? 1 Reply Last reply
              0
              • NegaleinN Negalein

                @ilovegym sagte in Website auslesen/JSON parsen:

                auf anhieb nicht, da man sich bei deren API anmelden muss

                Hallo

                Konntest du mit der API 1.0 was erreichen?

                ? Offline
                ? Offline
                A Former User
                wrote on last edited by
                #16

                @negalein ja das kannste einfach umsetzen, ich hatte einfach den link mal ausprobiert und da kamen auch die json dabei raus.
                Beispiel:
                https://api.pegelalarm.at/api/station/1.0/list?qStationName=Linz

                und dann schaust du dir die json an und setzt dir die States wie du sie brauchst, also value, trend, etc.

                NegaleinN 1 Reply Last reply
                0
                • ? A Former User

                  @negalein ja das kannste einfach umsetzen, ich hatte einfach den link mal ausprobiert und da kamen auch die json dabei raus.
                  Beispiel:
                  https://api.pegelalarm.at/api/station/1.0/list?qStationName=Linz

                  und dann schaust du dir die json an und setzt dir die States wie du sie brauchst, also value, trend, etc.

                  NegaleinN Offline
                  NegaleinN Offline
                  Negalein
                  Global Moderator
                  wrote on last edited by
                  #17

                  @ilovegym sagte in Website auslesen/JSON parsen:

                  und dann schaust du dir die json an und setzt dir die States wie du sie brauchst, also value, trend, etc.

                  Danke dir!
                  Ich benötige eigentlich nur Zeit und Pegel.

                  Müsste das dann so passen?

                  // Pegelonline script by ilovegym66
                  // 
                   
                  var request = require('request');
                  var url = 'https://api.pegelalarm.at/api/station/1.0/list?qStationName=Sch%C3%A4rding';
                  var sourceDate;
                  // var trend;
                  var value;
                  // var stateMnwMhw;
                  // var stateNswHsw;
                   
                  var idsourceDate = '0_userdata.0.Pegelalarm.Schärding.sourceDate';
                  // var idtrend = '0_userdata.0.Pegelalarm.Schärding.trend';
                  var idvalue = '0_userdata.0.Pegelalarm.Schärding.value';
                  // var idstateMnwMhw = '0_userdata.0.Pegelalarm.Schärding.stateMnwMhw';
                  // var idstateNswHsw = '0_userdata.0.Pegelalarm.Schärding.stateNswHsw';
                   
                  createState('0_userdata.0.Pegelalarm.Schärding.sourceDate', {
                      name: 'sourceDate',
                      });
                   
                  createState('0_userdata.0.Pegelalarm.Schärding.value', {
                      name: 'value',
                      });
                   
                  // createState('0_userdata.0.Pegelalarm.Schärding.trend', {
                  //     name: 'trend',
                  //     });
                   
                  // createState('0_userdata.0.Pegelalarm.Schärding.stateMnwMhw', {
                  //     name: 'stateMnwMhw',
                  //     });
                   
                  // createState('0_userdata.0.Pegelalarm.Schärding.stateNswHsw', {
                  //     name: 'stateNswHsw',
                  //     });    
                   
                   
                   
                   
                  function PegelSchärding() { 
                  request(url, function ( err, state, body){
                      if (err) {
                          log("Fehler aufgetreten: " + err);
                      } else {
                      var obj = JSON.parse(body);
                      sourceDate = obj.sourceDate;
                      value = obj.value;
                  //     trend = obj.trend;
                  //     stateMnwMhw = obj.stateMnwMhw;
                  //     stateNswHsw = obj.stateNswHsw;
                   
                      setState(idsourceDate, sourceDate);
                  //    setState(idtrend, trend);
                      setState(idvalue, value);
                  //    setState(idstateMnwMhw, stateMnwMhw);
                  //    setState(idstateNswHsw, stateNswHsw);
                      } 
                  });
                  }
                   
                  schedule('*/21 * * * *', PegelSchärding);
                  

                  Problem ist, dass in der JSON 2 Stationen sind, ich aber nur 1 benötige!
                  Beide Stationen verwenden requestDate und value.

                  {
                  	"status": {
                  		"code": 200
                  	},
                  	"payload": {
                  		"stations": [
                  			{
                  				"name": "Inn / Schärding / at",
                  				"commonid": "206201-at",
                  				"country": "Österreich",
                  				"stationName": "Schärding",
                  				"water": "Inn",
                  				"region": "Oberösterreich",
                  				"latitude": 48.456197269621,
                  				"longitude": 13.428268065578,
                  				"positionKm": 16.25,
                  				"altitudeM": 299.8,
                  				"defaultWarnValueCm": 520.0,
                  				"defaultWarnValueM3s": 2600.0,
                  				"defaultAlarmValueCm": 580.0,
                  				"defaultAlarmValueM3s": 3700.0,
                  				"data": [
                  					{
                  						"type": "height in cm",
                  						"value": 370.0,
                  						"requestDate": "13.03.2021T11:20:29+0100",
                  						"sourceDate": "13.03.2021T11:00:00+0100"
                  					},
                  					{
                  						"type": "flow in m3s",
                  						"value": 1435.0,
                  						"requestDate": "12.08.2016T09:42:10+0200",
                  						"sourceDate": "12.08.2016T08:00:00+0200"
                  					}
                  				],
                  				"trend": 10,
                  				"situation": 10,
                  				"visibility": "PUBLIC"
                  			},
                  			{
                  				"name": "Inn / Schärding-Neuhaus Ow / de",
                  				"commonid": "18007105-de",
                  				"country": "Deutschland",
                  				"stationName": "Schärding-Neuhaus Ow",
                  				"water": "Inn",
                  				"region": "Bayern",
                  				"latitude": 48.435577724765,
                  				"longitude": 13.440730974464,
                  				"positionKm": 0.0,
                  				"altitudeM": 0.0,
                  				"data": [
                  					{
                  						"type": "height in cm",
                  						"value": 314.9,
                  						"requestDate": "03.08.2016T15:46:12+0200",
                  						"sourceDate": "03.08.2016T15:30:00+0200"
                  					}
                  				],
                  				"trend": 100,
                  				"situation": 100,
                  				"visibility": "PUBLIC"
                  			},
                  			{
                  				"name": "Inn / Schärding-Neuhaus Kw / de",
                  				"commonid": "18007107-de",
                  				"country": "Deutschland",
                  				"stationName": "Schärding-Neuhaus Kw",
                  				"water": "Inn",
                  				"region": "Bayern",
                  				"latitude": 48.435577724765,
                  				"longitude": 13.440730974464,
                  				"positionKm": 18.8,
                  				"altitudeM": 315.17,
                  				"defaultWarnValueM3s": 2000.0,
                  				"data": [
                  					{
                  						"type": "flow in m3s",
                  						"value": 840.0,
                  						"requestDate": "03.08.2016T15:46:12+0200",
                  						"sourceDate": "03.08.2016T15:30:00+0200"
                  					}
                  				],
                  				"trend": -10,
                  				"situation": 10,
                  				"visibility": "PUBLIC"
                  			}
                  		]
                  	}
                  }
                  

                  ° Node.js: 20.17.0 NPM: 10.8.2
                  ° Proxmox, Ubuntu 22.04.3 LTS
                  ° Fixer ---> iob fix

                  NegaleinN paul53P 2 Replies Last reply
                  0
                  • NegaleinN Negalein

                    @ilovegym sagte in Website auslesen/JSON parsen:

                    und dann schaust du dir die json an und setzt dir die States wie du sie brauchst, also value, trend, etc.

                    Danke dir!
                    Ich benötige eigentlich nur Zeit und Pegel.

                    Müsste das dann so passen?

                    // Pegelonline script by ilovegym66
                    // 
                     
                    var request = require('request');
                    var url = 'https://api.pegelalarm.at/api/station/1.0/list?qStationName=Sch%C3%A4rding';
                    var sourceDate;
                    // var trend;
                    var value;
                    // var stateMnwMhw;
                    // var stateNswHsw;
                     
                    var idsourceDate = '0_userdata.0.Pegelalarm.Schärding.sourceDate';
                    // var idtrend = '0_userdata.0.Pegelalarm.Schärding.trend';
                    var idvalue = '0_userdata.0.Pegelalarm.Schärding.value';
                    // var idstateMnwMhw = '0_userdata.0.Pegelalarm.Schärding.stateMnwMhw';
                    // var idstateNswHsw = '0_userdata.0.Pegelalarm.Schärding.stateNswHsw';
                     
                    createState('0_userdata.0.Pegelalarm.Schärding.sourceDate', {
                        name: 'sourceDate',
                        });
                     
                    createState('0_userdata.0.Pegelalarm.Schärding.value', {
                        name: 'value',
                        });
                     
                    // createState('0_userdata.0.Pegelalarm.Schärding.trend', {
                    //     name: 'trend',
                    //     });
                     
                    // createState('0_userdata.0.Pegelalarm.Schärding.stateMnwMhw', {
                    //     name: 'stateMnwMhw',
                    //     });
                     
                    // createState('0_userdata.0.Pegelalarm.Schärding.stateNswHsw', {
                    //     name: 'stateNswHsw',
                    //     });    
                     
                     
                     
                     
                    function PegelSchärding() { 
                    request(url, function ( err, state, body){
                        if (err) {
                            log("Fehler aufgetreten: " + err);
                        } else {
                        var obj = JSON.parse(body);
                        sourceDate = obj.sourceDate;
                        value = obj.value;
                    //     trend = obj.trend;
                    //     stateMnwMhw = obj.stateMnwMhw;
                    //     stateNswHsw = obj.stateNswHsw;
                     
                        setState(idsourceDate, sourceDate);
                    //    setState(idtrend, trend);
                        setState(idvalue, value);
                    //    setState(idstateMnwMhw, stateMnwMhw);
                    //    setState(idstateNswHsw, stateNswHsw);
                        } 
                    });
                    }
                     
                    schedule('*/21 * * * *', PegelSchärding);
                    

                    Problem ist, dass in der JSON 2 Stationen sind, ich aber nur 1 benötige!
                    Beide Stationen verwenden requestDate und value.

                    {
                    	"status": {
                    		"code": 200
                    	},
                    	"payload": {
                    		"stations": [
                    			{
                    				"name": "Inn / Schärding / at",
                    				"commonid": "206201-at",
                    				"country": "Österreich",
                    				"stationName": "Schärding",
                    				"water": "Inn",
                    				"region": "Oberösterreich",
                    				"latitude": 48.456197269621,
                    				"longitude": 13.428268065578,
                    				"positionKm": 16.25,
                    				"altitudeM": 299.8,
                    				"defaultWarnValueCm": 520.0,
                    				"defaultWarnValueM3s": 2600.0,
                    				"defaultAlarmValueCm": 580.0,
                    				"defaultAlarmValueM3s": 3700.0,
                    				"data": [
                    					{
                    						"type": "height in cm",
                    						"value": 370.0,
                    						"requestDate": "13.03.2021T11:20:29+0100",
                    						"sourceDate": "13.03.2021T11:00:00+0100"
                    					},
                    					{
                    						"type": "flow in m3s",
                    						"value": 1435.0,
                    						"requestDate": "12.08.2016T09:42:10+0200",
                    						"sourceDate": "12.08.2016T08:00:00+0200"
                    					}
                    				],
                    				"trend": 10,
                    				"situation": 10,
                    				"visibility": "PUBLIC"
                    			},
                    			{
                    				"name": "Inn / Schärding-Neuhaus Ow / de",
                    				"commonid": "18007105-de",
                    				"country": "Deutschland",
                    				"stationName": "Schärding-Neuhaus Ow",
                    				"water": "Inn",
                    				"region": "Bayern",
                    				"latitude": 48.435577724765,
                    				"longitude": 13.440730974464,
                    				"positionKm": 0.0,
                    				"altitudeM": 0.0,
                    				"data": [
                    					{
                    						"type": "height in cm",
                    						"value": 314.9,
                    						"requestDate": "03.08.2016T15:46:12+0200",
                    						"sourceDate": "03.08.2016T15:30:00+0200"
                    					}
                    				],
                    				"trend": 100,
                    				"situation": 100,
                    				"visibility": "PUBLIC"
                    			},
                    			{
                    				"name": "Inn / Schärding-Neuhaus Kw / de",
                    				"commonid": "18007107-de",
                    				"country": "Deutschland",
                    				"stationName": "Schärding-Neuhaus Kw",
                    				"water": "Inn",
                    				"region": "Bayern",
                    				"latitude": 48.435577724765,
                    				"longitude": 13.440730974464,
                    				"positionKm": 18.8,
                    				"altitudeM": 315.17,
                    				"defaultWarnValueM3s": 2000.0,
                    				"data": [
                    					{
                    						"type": "flow in m3s",
                    						"value": 840.0,
                    						"requestDate": "03.08.2016T15:46:12+0200",
                    						"sourceDate": "03.08.2016T15:30:00+0200"
                    					}
                    				],
                    				"trend": -10,
                    				"situation": 10,
                    				"visibility": "PUBLIC"
                    			}
                    		]
                    	}
                    }
                    
                    NegaleinN Offline
                    NegaleinN Offline
                    Negalein
                    Global Moderator
                    wrote on last edited by
                    #18

                    @ilovegym

                    Müsste das dann so passen?

                    konntest du schon kurz drüberschaun?

                    ° Node.js: 20.17.0 NPM: 10.8.2
                    ° Proxmox, Ubuntu 22.04.3 LTS
                    ° Fixer ---> iob fix

                    1 Reply Last reply
                    0
                    • NegaleinN Negalein

                      @ilovegym sagte in Website auslesen/JSON parsen:

                      und dann schaust du dir die json an und setzt dir die States wie du sie brauchst, also value, trend, etc.

                      Danke dir!
                      Ich benötige eigentlich nur Zeit und Pegel.

                      Müsste das dann so passen?

                      // Pegelonline script by ilovegym66
                      // 
                       
                      var request = require('request');
                      var url = 'https://api.pegelalarm.at/api/station/1.0/list?qStationName=Sch%C3%A4rding';
                      var sourceDate;
                      // var trend;
                      var value;
                      // var stateMnwMhw;
                      // var stateNswHsw;
                       
                      var idsourceDate = '0_userdata.0.Pegelalarm.Schärding.sourceDate';
                      // var idtrend = '0_userdata.0.Pegelalarm.Schärding.trend';
                      var idvalue = '0_userdata.0.Pegelalarm.Schärding.value';
                      // var idstateMnwMhw = '0_userdata.0.Pegelalarm.Schärding.stateMnwMhw';
                      // var idstateNswHsw = '0_userdata.0.Pegelalarm.Schärding.stateNswHsw';
                       
                      createState('0_userdata.0.Pegelalarm.Schärding.sourceDate', {
                          name: 'sourceDate',
                          });
                       
                      createState('0_userdata.0.Pegelalarm.Schärding.value', {
                          name: 'value',
                          });
                       
                      // createState('0_userdata.0.Pegelalarm.Schärding.trend', {
                      //     name: 'trend',
                      //     });
                       
                      // createState('0_userdata.0.Pegelalarm.Schärding.stateMnwMhw', {
                      //     name: 'stateMnwMhw',
                      //     });
                       
                      // createState('0_userdata.0.Pegelalarm.Schärding.stateNswHsw', {
                      //     name: 'stateNswHsw',
                      //     });    
                       
                       
                       
                       
                      function PegelSchärding() { 
                      request(url, function ( err, state, body){
                          if (err) {
                              log("Fehler aufgetreten: " + err);
                          } else {
                          var obj = JSON.parse(body);
                          sourceDate = obj.sourceDate;
                          value = obj.value;
                      //     trend = obj.trend;
                      //     stateMnwMhw = obj.stateMnwMhw;
                      //     stateNswHsw = obj.stateNswHsw;
                       
                          setState(idsourceDate, sourceDate);
                      //    setState(idtrend, trend);
                          setState(idvalue, value);
                      //    setState(idstateMnwMhw, stateMnwMhw);
                      //    setState(idstateNswHsw, stateNswHsw);
                          } 
                      });
                      }
                       
                      schedule('*/21 * * * *', PegelSchärding);
                      

                      Problem ist, dass in der JSON 2 Stationen sind, ich aber nur 1 benötige!
                      Beide Stationen verwenden requestDate und value.

                      {
                      	"status": {
                      		"code": 200
                      	},
                      	"payload": {
                      		"stations": [
                      			{
                      				"name": "Inn / Schärding / at",
                      				"commonid": "206201-at",
                      				"country": "Österreich",
                      				"stationName": "Schärding",
                      				"water": "Inn",
                      				"region": "Oberösterreich",
                      				"latitude": 48.456197269621,
                      				"longitude": 13.428268065578,
                      				"positionKm": 16.25,
                      				"altitudeM": 299.8,
                      				"defaultWarnValueCm": 520.0,
                      				"defaultWarnValueM3s": 2600.0,
                      				"defaultAlarmValueCm": 580.0,
                      				"defaultAlarmValueM3s": 3700.0,
                      				"data": [
                      					{
                      						"type": "height in cm",
                      						"value": 370.0,
                      						"requestDate": "13.03.2021T11:20:29+0100",
                      						"sourceDate": "13.03.2021T11:00:00+0100"
                      					},
                      					{
                      						"type": "flow in m3s",
                      						"value": 1435.0,
                      						"requestDate": "12.08.2016T09:42:10+0200",
                      						"sourceDate": "12.08.2016T08:00:00+0200"
                      					}
                      				],
                      				"trend": 10,
                      				"situation": 10,
                      				"visibility": "PUBLIC"
                      			},
                      			{
                      				"name": "Inn / Schärding-Neuhaus Ow / de",
                      				"commonid": "18007105-de",
                      				"country": "Deutschland",
                      				"stationName": "Schärding-Neuhaus Ow",
                      				"water": "Inn",
                      				"region": "Bayern",
                      				"latitude": 48.435577724765,
                      				"longitude": 13.440730974464,
                      				"positionKm": 0.0,
                      				"altitudeM": 0.0,
                      				"data": [
                      					{
                      						"type": "height in cm",
                      						"value": 314.9,
                      						"requestDate": "03.08.2016T15:46:12+0200",
                      						"sourceDate": "03.08.2016T15:30:00+0200"
                      					}
                      				],
                      				"trend": 100,
                      				"situation": 100,
                      				"visibility": "PUBLIC"
                      			},
                      			{
                      				"name": "Inn / Schärding-Neuhaus Kw / de",
                      				"commonid": "18007107-de",
                      				"country": "Deutschland",
                      				"stationName": "Schärding-Neuhaus Kw",
                      				"water": "Inn",
                      				"region": "Bayern",
                      				"latitude": 48.435577724765,
                      				"longitude": 13.440730974464,
                      				"positionKm": 18.8,
                      				"altitudeM": 315.17,
                      				"defaultWarnValueM3s": 2000.0,
                      				"data": [
                      					{
                      						"type": "flow in m3s",
                      						"value": 840.0,
                      						"requestDate": "03.08.2016T15:46:12+0200",
                      						"sourceDate": "03.08.2016T15:30:00+0200"
                      					}
                      				],
                      				"trend": -10,
                      				"situation": 10,
                      				"visibility": "PUBLIC"
                      			}
                      		]
                      	}
                      }
                      
                      paul53P Offline
                      paul53P Offline
                      paul53
                      wrote on last edited by paul53
                      #19

                      @negalein sagte: in der JSON 2 Stationen sind, ich aber nur 1 benötige!

                      Es sind sogar 3 Stationen. Welche wird benötigt?
                      Den Namen der benötigten Station anpassen:

                      function PegelSchaerding() { 
                          request(url, function(err, state, body) {
                              if (err) {
                                  log("Fehler aufgetreten: " + err);
                              } else {
                                  let stations = JSON.parse(body).payload.stations;
                                  for(let i = 0; i < stations.length; i++) {
                                      if(stations[i].stationName == 'Schärding') { 
                                          let sourceDate = stations[i].data[0].sourceDate;
                                          let value = stations[i].data[0].value;
                                          setState(idsourceDate, sourceDate, true);
                                          setState(idvalue, value, true);
                                          break;
                                      }
                                  }
                              } 
                          });
                      }
                      

                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                      NegaleinN 1 Reply Last reply
                      0
                      • paul53P paul53

                        @negalein sagte: in der JSON 2 Stationen sind, ich aber nur 1 benötige!

                        Es sind sogar 3 Stationen. Welche wird benötigt?
                        Den Namen der benötigten Station anpassen:

                        function PegelSchaerding() { 
                            request(url, function(err, state, body) {
                                if (err) {
                                    log("Fehler aufgetreten: " + err);
                                } else {
                                    let stations = JSON.parse(body).payload.stations;
                                    for(let i = 0; i < stations.length; i++) {
                                        if(stations[i].stationName == 'Schärding') { 
                                            let sourceDate = stations[i].data[0].sourceDate;
                                            let value = stations[i].data[0].value;
                                            setState(idsourceDate, sourceDate, true);
                                            setState(idvalue, value, true);
                                            break;
                                        }
                                    }
                                } 
                            });
                        }
                        
                        NegaleinN Offline
                        NegaleinN Offline
                        Negalein
                        Global Moderator
                        wrote on last edited by
                        #20

                        @paul53 sagte in Website auslesen/JSON parsen:

                        Es sind sogar 3 Stationen. Welche wird benötigt?
                        Den Namen der benötigten Station anpassen:

                        Danke

                        Ja, Schärding wird benötigt.
                        Also auch wenn im JSON mit ä geschrieben, muss es im Script mit ae sein?

                        ° Node.js: 20.17.0 NPM: 10.8.2
                        ° Proxmox, Ubuntu 22.04.3 LTS
                        ° Fixer ---> iob fix

                        paul53P ? 2 Replies Last reply
                        0
                        • NegaleinN Negalein

                          @paul53 sagte in Website auslesen/JSON parsen:

                          Es sind sogar 3 Stationen. Welche wird benötigt?
                          Den Namen der benötigten Station anpassen:

                          Danke

                          Ja, Schärding wird benötigt.
                          Also auch wenn im JSON mit ä geschrieben, muss es im Script mit ae sein?

                          paul53P Offline
                          paul53P Offline
                          paul53
                          wrote on last edited by
                          #21

                          @negalein sagte: muss es im Script mit ae sein?

                          Ich habe nur den Funktionsbezeichner geändert, da ich in Bezeichnern Umlaute vermeide. Es funktioniert wahrscheinlich auch mit "ä".
                          Der Stationsname muss mit "ä" geschrieben werden wie im JSON.

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          1 Reply Last reply
                          0
                          • NegaleinN Negalein

                            @paul53 sagte in Website auslesen/JSON parsen:

                            Es sind sogar 3 Stationen. Welche wird benötigt?
                            Den Namen der benötigten Station anpassen:

                            Danke

                            Ja, Schärding wird benötigt.
                            Also auch wenn im JSON mit ä geschrieben, muss es im Script mit ae sein?

                            ? Offline
                            ? Offline
                            A Former User
                            wrote on last edited by
                            #22

                            @negalein Hi, hatte noch keine Zeit, aber so wie @paul53 schreibt muesste es passen.

                            Umlaute so, wie es die json hergibt.

                            1 Reply Last reply
                            0
                            • NegaleinN Offline
                              NegaleinN Offline
                              Negalein
                              Global Moderator
                              wrote on last edited by
                              #23

                              @paul53

                              habe es nun so

                              // Pegelonline script by ilovegym66
                              // 
                               
                              var request = require('request');
                              var url = 'https://api.pegelalarm.at/api/station/1.0/list?qStationName=Schärding';
                              var sourceDate;
                              // var trend;
                              var value;
                              // var stateMnwMhw;
                              // var stateNswHsw;
                               
                              var idsourceDate = '0_userdata.0.Pegelalarm.Schaerding.sourceDate';
                              // var idtrend = '0_userdata.0.Pegelalarm.Schärding.trend';
                              var idvalue = '0_userdata.0.Pegelalarm.Schaerding.value';
                              // var idstateMnwMhw = '0_userdata.0.Pegelalarm.Schärding.stateMnwMhw';
                              // var idstateNswHsw = '0_userdata.0.Pegelalarm.Schärding.stateNswHsw';
                               
                              createState('0_userdata.0.Pegelalarm.Schaerding.sourceDate', {
                                  name: 'sourceDate',
                                  });
                               
                              createState('0_userdata.0.Pegelalarm.Schaerding.value', {
                                  name: 'value',
                                  });
                               
                              // createState('0_userdata.0.Pegelalarm.Schärding.trend', {
                              //     name: 'trend',
                              //     });
                               
                              // createState('0_userdata.0.Pegelalarm.Schärding.stateMnwMhw', {
                              //     name: 'stateMnwMhw',
                              //     });
                               
                              // createState('0_userdata.0.Pegelalarm.Schärding.stateNswHsw', {
                              //     name: 'stateNswHsw',
                              //     });    
                               
                               
                               
                               
                              function PegelSchaerding() { 
                              request(url, function ( err, state, body){
                                  if (err) {
                                      log("Fehler aufgetreten: " + err);
                                  } else {
                                  var obj = JSON.parse(body);
                                  sourceDate = obj.sourceDate;
                                  value = obj.value;
                              //     trend = obj.trend;
                              //     stateMnwMhw = obj.stateMnwMhw;
                              //     stateNswHsw = obj.stateNswHsw;
                               
                                  setState(idsourceDate, sourceDate);
                              //    setState(idtrend, trend);
                                  setState(idvalue, value);
                              //    setState(idstateMnwMhw, stateMnwMhw);
                              //    setState(idstateNswHsw, stateNswHsw);
                                  } 
                              });
                              }
                               
                              schedule('*/21 * * * *', PegelSchaerding);
                              

                              Aber auch nach den 21 Minuten lt. Schedule steht nichts in den beiden DP 0_userdata.0.Pegelalarm.Schaerding.sourceDate und 0_userdata.0.Pegelalarm.Schaerding.value.

                              Könntest du es bei dir testen?

                              ° Node.js: 20.17.0 NPM: 10.8.2
                              ° Proxmox, Ubuntu 22.04.3 LTS
                              ° Fixer ---> iob fix

                              paul53P 1 Reply Last reply
                              0
                              • NegaleinN Negalein

                                @paul53

                                habe es nun so

                                // Pegelonline script by ilovegym66
                                // 
                                 
                                var request = require('request');
                                var url = 'https://api.pegelalarm.at/api/station/1.0/list?qStationName=Schärding';
                                var sourceDate;
                                // var trend;
                                var value;
                                // var stateMnwMhw;
                                // var stateNswHsw;
                                 
                                var idsourceDate = '0_userdata.0.Pegelalarm.Schaerding.sourceDate';
                                // var idtrend = '0_userdata.0.Pegelalarm.Schärding.trend';
                                var idvalue = '0_userdata.0.Pegelalarm.Schaerding.value';
                                // var idstateMnwMhw = '0_userdata.0.Pegelalarm.Schärding.stateMnwMhw';
                                // var idstateNswHsw = '0_userdata.0.Pegelalarm.Schärding.stateNswHsw';
                                 
                                createState('0_userdata.0.Pegelalarm.Schaerding.sourceDate', {
                                    name: 'sourceDate',
                                    });
                                 
                                createState('0_userdata.0.Pegelalarm.Schaerding.value', {
                                    name: 'value',
                                    });
                                 
                                // createState('0_userdata.0.Pegelalarm.Schärding.trend', {
                                //     name: 'trend',
                                //     });
                                 
                                // createState('0_userdata.0.Pegelalarm.Schärding.stateMnwMhw', {
                                //     name: 'stateMnwMhw',
                                //     });
                                 
                                // createState('0_userdata.0.Pegelalarm.Schärding.stateNswHsw', {
                                //     name: 'stateNswHsw',
                                //     });    
                                 
                                 
                                 
                                 
                                function PegelSchaerding() { 
                                request(url, function ( err, state, body){
                                    if (err) {
                                        log("Fehler aufgetreten: " + err);
                                    } else {
                                    var obj = JSON.parse(body);
                                    sourceDate = obj.sourceDate;
                                    value = obj.value;
                                //     trend = obj.trend;
                                //     stateMnwMhw = obj.stateMnwMhw;
                                //     stateNswHsw = obj.stateNswHsw;
                                 
                                    setState(idsourceDate, sourceDate);
                                //    setState(idtrend, trend);
                                    setState(idvalue, value);
                                //    setState(idstateMnwMhw, stateMnwMhw);
                                //    setState(idstateNswHsw, stateNswHsw);
                                    } 
                                });
                                }
                                 
                                schedule('*/21 * * * *', PegelSchaerding);
                                

                                Aber auch nach den 21 Minuten lt. Schedule steht nichts in den beiden DP 0_userdata.0.Pegelalarm.Schaerding.sourceDate und 0_userdata.0.Pegelalarm.Schaerding.value.

                                Könntest du es bei dir testen?

                                paul53P Offline
                                paul53P Offline
                                paul53
                                wrote on last edited by paul53
                                #24

                                @negalein sagte: Könntest du es bei dir testen?

                                Ich habe es mit dieser URL erfolgreich getestet:

                                var url = 'https://api.pegelalarm.at/api/station/1.0/list?qStationName=Sch%C3%A4rding';
                                

                                Mit log() anstelle von setState():

                                18:21:09.169	info	javascript.0 (1916) script.js.common.Neuer_Test: 24.03.2021T17:30:00+0100
                                18:21:09.169	info	javascript.0 (1916) script.js.common.Neuer_Test: 361
                                

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                NegaleinN 1 Reply Last reply
                                0
                                • paul53P paul53

                                  @negalein sagte: Könntest du es bei dir testen?

                                  Ich habe es mit dieser URL erfolgreich getestet:

                                  var url = 'https://api.pegelalarm.at/api/station/1.0/list?qStationName=Sch%C3%A4rding';
                                  

                                  Mit log() anstelle von setState():

                                  18:21:09.169	info	javascript.0 (1916) script.js.common.Neuer_Test: 24.03.2021T17:30:00+0100
                                  18:21:09.169	info	javascript.0 (1916) script.js.common.Neuer_Test: 361
                                  
                                  NegaleinN Offline
                                  NegaleinN Offline
                                  Negalein
                                  Global Moderator
                                  wrote on last edited by
                                  #25

                                  @paul53 sagte in Website auslesen/JSON parsen:

                                  Ich habe es mit dieser URL erfolgreich getestet:

                                  Ich bekomme keine Daten

                                  Egal ob ich https://api.pegelalarm.at/api/station/1.0/list?qStationName=Sch%C3%A4rding oder https://api.pegelalarm.at/api/station/1.0/list?qStationName=Sch%C3%A4rding verwende.

                                  So schaut das Script aus.

                                  // Pegelonline script by ilovegym66
                                  // 
                                   
                                  var request = require('request');
                                  var url = 'https://api.pegelalarm.at/api/station/1.0/list?qStationName=Sch%C3%A4rding';
                                  var sourceDate;
                                  // var trend;
                                  var value;
                                  // var stateMnwMhw;
                                  // var stateNswHsw;
                                   
                                  var idsourceDate = '0_userdata.0.Pegelalarm.Schaerding.sourceDate';
                                  // var idtrend = '0_userdata.0.Pegelalarm.Schärding.trend';
                                  var idvalue = '0_userdata.0.Pegelalarm.Schaerding.value';
                                  // var idstateMnwMhw = '0_userdata.0.Pegelalarm.Schärding.stateMnwMhw';
                                  // var idstateNswHsw = '0_userdata.0.Pegelalarm.Schärding.stateNswHsw';
                                   
                                  createState('0_userdata.0.Pegelalarm.Schaerding.sourceDate', {
                                      name: 'sourceDate',
                                      });
                                   
                                  createState('0_userdata.0.Pegelalarm.Schaerding.value', {
                                      name: 'value',
                                      });
                                   
                                  // createState('0_userdata.0.Pegelalarm.Schärding.trend', {
                                  //     name: 'trend',
                                  //     });
                                   
                                  // createState('0_userdata.0.Pegelalarm.Schärding.stateMnwMhw', {
                                  //     name: 'stateMnwMhw',
                                  //     });
                                   
                                  // createState('0_userdata.0.Pegelalarm.Schärding.stateNswHsw', {
                                  //     name: 'stateNswHsw',
                                  //     });    
                                   
                                   
                                   
                                   
                                  function PegelSchaerding() { 
                                  request(url, function ( err, state, body){
                                      if (err) {
                                          log("Fehler aufgetreten: " + err);
                                      } else {
                                      var obj = JSON.parse(body);
                                      sourceDate = obj.sourceDate;
                                      value = obj.value;
                                  //     trend = obj.trend;
                                  //     stateMnwMhw = obj.stateMnwMhw;
                                  //     stateNswHsw = obj.stateNswHsw;
                                   
                                      setState(idsourceDate, sourceDate);
                                  //    setState(idtrend, trend);
                                      setState(idvalue, value);
                                  //    setState(idstateMnwMhw, stateMnwMhw);
                                  //    setState(idstateNswHsw, stateNswHsw);
                                      } 
                                  });
                                  }
                                   
                                  schedule('*/21 * * * *', PegelSchaerding);
                                  

                                  Siehst du noch wo einen Fehler?

                                  ° Node.js: 20.17.0 NPM: 10.8.2
                                  ° Proxmox, Ubuntu 22.04.3 LTS
                                  ° Fixer ---> iob fix

                                  paul53P 1 Reply Last reply
                                  0
                                  • NegaleinN Negalein

                                    @paul53 sagte in Website auslesen/JSON parsen:

                                    Ich habe es mit dieser URL erfolgreich getestet:

                                    Ich bekomme keine Daten

                                    Egal ob ich https://api.pegelalarm.at/api/station/1.0/list?qStationName=Sch%C3%A4rding oder https://api.pegelalarm.at/api/station/1.0/list?qStationName=Sch%C3%A4rding verwende.

                                    So schaut das Script aus.

                                    // Pegelonline script by ilovegym66
                                    // 
                                     
                                    var request = require('request');
                                    var url = 'https://api.pegelalarm.at/api/station/1.0/list?qStationName=Sch%C3%A4rding';
                                    var sourceDate;
                                    // var trend;
                                    var value;
                                    // var stateMnwMhw;
                                    // var stateNswHsw;
                                     
                                    var idsourceDate = '0_userdata.0.Pegelalarm.Schaerding.sourceDate';
                                    // var idtrend = '0_userdata.0.Pegelalarm.Schärding.trend';
                                    var idvalue = '0_userdata.0.Pegelalarm.Schaerding.value';
                                    // var idstateMnwMhw = '0_userdata.0.Pegelalarm.Schärding.stateMnwMhw';
                                    // var idstateNswHsw = '0_userdata.0.Pegelalarm.Schärding.stateNswHsw';
                                     
                                    createState('0_userdata.0.Pegelalarm.Schaerding.sourceDate', {
                                        name: 'sourceDate',
                                        });
                                     
                                    createState('0_userdata.0.Pegelalarm.Schaerding.value', {
                                        name: 'value',
                                        });
                                     
                                    // createState('0_userdata.0.Pegelalarm.Schärding.trend', {
                                    //     name: 'trend',
                                    //     });
                                     
                                    // createState('0_userdata.0.Pegelalarm.Schärding.stateMnwMhw', {
                                    //     name: 'stateMnwMhw',
                                    //     });
                                     
                                    // createState('0_userdata.0.Pegelalarm.Schärding.stateNswHsw', {
                                    //     name: 'stateNswHsw',
                                    //     });    
                                     
                                     
                                     
                                     
                                    function PegelSchaerding() { 
                                    request(url, function ( err, state, body){
                                        if (err) {
                                            log("Fehler aufgetreten: " + err);
                                        } else {
                                        var obj = JSON.parse(body);
                                        sourceDate = obj.sourceDate;
                                        value = obj.value;
                                    //     trend = obj.trend;
                                    //     stateMnwMhw = obj.stateMnwMhw;
                                    //     stateNswHsw = obj.stateNswHsw;
                                     
                                        setState(idsourceDate, sourceDate);
                                    //    setState(idtrend, trend);
                                        setState(idvalue, value);
                                    //    setState(idstateMnwMhw, stateMnwMhw);
                                    //    setState(idstateNswHsw, stateNswHsw);
                                        } 
                                    });
                                    }
                                     
                                    schedule('*/21 * * * *', PegelSchaerding);
                                    

                                    Siehst du noch wo einen Fehler?

                                    paul53P Offline
                                    paul53P Offline
                                    paul53
                                    wrote on last edited by
                                    #26

                                    @negalein sagte: Siehst du noch wo einen Fehler?

                                    Die Funktion, die ich gepostet habe, sieht ganz anders aus.
                                    Versuche es damit:

                                    const url = 'https://api.pegelalarm.at/api/station/1.0/list?qStationName=Sch%C3%A4rding';
                                    const idsourceDate = '0_userdata.0.Pegelalarm.Schaerding.sourceDate';
                                    const idvalue = '0_userdata.0.Pegelalarm.Schaerding.value';
                                    
                                    function PegelSchaerding() { 
                                        request(url, function(err, state, body) {
                                            if (err) {
                                                log("Fehler aufgetreten: " + err);
                                            } else {
                                                let stations = JSON.parse(body).payload.stations;
                                                for(let i = 0; i < stations.length; i++) {
                                                    if(stations[i].stationName == 'Schärding') { 
                                                        let sourceDate = stations[i].data[0].sourceDate;
                                                        let value = stations[i].data[0].value;
                                                        setState(idsourceDate, sourceDate, true);
                                                        setState(idvalue, value, true);
                                                        break;
                                                    }
                                                }
                                            } 
                                        });
                                    }
                                    
                                    schedule('*/21 * * * *', PegelSchaerding);
                                    

                                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                    NegaleinN 2 Replies Last reply
                                    1
                                    • paul53P paul53

                                      @negalein sagte: Siehst du noch wo einen Fehler?

                                      Die Funktion, die ich gepostet habe, sieht ganz anders aus.
                                      Versuche es damit:

                                      const url = 'https://api.pegelalarm.at/api/station/1.0/list?qStationName=Sch%C3%A4rding';
                                      const idsourceDate = '0_userdata.0.Pegelalarm.Schaerding.sourceDate';
                                      const idvalue = '0_userdata.0.Pegelalarm.Schaerding.value';
                                      
                                      function PegelSchaerding() { 
                                          request(url, function(err, state, body) {
                                              if (err) {
                                                  log("Fehler aufgetreten: " + err);
                                              } else {
                                                  let stations = JSON.parse(body).payload.stations;
                                                  for(let i = 0; i < stations.length; i++) {
                                                      if(stations[i].stationName == 'Schärding') { 
                                                          let sourceDate = stations[i].data[0].sourceDate;
                                                          let value = stations[i].data[0].value;
                                                          setState(idsourceDate, sourceDate, true);
                                                          setState(idvalue, value, true);
                                                          break;
                                                      }
                                                  }
                                              } 
                                          });
                                      }
                                      
                                      schedule('*/21 * * * *', PegelSchaerding);
                                      
                                      NegaleinN Offline
                                      NegaleinN Offline
                                      Negalein
                                      Global Moderator
                                      wrote on last edited by
                                      #27

                                      @paul53 sagte in Website auslesen/JSON parsen:

                                      Versuche es damit:

                                      Danke, damit hats funktioniert! 🙂

                                      ° Node.js: 20.17.0 NPM: 10.8.2
                                      ° Proxmox, Ubuntu 22.04.3 LTS
                                      ° Fixer ---> iob fix

                                      1 Reply Last reply
                                      0
                                      • paul53P paul53

                                        @negalein sagte: Siehst du noch wo einen Fehler?

                                        Die Funktion, die ich gepostet habe, sieht ganz anders aus.
                                        Versuche es damit:

                                        const url = 'https://api.pegelalarm.at/api/station/1.0/list?qStationName=Sch%C3%A4rding';
                                        const idsourceDate = '0_userdata.0.Pegelalarm.Schaerding.sourceDate';
                                        const idvalue = '0_userdata.0.Pegelalarm.Schaerding.value';
                                        
                                        function PegelSchaerding() { 
                                            request(url, function(err, state, body) {
                                                if (err) {
                                                    log("Fehler aufgetreten: " + err);
                                                } else {
                                                    let stations = JSON.parse(body).payload.stations;
                                                    for(let i = 0; i < stations.length; i++) {
                                                        if(stations[i].stationName == 'Schärding') { 
                                                            let sourceDate = stations[i].data[0].sourceDate;
                                                            let value = stations[i].data[0].value;
                                                            setState(idsourceDate, sourceDate, true);
                                                            setState(idvalue, value, true);
                                                            break;
                                                        }
                                                    }
                                                } 
                                            });
                                        }
                                        
                                        schedule('*/21 * * * *', PegelSchaerding);
                                        
                                        NegaleinN Offline
                                        NegaleinN Offline
                                        Negalein
                                        Global Moderator
                                        wrote on last edited by
                                        #28

                                        @paul53 sagte in Website auslesen/JSON parsen:

                                        Die Funktion, die ich gepostet habe,

                                        Noch eine Frage.
                                        Wenn ich mehrere Messstellen abfragen möchte, ist es dann besser für jede Messstelle ein eigenes Script, oder kann man in dem bestehendem mehrere einfügen?

                                        Es ginge noch um diese zusätzlichen Messstellen.
                                        https://api.pegelalarm.at/api/station/1.0/list?qStationName=Pramerdorf
                                        https://api.pegelalarm.at/api/station/1.0/list?qStationName=Passau%20Ingling
                                        https://api.pegelalarm.at/api/station/1.0/list?qStationName=Passau%20Marienbr%C3%BCcke

                                        ° Node.js: 20.17.0 NPM: 10.8.2
                                        ° Proxmox, Ubuntu 22.04.3 LTS
                                        ° Fixer ---> iob fix

                                        paul53P 1 Reply Last reply
                                        0
                                        • NegaleinN Negalein

                                          @paul53 sagte in Website auslesen/JSON parsen:

                                          Die Funktion, die ich gepostet habe,

                                          Noch eine Frage.
                                          Wenn ich mehrere Messstellen abfragen möchte, ist es dann besser für jede Messstelle ein eigenes Script, oder kann man in dem bestehendem mehrere einfügen?

                                          Es ginge noch um diese zusätzlichen Messstellen.
                                          https://api.pegelalarm.at/api/station/1.0/list?qStationName=Pramerdorf
                                          https://api.pegelalarm.at/api/station/1.0/list?qStationName=Passau%20Ingling
                                          https://api.pegelalarm.at/api/station/1.0/list?qStationName=Passau%20Marienbr%C3%BCcke

                                          paul53P Offline
                                          paul53P Offline
                                          paul53
                                          wrote on last edited by
                                          #29

                                          @negalein sagte: kann man in dem bestehendem mehrere einfügen?

                                          Man kann das Skript um mehrere Messstellen erweitern. Gibt es zeitliche Einschränkungen beim Zugriff auf die API?

                                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                          NegaleinN 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

                                          98

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          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