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. [Gelöst]Lowbat script

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    9
    1
    83

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

[Gelöst]Lowbat script

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
5 Beiträge 4 Kommentatoren 663 Aufrufe
  • Ä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.
  • totocotonioT Offline
    totocotonioT Offline
    totocotonio
    schrieb am zuletzt editiert von
    #1

    1626_lowbat.png Hallo,

    ich hätte eine Frage zum LOWbat script.

    Ich habe es eingebunden doch es zeigt mir in den Objekten nur Null an.

    Wo ist denn da mein Fehler?

    Danke für die Hilfe im voraus.

    createState('zählenLowbat.möglicheLOWBAT', 0);   // wenn benötigt: Anzahl der vorhandenen LOWBAT
    createState('zählenLowbat.anzahlLOWBAT', 0);     // wenn benötigt: Anzahl der vorhandenen LOWBAT
    createState('zählenLowbat.textLOWBAT', " ");     // Anzahl LOWBAT, die an sind als Variable unter Javascript.0 anlegen
    
    var cacheSelectorLOWBAT  = $('channel[state.id=*.LOWBAT]');
    
    function countLowbat(obj) {
       // Setzt die Zähler vor dem Durchlauf aller Elemente *.LOWBAT auf 0
       var moeglicheLOWBAT = 0;
       var anzahlLOWBAT    = 0;
       var textLOWBAT      = [];
    
       if (obj) {
          log('Auslösender Aktor: ' + obj.id + ': ' + obj.newState.val);  // Info im Log, welcher Zustand sich geändert hat
       } else {
          log('Ausgelöst bei Timer'); 
       } 
    
       cacheSelectorLOWBAT.each(function (id, i) {                         // Schleife für jedes gefundenen Element *.LOWBAT
          var status = getState(id).val;                                  // Zustand *.LOWBAT abfragen (jedes Element)
          var obj    = getObject(id);
          if (status === true) {                                          // wenn Zustand = true, dann wird die Anzahl der Geräte hochgezählt
             textLOWBAT.push(obj.common.name);                           // Zu Array hinzufügen
          }                
          log("Geräte Nr. " + i + ": " + getObject(id).common.name + ": " + status);
          ++anzahlLOWBAT;                                                 // Zählt die Anzahl der vorhandenen Geräte unabhängig vom Status
       }); 
    
       // Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon LOWBAT zutreffend) ausgegeben
       log("Text: " + textLOWBAT);
       log("Anzahl Geräte: " + moeglicheLOWBAT + " # davon LOWBAT erkannt: " +  anzahlLOWBAT);
    
       // die ermittelten Werte werden als javascript.0\. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS)
       setState("zählenLowbat.textLOWBAT",     textLOWBAT.join(',
    ')); // Schreibt die aktuelle Namen der Geräte mit LOWBAT Meldung
       setState("zählenLowbat.anzahlLOWBAT",   textLOWBAT.length);        // Schreibt die aktuelle Anzahl der Geräte im System
       setState("zählenLowbat.möglicheLOWBAT", moeglicheLOWBAT);          // Schreibt die aktuelle Anzahl der vorhandene Geräte 
    }
    
    cacheSelectorLOWBAT.on(function(obj) {    // bei Zustandänderung *. LOWBAT in allen Gewerken
       countLowbat(obj);
    });
    schedule("*/1 * * * *", function () {                                  //oder!! soll entweder ausgelöst werden alle 10 Minuten
       log("===>Will be triggered every 60 minutes!"); 
       countLowbat();
    });
    

    Gruß Totocotonio

    Bin noch Anfänger in Sachen IO-Broker und lerne gerne dazu. :P

    1 Antwort Letzte Antwort
    0
    • S Offline
      S Offline
      spaceduck
      schrieb am zuletzt editiert von
      #2

      Dann hast Du kein Gerät welches einen Low Batt Status sendet. Alle Batterien voll :)

      HP Gen8 16GB / Ubuntu Server 20.04 LTS - Nein, ein Server braucht keine GUI…;-)

      1 Antwort Letzte Antwort
      0
      • T Offline
        T Offline
        tempestas
        schrieb am zuletzt editiert von
        #3

        stimmt imho so nicht.

        Auch die "möglichen" Lowbat sind 0, was nicht sein sollte.

        Nachtrag:

        Da scheint noch ein Skript mit Fehler drin genutzt zu sein.

        Dieser Teil

               log("Geräte Nr. " + i + ": " + getObject(id).common.name + ": " + status);
              ++anzahlLOWBAT;                                                 // Zählt die Anzahl der vorhandenen Geräte unabhängig vom Statust
        

        sollte eigentlich

         ++moeglicheLOWBAT
        ````sein

        <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

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

          habe ich auch so…
          983_js.png
          983_js2.png

          1 Antwort Letzte Antwort
          0
          • totocotonioT Offline
            totocotonioT Offline
            totocotonio
            schrieb am zuletzt editiert von
            #5

            Hi Jungs,

            genau das war es.

            Jetzt zählt er auch die möglichen.

            Vielen Dank für die wie immer tolle Hilfe.

            Gruß totocotonio

            Gruß Totocotonio

            Bin noch Anfänger in Sachen IO-Broker und lerne gerne dazu. :P

            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

            763

            Online

            32.5k

            Benutzer

            81.7k

            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