Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] Simple API Abfrage

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

[gelöst] Simple API Abfrage

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
29 Beiträge 6 Kommentatoren 2.1k Aufrufe 6 Watching
  • Ä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.
  • M MCU

    @froggi1930
    https://github.com/ioBroker/ioBroker.simple-api#query-1
    Scheint ein Fehler im simpleApi zu sein?

    http://192.168.178.89:8087/query/zigbee.0.00517.temperature/?prettyPrint&dateFrom=2022-04-01T00:00:00.000Z&dateTo=2022-04-10T00:00:00.000Z
    
    ->
    [ { "target": "zigbee.0.00158d00025e9517.temperature", "datapoints": [ [ 18.6, 1649591510116 ] ] } ]
    
    
    froggi1930F Offline
    froggi1930F Offline
    froggi1930
    schrieb am zuletzt editiert von froggi1930
    #12

    @mcu @apollon77
    ich habe zumindest gedacht, dass ich so an die Daten herankomme... oder es ist ein Denkfehler und gar nicht so dafür gedacht

    M 2 Antworten Letzte Antwort
    0
    • froggi1930F froggi1930

      @mcu @apollon77
      ich habe zumindest gedacht, dass ich so an die Daten herankomme... oder es ist ein Denkfehler und gar nicht so dafür gedacht

      M Online
      M Online
      MCU
      schrieb am zuletzt editiert von
      #13

      @froggi1930 Dann müsstest du dir einen DP erstellen und in den die Daten von einer History-Abfrage reinstellen und dann das Ergebnis aus dem DP mit simpleApi auslesen.

      NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
      Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

      froggi1930F 1 Antwort Letzte Antwort
      0
      • froggi1930F froggi1930

        @mcu @apollon77
        ich habe zumindest gedacht, dass ich so an die Daten herankomme... oder es ist ein Denkfehler und gar nicht so dafür gedacht

        M Online
        M Online
        MCU
        schrieb am zuletzt editiert von
        #14

        @froggi1930 sagte in Simple API Abfrage:

        und gar nicht so dafür gedacht

        Laut Beschreibung sollte es so funktionieren. Wie gesagt: Fehler im simpleApi.

        NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
        Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

        1 Antwort Letzte Antwort
        0
        • M MCU

          @froggi1930 Dann müsstest du dir einen DP erstellen und in den die Daten von einer History-Abfrage reinstellen und dann das Ergebnis aus dem DP mit simpleApi auslesen.

          froggi1930F Offline
          froggi1930F Offline
          froggi1930
          schrieb am zuletzt editiert von
          #15

          @mcu said in Simple API Abfrage:

          @froggi1930 Dann müsstest du dir einen DP erstellen und in den die Daten von einer History-Abfrage reinstellen und dann das Ergebnis aus dem DP mit simpleApi auslesen.

          Das versteh ich leider so nicht...

          M 1 Antwort Letzte Antwort
          0
          • froggi1930F froggi1930

            @mcu said in Simple API Abfrage:

            @froggi1930 Dann müsstest du dir einen DP erstellen und in den die Daten von einer History-Abfrage reinstellen und dann das Ergebnis aus dem DP mit simpleApi auslesen.

            Das versteh ich leider so nicht...

            M Online
            M Online
            MCU
            schrieb am zuletzt editiert von MCU
            #16

            @froggi1930
            Einen DP erstellen mit Blockly oder javascript.

            createState(ID_VOM_NEUEN_DP, {read: true, write: true, name: "SIMPLEAPI DP", type: "string", role: "", def: "" });
            

            Mit Blockly oder javascript die Abfrage an den History erstellen und das Ergebnis in den neuen DP schreiben.

            https://github.com/ioBroker/ioBroker.history/blob/master/docs/de/README.md#zugriff-auf-history-werte-mit-javascript

            sendTo('history.0', 'getHistory', {
                id: 'javascript.0.ShellyVerbrauch.SHPLG-S#1D3709#1.Relay0.gestern',
                options: {
                    end:       Date.now(),
                    count:     50,
                    aggregate: 'onchange',
                    addId:     true
                }
            }, function (result) {
                let arr = [];
                for (var i = 0; i < result.result.length; i++) {
                    console.log(result.result[i].id + ' ' + new Date(result.result[i].ts).toISOString());
                    arr.push({'result':result.result[i].id,'time':new Date(result.result[i].ts).toISOString()});
                }
                setState(ID_vom_NEUEN_DP,JSON.stringify(arr),false);
            });
            

            Dann mit simpleApi die neuen DP auslesen.

            Das musst du Dir dann aber im Detail noch anschauen.

            NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
            Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

            froggi1930F 1 Antwort Letzte Antwort
            1
            • M MCU

              @froggi1930
              Einen DP erstellen mit Blockly oder javascript.

              createState(ID_VOM_NEUEN_DP, {read: true, write: true, name: "SIMPLEAPI DP", type: "string", role: "", def: "" });
              

              Mit Blockly oder javascript die Abfrage an den History erstellen und das Ergebnis in den neuen DP schreiben.

              https://github.com/ioBroker/ioBroker.history/blob/master/docs/de/README.md#zugriff-auf-history-werte-mit-javascript

              sendTo('history.0', 'getHistory', {
                  id: 'javascript.0.ShellyVerbrauch.SHPLG-S#1D3709#1.Relay0.gestern',
                  options: {
                      end:       Date.now(),
                      count:     50,
                      aggregate: 'onchange',
                      addId:     true
                  }
              }, function (result) {
                  let arr = [];
                  for (var i = 0; i < result.result.length; i++) {
                      console.log(result.result[i].id + ' ' + new Date(result.result[i].ts).toISOString());
                      arr.push({'result':result.result[i].id,'time':new Date(result.result[i].ts).toISOString()});
                  }
                  setState(ID_vom_NEUEN_DP,JSON.stringify(arr),false);
              });
              

              Dann mit simpleApi die neuen DP auslesen.

              Das musst du Dir dann aber im Detail noch anschauen.

              froggi1930F Offline
              froggi1930F Offline
              froggi1930
              schrieb am zuletzt editiert von
              #17

              @mcu
              super... danke Dir. Werde mich gleich damit einmal auseinandersetzten

              froggi1930F 1 Antwort Letzte Antwort
              0
              • froggi1930F froggi1930

                @mcu
                super... danke Dir. Werde mich gleich damit einmal auseinandersetzten

                froggi1930F Offline
                froggi1930F Offline
                froggi1930
                schrieb am zuletzt editiert von
                #18

                @froggi1930 said in Simple API Abfrage:

                @mcu
                super... danke Dir. Werde mich gleich damit einmal auseinandersetzten

                OK... das funktioniert soweit ganz OK. Es wäre natürlich viel einfacher direkt per API darauf zuzugreifen... habe mal ein Issue aufgemacht - vielleicht ist es ja wirklich ein Fehler.

                Ansonsten schreibe ich die Daten jetzt auch auf ein NAS in eine Maria Datenbank. Mal sehen, was am Ende besser funktioniert.

                1 Antwort Letzte Antwort
                0
                • froggi1930F froggi1930

                  Moin zusammen,

                  ich versuche gerade Testweise einmal eine API Abfrage zu bauen und nutze folgendes...

                  http://192.168.178.222:8087/query/javascript.0.ShellyVerbrauch.SHPLG-S%231D3709%231.Relay0.gestern?dateFrom=2022-04-01T12:00:00.000Z&dateTo=2022-04-08T01:00:10.000Z
                  

                  Dabei erscheint nur der letzte Wert, obwohl in dem History Adapter Vorgänger existieren.

                  [
                  {
                  "target": "javascript.0.ShellyVerbrauch.SHPLG-S#1D3709#1.Relay0.gestern",
                  "datapoints": [
                  [
                  409.55,
                  1649541600417
                  ]
                  ]
                  }
                  ]
                  

                  Wo ist mein Fehler...?

                  apollon77A Offline
                  apollon77A Offline
                  apollon77
                  schrieb am zuletzt editiert von
                  #19

                  @froggi1930 ist es besser wenn du start und endzeitpunkt als Zahl angibst (als Date.getTime() Unix epoch in ms)

                  Sonst muss ich mal reinschauen

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

                  • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                  • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                  froggi1930F 1 Antwort Letzte Antwort
                  0
                  • apollon77A apollon77

                    @froggi1930 ist es besser wenn du start und endzeitpunkt als Zahl angibst (als Date.getTime() Unix epoch in ms)

                    Sonst muss ich mal reinschauen

                    froggi1930F Offline
                    froggi1930F Offline
                    froggi1930
                    schrieb am zuletzt editiert von froggi1930
                    #20

                    @apollon77
                    Du meinst so...?

                    http://192.168.178.222:8087/query/javascript.0.ShellyVerbrauch.SHPLG-S%231D3709%231.Relay0.gestern?dateFrom=1649368800402?dateTo=1649541600417
                    

                    ... gibt trotzdem nur den letzten Wert aus

                    apollon77A 1 Antwort Letzte Antwort
                    0
                    • froggi1930F froggi1930

                      @apollon77
                      Du meinst so...?

                      http://192.168.178.222:8087/query/javascript.0.ShellyVerbrauch.SHPLG-S%231D3709%231.Relay0.gestern?dateFrom=1649368800402?dateTo=1649541600417
                      

                      ... gibt trotzdem nur den letzten Wert aus

                      apollon77A Offline
                      apollon77A Offline
                      apollon77
                      schrieb am zuletzt editiert von
                      #21

                      @froggi1930 Naja wenn du hier bei dateTo noch ein & nutzt ... ;-)

                      Ansonsten: Welcher Adapter ist denn dein History Adapter? history oder sql oder influxdb? Bitte mal jeweiligen Adapter von GitHub nehmen und den (also history/sql/influxdb) auf Debug stellen. Dann die Debug AUsgabe posten ... das ist wenn etwas in dem Adapter und nicht in simple-api... weil der fragt ja nur den History Adapter

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

                      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                      froggi1930F F 2 Antworten Letzte Antwort
                      0
                      • apollon77A apollon77

                        @froggi1930 Naja wenn du hier bei dateTo noch ein & nutzt ... ;-)

                        Ansonsten: Welcher Adapter ist denn dein History Adapter? history oder sql oder influxdb? Bitte mal jeweiligen Adapter von GitHub nehmen und den (also history/sql/influxdb) auf Debug stellen. Dann die Debug AUsgabe posten ... das ist wenn etwas in dem Adapter und nicht in simple-api... weil der fragt ja nur den History Adapter

                        froggi1930F Offline
                        froggi1930F Offline
                        froggi1930
                        schrieb am zuletzt editiert von froggi1930
                        #22

                        @apollon77
                        Hätte mich jetzt echt happy gemacht, wenn es an dem fehlenden & gelegen hätte :face_with_rolling_eyes: leider bekomme ich immer noch das gleiche Ergebnis.

                        Ich logge diesen Wert aktuell testweise auf dem History, influx und sql. Ist das unter Umständen das Problem?

                        Den history adapter habe ich auf debug gestellt.

                        Beim Start erhalte ich...

                        history.0
                        2022-04-10 21:27:54.150	info	enabled logging of javascript.0.ShellyVerbrauch.SHPLG-S#1D3709#1.Relay0.gestern (Count=19), Alias=false
                        

                        Beim Aufruf der Api loggt er nichts was diesen Shelly betrifft

                        Nachtrag...

                        Ich habe jetzt einmal den simple-api auf debug gestellt und bei dem Aufruf von

                        http://192.168.178.222:8087/query/javascript.0.ShellyVerbrauch.SHPLG-S%231D3709%231.Relay0.gestern?dateFrom=1649368800402&dateTo=1649541600417
                        

                        loggt er

                        ["","query","javascript.0.ShellyVerbrauch.SHPLG-S%231D3709%231.Relay0.gestern"]
                        
                        {"dateFrom":"1649368800402","dateTo":"1649541600417","user":"system.user.admin"}
                        
                        Read last state
                        
                        [QUERY] response = [{"target":"javascript.0.ShellyVerbrauch.SHPLG-S#1D3709#1.Relay0.gestern","datapoints":[[409.55,1649541600417]]}]
                        
                        1 Antwort Letzte Antwort
                        0
                        • apollon77A apollon77

                          @froggi1930 Naja wenn du hier bei dateTo noch ein & nutzt ... ;-)

                          Ansonsten: Welcher Adapter ist denn dein History Adapter? history oder sql oder influxdb? Bitte mal jeweiligen Adapter von GitHub nehmen und den (also history/sql/influxdb) auf Debug stellen. Dann die Debug AUsgabe posten ... das ist wenn etwas in dem Adapter und nicht in simple-api... weil der fragt ja nur den History Adapter

                          F Offline
                          F Offline
                          fastfoot
                          schrieb am zuletzt editiert von fastfoot
                          #23

                          gelöscht, hier stand etwas Falsches :-(

                          iobroker läuft unter Docker auf QNAP TS-451+
                          SkriptRecovery: https://forum.iobroker.net/post/930558

                          1 Antwort Letzte Antwort
                          0
                          • apollon77A Offline
                            apollon77A Offline
                            apollon77
                            schrieb am zuletzt editiert von apollon77
                            #24

                            Jetzt hast Du mich abgehängt.

                            1.) nirgends im simple-api code gibt es ein onChange (grosses c) ... das sendet "onchange" und das ist ein erlaubtes aggregate verfahren. ich denke zwar das es eher "none" sein sollte aber das ist erstmal ne andere Baustelle

                            2.) Als Datum (Code geschaut). wird alles akzeptiert was Date.parse() akzeptiert ... von daher sollte dein initial genutzter String korrekt sein. https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Date/parse#beschreibung

                            Zum Debug Log hatte ich gebeten den entsprechenden History-Adapter auf Debug zu stellen! Von dem kommen die Daten. Simple-API fordert die nur an

                            EDIT: Ok ich denke JETZT hab ichs!

                            Was hast Du denn in der simply-API Konfig als History-Quelle ("Datenquelle") angegeben? Wenn das nämlich leer ist dann gibt er nur den letzten Wert zurück! In deinem Log fehlen nämlich Ausgaben die zeigen das er überhaupt versucht den History Adapter zu fragen.

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

                            • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                            • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                            froggi1930F 1 Antwort Letzte Antwort
                            1
                            • apollon77A apollon77

                              Jetzt hast Du mich abgehängt.

                              1.) nirgends im simple-api code gibt es ein onChange (grosses c) ... das sendet "onchange" und das ist ein erlaubtes aggregate verfahren. ich denke zwar das es eher "none" sein sollte aber das ist erstmal ne andere Baustelle

                              2.) Als Datum (Code geschaut). wird alles akzeptiert was Date.parse() akzeptiert ... von daher sollte dein initial genutzter String korrekt sein. https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Date/parse#beschreibung

                              Zum Debug Log hatte ich gebeten den entsprechenden History-Adapter auf Debug zu stellen! Von dem kommen die Daten. Simple-API fordert die nur an

                              EDIT: Ok ich denke JETZT hab ichs!

                              Was hast Du denn in der simply-API Konfig als History-Quelle ("Datenquelle") angegeben? Wenn das nämlich leer ist dann gibt er nur den letzten Wert zurück! In deinem Log fehlen nämlich Ausgaben die zeigen das er überhaupt versucht den History Adapter zu fragen.

                              froggi1930F Offline
                              froggi1930F Offline
                              froggi1930
                              schrieb am zuletzt editiert von
                              #25

                              @apollon77 :fearful: ...peinlich.... da stand natürlich nichts drin. War mir überhaupt nicht aufgefallen... jetzt geht es natürlich sofort.

                              Danke für die Hilfe!!!!!

                              1 Antwort Letzte Antwort
                              0
                              • M Online
                                M Online
                                MCU
                                schrieb am zuletzt editiert von MCU
                                #26

                                @froggi1930 Wie hast du es gelöst? Ich bekomme nachwievor nur einen Wert.

                                http://192.168.178.89:8087/query/zigbee.0.00158xxxxx9517.temperature/?dateFrom=1649368800402&dateTo=1649541600417
                                
                                [{"target":"zigbee.0.00158xxxxx9517.temperature","datapoints":[[18.31,1649649150312]]}]
                                

                                Gefunden:
                                de7ba239-d50f-46af-adb1-0f1e9363372a-image.png

                                NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                                Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                apollon77A 1 Antwort Letzte Antwort
                                0
                                • M MCU

                                  @froggi1930 Wie hast du es gelöst? Ich bekomme nachwievor nur einen Wert.

                                  http://192.168.178.89:8087/query/zigbee.0.00158xxxxx9517.temperature/?dateFrom=1649368800402&dateTo=1649541600417
                                  
                                  [{"target":"zigbee.0.00158xxxxx9517.temperature","datapoints":[[18.31,1649649150312]]}]
                                  

                                  Gefunden:
                                  de7ba239-d50f-46af-adb1-0f1e9363372a-image.png

                                  apollon77A Offline
                                  apollon77A Offline
                                  apollon77
                                  schrieb am zuletzt editiert von
                                  #27

                                  @mcu ich werde aber mal den Text im Admin verbessern Bzw in der readme was schreiben.

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

                                  • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                  • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                  M 1 Antwort Letzte Antwort
                                  0
                                  • apollon77A apollon77

                                    @mcu ich werde aber mal den Text im Admin verbessern Bzw in der readme was schreiben.

                                    M Online
                                    M Online
                                    MCU
                                    schrieb am zuletzt editiert von
                                    #28

                                    @apollon77 Vielleicht als Bild, wenn möglich, dann sieht man direkt, dass man in der Instanz was einstellen muss?

                                    NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                                    Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                                    apollon77A 1 Antwort Letzte Antwort
                                    0
                                    • M MCU

                                      @apollon77 Vielleicht als Bild, wenn möglich, dann sieht man direkt, dass man in der Instanz was einstellen muss?

                                      apollon77A Offline
                                      apollon77A Offline
                                      apollon77
                                      schrieb am zuletzt editiert von
                                      #29

                                      @mcu Ich hab nochmal geschaut. Also in der Beschreibung in der Readme steht es schon fast drin. Hab es nochmal erweitert, sonst gern PR machen

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

                                      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                      1 Antwort Letzte Antwort
                                      0
                                      Antworten
                                      • In einem neuen Thema antworten
                                      Anmelden zum Antworten
                                      • Älteste zuerst
                                      • Neuste zuerst
                                      • Meiste Stimmen


                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      648

                                      Online

                                      32.7k

                                      Benutzer

                                      82.3k

                                      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