Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Simple API Abfrage

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Simple API Abfrage

    This topic has been deleted. Only users with topic management privileges can see it.
    • froggi1930
      froggi1930 @MCU last edited by 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 2 Replies Last reply Reply Quote 0
      • M
        MCU @froggi1930 last edited by

        @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.

        froggi1930 1 Reply Last reply Reply Quote 0
        • M
          MCU @froggi1930 last edited by

          @froggi1930 sagte in Simple API Abfrage:

          und gar nicht so dafür gedacht

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

          1 Reply Last reply Reply Quote 0
          • froggi1930
            froggi1930 @MCU last edited by

            @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 Reply Last reply Reply Quote 0
            • M
              MCU @froggi1930 last edited by 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.

              froggi1930 1 Reply Last reply Reply Quote 1
              • froggi1930
                froggi1930 @MCU last edited by

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

                froggi1930 1 Reply Last reply Reply Quote 0
                • froggi1930
                  froggi1930 @froggi1930 last edited by

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

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

                    Sonst muss ich mal reinschauen

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

                      apollon77 1 Reply Last reply Reply Quote 0
                      • apollon77
                        apollon77 @froggi1930 last edited by

                        @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

                        froggi1930 F 2 Replies Last reply Reply Quote 0
                        • froggi1930
                          froggi1930 @apollon77 last edited by froggi1930

                          @apollon77
                          Hätte mich jetzt echt happy gemacht, wenn es an dem fehlenden & gelegen hätte 🙄 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 Reply Last reply Reply Quote 0
                          • F
                            fastfoot @apollon77 last edited by fastfoot

                            gelöscht, hier stand etwas Falsches 😞

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

                              froggi1930 1 Reply Last reply Reply Quote 1
                              • froggi1930
                                froggi1930 @apollon77 last edited by

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

                                Danke für die Hilfe!!!!!

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

                                  apollon77 1 Reply Last reply Reply Quote 0
                                  • apollon77
                                    apollon77 @MCU last edited by

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

                                    M 1 Reply Last reply Reply Quote 0
                                    • M
                                      MCU @apollon77 last edited by

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

                                      apollon77 1 Reply Last reply Reply Quote 0
                                      • apollon77
                                        apollon77 @MCU last edited by

                                        @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

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        753
                                        Online

                                        31.9k
                                        Users

                                        80.1k
                                        Topics

                                        1.3m
                                        Posts

                                        6
                                        29
                                        1133
                                        Loading More Posts
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        Community
                                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                        The ioBroker Community 2014-2023
                                        logo