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. Script für autom. Benachrichtigung bei low Batteriestand

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Script für autom. Benachrichtigung bei low Batteriestand

Geplant Angeheftet Gesperrt Verschoben Blockly
blockly
18 Beiträge 4 Kommentatoren 1.4k Aufrufe 6 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.
  • AtifanA Offline
    AtifanA Offline
    Atifan
    schrieb am zuletzt editiert von Atifan
    #1

    Hi, ich habe viele Xiaomi Sensoren über Zigbee eingebunden.
    Diese werden ja über eine CR2032 Batterie betrieben, welche auch irgendwann mal ausgetauscht werden muss.
    Damit ich rechtzeitig bemerke, habe ich mir ein Script gebaut das den Batteriestand überwacht und bei <=20% eine E-Mail an mich versendet.
    Ich habe im Moment 14 Sensoren eingebunden, es werden aber demnächst noch mal ca.16 Stück dazukommen.
    Für jedes Gerät habe ich ein "eigenes Script laufen".
    Es funktioniert zwar wunderbar, aber das geht doch bestimmt auch etwas übersichtlicher vom Code her oder?

    on({id: 'zigbee.0.00158d000421e240.battery', change: "any"}, function (obj) {
      var value = obj.state.val;
      var oldValue = obj.oldState.val;
      if (getState("zigbee.0.00158d000421e240.battery").val <= 20) {
        sendTo("email", "send", {
           text: 'Batterien bei Zigbee-Geräten prüfen, eine Batterie ist fast leer.',
           to: 'xxx@t-online.de',
           subject: 'Batterien bei Zigbee-Geräten prüfen, eine Batterie ist fast leer.'
        });
      }
    });
    
    on({id: 'zigbee.0.00158d0004445915.battery', change: "any"}, function (obj) {
      var value = obj.state.val;
      var oldValue = obj.oldState.val;
      if (getState("zigbee.0.00158d0004445915.battery").val <= 20) {
        sendTo("email", "send", {
           text: 'Batterien bei Zigbee-Geräten prüfen, eine Batterie ist fast leer.',
           to: 'xxx@t-online.de',
           subject: 'Batterien bei Zigbee-Geräten prüfen, eine Batterie ist fast leer.'
        });
      }
    });
    

    2d1c57dd-7d2b-4e7e-9e8d-9605dd530e66-image.png

    sigi234S paul53P 2 Antworten Letzte Antwort
    0
    • AtifanA Atifan

      Hi, ich habe viele Xiaomi Sensoren über Zigbee eingebunden.
      Diese werden ja über eine CR2032 Batterie betrieben, welche auch irgendwann mal ausgetauscht werden muss.
      Damit ich rechtzeitig bemerke, habe ich mir ein Script gebaut das den Batteriestand überwacht und bei <=20% eine E-Mail an mich versendet.
      Ich habe im Moment 14 Sensoren eingebunden, es werden aber demnächst noch mal ca.16 Stück dazukommen.
      Für jedes Gerät habe ich ein "eigenes Script laufen".
      Es funktioniert zwar wunderbar, aber das geht doch bestimmt auch etwas übersichtlicher vom Code her oder?

      on({id: 'zigbee.0.00158d000421e240.battery', change: "any"}, function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        if (getState("zigbee.0.00158d000421e240.battery").val <= 20) {
          sendTo("email", "send", {
             text: 'Batterien bei Zigbee-Geräten prüfen, eine Batterie ist fast leer.',
             to: 'xxx@t-online.de',
             subject: 'Batterien bei Zigbee-Geräten prüfen, eine Batterie ist fast leer.'
          });
        }
      });
      
      on({id: 'zigbee.0.00158d0004445915.battery', change: "any"}, function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        if (getState("zigbee.0.00158d0004445915.battery").val <= 20) {
          sendTo("email", "send", {
             text: 'Batterien bei Zigbee-Geräten prüfen, eine Batterie ist fast leer.',
             to: 'xxx@t-online.de',
             subject: 'Batterien bei Zigbee-Geräten prüfen, eine Batterie ist fast leer.'
          });
        }
      });
      

      2d1c57dd-7d2b-4e7e-9e8d-9605dd530e66-image.png

      sigi234S Online
      sigi234S Online
      sigi234
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #2

      @Atifan

      https://forum.iobroker.net/topic/28789/script-fürtabelle-der-batterie-zustände

      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
      Immer Daten sichern!

      1 Antwort Letzte Antwort
      0
      • AtifanA Offline
        AtifanA Offline
        Atifan
        schrieb am zuletzt editiert von
        #3

        Hi, Danke für den Tipp, das ist aber wenn ich das richtig sehe ein Script für eine visuelle Darstellung als Tabelle in einer VIS. Das ist was anderes als das was ich möchte.

        1 Antwort Letzte Antwort
        0
        • AtifanA Atifan

          Hi, ich habe viele Xiaomi Sensoren über Zigbee eingebunden.
          Diese werden ja über eine CR2032 Batterie betrieben, welche auch irgendwann mal ausgetauscht werden muss.
          Damit ich rechtzeitig bemerke, habe ich mir ein Script gebaut das den Batteriestand überwacht und bei <=20% eine E-Mail an mich versendet.
          Ich habe im Moment 14 Sensoren eingebunden, es werden aber demnächst noch mal ca.16 Stück dazukommen.
          Für jedes Gerät habe ich ein "eigenes Script laufen".
          Es funktioniert zwar wunderbar, aber das geht doch bestimmt auch etwas übersichtlicher vom Code her oder?

          on({id: 'zigbee.0.00158d000421e240.battery', change: "any"}, function (obj) {
            var value = obj.state.val;
            var oldValue = obj.oldState.val;
            if (getState("zigbee.0.00158d000421e240.battery").val <= 20) {
              sendTo("email", "send", {
                 text: 'Batterien bei Zigbee-Geräten prüfen, eine Batterie ist fast leer.',
                 to: 'xxx@t-online.de',
                 subject: 'Batterien bei Zigbee-Geräten prüfen, eine Batterie ist fast leer.'
              });
            }
          });
          
          on({id: 'zigbee.0.00158d0004445915.battery', change: "any"}, function (obj) {
            var value = obj.state.val;
            var oldValue = obj.oldState.val;
            if (getState("zigbee.0.00158d0004445915.battery").val <= 20) {
              sendTo("email", "send", {
                 text: 'Batterien bei Zigbee-Geräten prüfen, eine Batterie ist fast leer.',
                 to: 'xxx@t-online.de',
                 subject: 'Batterien bei Zigbee-Geräten prüfen, eine Batterie ist fast leer.'
              });
            }
          });
          

          2d1c57dd-7d2b-4e7e-9e8d-9605dd530e66-image.png

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

          @Atifan sagte:

          das geht doch bestimmt auch etwas übersichtlicher vom Code her oder?

          Ja.

          const ids = $('zigbee.0.*.battery');
          
          ids.on(function(dp) {
            if (dp.state.val <= 20 && dp.oldState.val > 20) {
              sendTo("email", "send", {
                 text: 'Batterien bei Zigbee-Geräten prüfen, eine Batterie ist fast leer: ' + dp.id,
                 to: 'xxx@t-online.de',
                 subject: 'Batterien bei Zigbee-Geräten prüfen, eine Batterie ist fast leer.'
              });
            }
          });
          

          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
          • buggybeastB Offline
            buggybeastB Offline
            buggybeast
            schrieb am zuletzt editiert von
            #5

            @Atifan Mit Aqara Sensoren habe ich das in Blockly so gemacht
            Bildschirmfoto 2020-06-28 um 11.10.08.png
            Die Trigger Liste wird mit Deinen >30 Sensoren dabei zwar sehr lang, aber ich wüsste nicht, wie man die Lösung von paul53 in Blockly realisieren könnte. Da musst Du dann im JS Code Hand anlegen.

            paul53P AtifanA 2 Antworten Letzte Antwort
            0
            • AtifanA Offline
              AtifanA Offline
              Atifan
              schrieb am zuletzt editiert von
              #6

              Hi, ja das ist genau das was ich gesucht hab, Danke!
              Klar wird die Liste relativ lang, aber das ist immer noch viel übersichtlicher als das was ich hab :)

              1 Antwort Letzte Antwort
              0
              • buggybeastB buggybeast

                @Atifan Mit Aqara Sensoren habe ich das in Blockly so gemacht
                Bildschirmfoto 2020-06-28 um 11.10.08.png
                Die Trigger Liste wird mit Deinen >30 Sensoren dabei zwar sehr lang, aber ich wüsste nicht, wie man die Lösung von paul53 in Blockly realisieren könnte. Da musst Du dann im JS Code Hand anlegen.

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

                @buggybeast sagte:

                wie man die Lösung von paul53 in Blockly realisieren könnte.

                Mit RegExp.

                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
                1
                • buggybeastB Offline
                  buggybeastB Offline
                  buggybeast
                  schrieb am zuletzt editiert von
                  #8

                  @paul53 ach das ist ja cool. Und auf regexp kann man triggern?
                  Kann man womöglich auf alle System Bausteine triggern, die sich an dem Trigger andocken lassen?

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • buggybeastB buggybeast

                    @paul53 ach das ist ja cool. Und auf regexp kann man triggern?
                    Kann man womöglich auf alle System Bausteine triggern, die sich an dem Trigger andocken lassen?

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

                    @buggybeast sagte:

                    auf alle System Bausteine triggern, die sich an dem Trigger andocken lassen?

                    Nein, laut Doku kann man triggern auf

                    • ID-String
                    • Array of IDs
                    • RegExp, dessen Ausdruck auf IDs verweist.

                    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
                    • buggybeastB buggybeast

                      @Atifan Mit Aqara Sensoren habe ich das in Blockly so gemacht
                      Bildschirmfoto 2020-06-28 um 11.10.08.png
                      Die Trigger Liste wird mit Deinen >30 Sensoren dabei zwar sehr lang, aber ich wüsste nicht, wie man die Lösung von paul53 in Blockly realisieren könnte. Da musst Du dann im JS Code Hand anlegen.

                      AtifanA Offline
                      AtifanA Offline
                      Atifan
                      schrieb am zuletzt editiert von
                      #10

                      @buggybeast sagte in Script für autom. Benachrichtigung bei low Batteriestand:

                      @Atifan Mit Aqara Sensoren habe ich das in Blockly so gemacht
                      Bildschirmfoto 2020-06-28 um 11.10.08.png
                      Die Trigger Liste wird mit Deinen >30 Sensoren dabei zwar sehr lang, aber ich wüsste nicht, wie man die Lösung von paul53 in Blockly realisieren könnte. Da musst Du dann im JS Code Hand anlegen.

                      Bei mir funktioniert das Script so nicht, worauf bezieht sich denn deine Variable "Wert" ?

                      paul53P 1 Antwort Letzte Antwort
                      0
                      • AtifanA Atifan

                        @buggybeast sagte in Script für autom. Benachrichtigung bei low Batteriestand:

                        @Atifan Mit Aqara Sensoren habe ich das in Blockly so gemacht
                        Bildschirmfoto 2020-06-28 um 11.10.08.png
                        Die Trigger Liste wird mit Deinen >30 Sensoren dabei zwar sehr lang, aber ich wüsste nicht, wie man die Lösung von paul53 in Blockly realisieren könnte. Da musst Du dann im JS Code Hand anlegen.

                        Bei mir funktioniert das Script so nicht, worauf bezieht sich denn deine Variable "Wert" ?

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

                        @Atifan
                        Wert und Gerätename findet man unter "Trigger".

                        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
                        • AtifanA Offline
                          AtifanA Offline
                          Atifan
                          schrieb am zuletzt editiert von Atifan
                          #12

                          Super vielen Dank! Jetzt funktioniert es :) Und sieht gleich viel übersichtlicher aus als meine 14x bzw. später 30x Blöcke.

                          7e8db94e-2b9c-446c-acb2-52e51b45d2d5-image.png

                          paul53P 1 Antwort Letzte Antwort
                          0
                          • AtifanA Atifan

                            Super vielen Dank! Jetzt funktioniert es :) Und sieht gleich viel übersichtlicher aus als meine 14x bzw. später 30x Blöcke.

                            7e8db94e-2b9c-446c-acb2-52e51b45d2d5-image.png

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

                            @Atifan
                            Die Objekt ID ist ein String. Da Du ausführliche Namen vergeben hast, sollten besser die Namen gesendet werden.

                            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
                            • AtifanA Offline
                              AtifanA Offline
                              Atifan
                              schrieb am zuletzt editiert von
                              #14

                              Ja thx, habe es noch etwas angepasst. Jetzt ist es optimal :) Thx

                              6224baf0-e949-47b0-8879-055acbeceffc-image.png

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • AtifanA Atifan

                                Ja thx, habe es noch etwas angepasst. Jetzt ist es optimal :) Thx

                                6224baf0-e949-47b0-8879-055acbeceffc-image.png

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

                                @Atifan sagte:

                                Jetzt ist es optimal

                                Nicht ganz, denn der Name ist auch bereits ein String.

                                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
                                • buggybeastB Offline
                                  buggybeastB Offline
                                  buggybeast
                                  schrieb am zuletzt editiert von
                                  #16

                                  @Atifan außerdem würde ich auf „wurde geändert“ prüfen. Zumindest meine Aqara Sensoren aktualisieren sich alle paar Sekunden, dann würde dein Skript auch alle paar Sekunden einmal kurz laufen, auch wenn keine Nachricht versendet wird.
                                  Das ist unnötig.

                                  1 Antwort Letzte Antwort
                                  0
                                  • AtifanA Offline
                                    AtifanA Offline
                                    Atifan
                                    schrieb am zuletzt editiert von
                                    #17

                                    Hi, ja ich weiß :D Effizienter wäre es mit "geändert". Ich nutze aber absichtlich irgendwie lieber "aktualisiert". Klar wird viel öfter getriggert, aber mein NUC langweilt sich sowieso.
                                    Ich möchte damit einfach vermeiden, dass aufgrund von ungünstigen Konstellationen evtl. mal nicht getriggert wird :) Wie gesagt effizienter wäre es anders :)
                                    Und ich hab versucht bei "Wert" und "Name" ohne in String zu konvertieren, dann funktioniert das Script irgendwie nicht.

                                    1 Antwort Letzte Antwort
                                    0
                                    • AtifanA Offline
                                      AtifanA Offline
                                      Atifan
                                      schrieb am zuletzt editiert von
                                      #18

                                      OK habe bei "Name" die Stringumwandlung entfernt, das ging :)

                                      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

                                      641

                                      Online

                                      32.7k

                                      Benutzer

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