Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Hilfe bei Javaskript Device Counter

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Hilfe bei Javaskript Device Counter

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      Adnim last edited by 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
      
      Glasfaser paul53 2 Replies Last reply Reply Quote 0
      • Glasfaser
        Glasfaser @Adnim last edited by

        @Adnim

        Datenpunkt nicht vorhanden !

        1.JPG

        A 1 Reply Last reply Reply Quote 0
        • A
          Adnim @Glasfaser last edited by

          @Glasfaser sagte in Hilfe bei Javaskript Device Counter:

          @Adnim

          Datenpunkt nicht vorhanden !

          den legt das skript aber doch eigentlich an!?

          Glasfaser 1 Reply Last reply Reply Quote 0
          • Glasfaser
            Glasfaser @Adnim last edited by

            @Adnim

            und … ist er vorhanden !?

            A 1 Reply Last reply Reply Quote 0
            • A
              Adnim @Glasfaser last edited by

              @Glasfaser sagte in Hilfe bei Javaskript Device Counter:

              @Adnim

              und … ist er vorhanden !?

              sind alle da, der errors teil wird aber seit ein paar tagen nicht aktualisiert und wirft halt die Fehlermeldung

              1.JPG

              Glasfaser 1 Reply Last reply Reply Quote 0
              • Glasfaser
                Glasfaser @Adnim last edited by

                @Adnim

                Dein Bild ist zu klein , kann nichts erkennen .

                So sieht es bei mir aus
                1.JPG

                1 Reply Last reply Reply Quote 0
                • A
                  Adnim last edited by

                  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

                  Glasfaser 1 Reply Last reply Reply Quote 0
                  • Glasfaser
                    Glasfaser @Adnim last edited by

                    @Adnim

                    Alles in Ordnung ,keine ERROR Meldung ,

                    2.JPG

                    1 Reply Last reply Reply Quote 0
                    • A
                      Adnim last edited by

                      hmm ich starte mal neu

                      A 1 Reply Last reply Reply Quote 0
                      • A
                        Adnim @Adnim last edited by

                        @Adnim sagte in Hilfe bei Javaskript Device Counter:

                        hmm ich starte mal neu

                        hilft nicht kommt immer die obige fehlermeldung

                        Glasfaser 1 Reply Last reply Reply Quote 0
                        • Glasfaser
                          Glasfaser @Adnim last edited by Glasfaser

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

                          1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @Adnim last edited by

                            @Adnim sagte:

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

                            Was liefert ?

                            $('channel[state.id=*.ERROR*]').each(function(id, i) {
                               log(id);
                            });
                            
                            1 Reply Last reply Reply Quote 0
                            • A
                              Adnim last edited by

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

                              Glasfaser 1 Reply Last reply Reply Quote 0
                              • Glasfaser
                                Glasfaser @Adnim last edited by

                                @Adnim

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

                                A 1 Reply Last reply Reply Quote 0
                                • A
                                  Adnim @Glasfaser last edited by

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

                                  Screenshot_4.png

                                  Glasfaser 1 Reply Last reply Reply Quote 0
                                  • Glasfaser
                                    Glasfaser @Adnim last edited by

                                    @Adnim

                                    so muss es aussehen :

                                    1.JPG

                                    1 Reply Last reply Reply Quote 0
                                    • A
                                      Adnim last edited by

                                      sieht bei mir aber so aus

                                      Screenshot_5.png

                                      Glasfaser 1 Reply Last reply Reply Quote 0
                                      • Glasfaser
                                        Glasfaser @Adnim last edited by

                                        @Adnim

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

                                        1.JPG

                                        1 Reply Last reply Reply Quote 0
                                        • A
                                          Adnim last edited by

                                          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

                                          Glasfaser 1 Reply Last reply Reply Quote 0
                                          • Glasfaser
                                            Glasfaser @Adnim last edited by Glasfaser

                                            @Adnim

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

                                            Zeig mal bitte die ausgabe von

                                            iobroker list adapters
                                            
                                            A 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            404
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript
                                            4
                                            24
                                            1788
                                            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