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. JavaScript
  5. [gelöst] Hilfe bei Batteriescript

NEWS

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

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

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

[gelöst] Hilfe bei Batteriescript

Geplant Angeheftet Gesperrt Verschoben JavaScript
10 Beiträge 3 Kommentatoren 598 Aufrufe 2 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.
  • v522533V Offline
    v522533V Offline
    v522533
    schrieb am zuletzt editiert von v522533
    #1

    Hi Leute,
    habe eine Frage: Ich nutze unten stehendes Script um meine Batteriestände zu überwachen. Problem ist, dass das für die Comet Thermostate wunderbar funktioniert, aber für die Zigbee Geräte nicht. Die findet er garnicht. Habe das Script selbst geklaut, weil ich keine Ahnung von Javascript habe. Kann mir einer von euch sagen, warum die Zigbee Geräte garnicht erst gefunden werden?

    createState('Batteriescript.Anzahl_Geräte', 0, {type: 'number'});
    createState('Batteriescript.Batterie_schwach', 0, {type: 'number'});
    createState('Batteriescript.Gerät', " ", {type: 'string'});
    
    const fritzdect = $('fritzdect.0.*.battery');
    const zigbee = $('zigbee.0.*.battery');
    const loggen = true;
    
    var arrLOWBAT;
    
    function lowbat(id) {
       var obj = getObject(id);
       arrLOWBAT.push(obj.common.name);
       if(loggen) log("Gerät: " + obj.common.name);
    }
    
    function countLowbat() {
       var moeglicheLOWBAT = 0;
       arrLOWBAT      = [];
       fritzdect.each(function (id, i) {
          if(getState(id).val < 90) lowbat(id);
          ++moeglicheLOWBAT;
       }); 
       zigbee.each(function (id, i) {
          if(getState(id).val < 90) lowbat(id);
          ++moeglicheLOWBAT;
       }); 
    
       if(loggen) log("Text: " + arrLOWBAT.join(', '));
       if(loggen) log("Anzahl Geräte: " + moeglicheLOWBAT + " // davon mit schwacher Batterie: " +  arrLOWBAT.length);
    
       setState("Batteriescript.Gerät",     arrLOWBAT.join(',<br>'));
       setState("Batteriescript.Batterie_schwach",   arrLOWBAT.length);
       setState("Batteriescript.Anzahl_Geräte", moeglicheLOWBAT);
    }
    
    countLowbat();
    
    schedule("*/1 * * * *", countLowbat);
    

    Gruß Chris

    1 Antwort Letzte Antwort
    0
    • v522533V Offline
      v522533V Offline
      v522533
      schrieb am zuletzt editiert von
      #2

      vielleicht hilft das, habe ich im anderen Forum gefunden. Weiss nur leider nicht ob, und wie ich das umsetzen kann:

      "Gleiches Problem habe ich auch. Findet irgendwie "Battery" nicht.

      Wenn ich unter zigbee.0. einen "Ordner" als "State" erstelle und darin dann einen Eintrag "Battery", wird der gefunden. Wenn ich den Ordner als "Device" deklariere, wird der Eintrag nicht mehr gefunden.

      Die Sensoren sind aber genau als "Device" angelegt und deshalb werden keine "Battery" Einträge gefunden. Nützt auch nichts, wenn man bei den Sensoren "State" statt "Device" einträgt. :(

      Hat denn wirklich noch niemand mit Zigbee Stick und Aqara Sensoren ein lauffähiges Batterie Script, wo man nicht jeden Sensor einzeln eintragen muss?

      Bin leider auch kein Javascript Profi."

      Gruß Chris

      paul53P 1 Antwort Letzte Antwort
      0
      • v522533V v522533

        vielleicht hilft das, habe ich im anderen Forum gefunden. Weiss nur leider nicht ob, und wie ich das umsetzen kann:

        "Gleiches Problem habe ich auch. Findet irgendwie "Battery" nicht.

        Wenn ich unter zigbee.0. einen "Ordner" als "State" erstelle und darin dann einen Eintrag "Battery", wird der gefunden. Wenn ich den Ordner als "Device" deklariere, wird der Eintrag nicht mehr gefunden.

        Die Sensoren sind aber genau als "Device" angelegt und deshalb werden keine "Battery" Einträge gefunden. Nützt auch nichts, wenn man bei den Sensoren "State" statt "Device" einträgt. :(

        Hat denn wirklich noch niemand mit Zigbee Stick und Aqara Sensoren ein lauffähiges Batterie Script, wo man nicht jeden Sensor einzeln eintragen muss?

        Bin leider auch kein Javascript Profi."

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

        @v522533 Ändert mal den Typ der Zigbee-Geräte von device in channel. Klappt es dann ?

        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
        • v522533V Offline
          v522533V Offline
          v522533
          schrieb am zuletzt editiert von
          #4

          @paul53 said in Hilfe bei Batteriescript:

          @v522533 Ändert mal den Typ der Zigbee-Geräte von device in channel. Klappt es dann ?

          schon versucht, klappt leider nicht.

          Gruß Chris

          paul53P 1 Antwort Letzte Antwort
          0
          • v522533V v522533

            @paul53 said in Hilfe bei Batteriescript:

            @v522533 Ändert mal den Typ der Zigbee-Geräte von device in channel. Klappt es dann ?

            schon versucht, klappt leider nicht.

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

            @v522533 sagte:

            schon versucht, klappt leider nicht.

            Nach Änderung in channel auch die Javascript-Instanz neu gestartet ? Grund: Der Javascript-Adapter puffert alle Objekte intern.

            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

            v522533V 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @v522533 sagte:

              schon versucht, klappt leider nicht.

              Nach Änderung in channel auch die Javascript-Instanz neu gestartet ? Grund: Der Javascript-Adapter puffert alle Objekte intern.

              v522533V Offline
              v522533V Offline
              v522533
              schrieb am zuletzt editiert von
              #6

              @paul53

              ja auch gerade getestet. Funktioniert trotzdem nicht.

              Gruß Chris

              1 Antwort Letzte Antwort
              0
              • Lenny.CBL Offline
                Lenny.CBL Offline
                Lenny.CB
                Most Active
                schrieb am zuletzt editiert von
                #7

                @v522533 versuche mal so:

                $('channel[state.id=zigbee.*.battery]')
                
                1 Antwort Letzte Antwort
                0
                • v522533V Offline
                  v522533V Offline
                  v522533
                  schrieb am zuletzt editiert von
                  #8

                  @Lenny-CB said in Hilfe bei Batteriescript:

                  @v522533 versuche mal so:

                  $('channel[state.id=zigbee.*.battery]')
                  

                  Danke das wars!

                  Gruß Chris

                  Lenny.CBL 1 Antwort Letzte Antwort
                  0
                  • v522533V v522533

                    @Lenny-CB said in Hilfe bei Batteriescript:

                    @v522533 versuche mal so:

                    $('channel[state.id=zigbee.*.battery]')
                    

                    Danke das wars!

                    Lenny.CBL Offline
                    Lenny.CBL Offline
                    Lenny.CB
                    Most Active
                    schrieb am zuletzt editiert von
                    #9

                    @v522533
                    achso, wenn die wie bei mir so bezeichnet sind:
                    zig.PNG
                    dann kannst dein Script noch anpassen damit die Bezeichnungen der Geräte angezeigt werden.

                    function lowbat(id) {
                       var obj = getObject(id);
                        var parentDevicelId = id.split(".").slice(0,-1).join(".");
                        var deviceObject    = getObject(parentDevicelId);
                        arrLOWBAT.push(deviceObject.common.name);
                        if(loggen) log("Gerät: " + deviceObject.common.name);
                    }
                    
                    v522533V 1 Antwort Letzte Antwort
                    0
                    • Lenny.CBL Lenny.CB

                      @v522533
                      achso, wenn die wie bei mir so bezeichnet sind:
                      zig.PNG
                      dann kannst dein Script noch anpassen damit die Bezeichnungen der Geräte angezeigt werden.

                      function lowbat(id) {
                         var obj = getObject(id);
                          var parentDevicelId = id.split(".").slice(0,-1).join(".");
                          var deviceObject    = getObject(parentDevicelId);
                          arrLOWBAT.push(deviceObject.common.name);
                          if(loggen) log("Gerät: " + deviceObject.common.name);
                      }
                      
                      v522533V Offline
                      v522533V Offline
                      v522533
                      schrieb am zuletzt editiert von
                      #10

                      @Lenny-CB

                      vielen Dank. Ich hab schon ewig daran rumprobiert. Wochenende gerettet ;)

                      Gruß Chris

                      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

                      890

                      Online

                      32.4k

                      Benutzer

                      81.5k

                      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