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. [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe

NEWS

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

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

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

[Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascripttemplatemonitoring
581 Beiträge 81 Kommentatoren 136.1k Aufrufe 84 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.
  • P Pittini

    Generisches Script um die Batteriestände beliebig vieler Geräte, auch mit unterschiedlichen Spannungen und LowLimit, zu überwachen

    Features

    • Kann beliebig viele Geräte überwachen welche einen Datenpunkt mit der Batteriespannung, eine Prozentangabe oder zumindest Lowbat zur Verfügung stellen.
    • Es können simultan Geräte mit unterschiedlichen Spannungen überwacht werden, z.B. 1,5V und 3V, auch Geräte welche nur LowBat true/false bereitstellen können berücksichtigt werden ebenso wie Prozentwerte in zwei Varianten.
    • Möglichkeit eine Meldung/Ansage via Log/Mail/Alexa/Telegram bei unterschreiten einer einstellbaren Limitspannung auszugeben.
    • permanente Anzeige des Gerätes mit der niedrigsten Spannung (außer Lowbat, da hier die Info nicht verfügbar ist).
    • Kleines Set aus vordefinierten Standart Vis Widgets (Basic-String, Basic-Bool, Html) zur leichteren Integration, bzw. als Beispiel für eigene Vis Projekte.
    • Einfache, dynamisch erstellte Html Übersichtstabelle mit einstellmöglichkeit welche Spalten angezeigt werden sollen
    • Nach Installation keine Skriptänderungen mehr nötig um neue Geräte hinzuzufügen.

    Genaueres beim Projekt auf Git

    widgetstut6a.png

    D Offline
    D Offline
    daNick
    schrieb am zuletzt editiert von
    #212

    @Pittini

    VIELEN VIELEN DANK für das Script.

    Was ich nicht verstehe:

    1. Einige HomeMatic Geräte haben ja extra einen Datenpunkt LOW_BAT (HomeMatic IP) und LOWBAT (HomeMatic).

    HM iP

    Low_Bat.png

    HM

    LowBat.png

    Werde diese ausgewertet, wenn ja wo im Script? Ich habe nur spannungsabhängige Zähler gefunden.

    1. Bei Zigbee haben einige Geräte eine BatterieProzentzahl und die Voltzahl.

    Kann da auch die Prozentzahl ausgewertet werden (die uU genauer ist)?
    Vielleicht über eine neue Funktionsgruppe, die auf Prozentzahl geht?

    zigbee batterie.png

    Nochmals Danke!

    Gruß daNick

    P 1 Antwort Letzte Antwort
    0
    • O Olli77

      @Pittini

      log gelöscht und skript neu gestartet

      eine Zeile fehlt da
      undefined2020-10-11 12:11:02.457 - info: javascript.0 (27964) Stop script script.js.common.batterrieueberwachung

      Unbenannt23.JPG

      P Offline
      P Offline
      Pittini
      Developer
      schrieb am zuletzt editiert von
      #213

      @Olli77 Das ist alles sehr suspekt. Ich seh dass der Fehler entsteht weil das Skript 0 Devices findet und auf ein undefined zugreifen möchte. Soweit is klar dass ein Fehler kommt. Die Frage ist, warum findet er da nix bei Dir (ich geh nicht von nem Fehler im Skript aus). Zeig bitte mal die Einstellungen vom Skript, ich hab den Verdacht das Du nen Tippfehler produziert hast. Wenn Du es in den Einstellungen nicht geändert hast, heißt die Funktion dort "BatterieSpannung_", bei Deiner Zuweisung seh ich aber "Batteriespannung_". Das würde auch erklären warum er kein min anlegt.

      O 1 Antwort Letzte Antwort
      0
      • D daNick

        @Pittini

        VIELEN VIELEN DANK für das Script.

        Was ich nicht verstehe:

        1. Einige HomeMatic Geräte haben ja extra einen Datenpunkt LOW_BAT (HomeMatic IP) und LOWBAT (HomeMatic).

        HM iP

        Low_Bat.png

        HM

        LowBat.png

        Werde diese ausgewertet, wenn ja wo im Script? Ich habe nur spannungsabhängige Zähler gefunden.

        1. Bei Zigbee haben einige Geräte eine BatterieProzentzahl und die Voltzahl.

        Kann da auch die Prozentzahl ausgewertet werden (die uU genauer ist)?
        Vielleicht über eine neue Funktionsgruppe, die auf Prozentzahl geht?

        zigbee batterie.png

        Nochmals Danke!

        Gruß daNick

        P Offline
        P Offline
        Pittini
        Developer
        schrieb am zuletzt editiert von
        #214

        @daNick sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

        Werde diese ausgewertet, wenn ja wo im Script? Ich habe nur spannungsabhängige Zähler gefunden.

        Ja, wird ausgewertet, gugg mal Zeile 136.

        Bei Zigbee haben einige Geräte eine BatterieProzentzahl und die Voltzahl.

        Kann da auch die Prozentzahl ausgewertet werden (die uU genauer ist)?
        Vielleicht über eine neue Funktionsgruppe, die auf Prozentzahl geht?

        Du kannst entweder % oder Spannung verwenden, es wird dann intern jeweils umgerechnet. Sinnvoll ist hier jedoch die Spannung zu nehmen, die % stimmen bei einigen Adaptern nicht wirklich.

        D 1 Antwort Letzte Antwort
        1
        • P Pittini

          @daNick sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

          Werde diese ausgewertet, wenn ja wo im Script? Ich habe nur spannungsabhängige Zähler gefunden.

          Ja, wird ausgewertet, gugg mal Zeile 136.

          Bei Zigbee haben einige Geräte eine BatterieProzentzahl und die Voltzahl.

          Kann da auch die Prozentzahl ausgewertet werden (die uU genauer ist)?
          Vielleicht über eine neue Funktionsgruppe, die auf Prozentzahl geht?

          Du kannst entweder % oder Spannung verwenden, es wird dann intern jeweils umgerechnet. Sinnvoll ist hier jedoch die Spannung zu nehmen, die % stimmen bei einigen Adaptern nicht wirklich.

          D Offline
          D Offline
          daNick
          schrieb am zuletzt editiert von
          #215

          @Pittini

          OK, danke.

          1. Nochmal zu HomeMatic LowBat/ Low_Bat:
            Es kann also der Datenpunkt in eine BELIEBIGE Funktionsgruppe, das Script ignoriert den Spannungs-Wert aus dem Namen der Gruppe, wenn der Datenpunkt boolean ist?
            ob die Gruppe (/z.b) ..._15 oder ..._150 heißt, ist ganz egal?

          2. Ich habe Zigbee-Sensoren, die NUR Batterie-Prozent liefern, aber keinen Spannungswert.
            Auch die können in eine beliebige Funktionsgruppe?

          Lux.png

          1. Ginge es, zur Wahrung der Übersichtlichekit Funktionsgruppen zu erstellen, die "BatterieSpannung_Prozent" und "BatterieSpannung_Boolean" heißen, oder käme dann (kurz- oder langfristig) etwas durcheinander?

          Gruß daNick

          P 1 Antwort Letzte Antwort
          0
          • G gogohome

            @Pittini Hi,
            habe Probleme mit zwei Sensoren die nur „dead“ Anzeigen (Rauchmelder und Bewegungsmelder). Die Sensoren arbeiten einwandfrei, die Batterien sind auch voll, jedoch wird das Objekt „lowbat“ nicht aktualisiert.
            Gleiches Problem hatte ich bei den Homematic Fensterkontakten auch. Da habe ich aber dann auf das Objekt „lowbat“ aus dem Verzeichnis 1 gewechselt dann ging es. Warum gibt es das Objekt lowbat in Unterverzeichnis „0“ und „1“ der Sensoren?
            Leider kann hat der Rauchmelder und Bewegungsmelder das Objekt „lowbat“ nur im Verzeichnis „0“.
            Also irgendeine Idee warum der Wert nicht aktualisiert wird?
            Gruß
            gogo

            D Offline
            D Offline
            daNick
            schrieb am zuletzt editiert von
            #216

            @gogohome

            Hallo

            Ich habe mir meine HomeMatic IP und HomeMatic Sensoren angeschaut (u.a. Homematic IP Fenstersensoren (optisch)) und da sind die Batterie/Spannungs-Infos immer in Channel 0, Channel 1 enthält nur den Zustand (offen/zu).

            Haben Sie schon einmal versucht, die Sensoren im HomeMatic-Adapter neu einzulesen (im Adapter "Geräte neu einlesen (einmalig)" ankreuzen)?

            Vielleicht verschwinden dann die Duplikate im Channel 1.

            Gruß daNick

            1 Antwort Letzte Antwort
            0
            • D daNick

              @Pittini

              OK, danke.

              1. Nochmal zu HomeMatic LowBat/ Low_Bat:
                Es kann also der Datenpunkt in eine BELIEBIGE Funktionsgruppe, das Script ignoriert den Spannungs-Wert aus dem Namen der Gruppe, wenn der Datenpunkt boolean ist?
                ob die Gruppe (/z.b) ..._15 oder ..._150 heißt, ist ganz egal?

              2. Ich habe Zigbee-Sensoren, die NUR Batterie-Prozent liefern, aber keinen Spannungswert.
                Auch die können in eine beliebige Funktionsgruppe?

              Lux.png

              1. Ginge es, zur Wahrung der Übersichtlichekit Funktionsgruppen zu erstellen, die "BatterieSpannung_Prozent" und "BatterieSpannung_Boolean" heißen, oder käme dann (kurz- oder langfristig) etwas durcheinander?

              Gruß daNick

              P Offline
              P Offline
              Pittini
              Developer
              schrieb am zuletzt editiert von
              #217

              @daNick sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

              @Pittini

              OK, danke.

              1. Nochmal zu HomeMatic LowBat/ Low_Bat:
                Es kann also der Datenpunkt in eine BELIEBIGE Funktionsgruppe, das Script ignoriert den Spannungs-Wert aus dem Namen der Gruppe, wenn der Datenpunkt boolean ist?
                ob die Gruppe (/z.b) ..._15 oder ..._150 heißt, ist ganz egal?

              Nein, Du denkst zu kompliziert. Das Gerät hat physikalisch irgendeine Batterie drin, die hat ne Sollspannung, und die gibst Du an, z.B. "BatterieSpannung_30" für 3 Volt Knopfzelle. Alles andere macht das Skript intern, es schaut erst mal ob ne Zahl drinsteht und wenn nicht, dann guggt es nach nem Bool. Dann legt es anhand der Sollspannung der Batterie, eben bei true/false, 0V/3V an.

              1. Ich habe Zigbee-Sensoren, die NUR Batterie-Prozent liefern, aber keinen Spannungswert.
                Auch die können in eine beliebige Funktionsgruppe?

              Hier gilt das gleiche wie oben, es muß die RICHTIGE Spannung für dieses Gerät angegeben sein, dass da Prozent kommen erkennt das Skript wiederum automatisch weil dann % als Einheit im Datenpunkt stehen.

              1. Ginge es, zur Wahrung der Übersichtlichekit Funktionsgruppen zu erstellen, die "BatterieSpannung_Prozent" und "BatterieSpannung_Boolean" heißen, oder käme dann (kurz- oder langfristig) etwas durcheinander?

              Wäre vollkommen sinnfrei, wie will ich was berechnen wenn ich keine Sollwerte hab?

              P 1 Antwort Letzte Antwort
              0
              • P Pittini

                @Olli77 Das ist alles sehr suspekt. Ich seh dass der Fehler entsteht weil das Skript 0 Devices findet und auf ein undefined zugreifen möchte. Soweit is klar dass ein Fehler kommt. Die Frage ist, warum findet er da nix bei Dir (ich geh nicht von nem Fehler im Skript aus). Zeig bitte mal die Einstellungen vom Skript, ich hab den Verdacht das Du nen Tippfehler produziert hast. Wenn Du es in den Einstellungen nicht geändert hast, heißt die Funktion dort "BatterieSpannung_", bei Deiner Zuweisung seh ich aber "Batteriespannung_". Das würde auch erklären warum er kein min anlegt.

                O Offline
                O Offline
                Olli77
                schrieb am zuletzt editiert von
                #218

                @Pittini

                danke das war es! Nur weil ich Batteriespannung und nicht BatterieSpannung geschrieben habe, kam der fehler. Nun nach Änderung geht es ohne Fehler.

                Eine Frage habe ich aber nicht

                Ich halte die Batteriemin. Wert für etwas hoch.....Kann ich das einfach ändern und wenn ja bis wie weit macht es sinn?

                Ist es ausserdem normal das das alles "Rot" ist?
                xx.JPG

                P 1 Antwort Letzte Antwort
                0
                • O Olli77

                  @Pittini

                  danke das war es! Nur weil ich Batteriespannung und nicht BatterieSpannung geschrieben habe, kam der fehler. Nun nach Änderung geht es ohne Fehler.

                  Eine Frage habe ich aber nicht

                  Ich halte die Batteriemin. Wert für etwas hoch.....Kann ich das einfach ändern und wenn ja bis wie weit macht es sinn?

                  Ist es ausserdem normal das das alles "Rot" ist?
                  xx.JPG

                  P Offline
                  P Offline
                  Pittini
                  Developer
                  schrieb am zuletzt editiert von
                  #219

                  @Olli77 sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

                  Ich halte die Batteriemin. Wert für etwas hoch.....Kann ich das einfach ändern und wenn ja bis wie weit macht es sinn?

                  Ja, kannste ändern, inwieweit kann ich nicht sagen is auch bisserl von den Geräten abhängig. Am besten mal warten bis ein Device leer ist und nimmer aktualisiert, dann siehste ja am letzten Wert bei welcher Spannung es ausgestiegen ist.
                  Aber grundsätzlich is der Wert eher zu niedrig als zu hoch, ich hab bei mir 2,64V als Limit

                  Ist es ausserdem normal das das alles "Rot" ist?

                  Ja

                  O 1 Antwort Letzte Antwort
                  0
                  • P Pittini

                    @Olli77 sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

                    Ich halte die Batteriemin. Wert für etwas hoch.....Kann ich das einfach ändern und wenn ja bis wie weit macht es sinn?

                    Ja, kannste ändern, inwieweit kann ich nicht sagen is auch bisserl von den Geräten abhängig. Am besten mal warten bis ein Device leer ist und nimmer aktualisiert, dann siehste ja am letzten Wert bei welcher Spannung es ausgestiegen ist.
                    Aber grundsätzlich is der Wert eher zu niedrig als zu hoch, ich hab bei mir 2,64V als Limit

                    Ist es ausserdem normal das das alles "Rot" ist?

                    Ja

                    O Offline
                    O Offline
                    Olli77
                    schrieb am zuletzt editiert von
                    #220

                    @Pittini said in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

                    @Olli77 sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

                    Ich halte die Batteriemin. Wert für etwas hoch.....Kann ich das einfach ändern und wenn ja bis wie weit macht es sinn?

                    Ja, kannste ändern, inwieweit kann ich nicht sagen is auch bisserl von den Geräten abhängig. Am besten mal warten bis ein Device leer ist und nimmer aktualisiert, dann siehste ja am letzten Wert bei welcher Spannung es ausgestiegen ist.
                    Aber grundsätzlich is der Wert eher zu niedrig als zu hoch, ich hab bei mir 2,64V als Limit

                    Ist es ausserdem normal das das alles "Rot" ist?

                    Ja

                    ok danke für die hilfe

                    1 Antwort Letzte Antwort
                    0
                    • P Pittini

                      Generisches Script um die Batteriestände beliebig vieler Geräte, auch mit unterschiedlichen Spannungen und LowLimit, zu überwachen

                      Features

                      • Kann beliebig viele Geräte überwachen welche einen Datenpunkt mit der Batteriespannung, eine Prozentangabe oder zumindest Lowbat zur Verfügung stellen.
                      • Es können simultan Geräte mit unterschiedlichen Spannungen überwacht werden, z.B. 1,5V und 3V, auch Geräte welche nur LowBat true/false bereitstellen können berücksichtigt werden ebenso wie Prozentwerte in zwei Varianten.
                      • Möglichkeit eine Meldung/Ansage via Log/Mail/Alexa/Telegram bei unterschreiten einer einstellbaren Limitspannung auszugeben.
                      • permanente Anzeige des Gerätes mit der niedrigsten Spannung (außer Lowbat, da hier die Info nicht verfügbar ist).
                      • Kleines Set aus vordefinierten Standart Vis Widgets (Basic-String, Basic-Bool, Html) zur leichteren Integration, bzw. als Beispiel für eigene Vis Projekte.
                      • Einfache, dynamisch erstellte Html Übersichtstabelle mit einstellmöglichkeit welche Spalten angezeigt werden sollen
                      • Nach Installation keine Skriptänderungen mehr nötig um neue Geräte hinzuzufügen.

                      Genaueres beim Projekt auf Git

                      widgetstut6a.png

                      A Offline
                      A Offline
                      Andi Luma
                      schrieb am zuletzt editiert von Andi Luma
                      #221

                      @Pittini Hallo , erstmal Danke für das Script. Kann es sein das hier die downloadbaren Versionen irgendwie auseinander gelaufen sind , auf der Github Seite gibt es im Changelog die Version 1.63 und als neueste die 1.65, der Download von dort liefert aber heute Morgen // Batterieüberwachungsskript Version 1.6.4 Stand 18.06.2020 - Git: https://github.com/Pittini/iobroker-Batterienauswertung. Bei mir werden dann die MAX! Sensoren, die nur true / false liefern e34f196f-ec88-456e-965c-00904d17cee7-image.png
                      mit der Funktion BatterieSpannung_ ergibt es so ein Bild 1ac74e45-73e6-46ca-babe-ffffa16910ef-image.png
                      oder muss hier eine andere Funktion/ Aufzählung gewählt werden ? , was ich irgendwo überlesen habe

                      P 1 Antwort Letzte Antwort
                      0
                      • A Andi Luma

                        @Pittini Hallo , erstmal Danke für das Script. Kann es sein das hier die downloadbaren Versionen irgendwie auseinander gelaufen sind , auf der Github Seite gibt es im Changelog die Version 1.63 und als neueste die 1.65, der Download von dort liefert aber heute Morgen // Batterieüberwachungsskript Version 1.6.4 Stand 18.06.2020 - Git: https://github.com/Pittini/iobroker-Batterienauswertung. Bei mir werden dann die MAX! Sensoren, die nur true / false liefern e34f196f-ec88-456e-965c-00904d17cee7-image.png
                        mit der Funktion BatterieSpannung_ ergibt es so ein Bild 1ac74e45-73e6-46ca-babe-ffffa16910ef-image.png
                        oder muss hier eine andere Funktion/ Aufzählung gewählt werden ? , was ich irgendwo überlesen habe

                        P Offline
                        P Offline
                        Pittini
                        Developer
                        schrieb am zuletzt editiert von
                        #222

                        @Andi-Luma sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

                        @Pittini Hallo , erstmal Danke für das Script. Kann es sein das hier die downloadbaren Versionen irgendwie auseinander gelaufen sind , auf der Github Seite gibt es im Changelog die Version 1.63 und als neueste die 1.65, der Download von dort liefert aber heute Morgen // Batterieüberwachungsskript Version 1.6.4 Stand 18.06.2020 - Git: https://github.com/Pittini/iobroker-Batterienauswertung.

                        Kann schon mal vorkommen dass ich vergess iwo die Version zu aktualisieren, einfach immerdie höchste nehmen und gut.

                        Bei mir werden dann die MAX! Sensoren, die nur true / false liefern
                        mit der Funktion BatterieSpannung_ ergibt es so ein Bild 1ac74e45-73e6-46ca-babe-ffffa16910ef-image.png
                        oder muss hier eine andere Funktion/ Aufzählung gewählt werden ? , was ich irgendwo überlesen habe

                        Du hast das grundlegendste weggelassen. Anleitung .1

                        E 1 Antwort Letzte Antwort
                        0
                        • P Pittini

                          @Andi-Luma sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

                          @Pittini Hallo , erstmal Danke für das Script. Kann es sein das hier die downloadbaren Versionen irgendwie auseinander gelaufen sind , auf der Github Seite gibt es im Changelog die Version 1.63 und als neueste die 1.65, der Download von dort liefert aber heute Morgen // Batterieüberwachungsskript Version 1.6.4 Stand 18.06.2020 - Git: https://github.com/Pittini/iobroker-Batterienauswertung.

                          Kann schon mal vorkommen dass ich vergess iwo die Version zu aktualisieren, einfach immerdie höchste nehmen und gut.

                          Bei mir werden dann die MAX! Sensoren, die nur true / false liefern
                          mit der Funktion BatterieSpannung_ ergibt es so ein Bild 1ac74e45-73e6-46ca-babe-ffffa16910ef-image.png
                          oder muss hier eine andere Funktion/ Aufzählung gewählt werden ? , was ich irgendwo überlesen habe

                          Du hast das grundlegendste weggelassen. Anleitung .1

                          E Offline
                          E Offline
                          Elektronikwelt
                          schrieb am zuletzt editiert von
                          #223

                          @Pittini Hallo wie kann ich mehrere verschiedene Batteriespannungen "BatterieSpannung_30" und BatterieSpannung_15 mit einem Skript abrufen.
                          wie muss ich das in der
                          const FunktionBaseName = "BatterieSpannung_30"; eintragen, mit Komma getrennt?
                          Bin in Javascript nicht so fit.

                          P 1 Antwort Letzte Antwort
                          0
                          • E Elektronikwelt

                            @Pittini Hallo wie kann ich mehrere verschiedene Batteriespannungen "BatterieSpannung_30" und BatterieSpannung_15 mit einem Skript abrufen.
                            wie muss ich das in der
                            const FunktionBaseName = "BatterieSpannung_30"; eintragen, mit Komma getrennt?
                            Bin in Javascript nicht so fit.

                            P Offline
                            P Offline
                            Pittini
                            Developer
                            schrieb am zuletzt editiert von Pittini
                            #224

                            @Elektronikwelt sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

                            @Pittini Hallo wie kann ich mehrere verschiedene Batteriespannungen "BatterieSpannung_30" und BatterieSpannung_15 mit einem Skript abrufen.
                            wie muss ich das in der
                            const FunktionBaseName = "BatterieSpannung_30"; eintragen, mit Komma getrennt?
                            Bin in Javascript nicht so fit.

                            Den FunktionBaseName nicht ändern, vorallem nicht hinter dem Unterstrich. Die verschiedenen Spannungen erkennt das Skript automatisch, du willst da mehr tun als nötig.

                            E 1 Antwort Letzte Antwort
                            0
                            • P Pittini

                              @Elektronikwelt sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

                              @Pittini Hallo wie kann ich mehrere verschiedene Batteriespannungen "BatterieSpannung_30" und BatterieSpannung_15 mit einem Skript abrufen.
                              wie muss ich das in der
                              const FunktionBaseName = "BatterieSpannung_30"; eintragen, mit Komma getrennt?
                              Bin in Javascript nicht so fit.

                              Den FunktionBaseName nicht ändern, vorallem nicht hinter dem Unterstrich. Die verschiedenen Spannungen erkennt das Skript automatisch, du willst da mehr tun als nötig.

                              E Offline
                              E Offline
                              Elektronikwelt
                              schrieb am zuletzt editiert von
                              #225

                              @Pittini Danke. Es funktioniert.

                              E 1 Antwort Letzte Antwort
                              0
                              • P Pittini

                                Generisches Script um die Batteriestände beliebig vieler Geräte, auch mit unterschiedlichen Spannungen und LowLimit, zu überwachen

                                Features

                                • Kann beliebig viele Geräte überwachen welche einen Datenpunkt mit der Batteriespannung, eine Prozentangabe oder zumindest Lowbat zur Verfügung stellen.
                                • Es können simultan Geräte mit unterschiedlichen Spannungen überwacht werden, z.B. 1,5V und 3V, auch Geräte welche nur LowBat true/false bereitstellen können berücksichtigt werden ebenso wie Prozentwerte in zwei Varianten.
                                • Möglichkeit eine Meldung/Ansage via Log/Mail/Alexa/Telegram bei unterschreiten einer einstellbaren Limitspannung auszugeben.
                                • permanente Anzeige des Gerätes mit der niedrigsten Spannung (außer Lowbat, da hier die Info nicht verfügbar ist).
                                • Kleines Set aus vordefinierten Standart Vis Widgets (Basic-String, Basic-Bool, Html) zur leichteren Integration, bzw. als Beispiel für eigene Vis Projekte.
                                • Einfache, dynamisch erstellte Html Übersichtstabelle mit einstellmöglichkeit welche Spalten angezeigt werden sollen
                                • Nach Installation keine Skriptänderungen mehr nötig um neue Geräte hinzuzufügen.

                                Genaueres beim Projekt auf Git

                                widgetstut6a.png

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

                                @Pittini

                                Hallo, warum sind fast alle Tod?

                                Screenshot (2558).png

                                22:49:13.027	info	javascript.0 (8716) Stop script script.js.common.Batterie
                                22:49:13.371	info	javascript.0 (8716) Start javascript script.js.common.Batterie
                                22:49:13.394	info	javascript.0 (8716) script.js.common.Batterie: Reaching FillWelcheFunktionVerwenden
                                22:49:13.395	info	javascript.0 (8716) script.js.common.Batterie: Found Function BatterieSpannung_15
                                22:49:13.395	info	javascript.0 (8716) script.js.common.Batterie: Found Function BatterieSpannung_30
                                22:49:13.395	info	javascript.0 (8716) script.js.common.Batterie: InitialSpannung 0 gesetzt auf 80%= 1.2
                                22:49:13.395	info	javascript.0 (8716) script.js.common.Batterie: InitialSpannung 1 gesetzt auf 80%= 2.4
                                22:49:13.396	info	javascript.0 (8716) script.js.common.Batterie: registered 0 subscriptions and 0 schedules
                                22:49:13.451	info	javascript.0 (8716) script.js.common.Batterie: CreateStates fertig!
                                22:49:13.451	info	javascript.0 (8716) script.js.common.Batterie: Reaching main()
                                22:49:13.451	info	javascript.0 (8716) script.js.common.Batterie: Reaching init()
                                22:49:13.452	info	javascript.0 (8716) script.js.common.Batterie: BattMinLimit Value conversion - success
                                22:49:13.452	info	javascript.0 (8716) script.js.common.Batterie: BattMinLimit Value conversion - success
                                22:49:13.452	info	javascript.0 (8716) script.js.common.Batterie: Tempval=false TempUnit=undefined TypeOf=boolean
                                22:49:13.452	info	javascript.0 (8716) script.js.common.Batterie: 0 BatterieSpannung_30 found at hm-rpc.0.NEQ1818500.0.LOWBAT Umax= 3 BattMinLimit=2.4 Val= 3 SensorProzent= 100
                                22:49:13.452	info	javascript.0 (8716) script.js.common.Batterie: Tempval=false TempUnit=undefined TypeOf=boolean
                                22:49:13.452	info	javascript.0 (8716) script.js.common.Batterie: 1 BatterieSpannung_30 found at hm-rpc.0.NEQ1826414.0.LOWBAT Umax= 3 BattMinLimit=2.4 Val= 3 SensorProzent= 100
                                22:49:13.453	info	javascript.0 (8716) script.js.common.Batterie: Tempval=false TempUnit=undefined TypeOf=boolean
                                22:49:13.453	info	javascript.0 (8716) script.js.common.Batterie: 2 BatterieSpannung_30 found at hm-rpc.0.OEQ0655913.0.LOWBAT Umax= 3 BattMinLimit=2.4 Val= 3 SensorProzent= 100
                                22:49:13.453	info	javascript.0 (8716) script.js.common.Batterie: Tempval=2.9 TempUnit=V TypeOf=number
                                22:49:13.453	info	javascript.0 (8716) script.js.common.Batterie: 3 BatterieSpannung_30 found at hm-rpc.0.OEQ0655913.4.BATTERY_STATE Umax= 3 BattMinLimit=2.4 Val= 2.9 SensorProzent= 96.66666666666667
                                22:49:13.454	info	javascript.0 (8716) script.js.common.Batterie: Reaching CheckDeadBatt()
                                22:49:13.455	info	javascript.0 (8716) script.js.common.Batterie: Reaching Meldung()
                                22:49:13.455	info	javascript.0 (8716) script.js.common.Batterie: Ausfall oder disconnect im Vorraum bei Gerät Haustuer
                                22:49:13.455	info	javascript.0 (8716) script.js.common.Batterie: Reaching Meldung()
                                22:49:13.455	info	javascript.0 (8716) script.js.common.Batterie: Ausfall oder disconnect im Esszimmer bei Gerät Terrassentuer
                                22:49:13.455	info	javascript.0 (8716) script.js.common.Batterie: Reaching Meldung()
                                22:49:13.456	info	javascript.0 (8716) script.js.common.Batterie: Ausfall oder disconnect im Esszimmer bei Gerät HZK Esszimmer
                                22:49:13.456	info	javascript.0 (8716) script.js.common.Batterie: Reaching MakeTable
                                22:49:13.459	info	javascript.0 (8716) script.js.common.Batterie: Reaching CheckAllBatterys() found 4 Devices
                                22:49:13.460	info	javascript.0 (8716) script.js.common.Batterie: Sensor[0] = ist ausgefallen oder disconnected
                                22:49:13.460	info	javascript.0 (8716) script.js.common.Batterie: Sensor[1] = ist ausgefallen oder disconnected
                                22:49:13.460	info	javascript.0 (8716) script.js.common.Batterie: Sensor[2] = ist ausgefallen oder disconnected
                                22:49:13.460	info	javascript.0 (8716) script.js.common.Batterie: Reaching Meldung()
                                22:49:13.470	info	javascript.0 (8716) script.js.common.Batterie: Ausfall oder disconnect im Vorraum bei Gerät Haustuer<br>Ausfall oder disconnect im Esszimmer bei Gerät Terrassentuer<br>Ausfall oder disconnect im Esszimmer bei Gerät HZK Esszimmer
                                22:49:13.470	info	javascript.0 (8716) script.js.common.Batterie: Reaching CheckAllBatterysOk - Lastmessage=Ausfall oder disconnect im Vorraum bei Gerät Haustuer<br>Ausfall oder disconnect im Esszimmer bei Gerät Terrassentuer<br>Ausfall oder disconnect im Esszimmer bei Gerät HZK Esszimmer
                                22:49:13.470	info	javascript.0 (8716) script.js.common.Batterie: Reaching CheckNextLowBatt()
                                22:49:13.470	info	javascript.0 (8716) script.js.common.Batterie: Aktuell niedrigster Batteriestand (2.90V): Esszimmer bei Gerät HZK Esszimmer
                                22:49:13.471	info	javascript.0 (8716) script.js.common.Batterie: Reaching MakeTable
                                22:50:13.468	info	javascript.0 (8716) script.js.common.Batterie: Reaching CheckDeadBatt()
                                22:50:13.469	info	javascript.0 (8716) script.js.common.Batterie: Reaching MakeTable
                                

                                Edit:

                                Über Nacht erledigt.

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

                                1 Antwort Letzte Antwort
                                0
                                • E Elektronikwelt

                                  @Pittini Danke. Es funktioniert.

                                  E Offline
                                  E Offline
                                  Elektronikwelt
                                  schrieb am zuletzt editiert von
                                  #227

                                  @Pittini heute werden meine Räume nicht mehr eingelesen. Nur noch einer wird zugewiesen. Habe JS Adapter neu gestartet Alle sind in den Objekten zugewiesen.
                                  22cd7502-c712-4bf6-9557-d81d0969dcdc-grafik.png
                                  Woran liegt. das?

                                  1 Antwort Letzte Antwort
                                  0
                                  • mrFenyxM Offline
                                    mrFenyxM Offline
                                    mrFenyx
                                    schrieb am zuletzt editiert von mrFenyx
                                    #228

                                    Hi,
                                    erstens, danke @Pittini für dieses Skript. Funktioniert super. Ich hätte einen Erweiterungsvorschlag. Es geht um HMIP Geräte und deren Namen. Dort sollte man anstatt 2 Ebenen nach oben gehen, 3 Ebenen gehen.
                                    29e07454-77fe-4892-b686-66d3294d6e5a-image.png
                                    Hab's bei mir lokal schon in der GetParentId Funktion hinzugefügt.
                                    Zusätzlich, bei Geräte die durch deconz gemanaged sind muss man auch 2 Ebenen nach oben gehen. Ich habe demnach die Funktion ein bisschen geändert:

                                    function GetParentId(Id) {
                                        let parentDevicelId;
                                        if (Id.indexOf("deconz.") > -1 || Id.indexOf("hm-rpc.") > -1 || Id.indexOf("shelly.") > -1){ //Wenn deconz, hm-rpc oder shelly dann zwei Ebenen zurück
                                            parentDevicelId = Id.split(".").slice(0, -2).join(".");// Id an den Punkten in Array schreiben (split), die 2 letzten Elemente von hinten entfernen (slice) und den Rest wieder zu String zusammensetzen
                                        }
                                        else if (Id.indexOf("hmip.") > -1) { //Wenn HMIP dann drei Ebenen zurück
                                            parentDevicelId = Id.split(".").slice(0, -3).join(".");// Id an den Punkten in Array schreiben (split), die 3 letzten Elemente von hinten entfernen (slice) und den Rest wieder zu String zusammensetzen
                                        }
                                        else { //Wenn kein deconz, kein HM und kein shelly Adapter, eine Ebene zurück
                                            parentDevicelId = Id.split(".").slice(0, -1).join(".");// Id an den Punkten in Array schreiben (split), das letzte Element von hinten entfernen (slice) und den Rest wieder zu String zusammensetzen
                                        };
                                        //if (logging) log("Id= " + Id + " ParentDeviceId= " + parentDevicelId)
                                        return parentDevicelId
                                    }
                                    

                                    P 1 Antwort Letzte Antwort
                                    0
                                    • A Offline
                                      A Offline
                                      Alero
                                      schrieb am zuletzt editiert von
                                      #229

                                      Hi,
                                      hab von Pittini die Batt Überwachung installiert. Habe alles laut Duko gemacht. Vielen Dank an Pittini.
                                      Die Anzeige kommt auch.
                                      91dee472-b996-4804-ad6b-6718adafee2f-grafik.png
                                      Bei der Tabelle sehe ich nichts. Bei Start des scripts bekomme ich folgende FM:
                                      76a27676-a7e3-49a5-a682-21829ff3f464-grafik.png
                                      Habe leider nicht viel Ahnung von Javascripten.
                                      Hat jemand eine Idee warum sich meine Tabelle nicht aufbaut?
                                      Gruß
                                      Alero

                                      P 1 Antwort Letzte Antwort
                                      0
                                      • mrFenyxM mrFenyx

                                        Hi,
                                        erstens, danke @Pittini für dieses Skript. Funktioniert super. Ich hätte einen Erweiterungsvorschlag. Es geht um HMIP Geräte und deren Namen. Dort sollte man anstatt 2 Ebenen nach oben gehen, 3 Ebenen gehen.
                                        29e07454-77fe-4892-b686-66d3294d6e5a-image.png
                                        Hab's bei mir lokal schon in der GetParentId Funktion hinzugefügt.
                                        Zusätzlich, bei Geräte die durch deconz gemanaged sind muss man auch 2 Ebenen nach oben gehen. Ich habe demnach die Funktion ein bisschen geändert:

                                        function GetParentId(Id) {
                                            let parentDevicelId;
                                            if (Id.indexOf("deconz.") > -1 || Id.indexOf("hm-rpc.") > -1 || Id.indexOf("shelly.") > -1){ //Wenn deconz, hm-rpc oder shelly dann zwei Ebenen zurück
                                                parentDevicelId = Id.split(".").slice(0, -2).join(".");// Id an den Punkten in Array schreiben (split), die 2 letzten Elemente von hinten entfernen (slice) und den Rest wieder zu String zusammensetzen
                                            }
                                            else if (Id.indexOf("hmip.") > -1) { //Wenn HMIP dann drei Ebenen zurück
                                                parentDevicelId = Id.split(".").slice(0, -3).join(".");// Id an den Punkten in Array schreiben (split), die 3 letzten Elemente von hinten entfernen (slice) und den Rest wieder zu String zusammensetzen
                                            }
                                            else { //Wenn kein deconz, kein HM und kein shelly Adapter, eine Ebene zurück
                                                parentDevicelId = Id.split(".").slice(0, -1).join(".");// Id an den Punkten in Array schreiben (split), das letzte Element von hinten entfernen (slice) und den Rest wieder zu String zusammensetzen
                                            };
                                            //if (logging) log("Id= " + Id + " ParentDeviceId= " + parentDevicelId)
                                            return parentDevicelId
                                        }
                                        

                                        P Offline
                                        P Offline
                                        Pittini
                                        Developer
                                        schrieb am zuletzt editiert von
                                        #230

                                        @mrFenyx sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

                                        Hab's bei mir lokal schon in der GetParentId Funktion hinzugefügt.
                                        Zusätzlich, bei Geräte die durch deconz gemanaged sind muss man auch 2 Ebenen nach oben gehen. Ich habe demnach die Funktion ein bisschen geändert:

                                        Hab ich mal ins update 1.6.6 mit reingepackt, danke.

                                        1 Antwort Letzte Antwort
                                        0
                                        • A Alero

                                          Hi,
                                          hab von Pittini die Batt Überwachung installiert. Habe alles laut Duko gemacht. Vielen Dank an Pittini.
                                          Die Anzeige kommt auch.
                                          91dee472-b996-4804-ad6b-6718adafee2f-grafik.png
                                          Bei der Tabelle sehe ich nichts. Bei Start des scripts bekomme ich folgende FM:
                                          76a27676-a7e3-49a5-a682-21829ff3f464-grafik.png
                                          Habe leider nicht viel Ahnung von Javascripten.
                                          Hat jemand eine Idee warum sich meine Tabelle nicht aufbaut?
                                          Gruß
                                          Alero

                                          P Offline
                                          P Offline
                                          Pittini
                                          Developer
                                          schrieb am zuletzt editiert von
                                          #231

                                          @Alero sagte in [Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe:

                                          Habe leider nicht viel Ahnung von Javascripten.
                                          Hat jemand eine Idee warum sich meine Tabelle nicht aufbaut?

                                          JS Adapter mal neugestartet? Zeig mal komplettes Startlog (als Text, nicht als Screenshot) und zeig mal nen Screenshot eines der angemaulten Geräte mit Funktions und Raumzuweisung aus der Objektliste.

                                          A 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

                                          816

                                          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