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

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

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

[Vorlage] Generische Batteriestandsüberwachung + Vis-ausgabe

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascripttemplatemonitoring
581 Beiträge 81 Kommentatoren 136.4k 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

    @Olli77 Ok, hilft alles nix, ich brauch bitte mal ein komplettes startlog vom Skript.

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

    @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 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

      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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          743

                                          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