Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. Hilfe bei Javaskript Device Counter

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    917

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Hilfe bei Javaskript Device Counter

Scheduled Pinned Locked Moved JavaScript
javascript
24 Posts 4 Posters 2.8k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Adnim

    japp exakt so sieht es bei mir aus, nimm mal die // vor der Zeile 11 weg und starte das skript neu, das geht nicht mehr und habe ich auskommentiert das ich die andren funktionen erstmal nutzen kann

    GlasfaserG Offline
    GlasfaserG Offline
    Glasfaser
    wrote on last edited by
    #8

    @Adnim

    Alles in Ordnung ,keine ERROR Meldung ,

    2.JPG

    Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

    1 Reply Last reply
    0
    • A Offline
      A Offline
      Adnim
      wrote on last edited by
      #9

      hmm ich starte mal neu

      A 1 Reply Last reply
      0
      • A Adnim

        hmm ich starte mal neu

        A Offline
        A Offline
        Adnim
        wrote on last edited by
        #10

        @Adnim sagte in Hilfe bei Javaskript Device Counter:

        hmm ich starte mal neu

        hilft nicht kommt immer die obige fehlermeldung

        GlasfaserG 1 Reply Last reply
        0
        • A Adnim

          @Adnim sagte in Hilfe bei Javaskript Device Counter:

          hmm ich starte mal neu

          hilft nicht kommt immer die obige fehlermeldung

          GlasfaserG Offline
          GlasfaserG Offline
          Glasfaser
          wrote on last edited by Glasfaser
          #11

          @Adnim

          Verstehe ich nicht !?

          Hast du mal alle Datenpunkte gelöscht und das Skript dann mal neugestartet , damit die Datenpunkte " neu "erzeugt werden !!

          Zeig mal einen aktuellen Log vom Fehler !
          und einen Screenshot von den Datenpunkten , der besser zu erkennen ist.

          Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

          1 Reply Last reply
          0
          • A Adnim

            Hi!
            der Cache Selektor zeile 11 "Error" funktioniert nicht mehr mit folgender Fehlermeldung. Das klappte aber immer so, jemand ne Idee was ich tun kann ?

            //Add device rules
            addDeviceCounter("lowbat",         $('channel[state.id=*LOWBAT]'),                     true);
            addDeviceCounter("lowbat",         $('channel[state.id=*lowbat]'),                      true);
            addDeviceCounter("sticky_unreach", $('channel[state.id=*.STICKY_UNREACH]'),              true);
            addDeviceCounter("unreach",        $('channel[state.id=*.UNREACH]'),                     true);
            addDeviceCounter("config_pending", $('channel[state.id=*.CONFIG_PENDING]'),              true);
            addDeviceCounter("Motion",  $('channel[state.id=*.MOTION]'),               true);
            addDeviceCounter("DutyCycle",  $('channel[state.id=*.DUTYCYCLE]'),               true);
            addDeviceCounter("Spannungsüberwachung",  $('channel[state.id=*.VOLTAGE]'),           function(state){return state<200;});
            addDeviceCounter("Auskühlschutz",  $('channel[state.id=*.ACTUAL_TEMPERATURE]'),           function(state){return state<14;});
            addDeviceCounter("ERROR",  $('channel[state.id=*.ERROR*]'),               function(state){return state>0;});
            addDeviceCounter("Heizbedarf",  $('channel[state.id=*.VALVE_STATE]'),           function(state){return state>15;});
            addDeviceCounter("Alive",         $('channel[state.id=*alive]'),                     false);
            addDeviceCounter("CONNECTED",         $('channel[state.id=*.connected]'),                     false);
            addDeviceCounter("open_shutters",  $('channel{TYPE=BLIND}[state.id=*.LEVEL]'),           function(state){return state>0;});
            addDeviceCounter("open_windows",   $('channel{TYPE=SHUTTER_CONTACT}[state.id=*.STATE]'), true);
            
            
            
            /******************************************
             * Code - do not change anything bellow this line *
             ******************************************/
            
            function addDeviceCounter(name, selector, val_to_count) {
            
                //Total amount of devices found by selector
                var state_total = 'deviceCounter.' + name + '.total';
                createState(state_total, 0);
                //List of devices that match condition
                var state_list = 'deviceCounter.' + name + '.list';
                createState(state_list, "");
                //Number of devices that match condition
                var state_counter = 'deviceCounter.' + name + '.counter';
            
                createState(state_counter, 0);
                function countDevs(obj) {
                    var d_count = 0;
                    var d_list  = [];
            
                    selector.each(function (id, i) {
                        var status = getState(id).val;
                        var obj    = getObject(id);
                        if ((typeof val_to_count === 'function' && val_to_count(status)) ||
                            (typeof val_to_count === 'boolean'  && val_to_count == status)) {
                            //Get parent object
                            var parentChannelId = id.slice(id.lastIndexOf("."));
                            var parentDevicelId = id.split(".").slice(0,-2).join(".");
                            var deviceObject = getObject(parentDevicelId);
                            //remember device name
                            d_list.push(deviceObject.common.name);
                        }                
                        ++d_count;                                                 // Zählt die Anzahl der vorhandenen Geräte unabhängig vom Status
                    }); 
            
            //if ("state_counter" > 0) {event(name + "(" + d_count + "): " + d_list);
            //}
            
                    setState(state_list,     d_list.join('<br>'));
                    setState(state_counter,  d_list.length);
                    setState(state_total,    d_count);
                }
            
                //Re-evaluate when a device status changes
                selector.on(function(obj) {    // bei Zustandänderung *. LOWBAT in allen Gewerken
                    countDevs(obj);
                });
            
                //Re-evaluate each hour
                schedule("*/60 * * * *", countDevs);
                
                //Evaluate for the first time
                countDevs();
            }
            
            javascript.0	2019-10-12 16:02:30.844	info	(13143) Stop script script.js.common.DeviceCounter
            javascript.0	2019-10-12 16:02:19.889	error	(13143) at Script.runInContext (vm.js:133:20)
            javascript.0	2019-10-12 16:02:19.889	error	(13143) at script.js.common.DeviceCounter:11:1
            javascript.0	2019-10-12 16:02:19.889	error	(13143) at addDeviceCounter (script.js.common.DeviceCounter:72:5)
            javascript.0	2019-10-12 16:02:19.889	error	(13143) at countDevs (script.js.common.DeviceCounter:40:18)
            javascript.0	2019-10-12 16:02:19.889	error	(13143) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:808:29)
            javascript.0	2019-10-12 16:02:19.889	error	(13143) at script.js.common.DeviceCounter:50:42
            javascript.0	2019-10-12 16:02:19.889	error	(13143) TypeError: Cannot read property 'common' of null
            javascript.0	2019-10-12 16:02:19.889	error	(13143) ^
            javascript.0	2019-10-12 16:02:19.889	error	(13143) d_list.push(deviceObject.common.name);
            javascript.0	2019-10-12 16:02:19.889	error	(13143) script.js.common.DeviceCounter: script.js.common.DeviceCounter:50
            javascript.0	2019-10-12 16:02:19.888	warn	(13143) Object "javascript.0.deviceCounter" does not exist
            
            paul53P Offline
            paul53P Offline
            paul53
            wrote on last edited by
            #12

            @Adnim sagte:

            $('channel[state.id=.ERROR]')

            Was liefert ?

            $('channel[state.id=*.ERROR*]').each(function(id, i) {
               log(id);
            });
            

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            1 Reply Last reply
            0
            • A Offline
              A Offline
              Adnim
              wrote on last edited by
              #13

              @paul53 sagte in Hilfe bei Javaskript Device Counter:

              @Adnim sagte:

              $('channel[state.id=.ERROR]')

              Was liefert ?

              Da bekomm ich nen error, irgendwo fehlt eine klammer?

              Screenshot_1.png

              @Glasfaser
              habe die objekte gelöscht sie werden angelegt ,dann stürzt das skript aber mit der Fehlermeldung ab, neustart hilft dann auch nicht
              Screenshot_2.png

              Screenshot_3.png

              Danke euch!

              GlasfaserG 1 Reply Last reply
              0
              • A Adnim

                @paul53 sagte in Hilfe bei Javaskript Device Counter:

                @Adnim sagte:

                $('channel[state.id=.ERROR]')

                Was liefert ?

                Da bekomm ich nen error, irgendwo fehlt eine klammer?

                Screenshot_1.png

                @Glasfaser
                habe die objekte gelöscht sie werden angelegt ,dann stürzt das skript aber mit der Fehlermeldung ab, neustart hilft dann auch nicht
                Screenshot_2.png

                Screenshot_3.png

                Danke euch!

                GlasfaserG Offline
                GlasfaserG Offline
                Glasfaser
                wrote on last edited by
                #14

                @Adnim

                … das Skript von paul53 in ein neues Skript starten !!!

                Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                A 1 Reply Last reply
                0
                • GlasfaserG Glasfaser

                  @Adnim

                  … das Skript von paul53 in ein neues Skript starten !!!

                  A Offline
                  A Offline
                  Adnim
                  wrote on last edited by
                  #15

                  @Glasfaser
                  oh ok, habe ich versucht. Da kommt nix nur Start Skript im Log

                  Screenshot_4.png

                  GlasfaserG 1 Reply Last reply
                  0
                  • A Adnim

                    @Glasfaser
                    oh ok, habe ich versucht. Da kommt nix nur Start Skript im Log

                    Screenshot_4.png

                    GlasfaserG Offline
                    GlasfaserG Offline
                    Glasfaser
                    wrote on last edited by
                    #16

                    @Adnim

                    so muss es aussehen :

                    1.JPG

                    Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                    1 Reply Last reply
                    0
                    • A Offline
                      A Offline
                      Adnim
                      wrote on last edited by
                      #17

                      sieht bei mir aber so aus

                      Screenshot_5.png

                      GlasfaserG 1 Reply Last reply
                      0
                      • A Adnim

                        sieht bei mir aber so aus

                        Screenshot_5.png

                        GlasfaserG Offline
                        GlasfaserG Offline
                        Glasfaser
                        wrote on last edited by
                        #18

                        @Adnim

                        Datenpunkte mit ERROR ,die bei mir z.B aufgelistet werden :

                        1.JPG

                        Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                        1 Reply Last reply
                        0
                        • A Offline
                          A Offline
                          Adnim
                          wrote on last edited by
                          #19

                          ja habe ich auch ne ganze menge von den Errors States ,148 laut dem Skript er zählt sie ja beim ersten start

                          aber irgendwie findet er sie nicht mit Pauls Skript, habe Neustart und den Fixer aber gleiches Ergebnis

                          GlasfaserG 1 Reply Last reply
                          0
                          • A Adnim

                            ja habe ich auch ne ganze menge von den Errors States ,148 laut dem Skript er zählt sie ja beim ersten start

                            aber irgendwie findet er sie nicht mit Pauls Skript, habe Neustart und den Fixer aber gleiches Ergebnis

                            GlasfaserG Offline
                            GlasfaserG Offline
                            Glasfaser
                            wrote on last edited by Glasfaser
                            #20

                            @Adnim

                            Gib mal anstatt " ERROR" im Skript von paul53 ,"UNREACH" ein

                            Zeig mal bitte die ausgabe von

                            iobroker list adapters
                            

                            Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                            A 1 Reply Last reply
                            1
                            • GlasfaserG Glasfaser

                              @Adnim

                              Gib mal anstatt " ERROR" im Skript von paul53 ,"UNREACH" ein

                              Zeig mal bitte die ausgabe von

                              iobroker list adapters
                              
                              A Offline
                              A Offline
                              Adnim
                              wrote on last edited by
                              #21

                              @Glasfaser sagte in Hilfe bei Javaskript Device Counter:

                              @Adnim
                              Gib mal anstatt " ERROR" im Skript von paul53 ,"UNREACH" ein
                              Zeig mal bitte die ausgabe von

                              Ok habe UNREACH , ALIVE, CONNECTED nix führt zu einer ausgabe im LOG sieht immer so aus

                              Screenshot_6.png

                              iobroker list adapters
                              Screenshot_7.png
                              Screenshot_8.png
                              Screenshot_9.png

                              Lenny.CBL 1 Reply Last reply
                              0
                              • A Adnim

                                @Glasfaser sagte in Hilfe bei Javaskript Device Counter:

                                @Adnim
                                Gib mal anstatt " ERROR" im Skript von paul53 ,"UNREACH" ein
                                Zeig mal bitte die ausgabe von

                                Ok habe UNREACH , ALIVE, CONNECTED nix führt zu einer ausgabe im LOG sieht immer so aus

                                Screenshot_6.png

                                iobroker list adapters
                                Screenshot_7.png
                                Screenshot_8.png
                                Screenshot_9.png

                                Lenny.CBL Offline
                                Lenny.CBL Offline
                                Lenny.CB
                                Most Active
                                wrote on last edited by
                                #22

                                @Adnim du hast javascript 4.3.0, da klappts ja momentan nicht so mit den Logeinträgen.
                                Funktionieren soll (ungetestet)
                                log(id, 'info');
                                oder
                                Console.log(id);

                                Vielleicht läuft der Selector-codeschnipsel von paul, nur zeigt er nichts wegen des Logfehlers.

                                A 1 Reply Last reply
                                1
                                • Lenny.CBL Lenny.CB

                                  @Adnim du hast javascript 4.3.0, da klappts ja momentan nicht so mit den Logeinträgen.
                                  Funktionieren soll (ungetestet)
                                  log(id, 'info');
                                  oder
                                  Console.log(id);

                                  Vielleicht läuft der Selector-codeschnipsel von paul, nur zeigt er nichts wegen des Logfehlers.

                                  A Offline
                                  A Offline
                                  Adnim
                                  wrote on last edited by Adnim
                                  #23

                                  @Lenny-CB sagte in Hilfe bei Javaskript Device Counter:

                                  log(id, 'info');

                                  das funzt korrekt, Danke dir Lenny

                                  läuft deswegen auch das Haupt Skript nicht richtig?bzw das sind zwei Probleme glaube ich?

                                  Lenny.CBL 1 Reply Last reply
                                  0
                                  • A Adnim

                                    @Lenny-CB sagte in Hilfe bei Javaskript Device Counter:

                                    log(id, 'info');

                                    das funzt korrekt, Danke dir Lenny

                                    läuft deswegen auch das Haupt Skript nicht richtig?bzw das sind zwei Probleme glaube ich?

                                    Lenny.CBL Offline
                                    Lenny.CBL Offline
                                    Lenny.CB
                                    Most Active
                                    wrote on last edited by
                                    #24

                                    @Adnim, ich denke das wird noch eine andere Baustelle sein.

                                    1 Reply Last reply
                                    0
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes


                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    584

                                    Online

                                    32.6k

                                    Users

                                    82.2k

                                    Topics

                                    1.3m

                                    Posts
                                    Community
                                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                    ioBroker Community 2014-2025
                                    logo
                                    • Login

                                    • Don't have an account? Register

                                    • Login or register to search.
                                    • First post
                                      Last post
                                    0
                                    • Home
                                    • Recent
                                    • Tags
                                    • Unread 0
                                    • Categories
                                    • Unreplied
                                    • Popular
                                    • GitHub
                                    • Docu
                                    • Hilfe