Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. daten über REST Schnittstelle lesen

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    709

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    5.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

daten über REST Schnittstelle lesen

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
84 Beiträge 3 Kommentatoren 4.4k Aufrufe 2 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • paul53P paul53

    @ben1983 sagte: wie Du in der Doku darauf gekommen bist?

    REST-API.JPG

    Ben1983B Offline
    Ben1983B Offline
    Ben1983
    schrieb am zuletzt editiert von
    #24

    @paul53 kann man so auch Daten schreiben?

    1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @ben1983 sagte: wie Du in der Doku darauf gekommen bist?

      REST-API.JPG

      Ben1983B Offline
      Ben1983B Offline
      Ben1983
      schrieb am zuletzt editiert von Ben1983
      #25

      @paul53 Würde mir gerne hierzu ne Struktur erstellen,
      Welche Folgendes enthält:
      DeviceId
      Parameter 1,Parameter2....
      IDParameter1,IdParameter2...

      Geht das vielleicht irgendwie so:

      Let Device = { „ID“: 45, „Parameter“:[„abc“,“def“],“IdPara“:[„a“,“b“]};
      
      

      ???

      paul53P 1 Antwort Letzte Antwort
      0
      • Ben1983B Ben1983

        @paul53 Würde mir gerne hierzu ne Struktur erstellen,
        Welche Folgendes enthält:
        DeviceId
        Parameter 1,Parameter2....
        IDParameter1,IdParameter2...

        Geht das vielleicht irgendwie so:

        Let Device = { „ID“: 45, „Parameter“:[„abc“,“def“],“IdPara“:[„a“,“b“]};
        
        

        ???

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von paul53
        #26

        @ben1983 sagte: Würde mir gerne hierzu ne Struktur erstellen

        Was willst Du damit machen? Woher sollen die Parameter kommen?

        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

        Ben1983B 3 Antworten Letzte Antwort
        0
        • paul53P paul53

          @ben1983 sagte: Würde mir gerne hierzu ne Struktur erstellen

          Was willst Du damit machen? Woher sollen die Parameter kommen?

          Ben1983B Offline
          Ben1983B Offline
          Ben1983
          schrieb am zuletzt editiert von
          #27

          @paul53 die Parameter, bzw. Die Springs zum lesen der Daten würde ich mir vorher auslesen.
          Dann würde ich gerne in einer for Schleife die devices durchlaufen und die Parameter auslesen und in ids schreiben.

          1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @ben1983 sagte: Würde mir gerne hierzu ne Struktur erstellen

            Was willst Du damit machen? Woher sollen die Parameter kommen?

            Ben1983B Offline
            Ben1983B Offline
            Ben1983
            schrieb am zuletzt editiert von
            #28

            @paul53 Habe es jetzt so realisiert, funktioniert top.

            let Device = [];
            let i = 0;
            // Talstraße 1A Messgruppe 1
            Device[i] = {'ID':'27','Value':[{"Name":"PowerActive","Type":"SUM13","InternalId":IdWirkleistungGesamt}]};
            i = i + 1;
            
            // Talstraße 1A Messgruppe 2
            Device[i] = {'ID':'28','Value':[{"Name":"PowerActive","Type":"Input05","InternalId":IdWirkleistungGarageII},
                                            {"Name":"PowerActive","Type":"Input06","InternalId":IdWirkleistungPv},
                                            {"Name":"PowerActive","Type":"Input07","InternalId":IdWirkleistungGarageI},
                                            {"Name":"PowerActive","Type":"Input08","InternalId":IdWirkleistungAussensteckdosen}]};
            i = i + 1;
            
                Device.forEach(function (MyDevice)
                {
                    let DeviceID = MyDevice.ID;
                    MyDevice.Value.forEach(function (MyValue)
                    {
                        const url = 'http://localhost:8080/rest/1/projects/EnergieMonitoring/onlinevalues?value=' + DeviceID + ';' + MyValue.Name + ';' + MyValue.Type;
                        request(url, function(error, response, result)
                        {
                            if(error)
                            {
                                log(error, 'warn');
                            }
                            else
                            {
                                let value = JSON.parse(result).value;
                                value = Math.round(value[DeviceID + '.' + MyValue.Name + '.' + MyValue.Type]);
                                setState(MyValue.InternalId,value);
                            }
                        });
                    });
                });
            
            1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @ben1983 sagte: Würde mir gerne hierzu ne Struktur erstellen

              Was willst Du damit machen? Woher sollen die Parameter kommen?

              Ben1983B Offline
              Ben1983B Offline
              Ben1983
              schrieb am zuletzt editiert von
              #29

              @paul53 die historischen Daten bekomme ich als XML zurück.
              Gibts da auch ne gute Pars Methode?

              paul53P 1 Antwort Letzte Antwort
              0
              • Ben1983B Ben1983

                @paul53 die historischen Daten bekomme ich als XML zurück.
                Gibts da auch ne gute Pars Methode?

                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #30

                @ben1983 sagte: XML zurück. Gibts da auch ne gute Pars Methode?

                Es gibt das NPM-Modul xml2js, das man in die Konfiguration der Javascript-Instanz eintragen muss, damit es für Javascript installiert wird.

                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

                Ben1983B 1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @ben1983 sagte: XML zurück. Gibts da auch ne gute Pars Methode?

                  Es gibt das NPM-Modul xml2js, das man in die Konfiguration der Javascript-Instanz eintragen muss, damit es für Javascript installiert wird.

                  Ben1983B Offline
                  Ben1983B Offline
                  Ben1983
                  schrieb am zuletzt editiert von
                  #31

                  @paul53 Oh man, warum gibt man jetzt die einen daten so aus, die anderen so... naja hat vielleicht nen guten Hintergrund, aber dann belasse ich es erst mal bei den online werten.

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • Ben1983B Ben1983

                    @paul53 Oh man, warum gibt man jetzt die einen daten so aus, die anderen so... naja hat vielleicht nen guten Hintergrund, aber dann belasse ich es erst mal bei den online werten.

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #32

                    @ben1983 sagte: warum gibt man jetzt die einen daten so aus, die anderen so...

                    Kann man nicht mittels /.json die Ausgabe als JSON veranlassen?

                    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

                    Ben1983B 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @ben1983 sagte: warum gibt man jetzt die einen daten so aus, die anderen so...

                      Kann man nicht mittels /.json die Ausgabe als JSON veranlassen?

                      Ben1983B Offline
                      Ben1983B Offline
                      Ben1983
                      schrieb am zuletzt editiert von
                      #33

                      @paul53

                      Bei der Eingabe:

                      const url = 'http://localhost:8080/rest/1/projects/EnergieMonitoring/devices/45/hist/energy/ActiveEnergyConsumed/SUM13?start=NAMED_LastMonth&end=NAMED_LastMonth/.json'
                      
                      

                      Erscheint:

                      3548) script.js.common.GridVis: <?xml version="1.0" encoding="UTF-8" standalone="yes"?><energy><endTime>1622498399999000000</endTime><energy>278104.0</energy><startTime>1619820000000000000</startTim
                      

                      Bei:

                      const url = 'http://localhost:8080/rest/1/projects/EnergieMonitoring/devices/45/hist/energy/ActiveEnergyConsumed/SUM13?start=NAMED_LastMonth&end=NAMED_LastMonth/.json'
                      
                      

                      Erscheint:

                      3548) script.js.common.GridVis: RestDateException:Convert failed for format NAMED:No enum constant de.janitza.pasw.device.core.api.tools.StartEndPoints.LastMonth/.json
                      
                      paul53P 1 Antwort Letzte Antwort
                      0
                      • Ben1983B Ben1983

                        @paul53

                        Bei der Eingabe:

                        const url = 'http://localhost:8080/rest/1/projects/EnergieMonitoring/devices/45/hist/energy/ActiveEnergyConsumed/SUM13?start=NAMED_LastMonth&end=NAMED_LastMonth/.json'
                        
                        

                        Erscheint:

                        3548) script.js.common.GridVis: <?xml version="1.0" encoding="UTF-8" standalone="yes"?><energy><endTime>1622498399999000000</endTime><energy>278104.0</energy><startTime>1619820000000000000</startTim
                        

                        Bei:

                        const url = 'http://localhost:8080/rest/1/projects/EnergieMonitoring/devices/45/hist/energy/ActiveEnergyConsumed/SUM13?start=NAMED_LastMonth&end=NAMED_LastMonth/.json'
                        
                        

                        Erscheint:

                        3548) script.js.common.GridVis: RestDateException:Convert failed for format NAMED:No enum constant de.janitza.pasw.device.core.api.tools.StartEndPoints.LastMonth/.json
                        
                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #34

                        @ben1983 Versuche mal

                        const url = 'http://localhost:8080/rest/1/projects/EnergieMonitoring/devices/45/hist/energy/ActiveEnergyConsumed/SUM13/.json?start=NAMED_LastMonth&end=NAMED_LastMonth';
                        

                        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

                        Ben1983B 2 Antworten Letzte Antwort
                        0
                        • paul53P paul53

                          @ben1983 Versuche mal

                          const url = 'http://localhost:8080/rest/1/projects/EnergieMonitoring/devices/45/hist/energy/ActiveEnergyConsumed/SUM13/.json?start=NAMED_LastMonth&end=NAMED_LastMonth';
                          
                          Ben1983B Offline
                          Ben1983B Offline
                          Ben1983
                          schrieb am zuletzt editiert von Ben1983
                          #35

                          @paul53 danke.
                          Genial, scheint zu funktionieren

                          Habe jetzt meine Anfrage der onlinewerte auch so gemacht, um es einheitlich zu haben.

                          
                          const url = 'http://localhost:8080/rest/1/projects/EnergieMonitoring/onlinevalues/.json?value=' + DeviceID + ';' + MyValue.Name + ';' + MyValue.Type;
                          
                          
                          1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @ben1983 Versuche mal

                            const url = 'http://localhost:8080/rest/1/projects/EnergieMonitoring/devices/45/hist/energy/ActiveEnergyConsumed/SUM13/.json?start=NAMED_LastMonth&end=NAMED_LastMonth';
                            
                            Ben1983B Offline
                            Ben1983B Offline
                            Ben1983
                            schrieb am zuletzt editiert von Ben1983
                            #36

                            @paul53 stehe grad auf den sxhlauch, wie ich an den enegy wert kommen soll.
                            klappt irgendwie nicht.

                            das bekomme ich als result zurück:

                            692) script.js.common.GridVis: {"startTime":1619820000000000000,"endTime":1622498399999000000,"unit":"Wh","energy":278104.0,"valueType":
                            
                            paul53P 1 Antwort Letzte Antwort
                            0
                            • Ben1983B Ben1983

                              @paul53 stehe grad auf den sxhlauch, wie ich an den enegy wert kommen soll.
                              klappt irgendwie nicht.

                              das bekomme ich als result zurück:

                              692) script.js.common.GridVis: {"startTime":1619820000000000000,"endTime":1622498399999000000,"unit":"Wh","energy":278104.0,"valueType":
                              
                              paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von paul53
                              #37

                              @ben1983 sagte: das bekomme ich als result zurück:

                              let energy = JSON.parse(result).energy;
                              

                              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

                              Ben1983B 2 Antworten Letzte Antwort
                              0
                              • paul53P paul53

                                @ben1983 sagte: das bekomme ich als result zurück:

                                let energy = JSON.parse(result).energy;
                                
                                Ben1983B Offline
                                Ben1983B Offline
                                Ben1983
                                schrieb am zuletzt editiert von
                                #38

                                @paul53 oh man... danke

                                1 Antwort Letzte Antwort
                                0
                                • paul53P paul53

                                  @ben1983 sagte: das bekomme ich als result zurück:

                                  let energy = JSON.parse(result).energy;
                                  
                                  Ben1983B Offline
                                  Ben1983B Offline
                                  Ben1983
                                  schrieb am zuletzt editiert von
                                  #39

                                  @paul53 Ich wollte gerade einmal etwas herum probieren, um weiter ins Thema zu kommen:
                                  warum geht das hier nicht mit dem parse?
                                  klar ich könnte direkt auf c zugreifen, aber ist das so also kein JSON?

                                  let a = {"b":"abc","c":"efg"};
                                  
                                  
                                  let c = JSON.parse(a).c;
                                  log(c);
                                  

                                  wollte herausfinden, warum bei den onlinewerten das ergebnis des Parse ein "array" mit string index ist.
                                  klar, weil der value als wert wieder geschweifte klammern enthält.
                                  bin da noch nicht so drin im JSON.

                                  paul53P 1 Antwort Letzte Antwort
                                  0
                                  • Ben1983B Ben1983

                                    @paul53 Ich wollte gerade einmal etwas herum probieren, um weiter ins Thema zu kommen:
                                    warum geht das hier nicht mit dem parse?
                                    klar ich könnte direkt auf c zugreifen, aber ist das so also kein JSON?

                                    let a = {"b":"abc","c":"efg"};
                                    
                                    
                                    let c = JSON.parse(a).c;
                                    log(c);
                                    

                                    wollte herausfinden, warum bei den onlinewerten das ergebnis des Parse ein "array" mit string index ist.
                                    klar, weil der value als wert wieder geschweifte klammern enthält.
                                    bin da noch nicht so drin im JSON.

                                    paul53P Offline
                                    paul53P Offline
                                    paul53
                                    schrieb am zuletzt editiert von paul53
                                    #40

                                    @ben1983 sagte: aber ist das so also kein JSON?

                                    Nein, JSON ist ein String:

                                    let a = '{"b":"abc","c":"efg"}';
                                    

                                    Das andere ist ein Objekt:

                                    let a = {"b":"abc","c":"efg"};
                                    
                                    log(a.c);
                                    

                                    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

                                    Ben1983B 2 Antworten Letzte Antwort
                                    0
                                    • paul53P paul53

                                      @ben1983 sagte: aber ist das so also kein JSON?

                                      Nein, JSON ist ein String:

                                      let a = '{"b":"abc","c":"efg"}';
                                      

                                      Das andere ist ein Objekt:

                                      let a = {"b":"abc","c":"efg"};
                                      
                                      log(a.c);
                                      
                                      Ben1983B Offline
                                      Ben1983B Offline
                                      Ben1983
                                      schrieb am zuletzt editiert von
                                      #41

                                      @paul53 Ah OK, aber warum geht dann bspw. hier Version 1 und 2, aber 3 nicht mehr?

                                      //1
                                      let a = '{"b":"abc","c":"efg"}';
                                      let c = JSON.parse(a).c;
                                      log(c);
                                      
                                      //2
                                      let b = '{"value":{"b":"abc","c":"efg"}}';
                                      let d = JSON.parse(b).value;
                                      log(d["c"]);
                                      
                                      //3
                                      let e = JSON.parse(d).c;
                                      log(e);
                                      
                                      paul53P 1 Antwort Letzte Antwort
                                      0
                                      • paul53P paul53

                                        @ben1983 sagte: aber ist das so also kein JSON?

                                        Nein, JSON ist ein String:

                                        let a = '{"b":"abc","c":"efg"}';
                                        

                                        Das andere ist ein Objekt:

                                        let a = {"b":"abc","c":"efg"};
                                        
                                        log(a.c);
                                        
                                        Ben1983B Offline
                                        Ben1983B Offline
                                        Ben1983
                                        schrieb am zuletzt editiert von
                                        #42

                                        @paul53 habe ja bis dato folgendes realisiert:

                                        
                                        let Device = [];
                                        let i = 0;
                                        // Talstraße 1A Messgruppe 1
                                         Device[i] = {'ID':'27','Value':[{"Name":"PowerActive","Type":"SUM13","InternalId":IdWirkleistungGesamt}]};
                                         i = i + 1;
                                        

                                        Würde jetzt gerne aus Value „OnlineValue“
                                        Machen und zusätzlich noch „HistoricValue“ mit einer weiteren Struktur.

                                        Funktioniert auch soweit,
                                        Aber bei den Geräten, die die „HistoricValue“ nicht haben, da gibts eben eine exception bei
                                        HistoricValue.foreach (da es die ja nicht gibt).

                                        Kann man auch eine Struktur vordefinierten, ohne dass man die Daten direkt befüllt?
                                        So wie bspw. In C# na klasse oder so.

                                        Würde gerne 2-3 JSON ineinander verschachteln, aber schon als Definition, nicht erst bei der Deklaration der variablen.
                                        Geht so was?

                                        1 Antwort Letzte Antwort
                                        0
                                        • Ben1983B Ben1983

                                          @paul53 Ah OK, aber warum geht dann bspw. hier Version 1 und 2, aber 3 nicht mehr?

                                          //1
                                          let a = '{"b":"abc","c":"efg"}';
                                          let c = JSON.parse(a).c;
                                          log(c);
                                          
                                          //2
                                          let b = '{"value":{"b":"abc","c":"efg"}}';
                                          let d = JSON.parse(b).value;
                                          log(d["c"]);
                                          
                                          //3
                                          let e = JSON.parse(d).c;
                                          log(e);
                                          
                                          paul53P Offline
                                          paul53P Offline
                                          paul53
                                          schrieb am zuletzt editiert von paul53
                                          #43

                                          @ben1983 sagte: warum geht dann bspw. hier Version 1 und 2, aber 3 nicht mehr?

                                          In Zeile 8 wird die Variable d ein Objekt, das man (Zeile 12) nicht mit JSON.parse(d) verarbeiten kann, sondern

                                          let e = d.c;
                                          

                                          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

                                          Ben1983B 1 Antwort Letzte Antwort
                                          0

                                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                          Registrieren Anmelden
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          561

                                          Online

                                          32.7k

                                          Benutzer

                                          82.6k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe