Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Script fürTabelle der Batterie Zustände

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Script fürTabelle der Batterie Zustände

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      cybertron last edited by

      Ich habe die Geräte, die hier im Haus sind nicht genau gezälhlt.
      Der Scriptparser sagt "840 Kanäle und 3593 Datenpunkte in 230 Geräten:".
      Es gibt ja auch jede Menge Geräte, welche zwar reine 230V-Geräte sind, und trotzdem in ihren Datenpunkten das "LOWBAT" drin haben. z.B. der HM-LC-SW1-FM ,der HM-LC-SW2-FM oder der HM-LC-RGBW-WM.

      Auf Grund der Menge der Geräte, die hier verbaut sind, war mein Gedanke, eine Tabelle für das Obergeschoss, eine fürs Erdgeschoss, eine für den Aussenbereich, eine für Keller und Büro's und eine für zentrale Dinge wie Keymatic, Schlüssel usw.
      Wenn ich in jeder Tabelle, also in jedem dafür laufenden Script, die Geräte der anderen Bereiche, sowie die Geräte, die eigentlich gar keine Batterie haben, per Filter ausklammere, sollte ich ja nur noch die sehen, die wirklich in dieser Zone sind und batteriebetrieben sind.
      Im Bild sieht man recht gut, dass der Filter nur bedingt greift.
      Im EG werden rund 120 Geräte per Filter ausgeschlossen. Wirklich gefilter werden aber nur ca 100.
      u.a tauchen Geräte aus dem 1.OG auf oder die RGBW, welche alle im Filter mit drin sind.

      Tabelle Batterie.png

      liv-in-sky 1 Reply Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky @cybertron last edited by liv-in-sky

        @cybertron ok

        mit sowas habe ich nicht gerechnet 🙂 - es gibt wohl noch ein script für batterie zustände, die mit räumen arbeitet - ich kenne das nicht aber evtl mußt du dieses nehmen: https://forum.iobroker.net/topic/31676/vorlage-generische-batteriestandsüberwachung-vis-ausgabe

        das filtern müßte ich mir etwas näher ansehen - gibt es die möglichkeit für anydesk auf deinen rechner ?
        ich habe im script nur gesehen, dass es für homeatic ip mit den "lowBat" datenpunkten keine filterung gibt - habe ich wohl vergessen

        wir müßten mal auf deinem rechner das log enablen damit ich mal rausfinden kann, warum nicht gefiltert wird - evtl hat es auch mit der namensgebung etwas zu tun

        also wenn interesse dann sende mir über chat deine anydesk nummer und wir telefonieren mal
        du könntest mir auch mal das filterarray posten - damit ich mal drüberschaue

        1 Reply Last reply Reply Quote 0
        • N
          Nordischerjung last edited by Nordischerjung

          @liv-in-sky
          Moin,

          ich hab das Script ja nun schon ne weile laufen. bisher ohne Probleme. Nun habe ich einen neuen Hue Outdoor Bewegungsmelder. Seid ich diesen intergriert habe, kommen folgende Fehler im Log

          javascript.1	2020-05-22 22:49:40.023	error	(8655) at tryOnTimeout (timers.js:300:5)
          javascript.1	2020-05-22 22:49:40.022	error	(8655) at ontimeout (timers.js:436:11)
          javascript.1	2020-05-22 22:49:40.022	error	(8655) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:501:7)
          javascript.1	2020-05-22 22:49:40.021	error	(8655) at /opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:543:11
          javascript.1	2020-05-22 22:49:40.021	error	(8655) at Job.invoke (/opt/iobroker/node_modules/iobroker.javascript/node_modules/node-schedule/lib/schedule.js:173:10)
          javascript.1	2020-05-22 22:49:40.021	error	(8655) at Job.nodeSchedule.scheduleJob [as job] (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1270:34)
          javascript.1	2020-05-22 22:49:40.020	error	(8655) at Object.<anonymous> (script.js.Battery_Anzeige_VIS:1187:1)
          javascript.1	2020-05-22 22:49:40.020	error	(8655) at writeHTML (script.js.Battery_Anzeige_VIS:399:22)
          javascript.1	2020-05-22 22:49:40.019	error	(8655) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:796:29)
          javascript.1	2020-05-22 22:49:40.018	error	(8655) at script.js.Battery_Anzeige_VIS:406:67
          javascript.1	2020-05-22 22:49:40.017	error	(8655) Error in callback: TypeError: Cannot read property 'common' of null
          javascript.1	2020-05-22 22:49:40.015	warn	(8655) Object "hue.0.Philips_hue.Hue_outdoor_temp" does not exist
          javascript.1	2020-05-22 22:49:25.636	error	(8655) at Script.runInContext (vm.js:133:20)
          javascript.1	2020-05-22 22:49:25.636	error	(8655) at script.js.Battery_Anzeige_VIS:1190:1
          javascript.1	2020-05-22 22:49:25.635	error	(8655) at writeHTML (script.js.Battery_Anzeige_VIS:399:22)
          javascript.1	2020-05-22 22:49:25.635	error	(8655) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:796:29)
          javascript.1	2020-05-22 22:49:25.635	error	(8655) at script.js.Battery_Anzeige_VIS:406:67
          javascript.1	2020-05-22 22:49:25.635	error	(8655) TypeError: Cannot read property 'common' of null
          javascript.1	2020-05-22 22:49:25.635	error	(8655) ^
          javascript.1	2020-05-22 22:49:25.635	error	(8655) val0=getObject(ida[0]+"."+ida[1]+"."+ida[2]+"."+ida[3]).common.name ; val0=val0.replace(/.battery$/,""); val0=val0.replace("Philips_hue.",""); val0=val0.replace(/_/g," ");
          javascript.1	2020-05-22 22:49:25.634	error	(8655) script.js.Battery_Anzeige_VIS: script.js.Battery_Anzeige_VIS:406
          javascript.1	2020-05-22 22:49:25.633	warn	(8655) Object "hue.0.Philips_hue.Hue_outdoor_temp" does not exist
          javascript.1	2020-05-22 22:49:25.612	info	(8655) Start javascript script.js.Battery_Anzeige_VIS
          

          Warum ist das so? Das geht erst weg, wenn ich hue au false im script setze

          edit: setze ich hueext true, dann geht es. Da wird der BWM auch angezeigt. Dann mache ich es halt über den Weg.

          liv-in-sky 2 Replies Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @Nordischerjung last edited by

            @Nordischerjung leider habe ich keine hue oder hue-ext sensoren - daher kann ich im moment nur in meiner testumgebung testen und da funktioniert es

            Image 1.png

            du kannst ja mal einen json export des sensors machen und die datei hier einstellen - dann importiere ich das mal

            1 Reply Last reply Reply Quote 0
            • liv-in-sky
              liv-in-sky @Nordischerjung last edited by

              @Nordischerjung hab das nochmal bei mir angesehen - ein normale hue sensor kann eigentlich nicht als hue-ext sensor im script erkannt werden. die datenpunkte sind völlig anders aufgebaut

              hue-ext:

              hue-extended.0.sensors.012-hue_temperature_sensor_1.config.battery
              

              hue:

              hue.0.Philips_hue.BueroTaster.battery
              

              kann es sein, dass entweder der battery wert keinen inhalt hat oder das deine datenpunkte anders aufgebaut sind ?hast du hue und hue-ext sensoren ? am besten mache einen json export von allen deinen hue und/oder hue-ext. datenpunkten

              N 1 Reply Last reply Reply Quote 0
              • N
                Nordischerjung @liv-in-sky last edited by

                @liv-in-sky sagte in Script fürTabelle der Batterie Zustände:

                @Nordischerjung hab das nochmal bei mir angesehen - ein normale hue sensor kann eigentlich nicht als hue-ext sensor im script erkannt werden. die datenpunkte sind völlig anders aufgebaut

                hue-ext:

                hue-extended.0.sensors.012-hue_temperature_sensor_1.config.battery
                

                hue:

                hue.0.Philips_hue.BueroTaster.battery
                

                kann es sein, dass entweder der battery wert keinen inhalt hat oder das deine datenpunkte anders aufgebaut sind ?hast du hue und hue-ext sensoren ? am besten mache einen json export von allen deinen hue und/oder hue-ext. datenpunkten

                Moin, der hue-ext adapter ist doch wie der hue adapter, Da gibt es doch keine extra Sensoren für, oder hab ich das falsch verstanden? Ich hatte den damals installiert, da ich damit die Szenen auslesen und steuern konnte ( kann auch sein, dass es beim hue auch möglich war hatte ich nicht gesehen, egal). Es steht bei beiden Adaptern in battery 100% drin. JSON kann ich erst heute abend machen, bin unterwegs.

                1 Reply Last reply Reply Quote 0
                • Stephan Schleich
                  Stephan Schleich last edited by

                  @liv-in-sky wäre es noch möglich eine HTML Tabelle mit zur Verfügung zu stellen? Damit könnte man dann die Werte via Telegram anzeigen lassen

                  liv-in-sky 1 Reply Last reply Reply Quote 0
                  • liv-in-sky
                    liv-in-sky @Stephan Schleich last edited by

                    @Stephan-Schleich
                    das ganze ist eine html tabelle bzw html code - aber leider kann telegram sowas nicht anzeigen - braucht wohl ein eigenes bzw spezielles format

                    bin nicht so in telegram eingearbeitet - aber es gibt zumindest einen datenpunkt mit den devices, welche einen batteriewechsel brauchen - dies kann man an telegram senden (über eigenes script) - oder wenn du dir eine datei erzeugen läßt (script setting) könnte diese an das handy via telegram gesendet werden und somit auf dem handy angezeigt werden

                    selbst wenn ich wüßte, wie genau so eine telegram-tabelle erzeugt werden müßte, würde ich es nicht einbinden - dazu gibt es die vis oder iqontrol oder ...
                    ich persönlich sehe telegram eher als alarm system und nicht als vis ersatz - es würde mir keinen nutzen bringen, die ganze tabelle in telegram zu haben - nur ein alarm bzw welche geräte brauchen eine neue batt, sollte als meldung doch ausreichend sein

                    1 Reply Last reply Reply Quote 0
                    • Christoph1337
                      Christoph1337 last edited by

                      Ich bekomme immer folgende Meldung:

                      16:59:25.540	info	javascript.0 (1208) script.js._TEST.BatteryMonitor: registered 0 subscriptions and 1 schedule
                      16:59:40.013	warn	javascript.0 (1208) at writeHTML (script.js._TEST.BatteryMonitor:1176:5)
                      16:59:40.013	warn	javascript.0 (1208) at Object.<anonymous> (script.js._TEST.BatteryMonitor:1187:1)
                      16:59:40.015	warn	javascript.0 (1208) at writeHTML (script.js._TEST.BatteryMonitor:1177:5)
                      16:59:40.015	warn	javascript.0 (1208) at Object.<anonymous> (script.js._TEST.BatteryMonitor:1187:1)
                      
                      liv-in-sky 2 Replies Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @Christoph1337 last edited by

                        @Christoph-Bubeck wieviele zeilen hat dein script? über 1390 ?

                        1 Reply Last reply Reply Quote 0
                        • liv-in-sky
                          liv-in-sky @Christoph1337 last edited by

                          @Christoph-Bubeck und hast du die datenpunkte dpAlarm und dpAlarmMessage angelegt und im script eingetragen ?

                          1 Reply Last reply Reply Quote 0
                          • liv-in-sky
                            liv-in-sky last edited by liv-in-sky

                            @Christoph-Bubeck

                            für die max- werte sollte es reichen, im homematic teile ein oder 2 zeilen zu ändern

                            ich gehe davon aus, du hast den homematic teil geändert - da es anscheinend nur um fulbat geht kannst du in dieem teil den val2 wet ändern

                            Image 6.png

                            valhelp ersetzern mit dem richtigen datenpunkt und val2 anpassen - zeile 757

                            wenn ich die datenpunkt struktur kennen würde, kann man varhelp einfach anpassen

                            1 Reply Last reply Reply Quote 0
                            • Christoph1337
                              Christoph1337 last edited by

                              Also mit dem Hometic klappt das für MAX.

                              9379f3ab-3d21-46f4-a352-6644a0e0dc79-image.png

                              Wie gesagt musste ich nur den Suchstring anpassen. Wenn das auch andere nutzen wollen müsste man nur die hometic funktion im script kopieren und erneut für max ablegen. oder denk ich verkehrt?

                              1d9a6112-2464-45a8-8b0d-8631903c1db8-image.png
                              ed00f9df-266e-4e02-8753-ba76158f1724-image.png

                              liv-in-sky 2 Replies Last reply Reply Quote 0
                              • liv-in-sky
                                liv-in-sky @Christoph1337 last edited by

                                @Christoph-Bubeck

                                an dieser stelle kenn ich nur den batterie wert - aber wie heißt der online wert und wo liegt er im verzeichnis ( wird er überhaupt anstndig im adapter angezeigt) - die homematic glaube ich haben da so ihre probleme) - diesen wert muss ich definieren- ich habe aber nur die id von battery_low und von dieser aus muss ich mich zum online vorarbeiten -

                                1 Reply Last reply Reply Quote 0
                                • liv-in-sky
                                  liv-in-sky @Christoph1337 last edited by

                                  @Christoph-Bubeck ist das der initialized wert - alle anderen sind ja false - wird initialized geändert, wenn du das device abschaltest ?

                                  1 Reply Last reply Reply Quote 0
                                  • Christoph1337
                                    Christoph1337 last edited by Christoph1337

                                    achsoo.

                                    Also für Offline nehme ich
                                    state[state.id=maxcube.*.*.*.error]
                                    und
                                    state[state.id=maxcube.*.*.*.link_error]

                                    Wenn = true -> nicht errreichbar

                                    für Problem
                                    state[state.id=maxcube.*.*.*.working]

                                    wenn = false -> Problem vorhanden

                                    liv-in-sky 3 Replies Last reply Reply Quote 0
                                    • liv-in-sky
                                      liv-in-sky @Christoph1337 last edited by liv-in-sky

                                      @Christoph-Bubeck

                                      kannst du mir bite noch die ganzen max datenpunkte in ein json packen - mit deconz geht das "online" schon

                                      Image 5.png

                                      wenn letzter datenpunkt update länger als 12 stunden - dann time-warn sonst on-bzw offline

                                      1 Reply Last reply Reply Quote 0
                                      • liv-in-sky
                                        liv-in-sky @Christoph1337 last edited by

                                        @Christoph-Bubeck und den ganzen teil des scriptes, welchen du für die max geändert hast oder war das nur der selektor

                                        1 Reply Last reply Reply Quote 0
                                        • liv-in-sky
                                          liv-in-sky @Christoph1337 last edited by liv-in-sky

                                          @Christoph-Bubeck

                                          jetzt muss ich nochmal fragen: wie die anzeige sein soll

                                          • wenn über 12 stunden kein dp-update (von error und error link) - dann time warn;
                                          • sonst wenn unter 12 stunden dann bei error und error link ist false => online
                                          • und wenn eines von error und error link ist true => offline

                                          dann bekommst du immer offline wenn die error oder link_error "falsch" (also true) sind ein offline angezeigt. da dies aber immer wieder geschieht muss da noch ein zeitfaktor rein! dazu müßte ich wissen, wie lange diese ´"fehlanzeige" länstens sein kann (vorher hatten wir mal eine halbe stunde) - also wie lange soll das online bleiben bevor da offline daraus wird

                                          hoffe ich konnte es richtig erklären

                                          dazu kommt noch dieser working datenpunkt - ist der verlässlich oder hat der auch aussetzer

                                          1 Reply Last reply Reply Quote 0
                                          • Christoph1337
                                            Christoph1337 last edited by

                                            Moin moin,

                                            ich meine die Infos zu den DPs hast du genau richtig dargestellt.
                                            Als Timer sollte man mindestens 60 Minuten nehmen, da durch z.B. DutyCycle das Gerät für diesen Zeitraum nicht erreichbar sein könnte.

                                            Aktuell hatte ich das Gefühl das der Working-DP korrekt funktioniert. Wahrscheinlich wird man das erst merken, wenn man eine längere Analyse darüber fährt.

                                            liv-in-sky 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            996
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript monitoring template
                                            67
                                            1379
                                            355270
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo