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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Liste aus Temperaturen, Mittelwert wiedergeben [gelöst]

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.4k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.6k

Liste aus Temperaturen, Mittelwert wiedergeben [gelöst]

Geplant Angeheftet Gesperrt Verschoben Blockly
25 Beiträge 7 Kommentatoren 4.8k Aufrufe 8 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.
  • X Offline
    X Offline
    xbow42
    schrieb am zuletzt editiert von
    #6

    @Dom-Sch
    so z.B. kannst du dir die Werte ins Log schreiben lassen.
    iobroker-liste.png

    M 1 Antwort Letzte Antwort
    0
    • CinimodC Cinimod

      hallo paul53,
      erstmal danke für deine Hilfe, währe ich wohl nie drauf gekommen.
      rein aus interesse wüsste ich mal gern wo diese list erzeugt wird, kann man die als datenpunkt irgendwo sehen? finde den datenpunkt nicht.

      des weiteren habe ich probleme mit dem "entferne letzen wert", das finde ich in meinem blockly garnicht. kann bei diesem block nur "setze für" oder "füge als" auswählen, aber nicht "entferne" :thinking_face:

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

      @Dom-Sch sagte:

      finde den datenpunkt nicht.

      Den Datenpunkt musst Du im Reiter "Objekte" manuell anlegen. Oder per Blockly unter javascript.0

      Blockly_temp.JPG

      @Dom-Sch sagte in Liste aus Temperaturen, Mittelwert wiedergeben:

      "entferne letzen wert", das finde ich in meinem blockly garnicht.

      Blockly_temp.JPG

      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

      1 Antwort Letzte Antwort
      0
      • CinimodC Cinimod

        hallo paul53,
        erstmal danke für deine Hilfe, währe ich wohl nie drauf gekommen.
        rein aus interesse wüsste ich mal gern wo diese list erzeugt wird, kann man die als datenpunkt irgendwo sehen? finde den datenpunkt nicht.

        des weiteren habe ich probleme mit dem "entferne letzen wert", das finde ich in meinem blockly garnicht. kann bei diesem block nur "setze für" oder "füge als" auswählen, aber nicht "entferne" :thinking_face:

        AsgothianA Offline
        AsgothianA Offline
        Asgothian
        Developer
        schrieb am zuletzt editiert von
        #8

        @Dom-Sch
        Ich muss jetzt mal ganz dumm Fragen.. wieso dieser Aufwand mit der Liste ?

        Mit 2 Datenpunkten kannst du das Problem einfach lösen:

        DP1: Anzahl der aufaddierten Werte
        DP2: Summe der aufaddierten Werte
        nach 24 Werten (oder alternativ per Zeitplan:
        Teile DP1 durch DP2, speichere als Tageswert, setze DP1=0, setze DP2=0.

        A.

        ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
        "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

        1 Antwort Letzte Antwort
        0
        • CinimodC Offline
          CinimodC Offline
          Cinimod
          Most Active
          schrieb am zuletzt editiert von
          #9

          So, nun hab ich es endlich geschafft einen Datenpunkt zu erzeugen und ihn auch beschrieben mit 96 werten (habe es im Gedanken auf alle 15min geändert) natürlich vorerst alle gleich.

          Wenn ich es richtig verstanden habe, brauche ich ja einen zweiten Datenpunkt der mit zur Ausgabe des Mittelwertes dient ?! Stimmt das so ?

          Habe dein Script (Paul53) mal nachgebaut, ganz oben als Objekt ID habe ich den erstellten Datenpunkt ausgewählt (also die liste mit 96 werten).

          Im Log taucht nun folgendes auf :

          Bildschirmfoto 2020-02-09 um 14.41.11.png

          Das Script sieht nun so aus:

          Bildschirmfoto 2020-02-09 um 14.43.50.png

          Synology DS918+, Fritzbox 6690 Cable, #Docker #Blockly #Vis2 #Deconz #Tasmota

          paul53P 1 Antwort Letzte Antwort
          0
          • CinimodC Cinimod

            So, nun hab ich es endlich geschafft einen Datenpunkt zu erzeugen und ihn auch beschrieben mit 96 werten (habe es im Gedanken auf alle 15min geändert) natürlich vorerst alle gleich.

            Wenn ich es richtig verstanden habe, brauche ich ja einen zweiten Datenpunkt der mit zur Ausgabe des Mittelwertes dient ?! Stimmt das so ?

            Habe dein Script (Paul53) mal nachgebaut, ganz oben als Objekt ID habe ich den erstellten Datenpunkt ausgewählt (also die liste mit 96 werten).

            Im Log taucht nun folgendes auf :

            Bildschirmfoto 2020-02-09 um 14.41.11.png

            Das Script sieht nun so aus:

            Bildschirmfoto 2020-02-09 um 14.43.50.png

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

            @Dom-Sch sagte

            einen zweiten Datenpunkt der mit zur Ausgabe des Mittelwertes dient ?! Stimmt das so ?

            Ja, Typ: Zahl, Einheit: °C

            @Dom-Sch sagte in Liste aus Temperaturen, Mittelwert wiedergeben:

            Im Log taucht nun folgendes auf :

            Wurde der Datenpunkt "temp liste 1" vorher mit 96 Temperaturwerten gefüllt ?

            @Dom-Sch sagte in Liste aus Temperaturen, Mittelwert wiedergeben:

            auf alle 15min geändert

            Dann muss der Zeitplan auch alle 15 Minuten triggern: "*/15 * * * *"

            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

            1 Antwort Letzte Antwort
            0
            • CinimodC Offline
              CinimodC Offline
              Cinimod
              Most Active
              schrieb am zuletzt editiert von Cinimod
              #11

              Ja werte habe ich rein schreiben lassen, hatte jetzt nur jede minute zum testen eingestellt, das dürfte doch nicht das problem herbeirufen oder, löscht ja nur einen wert und setzt einen neuen davor... sollte ihm doch egal sein wie oft das passiert, oder ?!

              Bildschirmfoto 2020-02-09 um 14.51.33.png

              Synology DS918+, Fritzbox 6690 Cable, #Docker #Blockly #Vis2 #Deconz #Tasmota

              paul53P 1 Antwort Letzte Antwort
              0
              • CinimodC Cinimod

                Ja werte habe ich rein schreiben lassen, hatte jetzt nur jede minute zum testen eingestellt, das dürfte doch nicht das problem herbeirufen oder, löscht ja nur einen wert und setzt einen neuen davor... sollte ihm doch egal sein wie oft das passiert, oder ?!

                Bildschirmfoto 2020-02-09 um 14.51.33.png

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

                @Dom-Sch sagte:

                das dürfte doch nicht das problem herbeirufen

                Nein. Die Fehlermeldung deutet darauf hin, dass kein Array eingelesen wurde. Deshalb füge mal 2 Debug-Blöcke ein:

                Blockly_temp.JPG

                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

                1 Antwort Letzte Antwort
                0
                • CinimodC Offline
                  CinimodC Offline
                  Cinimod
                  Most Active
                  schrieb am zuletzt editiert von Cinimod
                  #13

                  Habe nun den Datenpunkt "liste" geändert.

                  Erst den selbst erstellten Datenpunkt benutzt, nun den mit Blockly erstellten Datenpunkt, jetzt scheint es zu gehen, hab ich wohl was falsch gemacht beim erstellen :face_with_rolling_eyes:
                  Kann man nen Datenpunkt einfach kopieren ? wollte den eigentlich wo anders haben, währe aber auch nicht ganz so dramatisch wenn nicht ... hab es 1:1 versucht nachzubauen, trotzdem scheint er den Datenpunkt nicht zu mögen, als welchen Grund auch immer, vielleicht muss er einfach im Verzeichnis javascript.0 liegen :man-shrugging:

                  Synology DS918+, Fritzbox 6690 Cable, #Docker #Blockly #Vis2 #Deconz #Tasmota

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • CinimodC Cinimod

                    Habe nun den Datenpunkt "liste" geändert.

                    Erst den selbst erstellten Datenpunkt benutzt, nun den mit Blockly erstellten Datenpunkt, jetzt scheint es zu gehen, hab ich wohl was falsch gemacht beim erstellen :face_with_rolling_eyes:
                    Kann man nen Datenpunkt einfach kopieren ? wollte den eigentlich wo anders haben, währe aber auch nicht ganz so dramatisch wenn nicht ... hab es 1:1 versucht nachzubauen, trotzdem scheint er den Datenpunkt nicht zu mögen, als welchen Grund auch immer, vielleicht muss er einfach im Verzeichnis javascript.0 liegen :man-shrugging:

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

                    @Dom-Sch sagte:

                    hab ich wohl was falsch gemacht beim erstellen

                    Eher beim Befüllen mit den 96 Werten. Das kann man nicht per Hand, sondern nur per Script machen.

                    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

                    1 Antwort Letzte Antwort
                    0
                    • CinimodC Offline
                      CinimodC Offline
                      Cinimod
                      Most Active
                      schrieb am zuletzt editiert von
                      #15

                      Hatte ich auch so gemacht wie du erlärt hast. stehen in beiden datenpunkten 96 werte drin. Mit dem einen geht es mit dem anderen nicht. Verstehe ich auch nicht wirklich.

                      Egal, geht ja jetzt, vielen Dank

                      Synology DS918+, Fritzbox 6690 Cable, #Docker #Blockly #Vis2 #Deconz #Tasmota

                      1 Antwort Letzte Antwort
                      0
                      • CinimodC Offline
                        CinimodC Offline
                        Cinimod
                        Most Active
                        schrieb am zuletzt editiert von
                        #16

                        Du hattest natürlich recht :grimacing:
                        Den Datenpunkt noch mal neu gefüllt, jetzt kann ich auch diesen nehmen, an dem Ort wo ich möchte.

                        :100:

                        Synology DS918+, Fritzbox 6690 Cable, #Docker #Blockly #Vis2 #Deconz #Tasmota

                        1 Antwort Letzte Antwort
                        0
                        • X xbow42

                          @Dom-Sch
                          so z.B. kannst du dir die Werte ins Log schreiben lassen.
                          iobroker-liste.png

                          M Offline
                          M Offline
                          Muhagl
                          schrieb am zuletzt editiert von Muhagl
                          #17

                          @xbow42
                          "und so umbauen" ..... wie geht das ????

                          Hat sich erledigt - einfach blind :-) Vielen Dank für die Anleitung

                          Hier mein Script:
                          dc683995-a0d4-46fc-9f50-d9b55410e8b0-grafik.png

                          Zu beachten ist, das sich durch die Mittelwertsberechnung bei einer grafischen Darstellung ein Shift ergibt....

                          J 1 Antwort Letzte Antwort
                          0
                          • M Muhagl

                            @xbow42
                            "und so umbauen" ..... wie geht das ????

                            Hat sich erledigt - einfach blind :-) Vielen Dank für die Anleitung

                            Hier mein Script:
                            dc683995-a0d4-46fc-9f50-d9b55410e8b0-grafik.png

                            Zu beachten ist, das sich durch die Mittelwertsberechnung bei einer grafischen Darstellung ein Shift ergibt....

                            J Offline
                            J Offline
                            juergschwarz
                            schrieb am zuletzt editiert von juergschwarz
                            #18

                            @Muhagl Ich hab das so gelöst für einen laufenden Durchschnitt für 15min:

                            Bildschirmfoto von 2020-10-25 07-58-48.png

                            1 Antwort Letzte Antwort
                            0
                            • paul53P paul53

                              @Dom-Sch sagte in Liste aus Temperaturen, Mittelwert wiedergeben:

                              das in blockly umsetzen

                              Erstelle erst einmal einen Datenpunkt vom Typ "Feld"("array"), in dem die 24 Werte gespeichert werden.
                              Als nächstes fülle den Datenpunkt mit den aktuellen Temperaturwerten.

                              Blockly_temp.JPG

                              Das Script zum Füllen anschließend löschen und mit folgendem Blockly den Mittelwert ermitteln und in einen Datenpunkt schreiben.

                              Blockly_temp.JPG

                              Z Offline
                              Z Offline
                              zahnheinrich
                              schrieb am zuletzt editiert von
                              #19

                              @paul53
                              Hallo,
                              bei mir läuft Dein blockly zum gleitenden Mittelwert seit einiger Zeit ohne Probleme:

                              var Liste, Summe, i, Mittel;
                              
                              
                              // einmalig Liste befüllen
                              
                              Liste = getState("0_userdata.0.Variablen.Lux_Durchschnitt").val;
                              schedule("*/15 * * * * *", async function () {
                                Liste.pop();
                                Liste.unshift(getState("zigbee.1.04cf8cdf3c7b6097.illuminance").val);
                                setState("0_userdata.0.Variablen.Lux_Durchschnitt"/*Lux_Durchschnitt*/, Liste, true);
                                Summe = 0;
                                for (i = 1; i <= 80; i++) {
                                  Summe = (typeof Summe == 'number' ? Summe : 0) + Liste[(i - 1)];
                                }
                                console.log(('Summe ist ' + String(Summe)));
                                Mittel = Math.round(Summe / 80);
                                setState("0_userdata.0.Variablen.Lux_Durchschnitt_Wert"/*Lux_Durchschnitt_Wert*/, Mittel, true);
                                console.log(('Mittel ist ' + String(Mittel)));
                              });
                              

                              Neuerdings bekomme ich diesen Fehler:

                              15:28:30.012	error	javascript.0 (10504) at Object.<anonymous> (script.js.common.Verschiedenes.Lux_Durchnitt_berechnen:8:9)
                              15:28:45.002	error	javascript.0 (10504) script.js.common.Verschiedenes.Lux_Durchnitt_berechnen: TypeError: Liste.pop is not a function
                              

                              Downgrade des javascript Adapters hat nicht geholfen, ebensowenig Neueingabe des scripts.
                              Was kann ich tun?

                              MfG Ulrich

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • Z zahnheinrich

                                @paul53
                                Hallo,
                                bei mir läuft Dein blockly zum gleitenden Mittelwert seit einiger Zeit ohne Probleme:

                                var Liste, Summe, i, Mittel;
                                
                                
                                // einmalig Liste befüllen
                                
                                Liste = getState("0_userdata.0.Variablen.Lux_Durchschnitt").val;
                                schedule("*/15 * * * * *", async function () {
                                  Liste.pop();
                                  Liste.unshift(getState("zigbee.1.04cf8cdf3c7b6097.illuminance").val);
                                  setState("0_userdata.0.Variablen.Lux_Durchschnitt"/*Lux_Durchschnitt*/, Liste, true);
                                  Summe = 0;
                                  for (i = 1; i <= 80; i++) {
                                    Summe = (typeof Summe == 'number' ? Summe : 0) + Liste[(i - 1)];
                                  }
                                  console.log(('Summe ist ' + String(Summe)));
                                  Mittel = Math.round(Summe / 80);
                                  setState("0_userdata.0.Variablen.Lux_Durchschnitt_Wert"/*Lux_Durchschnitt_Wert*/, Mittel, true);
                                  console.log(('Mittel ist ' + String(Mittel)));
                                });
                                

                                Neuerdings bekomme ich diesen Fehler:

                                15:28:30.012	error	javascript.0 (10504) at Object.<anonymous> (script.js.common.Verschiedenes.Lux_Durchnitt_berechnen:8:9)
                                15:28:45.002	error	javascript.0 (10504) script.js.common.Verschiedenes.Lux_Durchnitt_berechnen: TypeError: Liste.pop is not a function
                                

                                Downgrade des javascript Adapters hat nicht geholfen, ebensowenig Neueingabe des scripts.
                                Was kann ich tun?

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

                                @zahnheinrich
                                Offenbar enthält der Datenpunkt "0_userdata.0.Variablen.Lux_Durchschnitt" keine Liste mehr.
                                Welche Version des Javascript-Adpters? In neueren Versionen wurde auf JSON umgestellt, so dass es sein kann, dass die Liste neu befüllt werden muss. Einmalig ausführen:

                                Bild_2021-09-12_155640.png

                                Vorher den Javascript-Adapter aktualisieren.

                                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

                                Z 1 Antwort Letzte Antwort
                                0
                                • paul53P paul53

                                  @zahnheinrich
                                  Offenbar enthält der Datenpunkt "0_userdata.0.Variablen.Lux_Durchschnitt" keine Liste mehr.
                                  Welche Version des Javascript-Adpters? In neueren Versionen wurde auf JSON umgestellt, so dass es sein kann, dass die Liste neu befüllt werden muss. Einmalig ausführen:

                                  Bild_2021-09-12_155640.png

                                  Vorher den Javascript-Adapter aktualisieren.

                                  Z Offline
                                  Z Offline
                                  zahnheinrich
                                  schrieb am zuletzt editiert von
                                  #21

                                  @paul53
                                  Die Listenvariable war schon gefüllt, hatte ich extra abgezählt auf 80 Elemente, aber egal.

                                  Nach Neubefüllung mit Deinem blockly geht´s wieder, vielen Dank!

                                  Wäre aufgrund der mir unverständlichen Fehlermeldung vorerst nicht drauf gekommen.

                                  MfG Ulrich

                                  paul53P 1 Antwort Letzte Antwort
                                  0
                                  • Z zahnheinrich

                                    @paul53
                                    Die Listenvariable war schon gefüllt, hatte ich extra abgezählt auf 80 Elemente, aber egal.

                                    Nach Neubefüllung mit Deinem blockly geht´s wieder, vielen Dank!

                                    Wäre aufgrund der mir unverständlichen Fehlermeldung vorerst nicht drauf gekommen.

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

                                    @zahnheinrich sagte: Nach Neubefüllung mit Deinem blockly geht´s wieder

                                    Adapter-Version?

                                    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

                                    Z 1 Antwort Letzte Antwort
                                    0
                                    • paul53P paul53

                                      @zahnheinrich sagte: Nach Neubefüllung mit Deinem blockly geht´s wieder

                                      Adapter-Version?

                                      Z Offline
                                      Z Offline
                                      zahnheinrich
                                      schrieb am zuletzt editiert von
                                      #23

                                      @paul53
                                      Aktuell javascript 4.11.0, downgrade von 5.2.6
                                      Allerdings auf meinem Produktivsystem mit admin 4.x

                                      Auf meinem Testsystem mit admin 5.x und neuesten stable Adapterversionen ging es auch nicht.

                                      MfG Ulrich

                                      paul53P 1 Antwort Letzte Antwort
                                      0
                                      • Z zahnheinrich

                                        @paul53
                                        Aktuell javascript 4.11.0, downgrade von 5.2.6
                                        Allerdings auf meinem Produktivsystem mit admin 4.x

                                        Auf meinem Testsystem mit admin 5.x und neuesten stable Adapterversionen ging es auch nicht.

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

                                        @zahnheinrich sagte: downgrade von 5.2.6

                                        Deshalb hat es nicht mehr funktioniert: Version 5.2.6 hat ein JSON in den Datenpunkt geschrieben, was für Version 4.11.0 kein Array ist. Mit der Admin-Version hat es nichts zu tun.

                                        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

                                        1 Antwort Letzte Antwort
                                        0
                                        • Z Offline
                                          Z Offline
                                          zahnheinrich
                                          schrieb am zuletzt editiert von
                                          #25

                                          @paul53
                                          OK, danke für die info.
                                          Wieder etwas dazugelernt :blush:

                                          MfG Ulrich

                                          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

                                          251

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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