Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [gelöst] Result "undefined" in JS

    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] Result "undefined" in JS

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

      Guten Morgen Zusammen,
      ich habe versucht durch die Hilfefunktion auf die Lösung zu kommen, doch leider erfolglos.

      Ich habe aus dieser Anleitung ==>
      https://github.com/ioBroker/ioBroker.history/blob/master/docs/de/README.md#filtern

      dieses Script ==>

      var end = Date.now();
      sendTo('history.0', 'getHistory', {
          id: 'system.adapter.admin.0.memRss',
          options: {
              start:      end - 3600000,
              end:        end,
              aggregate: 'onchange'
          }
      }, function (result) {
          for (var i = 0; i < result.result.length; i++) {
              console.log(result.result[i].id + ' ' + new Date(result.result[i].ts).toISOString());
          }
      });
      

      geändert um einem Temperatursensor DS18B20 den Maxwert der letzten 10 Min zu entlocken ==>

      var end = Date.now();
      sendTo('history.0', 'getHistory', {
          id: 'ds18b20.0.sensors.28-013a900000af'/*28-013a900000af*/,
          options: {
              start:      end - 600000,
              end:        end,
              aggregate: 'max'
          }
      }, function (result) {
          for (var i = 0; i < result.result.length; i++) {
              console.log('Temperatur: ' + result.result[i].id + ' Grad ' + ' ' + new Date(result.result[i].ts).toISOString());
          }
      });
      

      Jedoch bekomme ich immer undefined ==>

      
      javascript.0	2020-11-13 07:47:34.047	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: undefined Grad 2020-11-13T06:47:18.137Z
      javascript.0	2020-11-13 07:47:34.046	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: undefined Grad 2020-11-13T06:47:07.337Z
      javascript.0	2020-11-13 07:47:34.045	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: undefined Grad 2020-11-13T06:46:57.737Z
      javascript.0	2020-11-13 07:47:34.044	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: undefined Grad 2020-11-13T06:46:48.137Z
      javascript.0	2020-11-13 07:47:34.043	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: undefined Grad 2020-11-13T06:46:37.337Z
      javascript.0	2020-11-13 07:47:34.042	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: undefined Grad 2020-11-13T06:46:27.737Z
      javascript.0	2020-11-13 07:47:34.041	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: undefined Grad 2020-11-13T06:46:18.137Z
      javascript.0	2020-11-13 07:47:34.040	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: undefined Grad 2020-11-13T06:46:07.337Z
      javascript.0	2020-11-13 07:47:34.039	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: undefined Grad 2020-11-13T06:45:57.737Z
      javascript.0	2020-11-13 07:47:34.038	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: undefined Grad 2020-11-13T06:45:48.137Z
      javascript.0	2020-11-13 07:47:34.037	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: undefined Grad 2020-11-13T06:45:37.337Z
      javascript.0	2020-11-13 07:47:34.036	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: undefined Grad 2020-11-13T06:44:57.737Z
      javascript.0	2020-11-13 07:47:34.035	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: undefined Grad 2020-11-13T06:44:48.137Z
      javascript.0	2020-11-13 07:47:34.034	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: undefined Grad 2020-11-13T06:44:37.337Z
      

      Sieht jemand meinen Fehler?

      Freue mich über jeden Hinweis.
      Schon einmal lieben Dank an alle.

      Liebe GRüße
      Markus

      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Nobody28 last edited by

        @Nobody28 sagte:

        Sieht jemand meinen Fehler?

        Ändere mal in Zeile 11 result.result[i].id in result.result[i].val.

        N 1 Reply Last reply Reply Quote 0
        • N
          Nobody28 @paul53 last edited by

          @paul53
          Super, das war es... Vielen Lieben Dank 🙂

          Dann müsste das im GIT auch angepasst werden, richtig?

          paul53 N 2 Replies Last reply Reply Quote 0
          • paul53
            paul53 @Nobody28 last edited by

            @Nobody28 sagte:

            Dann müsste das im GIT auch angepasst werden, richtig?

            Ja.

            N 1 Reply Last reply Reply Quote 0
            • N
              Nobody28 @Nobody28 last edited by

              Was mich jetzt hierzu etwas irritiert, wenn ich Max der letzten 10 Minuten als Ergebnis haben will, warum er mir ca. 20 Log Einträge mit verschiedenen Ergebnissen?!

              javascript.0	2020-11-13 12:47:19.240	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 22.38 Grad 2020-11-13T11:47:09.428Z
              javascript.0	2020-11-13 12:47:19.239	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 22.44 Grad 2020-11-13T11:46:58.628Z
              javascript.0	2020-11-13 12:47:19.238	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 22.44 Grad 2020-11-13T11:45:49.028Z
              javascript.0	2020-11-13 12:47:19.238	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 22.38 Grad 2020-11-13T11:45:39.428Z
              javascript.0	2020-11-13 12:47:19.237	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 22.38 Grad 2020-11-13T11:43:19.028Z
              javascript.0	2020-11-13 12:47:19.236	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 22.31 Grad 2020-11-13T11:43:09.428Z
              javascript.0	2020-11-13 12:47:19.235	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 22.31 Grad 2020-11-13T11:42:49.028Z
              javascript.0	2020-11-13 12:47:19.235	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 22.38 Grad 2020-11-13T11:42:39.428Z
              javascript.0	2020-11-13 12:47:19.234	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 22.31 Grad 2020-11-13T11:42:28.628Z
              javascript.0	2020-11-13 12:47:19.233	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 22.38 Grad 2020-11-13T11:42:19.028Z
              javascript.0	2020-11-13 12:47:19.233	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 22.31 Grad 2020-11-13T11:42:09.428Z
              javascript.0	2020-11-13 12:47:19.232	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 22.31 Grad 2020-11-13T11:41:19.028Z
              javascript.0	2020-11-13 12:47:19.231	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 22.38 Grad 2020-11-13T11:41:09.428Z
              javascript.0	2020-11-13 12:47:19.230	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 22.38 Grad 2020-11-13T11:40:58.628Z
              javascript.0	2020-11-13 12:47:19.229	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 22.31 Grad 2020-11-13T11:40:49.028Z
              javascript.0	2020-11-13 12:47:19.229	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 22.38 Grad 2020-11-13T11:40:39.428Z
              javascript.0	2020-11-13 12:47:19.228	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 22.31 Grad 2020-11-13T11:40:28.628Z
              javascript.0	2020-11-13 12:47:19.227	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 22.38 Grad 2020-11-13T11:40:19.028Z
              javascript.0	2020-11-13 12:47:19.226	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 22.38 Grad 2020-11-13T11:39:58.628Z
              javascript.0	2020-11-13 12:47:19.225	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 22.31 Grad 2020-11-13T11:39:49.028Z
              javascript.0	2020-11-13 12:47:19.225	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 22.31 Grad 2020-11-13T11:39:09.428Z
              javascript.0	2020-11-13 12:47:19.224	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 22.38 Grad 2020-11-13T11:38:58.628Z
              javascript.0	2020-11-13 12:47:19.223	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 22.38 Grad 2020-11-13T11:38:49.028Z
              javascript.0	2020-11-13 12:47:19.222	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 22.31 Grad 2020-11-13T11:38:39.428Z
              javascript.0	2020-11-13 12:47:19.221	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 22.38 Grad 2020-11-13T11:38:28.628Z
              javascript.0	2020-11-13 12:47:19.219	info	(1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 23.302118644067797 Grad 2020-11-13T11:37:18.428Z
              javascript.0	2020-11-13 12:47:18.430	info	(1297) script.js.common.ALCAR.Test.Temp_Max: registered 0 subscriptions and 0 schedules
              javascript.0	2020-11-13 12:47:18.409	info	(1297) Start javascript script.js.common.ALCAR.Test.Temp_Max
              
              1 Reply Last reply Reply Quote 0
              • N
                Nobody28 @paul53 last edited by

                @paul53 said in Result "undefined" in JS:

                @Nobody28 sagte:

                Dann müsste das im GIT auch angepasst werden, richtig?

                Ja.

                Kann das jemand veranlassen? Oder wie geht das? Auch, wie kann ich das als gelöst Markieren?
                Danke schon mal

                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @Nobody28 last edited by

                  @Nobody28 sagte:

                  Kann das jemand veranlassen?

                  Habe PR auf Github erstellt.

                  @Nobody28 sagte in Result "undefined" in JS:

                  wie kann ich das als gelöst Markieren?

                  Im ersten Beitrag die Überschrift editieren.

                  N 1 Reply Last reply Reply Quote 0
                  • N
                    Nobody28 @paul53 last edited by

                    @paul53 said in Result "undefined" in JS:

                    @Nobody28 sagte:

                    Kann das jemand veranlassen?

                    Habe PR auf Github erstellt.

                    @Nobody28 sagte in Result "undefined" in JS:

                    wie kann ich das als gelöst Markieren?

                    Im ersten Beitrag die Überschrift editieren.

                    Danke und erledigt 🙂

                    N 1 Reply Last reply Reply Quote 0
                    • N
                      Nobody28 @Nobody28 last edited by

                      Hast Du noch eine Idee zu der Masse an Ergebnissen? Ich kann das nicht wirklich zuordnen

                      paul53 2 Replies Last reply Reply Quote 0
                      • paul53
                        paul53 @Nobody28 last edited by

                        @Nobody28 sagte:

                        Masse an Ergebnissen?

                        Eine Max-Aggregation ist nicht das Maximum über den gesamten Zeitraum.

                        1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @Nobody28 last edited by paul53

                          @Nobody28
                          Das Maximum muss in der Schleife ermittelt werden.

                          }, function (result) {
                              let max = result.result[0].val
                              let ts = result.result[0].ts;
                              for (var i = 1; i < result.result.length; i++) {
                                  if(result.result[i].val > max) {
                                      max = result.result[i].val;
                                      ts = result.result[i].ts;
                                  }
                              }
                              console.log('Temperatur: ' + max + ' °C ' + new Date(ts).toISOString());
                          });
                          
                          N 1 Reply Last reply Reply Quote 0
                          • N
                            Nobody28 @paul53 last edited by

                            Dann ist dass das derzeitige Script:

                            var end = Date.now();
                            sendTo('history.0', 'getHistory', {
                                id: 'ds18b20.0.sensors.28-013a900000af'/*28-013a900000af*/,
                                options: {
                                    start:      end - 600000,
                                    end:        end,
                                    aggregate: 'max'
                                }
                            }, function (result) {
                                let max = result.result[0].val
                                let ts = Date.now();
                                for (var i = 0; i < result.result.length; i++) {
                                    if(result.result[i].val > max) {
                                        max = result.result[i].val;
                                        ts = result.result[i].ts;
                                    }
                                }
                                console.log('Temperatur: ' + max + ' °C ' + new Date(ts).toISOString());
                            });
                            

                            Das ist das Ergebnis:

                            16:37:18.214	info	javascript.0 (1297) Start javascript script.js.common.ALCAR.Test.Temp_Max
                            16:37:18.237	info	javascript.0 (1297) script.js.common.ALCAR.Test.Temp_Max: registered 0 subscriptions and 0 schedules
                            16:37:19.055	info	javascript.0 (1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 24.305 °C 2020-11-13T15:37:19.055Z
                            

                            Was ich aber irgendwie nicht glauben kann, weil das die Werte der letzten Minuten sind:

                            22.63	true		2020-11-13 16:36:29.764	
                            22.69	true		2020-11-13 16:36:19.766	
                            22.63	true		2020-11-13 16:36:09.766	
                            22.63	true		2020-11-13 16:30:59.765	
                            22.69	true		2020-11-13 16:30:49.771	
                            22.63	true		2020-11-13 16:30:39.766	
                            22.63	true		2020-11-13 16:23:19.691	
                            22.69	true		2020-11-13 16:23:09.685	
                            22.69	true		2020-11-13 16:22:59.686	
                            22.63	true		2020-11-13 16:22:49.686	
                            22.69	true		2020-11-13 16:22:39.686	
                            22.63	true		2020-11-13 16:22:29.692	
                            22.69	true		2020-11-13 16:22:19.685	
                            22.63	true		2020-11-13 16:22:09.691	
                            22.63	true		2020-11-13 16:20:39.692	
                            22.69	true		2020-11-13 16:20:29.685	
                            22.63	true		2020-11-13 16:20:19.685
                            

                            Wo habe ich hier den Denkfehler?

                            paul53 1 Reply Last reply Reply Quote 0
                            • paul53
                              paul53 @Nobody28 last edited by paul53

                              @Nobody28 sagte:

                              weil das die Werte der letzten Minuten sind:

                              Keine Ahnung, wo der höhere Wert herkommt. Ändere mal die Initialisierung von max

                                          max = result.result[result.result.length - 1].val;
                              

                              oder besser

                                      aggregate: 'none'
                              
                              Homoran 1 Reply Last reply Reply Quote 0
                              • Homoran
                                Homoran Global Moderator Administrators @paul53 last edited by Homoran

                                @paul53 sagte in [gelöst] Result "undefined" in JS:

                                2020-11-13T15:37:19.055 Z

                                It's Zulu Time

                                paul53 1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @Homoran last edited by

                                  @Homoran sagte:

                                  It's Zulu Time

                                  Ja, habe ich auch inzwischen gesehen.

                                  N 1 Reply Last reply Reply Quote 0
                                  • N
                                    Nobody28 @paul53 last edited by

                                    Ich kann Euch gerade nicht folgen... Sorry

                                    Ich habe alle Codesnipsel direkt nach einander hier gepostet.

                                    Was meint Ihr bitte mit Zulu Time.

                                    Danke

                                    paul53 2 Replies Last reply Reply Quote 0
                                    • paul53
                                      paul53 @Nobody28 last edited by paul53

                                      @Nobody28 sagte:

                                      Was meint Ihr bitte mit Zulu Time.

                                      Das bezog sich auf die Darstellung der Zeit im Log: Bitte ignorieren.
                                      Ändere mal:

                                              aggregate: 'none'
                                      
                                      N 1 Reply Last reply Reply Quote 0
                                      • N
                                        Nobody28 @paul53 last edited by

                                        @paul53 said in [gelöst] Result "undefined" in JS:

                                        @Nobody28 sagte:

                                        Was meint Ihr bitte mit Zulu Time.

                                        Das bezog sich auf die Darstellung der Zeit im Log: Bitte ignorieren.
                                        Ändere mal:

                                                aggregate: 'none'
                                        

                                        Top, das war es.... die Schleife berechnet ja MAX selbstständig ==>

                                        16:58:55.065	info	javascript.0 (1297) Start javascript script.js.common.ALCAR.Test.Temp_Max
                                        16:58:55.116	info	javascript.0 (1297) script.js.common.ALCAR.Test.Temp_Max: registered 0 subscriptions and 0 schedules
                                        16:58:55.164	info	javascript.0 (1297) script.js.common.ALCAR.Test.Temp_Max: Temperatur: 22.63 °C 2020-11-13T15:58:55.164Z
                                        

                                        die 22.63 sollten wohl stimmen.

                                        Nun den Kram noch das ganze auf Tastendruck in einen neuen Datenpunkt speichern, damit ich das danach als CSV speichern kann. Das muss ich als nächsten Schritt suchen.

                                        Vielen Dank bisher erstmal...

                                        Super Forum hier 🙂

                                        1 Reply Last reply Reply Quote 0
                                        • paul53
                                          paul53 @Nobody28 last edited by

                                          @Nobody28
                                          Wenn Du anstelle der Zulu-Zeit die Ortszeit dargestellt haben möchtest, dann ändere

                                          new Date(ts).toISOString())
                                          

                                          in

                                          formatDate(ts, 'DD.MM.YYYY hh:mm:ss')
                                          
                                          N 1 Reply Last reply Reply Quote 0
                                          • N
                                            Nobody28 @paul53 last edited by Nobody28

                                            @paul53 said in [gelöst] Result "undefined" in JS:

                                            @Nobody28
                                            Wenn Du anstelle der Zulu-Zeit die Ortszeit dargestellt haben möchtest, dann ändere

                                            new Date(ts).toISOString())
                                            

                                            in

                                            formatDate(ts, 'DD.MM.YYYY hh:mm:ss')
                                            

                                            Vielen Dank.... Funktioniert 🙂

                                            nur der Vollständigkeithalber ==>

                                            formatDate(ts, 'DD.MM.YYYY hh:mm:ss'))
                                            

                                            Weil Du in deiner Codesnipsel mit dem ISOString auch die 2. Klammer drin hast.

                                            Nur falls auch jemand nach der Änderung sich wundert, dass es nicht funktioniert

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            977
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            20
                                            695
                                            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