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

                                  776
                                  Online

                                  31.8k
                                  Users

                                  80.0k
                                  Topics

                                  1.3m
                                  Posts

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