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. Script Xiaomi Battery leer ?

NEWS

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

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

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

Script Xiaomi Battery leer ?

Geplant Angeheftet Gesperrt Verschoben Ungelöst Skripten / Logik
blockly
93 Beiträge 19 Kommentatoren 11.0k Aufrufe 16 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.
  • MyzerATM MyzerAT

    hi @lls

    Gibt es Erfahrungswerte wie lange die Batterien der Xiaomi Aktoren halten? Natürlich ist mir klar um so öfters Daten gesendet werden um so schneller werden diese leer, dennoch würde ich gerne wissen ob Monate oder Wochen?!

    Dann habe ich mir ein Blockly Script geschnitzt das mich informiert sobald eine der Batterien auf unter 20% fällt, habe hier zwar einige JS Scripte gefunden, konnte damit aber nichts anfangen!

    würde das so passen?
    batterylvl.PNG

    nurChrisN Offline
    nurChrisN Offline
    nurChris
    schrieb am zuletzt editiert von nurChris
    #4

    @MyzerAT Hey, dein Blockly wird so nicht funktionieren. Du hast dort eine Variable namens "Wert" die anscheinend nicht weiter definiert ist.

    Du musst schon die einzelnen Batterie Werte abfragen. Dafür gibt es den blauen System Block namens "Wert von 'Objekt ID'"!

    Damit du wirklich jeden Status überwachst nimmst du dann für jede Batterie den Block und trennst sie durch die blauen Logik "Oder" Blöcke...

    Also falls "wert von battery1" oder "wert von battery2" oder "wert von battery3" oder...... Usw. Ist geringer als 20
    dann steuere speak und send to.

    Kann dir vom Handy aus leider kein grafisches Beispiel bieten aber so sollte es dann funktionieren.

    Grüße
    Chris

    1 Antwort Letzte Antwort
    0
    • paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #5

      @nurChris said in Script Xiaomi Battery leer ?:

      Du hast dort eine Variable namens "Wert" die anscheinend nicht weiter definiert ist.

      Das ist keine Variable, sondern eine Eigenschaft des Trigger-Datenpunktes, die den Wert enthält. Hat leider die gleiche Farbe wie eine Variable.

      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

      nurChrisN 1 Antwort Letzte Antwort
      1
      • paul53P paul53

        @nurChris said in Script Xiaomi Battery leer ?:

        Du hast dort eine Variable namens "Wert" die anscheinend nicht weiter definiert ist.

        Das ist keine Variable, sondern eine Eigenschaft des Trigger-Datenpunktes, die den Wert enthält. Hat leider die gleiche Farbe wie eine Variable.

        nurChrisN Offline
        nurChrisN Offline
        nurChris
        schrieb am zuletzt editiert von
        #6

        @paul53 said in Script Xiaomi Battery leer ?:

        @nurChris said in Script Xiaomi Battery leer ?:

        Du hast dort eine Variable namens "Wert" die anscheinend nicht weiter definiert ist.

        Das ist keine Variable, sondern eine Eigenschaft des Trigger-Datenpunktes, die den Wert enthält. Hat leider die gleiche Farbe wie eine Variable.

        Oh. Okay. Dann nehm ich alles zurück! 😁 Danke für den Hinweis, so weiß ich jetzt wie ich eins meiner Blocklys optimieren kann.

        Grüße
        Chris

        1 Antwort Letzte Antwort
        0
        • MyzerATM Offline
          MyzerATM Offline
          MyzerAT
          schrieb am zuletzt editiert von MyzerAT
          #7

          @nurChris , doch doch das funktioniert, das mit dem „wert“ habe ich von @paul53 gelernt in einem anderen Script. Habe zum testen als ich das Script erstellt habe, den niedrigsten Batteristatus einer meiner 26 xiaomi Aktoren angegeben, dieser war 75.5% und heute ist er auf 75.4% gesprungen und sofort kam die Meldung per Sprachausgabe und die Telegram Message.

          lg Rudi

          Master Debian 12 (Wien)
          Intel NUC6CAYH 16GB RAM, 500 GB SSD & auf Proxmox 8. 7. als VM

          Slave Debian 12. (TULLN) --> OpenVPN to Vienna
          Intel NUC6CAYH 16GB RAM, 500 GB SSD & auf Proxmox 8.7. als VM

          Node 20.19.0
          Nodejs 20.19.0
          npm 10.8.2
          js-controller 7.0.6

          R 1 Antwort Letzte Antwort
          0
          • T Offline
            T Offline
            tscheerio
            schrieb am zuletzt editiert von
            #8

            Nutzt ihr alle das Xiaomi Gateway?

            nurChrisN 1 Antwort Letzte Antwort
            0
            • T tscheerio

              Nutzt ihr alle das Xiaomi Gateway?

              nurChrisN Offline
              nurChrisN Offline
              nurChris
              schrieb am zuletzt editiert von
              #9

              @tscheerio Ich verwende einen geflashten CC2531 Stick und den Zigbee Adapter.

              1 Antwort Letzte Antwort
              0
              • MyzerATM MyzerAT

                @nurChris , doch doch das funktioniert, das mit dem „wert“ habe ich von @paul53 gelernt in einem anderen Script. Habe zum testen als ich das Script erstellt habe, den niedrigsten Batteristatus einer meiner 26 xiaomi Aktoren angegeben, dieser war 75.5% und heute ist er auf 75.4% gesprungen und sofort kam die Meldung per Sprachausgabe und die Telegram Message.

                R Offline
                R Offline
                Ramses123
                schrieb am zuletzt editiert von
                #10

                @MyzerAT
                Funktionieren tut das schon, aber du musst jetzt jedes mal alle Batteriestände durchsuchen, um die leere Batterie zu finden. Ich habe auch eine Abfrage aber für jede einzelne Batterie, dann weiß ich sofort, welche gemeint ist.
                Das ist halt eine Einstellungssache: wenig programmieren und hinterher viel Arbeit oder etwas mehr Programmieraufwand und dafür hinterher eine schnelle Antwort.

                MyzerATM 1 Antwort Letzte Antwort
                0
                • L Offline
                  L Offline
                  lesiflo
                  Most Active
                  schrieb am zuletzt editiert von
                  #11

                  Hi, hier mal mein Ansatz. Ich prüfe alle 2 Stunden den Batteriestand über einen Cronjob. Den Abstand kann man natürlich noch vergrößern. Hat den Vorteil das man das Script relativ schnell um neue Geräte erweitern kann.

                  Batterien.JPG

                  E W 2 Antworten Letzte Antwort
                  0
                  • DutchmanD Offline
                    DutchmanD Offline
                    Dutchman
                    Developer Most Active Administrators
                    schrieb am zuletzt editiert von Dutchman
                    #12

                    Währe ein Trigger nicht praktischer?

                    Löse aus wenn geändert, If Abfrage ob wert < x?

                    Dan braucht man auch nur die Sensoren im Trigger zu setzen und nimmt den object Namen und bekommt eine Nachricht Gerät xxx Batterie Lehr.

                    Damit würde das Script nur 3 Blöcke groß sein

                    Edit : sehe gerade dass der erste Post genau dieses Setup hat

                    L 1 Antwort Letzte Antwort
                    0
                    • siggi85S siggi85

                      Ein Adapter wäre Cool, indem ich ioBroker Objekte mit Schwellwerten definieren kann. Entweder wird bei Über- oder Unterschreitung ein Objekt von False auf True geändert, oder man kann für jeden Eintrag eine Aktion auswählen (z.B. Weitergabe an Mail, Telegramm, Log, etc) Wenn der Adapter RegEx unterstützen würde, könnte man sogar mehrere gleichartige Devices mit einer einzigen Regel überwachen.
                      Sorry, vielleicht nicht ganz das Thema, aber beim Lesen deines Anliegens musste ich die Idee einfach rauslassen. :P

                      DutchmanD Offline
                      DutchmanD Offline
                      Dutchman
                      Developer Most Active Administrators
                      schrieb am zuletzt editiert von
                      #13

                      @siggi85 sagte in Script Xiaomi Battery leer ?:

                      Ein Adapter wäre Cool, indem ich ioBroker Objekte mit Schwellwerten definieren kann. Entweder wird bei Über- oder Unterschreitung ein Objekt von False auf True geändert, oder man kann für jeden Eintrag eine Aktion auswählen (z.B. Weitergabe an Mail, Telegramm, Log, etc) Wenn der Adapter RegEx unterstützen würde, könnte man sogar mehrere gleichartige Devices mit einer einzigen Regel überwachen.
                      Sorry, vielleicht nicht ganz das Thema, aber beim Lesen deines Anliegens musste ich die Idee einfach rauslassen. :P

                      Doch du hast genau den Punkt getroffen!
                      Wir haben dafür bereits einen Adapter requests ich werde mich dem annehmen wird aber Q2 dieses Jahr nicht eher (oder jemand anders macht's)

                      siggi85S 1 Antwort Letzte Antwort
                      1
                      • DutchmanD Dutchman

                        Währe ein Trigger nicht praktischer?

                        Löse aus wenn geändert, If Abfrage ob wert < x?

                        Dan braucht man auch nur die Sensoren im Trigger zu setzen und nimmt den object Namen und bekommt eine Nachricht Gerät xxx Batterie Lehr.

                        Damit würde das Script nur 3 Blöcke groß sein

                        Edit : sehe gerade dass der erste Post genau dieses Setup hat

                        L Offline
                        L Offline
                        lesiflo
                        Most Active
                        schrieb am zuletzt editiert von lesiflo
                        #14

                        @Dutchman

                        kann man so auch machen. Nur dann muss man im Trigger das Objekt eintragen und nochmal in der If-Abfrage.
                        Bei einer großen Anzahl von Geräten wird das dann schon mal unübersichtlich. Und da die Batterien ja nicht so schnell von 20 auf 0 % Prozent reichen 2 Stunden oder mehr locker aus. Zumal würde, wenn der Wert unter 20% sinkt, bei der weiteren Änderung eine Meldung geschickt was unter Umständen etwas nervig sein kann.

                        DutchmanD 1 Antwort Letzte Antwort
                        0
                        • L lesiflo

                          @Dutchman

                          kann man so auch machen. Nur dann muss man im Trigger das Objekt eintragen und nochmal in der If-Abfrage.
                          Bei einer großen Anzahl von Geräten wird das dann schon mal unübersichtlich. Und da die Batterien ja nicht so schnell von 20 auf 0 % Prozent reichen 2 Stunden oder mehr locker aus. Zumal würde, wenn der Wert unter 20% sinkt, bei der weiteren Änderung eine Meldung geschickt was unter Umständen etwas nervig sein kann.

                          DutchmanD Offline
                          DutchmanD Offline
                          Dutchman
                          Developer Most Active Administrators
                          schrieb am zuletzt editiert von
                          #15

                          @lesiflo

                          Warum ? Du brauchst nur eine If Abfrage ! ;)

                          L 1 Antwort Letzte Antwort
                          0
                          • DutchmanD Dutchman

                            @lesiflo

                            Warum ? Du brauchst nur eine If Abfrage ! ;)

                            L Offline
                            L Offline
                            lesiflo
                            Most Active
                            schrieb am zuletzt editiert von lesiflo
                            #16

                            @Dutchman

                            -gelöscht!

                            paul53P 1 Antwort Letzte Antwort
                            0
                            • L lesiflo

                              @Dutchman

                              -gelöscht!

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

                              @lesiflo sagte in Script Xiaomi Battery leer ?:

                              Wenn du genau wissen welches Gerät zu wenig Spannung hat musst du sie einzeln abfragen.
                              Es sei denn es gibt noch eine andere Lösung.

                              Schau Dir das Blockly im ersten Post von @MyzerAT an. Anstelle von "eine Batterie wird leer" kannst Du auch den Namen des Trigger-Datenpunktes übergeben:
                              Blockly_Name_wird_leer.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
                              • R Ramses123

                                @MyzerAT
                                Funktionieren tut das schon, aber du musst jetzt jedes mal alle Batteriestände durchsuchen, um die leere Batterie zu finden. Ich habe auch eine Abfrage aber für jede einzelne Batterie, dann weiß ich sofort, welche gemeint ist.
                                Das ist halt eine Einstellungssache: wenig programmieren und hinterher viel Arbeit oder etwas mehr Programmieraufwand und dafür hinterher eine schnelle Antwort.

                                MyzerATM Offline
                                MyzerATM Offline
                                MyzerAT
                                schrieb am zuletzt editiert von
                                #18

                                @Ramses123 sagte in Script Xiaomi Battery leer ?:

                                @MyzerAT
                                Funktionieren tut das schon, aber du musst jetzt jedes mal alle Batteriestände durchsuchen, um die leere Batterie zu finden. Ich habe auch eine Abfrage aber für jede einzelne Batterie, dann weiß ich sofort, welche gemeint ist.
                                Das ist halt eine Einstellungssache: wenig programmieren und hinterher viel Arbeit oder etwas mehr Programmieraufwand und dafür hinterher eine schnelle Antwort.

                                Nein muss ich nicht, da ich alle Batterien auf einem Blick per VIS sehe !

                                bat.PNG

                                lg Rudi

                                Master Debian 12 (Wien)
                                Intel NUC6CAYH 16GB RAM, 500 GB SSD & auf Proxmox 8. 7. als VM

                                Slave Debian 12. (TULLN) --> OpenVPN to Vienna
                                Intel NUC6CAYH 16GB RAM, 500 GB SSD & auf Proxmox 8.7. als VM

                                Node 20.19.0
                                Nodejs 20.19.0
                                npm 10.8.2
                                js-controller 7.0.6

                                1 Antwort Letzte Antwort
                                0
                                • DutchmanD Dutchman

                                  @siggi85 sagte in Script Xiaomi Battery leer ?:

                                  Ein Adapter wäre Cool, indem ich ioBroker Objekte mit Schwellwerten definieren kann. Entweder wird bei Über- oder Unterschreitung ein Objekt von False auf True geändert, oder man kann für jeden Eintrag eine Aktion auswählen (z.B. Weitergabe an Mail, Telegramm, Log, etc) Wenn der Adapter RegEx unterstützen würde, könnte man sogar mehrere gleichartige Devices mit einer einzigen Regel überwachen.
                                  Sorry, vielleicht nicht ganz das Thema, aber beim Lesen deines Anliegens musste ich die Idee einfach rauslassen. :P

                                  Doch du hast genau den Punkt getroffen!
                                  Wir haben dafür bereits einen Adapter requests ich werde mich dem annehmen wird aber Q2 dieses Jahr nicht eher (oder jemand anders macht's)

                                  siggi85S Offline
                                  siggi85S Offline
                                  siggi85
                                  schrieb am zuletzt editiert von
                                  #19

                                  @Dutchman sagte in Script Xiaomi Battery leer ?:

                                  @siggi85 sagte in Script Xiaomi Battery leer ?:

                                  Ein Adapter wäre Cool, indem ich ioBroker Objekte mit Schwellwerten definieren kann. Entweder wird bei Über- oder Unterschreitung ein Objekt von False auf True geändert, oder man kann für jeden Eintrag eine Aktion auswählen (z.B. Weitergabe an Mail, Telegramm, Log, etc) Wenn der Adapter RegEx unterstützen würde, könnte man sogar mehrere gleichartige Devices mit einer einzigen Regel überwachen.
                                  Sorry, vielleicht nicht ganz das Thema, aber beim Lesen deines Anliegens musste ich die Idee einfach rauslassen. :P

                                  Doch du hast genau den Punkt getroffen!
                                  Wir haben dafür bereits einen Adapter requests ich werde mich dem annehmen wird aber Q2 dieses Jahr nicht eher (oder jemand anders macht's)

                                  Das wäre der Hammer! :+1:

                                  DutchmanD 1 Antwort Letzte Antwort
                                  0
                                  • MyzerATM Offline
                                    MyzerATM Offline
                                    MyzerAT
                                    schrieb am zuletzt editiert von
                                    #20

                                    denke @paul53 meint es so:

                                    bat.PNG

                                    lg Rudi

                                    Master Debian 12 (Wien)
                                    Intel NUC6CAYH 16GB RAM, 500 GB SSD & auf Proxmox 8. 7. als VM

                                    Slave Debian 12. (TULLN) --> OpenVPN to Vienna
                                    Intel NUC6CAYH 16GB RAM, 500 GB SSD & auf Proxmox 8.7. als VM

                                    Node 20.19.0
                                    Nodejs 20.19.0
                                    npm 10.8.2
                                    js-controller 7.0.6

                                    1 Antwort Letzte Antwort
                                    0
                                    • siggi85S siggi85

                                      @Dutchman sagte in Script Xiaomi Battery leer ?:

                                      @siggi85 sagte in Script Xiaomi Battery leer ?:

                                      Ein Adapter wäre Cool, indem ich ioBroker Objekte mit Schwellwerten definieren kann. Entweder wird bei Über- oder Unterschreitung ein Objekt von False auf True geändert, oder man kann für jeden Eintrag eine Aktion auswählen (z.B. Weitergabe an Mail, Telegramm, Log, etc) Wenn der Adapter RegEx unterstützen würde, könnte man sogar mehrere gleichartige Devices mit einer einzigen Regel überwachen.
                                      Sorry, vielleicht nicht ganz das Thema, aber beim Lesen deines Anliegens musste ich die Idee einfach rauslassen. :P

                                      Doch du hast genau den Punkt getroffen!
                                      Wir haben dafür bereits einen Adapter requests ich werde mich dem annehmen wird aber Q2 dieses Jahr nicht eher (oder jemand anders macht's)

                                      Das wäre der Hammer! :+1:

                                      DutchmanD Offline
                                      DutchmanD Offline
                                      Dutchman
                                      Developer Most Active Administrators
                                      schrieb am zuletzt editiert von
                                      #21

                                      @siggi85 sagte in Script Xiaomi Battery leer ?:

                                      @

                                      Das wäre der Hammer! :+1:

                                      bei Interesse bitte Voten, hier der request :

                                      https://github.com/ioBroker/AdapterRequests/issues/45

                                      1 Antwort Letzte Antwort
                                      0
                                      • MyzerATM Offline
                                        MyzerATM Offline
                                        MyzerAT
                                        schrieb am zuletzt editiert von
                                        #22

                                        wie setze ich diesen fred eigendlich auf gelöst ?

                                        lg Rudi

                                        Master Debian 12 (Wien)
                                        Intel NUC6CAYH 16GB RAM, 500 GB SSD & auf Proxmox 8. 7. als VM

                                        Slave Debian 12. (TULLN) --> OpenVPN to Vienna
                                        Intel NUC6CAYH 16GB RAM, 500 GB SSD & auf Proxmox 8.7. als VM

                                        Node 20.19.0
                                        Nodejs 20.19.0
                                        npm 10.8.2
                                        js-controller 7.0.6

                                        1 Antwort Letzte Antwort
                                        0
                                        • ? Offline
                                          ? Offline
                                          Ein ehemaliger Benutzer
                                          schrieb am zuletzt editiert von
                                          #23

                                          Hi,
                                          ich verwende dafür dieses Javascript, das alle xiaomi-batterie States scannt und dann in einen Datenpunkt schreibt, wo die Batterie leer ist.
                                          Funktioniert auch prima mit fritzdect, muss nur der State geändert werden.

                                          const idVis = 'Batterie.MiHomeBatterietausch';
                                          const batt = $('mihome.0.*.percent');
                                          
                                          createState(idVis, '', {type: 'string'});
                                          
                                          function lowBatt() {
                                          	var low = [];
                                          	batt.each(function (id, i) {
                                          	if(getState(id).val < 30) {
                                          			id = id.split('.');
                                          			id = 'mihome.0.' + id[2] + '.' + id[3];
                                          			low.push(getObject(id).common.name); // Geräte-Name
                                          		}	
                                          	});
                                          	setState(idVis, low.join(',<br>'), true);		
                                          }
                                          
                                          schedule('0 * * * *', lowBatt); // jede volle Stunde
                                          
                                          
                                          
                                          K P 2 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          475

                                          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