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. Blockly
  5. Lowbat *einmalig* mailen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

Lowbat *einmalig* mailen

Geplant Angeheftet Gesperrt Verschoben Blockly
26 Beiträge 4 Kommentatoren 1.4k Aufrufe 3 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.
  • T Timmss

    Update

    Zufälligerweise hat sich heute das Testen des Skriptes ergeben und es funktioniert einwandfrei!

    Der Wert pendelt genau an der Schwelle und low_bat ist true, false, true, false, ... - aber nur eine einzige Mail. Sehr schön.

    Die Batterie wurde ausgetauscht und die Taste gedrückt. Letzteres würde ich gerne irgendwie noch automatisieren, aber so tut es erstmal. :)

    Edit: Vielleicht eine zweite Liste mitlaufen lassen, in dem die übrigen Tage bis zur automatischen Löschung gespeichert werden. Dabei wäre der zweite Eintrag der für den zweiten Eintrag in unserer lowbatListe. Standardmäßig den Wert 28 (4 Wochen) und jeden Tag wird -1 gerechnet und wenn es dann bei 0 angekommen ist, löscht es den passenden Eintrag automatisch aus unserer Liste mit den IDs.

    @paul53 was hälst du davon?

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

    @timmss sagte: wenn es dann bei 0 angekommen ist, löscht es den passenden Eintrag automatisch aus unserer Liste mit den IDs.

    Es muss der Eintrag in beiden Listen gelöscht werden, damit der Index weiter übereinstimmt.

    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

    T 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @timmss sagte: wenn es dann bei 0 angekommen ist, löscht es den passenden Eintrag automatisch aus unserer Liste mit den IDs.

      Es muss der Eintrag in beiden Listen gelöscht werden, damit der Index weiter übereinstimmt.

      T Offline
      T Offline
      Timmss
      schrieb am zuletzt editiert von
      #11

      @paul53 sagte: Es muss der Eintrag in beiden Listen gelöscht werden, damit der Index weiter übereinstimmt.

      Ja genau.

      Fände diesen Automatismus schöner, als sich auf die Nutzer zu verlassen.

      paul53P 1 Antwort Letzte Antwort
      0
      • T Timmss

        @paul53 sagte: Es muss der Eintrag in beiden Listen gelöscht werden, damit der Index weiter übereinstimmt.

        Ja genau.

        Fände diesen Automatismus schöner, als sich auf die Nutzer zu verlassen.

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

        @timmss sagte: Fände diesen Automatismus schöner, als sich auf die Nutzer zu verlassen.

        Da der Batteriewechsel eine manuelle Tätigkeit ist, dürfte man sich schnell daran gewöhnen, anschließend die Taste zu betätigen.

        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

        T 1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @timmss sagte: Fände diesen Automatismus schöner, als sich auf die Nutzer zu verlassen.

          Da der Batteriewechsel eine manuelle Tätigkeit ist, dürfte man sich schnell daran gewöhnen, anschließend die Taste zu betätigen.

          T Offline
          T Offline
          Timmss
          schrieb am zuletzt editiert von Timmss
          #13

          @paul53 Ich habe mal aus Neugier was gebaut:

          204f79d0-3a37-4831-ab05-eab1e9c6f895-grafik.png

          Ich bin mir nicht sicher, ob man so Werte aus einer Liste löscht. Aber prinzipiell müsste es so gehen?

          Edit: Der 'entferne'-Block wurde gefunden. Man müsste nur selber durchschauen :grimacing:

          paul53P 1 Antwort Letzte Antwort
          0
          • T Timmss

            @paul53 Ich habe mal aus Neugier was gebaut:

            204f79d0-3a37-4831-ab05-eab1e9c6f895-grafik.png

            Ich bin mir nicht sicher, ob man so Werte aus einer Liste löscht. Aber prinzipiell müsste es so gehen?

            Edit: Der 'entferne'-Block wurde gefunden. Man müsste nur selber durchschauen :grimacing:

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

            @timmss
            Falsche Variable Liste.

            Blockly_temp.JPG

            Außerdem falsche Schleife gewählt. Richtig:

            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

            T 2 Antworten Letzte Antwort
            1
            • paul53P paul53

              @timmss
              Falsche Variable Liste.

              Blockly_temp.JPG

              Außerdem falsche Schleife gewählt. Richtig:

              Blockly_temp.JPG

              T Offline
              T Offline
              Timmss
              schrieb am zuletzt editiert von
              #15

              @paul53 Oh man. Ist angepasst.

              Deswegen finde ich es hier im Forum so toll. Danke für die Große Hilfe!

              1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @timmss
                Falsche Variable Liste.

                Blockly_temp.JPG

                Außerdem falsche Schleife gewählt. Richtig:

                Blockly_temp.JPG

                T Offline
                T Offline
                Timmss
                schrieb am zuletzt editiert von Timmss
                #16

                @paul53 Wobei mir gerade beim Testen was auffällt. Wir nehmen Einträge aus der Liste tagesliste weg. Wir versuchen aber über die gesamte ursprüngliche Länge der Liste auf die Werte zuzugreifen. Der Index spielt uns in die Karten.

                Als Lösung vielleicht eine dritte Liste, die sich spiegelt mit der tagesliste. Nur dort entfernen wir und aktualisieren diese zum Schluss mit der tagesliste?

                paul53P 1 Antwort Letzte Antwort
                0
                • T Timmss

                  @paul53 Wobei mir gerade beim Testen was auffällt. Wir nehmen Einträge aus der Liste tagesliste weg. Wir versuchen aber über die gesamte ursprüngliche Länge der Liste auf die Werte zuzugreifen. Der Index spielt uns in die Karten.

                  Als Lösung vielleicht eine dritte Liste, die sich spiegelt mit der tagesliste. Nur dort entfernen wir und aktualisieren diese zum Schluss mit der tagesliste?

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

                  @timmss sagte: Der Index spielt uns in die Karten.

                  Dann korrigiere den Index nach dem Entfernen.

                  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

                  T 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @timmss sagte: Der Index spielt uns in die Karten.

                    Dann korrigiere den Index nach dem Entfernen.

                    Blockly_temp.JPG

                    T Offline
                    T Offline
                    Timmss
                    schrieb am zuletzt editiert von
                    #18

                    @paul53 sagte: Dann korrigiere den Index nach dem Entfernen.

                    Das wäre eine Idee. Dennoch geht die Schleife ja so lang wie die ursprüngliche Länge der tagesliste.

                    Aus benachrichtigt = [id1, id2] und tagesliste = [1, 20] wird benachrichtigt = [id2] und tagesliste = [20, -1].

                    paul53P 1 Antwort Letzte Antwort
                    0
                    • T Timmss

                      @paul53 sagte: Dann korrigiere den Index nach dem Entfernen.

                      Das wäre eine Idee. Dennoch geht die Schleife ja so lang wie die ursprüngliche Länge der tagesliste.

                      Aus benachrichtigt = [id1, id2] und tagesliste = [1, 20] wird benachrichtigt = [id2] und tagesliste = [20, -1].

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

                      @timmss sagte: tagesliste = [20, -1].

                      Wirklich? Ich habe mal eine Tagesliste mit Javascript nachgebildet:

                      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

                      T 1 Antwort Letzte Antwort
                      0
                      • paul53P paul53

                        @timmss sagte: tagesliste = [20, -1].

                        Wirklich? Ich habe mal eine Tagesliste mit Javascript nachgebildet:

                        Blockly_temp.JPG

                        T Offline
                        T Offline
                        Timmss
                        schrieb am zuletzt editiert von Timmss
                        #20

                        @paul53 Diese Schleife:

                        92316133-4da7-45d3-b147-b668f8dfc1f5-grafik.png

                        gibt mir diese outputs:

                        2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: benachrichtigt vorher: 11,20,94
                        2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: tagesliste vorher: 1,20,29
                        2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: Schleifendurchgang: 0
                        2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: benachrichtigt jetzt: 20,94
                        2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: tagesliste jetzt: 20,29
                        2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: Schleifendurchgang: 1
                        2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: benachrichtigt jetzt: 20,94
                        2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: tagesliste jetzt: 19,29
                        2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: Schleifendurchgang: 2
                        2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: benachrichtigt jetzt: 20,94
                        2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: tagesliste jetzt: 19,28
                        2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: Schleifendurchgang: 3
                        2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: benachrichtigt jetzt: 20,94
                        2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: tagesliste jetzt: 19,28,-1
                        2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: benachrichtigt danach: 20,94
                        2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: tagesliste danach: 19,28,-1
                        

                        So wurden die debugs eingearbeitet:

                        e2db6a16-1ee4-4776-abc6-9f2d62fbe1b2-grafik.png

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • T Timmss

                          @paul53 Diese Schleife:

                          92316133-4da7-45d3-b147-b668f8dfc1f5-grafik.png

                          gibt mir diese outputs:

                          2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: benachrichtigt vorher: 11,20,94
                          2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: tagesliste vorher: 1,20,29
                          2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: Schleifendurchgang: 0
                          2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: benachrichtigt jetzt: 20,94
                          2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: tagesliste jetzt: 20,29
                          2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: Schleifendurchgang: 1
                          2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: benachrichtigt jetzt: 20,94
                          2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: tagesliste jetzt: 19,29
                          2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: Schleifendurchgang: 2
                          2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: benachrichtigt jetzt: 20,94
                          2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: tagesliste jetzt: 19,28
                          2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: Schleifendurchgang: 3
                          2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: benachrichtigt jetzt: 20,94
                          2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: tagesliste jetzt: 19,28,-1
                          2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: benachrichtigt danach: 20,94
                          2025-09-10 08:55:06.468 - info: javascript.0 (36733) script.js.common.Allgemein.Mailing_von_LOW_BAT: tagesliste danach: 19,28,-1
                          

                          So wurden die debugs eingearbeitet:

                          e2db6a16-1ee4-4776-abc6-9f2d62fbe1b2-grafik.png

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

                          @timmss sagte: gibt mir diese outputs:

                          In Blockly funktioniert es so leider nicht, da die Blockly-Schleife eine Zwischenvariable i_end verwendet, die beim Entfernen nicht angepasst wird.

                          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

                          T 1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @timmss sagte: gibt mir diese outputs:

                            In Blockly funktioniert es so leider nicht, da die Blockly-Schleife eine Zwischenvariable i_end verwendet, die beim Entfernen nicht angepasst wird.

                            T Offline
                            T Offline
                            Timmss
                            schrieb am zuletzt editiert von
                            #22

                            @paul53 Ärgerlich. Dann bauen wir diese Schleife einfach in eine JavaScript-Funktion?

                            paul53P 2 Antworten Letzte Antwort
                            0
                            • T Timmss

                              @paul53 Ärgerlich. Dann bauen wir diese Schleife einfach in eine JavaScript-Funktion?

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

                              @timmss sagte: Ärgerlich.

                              Abhilfe:

                              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

                              T 1 Antwort Letzte Antwort
                              1
                              • paul53P paul53

                                @timmss sagte: Ärgerlich.

                                Abhilfe:

                                Blockly_temp.JPG

                                T Offline
                                T Offline
                                Timmss
                                schrieb am zuletzt editiert von
                                #24

                                @paul53 So simpel wie es eigentlich ist hat es geholfen. Auch nach Tests.

                                Riesiges Dankeschön für deine Zeit und Geduld.

                                1 Antwort Letzte Antwort
                                0
                                • T Timmss

                                  @paul53 Ärgerlich. Dann bauen wir diese Schleife einfach in eine JavaScript-Funktion?

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

                                  @timmss sagte: Schleife einfach in eine JavaScript-Funktion?

                                  Mit einer Javascript-Funktion ist es wesentlich kürzer:

                                  for(let i = 0; i < tage.length; i++) {
                                      tage[i]--;
                                      if(tage[i] == 0) {
                                          tage.splice(i, 1);
                                          ids.splice(i, 1);
                                          i--;
                                      }
                                  }
                                  

                                  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

                                  MartinPM 1 Antwort Letzte Antwort
                                  0
                                  • paul53P paul53

                                    @timmss sagte: Schleife einfach in eine JavaScript-Funktion?

                                    Mit einer Javascript-Funktion ist es wesentlich kürzer:

                                    for(let i = 0; i < tage.length; i++) {
                                        tage[i]--;
                                        if(tage[i] == 0) {
                                            tage.splice(i, 1);
                                            ids.splice(i, 1);
                                            i--;
                                        }
                                    }
                                    

                                    Blockly_temp.JPG

                                    MartinPM Online
                                    MartinPM Online
                                    MartinP
                                    schrieb am zuletzt editiert von MartinP
                                    #26

                                    Eine andere Idee:

                                    Ein weiterer Zustand

                                    BatteryOkValidated wird erst gesetzt, wenn mindestens einen Tag keine BatteryLow Ereignisse gekommen sind. Wird bei Start des Skripts auf True gesetzt ...

                                    Kommt ein BatteryLow Ereignis wird geprüft ob BatteryOkValidated gesetzt ist.

                                    Falls ja, wird BatteryOkValidated auf false gesetzt, und eine Mail abgesetzt, sowie ein Timeout (für das Zurücksetzen von BatteryOkValidated auf true) gesetzt.

                                    Falls nein wird der Timeout für das Setzen von BatteryOkValidated verlängert.

                                    Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
                                    Virtualization : unprivileged lxc container (debian 13) on Proxmox 9.1.5)
                                    Linux pve 6.17.9-1-pve
                                    6 GByte RAM für den Container
                                    Fritzbox 6591 FW 8.20 (Vodafone Leih-Box)
                                    Remote-Access über Wireguard der Fritzbox

                                    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

                                    521

                                    Online

                                    32.6k

                                    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