Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. baluderbär

    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

    B
    • Profile
    • Following 1
    • Followers 0
    • Topics 26
    • Posts 125
    • Best 1
    • Groups 2

    baluderbär

    @baluderbär

    1
    Reputation
    38
    Profile views
    125
    Posts
    0
    Followers
    1
    Following
    Joined Last Online
    Location Baden-Württemberg Age 24

    baluderbär Follow
    Pro Starter

    Best posts made by baluderbär

    • RE: Zeit der letzten Änderung auslesen

      Hallo an alle,

      das Widget Last Change war genau das richtige.

      Danke an alle.

      Gruß Martin

      posted in ioBroker Allgemein
      B
      baluderbär

    Latest posts made by baluderbär

    • RE: wLED-Abfrage

      @paul53 ```
      javascript.0 (476) script.js.common.Servicemeldungen_Lichter_zählen: { '0': 'wled.0.40f5203efbxx.on', '1': 'wled.0.483fda4caaxx.on', '2': 'wled.0.500291da9fxx.on', '3': 'wled.0.98f4abbee4xx.on', '4': 'wled.0.c82b96207bxx.on', '5': 'wled.0.cc50e325d1xx.on', '6': 'wled.0.d8bfc0c030xx.on', '7': 'wled.0.e098069246xx.on', '8': 'wled.0.e868e789e9xx.on', '9': 'wled.0.f4cfa25d63xx.on', '10': 'wled.0.f4cfa266edxx.on', '11': 'wled.0.f4cfa26c0axx.on', '12': 'wled.0.f4cfa2da2cxx.on', '13': 'wled.0.fcf5c4a304xx.on', length: 14, each: [Function (anonymous)], getState: [Function (anonymous)], getStateAsync: [AsyncFunction (anonymous)], getBinaryState: [Function (anonymous)], getBinaryStateAsync: [Function (anonymous)], setState: [Function (anonymous)], setStateAsync: [AsyncFunction (anonymous)], setStateDelayed: [Function (anonymous)], setBinaryState: [Function (anonymous)], setBinaryStateAsync: [AsyncFunction (anonymous)], on: [Function (anonymous)], [Symbol(Symbol.iterator)]: [GeneratorFunction (anonymous)] }

      20:21:59.474 info javascript.0 (476) script.js.common.Servicemeldungen_Lichter_zählen: Text: EZ Lava,WZ Pineapple
      20:21:59.474 info javascript.0 (476) script.js.common.Servicemeldungen_Lichter_zählen: Anzahl Lichter: 31 # davon Lichter an: 2

      posted in JavaScript
      B
      baluderbär
    • RE: wLED-Abfrage

      @paul53
      Ja wLED_2.jpg

      posted in JavaScript
      B
      baluderbär
    • wLED-Abfrage

      Hallo zusammen,
      aktuell lasse ich ein Skript laufen, um mir alle eingeschalteten Lichter (Homematic, Lichter über Shelly, Hue ...) mit Namen anzeigen zu lassen.

      var cacheSelectorwled = $('state[id=*.on](functions=Licht)[role=switch]');
      

      Bei wLED wird in den Objekten bei "on" die role=switch.light ausgegeben. Dadurch funktioniert der Teil des Skripts nicht.

      wLED.jpg

      Ich kann natürlich bei role es von switch.light auf switch händisch umstellen, was allerdings umständlich ist, wenn es sich nach einem Reset wieder zurückstellt.
      Was muss ich im Code ändern, um es auf switch.light eingestellt lassen zu können?

      Der Versuch mit

      var cacheSelectorwled = $('state[id=*.on](functions=Licht)[role=switch.light]');
      

      klappte nicht.

      Sollten Infos fehlen bitte kurz melden.

      Schon mal tausend Dank und ein schönes Wochenende
      Lenus

      posted in JavaScript
      B
      baluderbär
    • RE: [gelöst]Befehle zusammenfassen möglich?

      @paul53
      Vielen Dank. Ich habe das vorletzte Skript nun am laufen und werde schauen ob alles funktioniert.
      Echt klasse wie du immer wieder hilfst 👍

      posted in JavaScript
      B
      baluderbär
    • RE: [gelöst]Befehle zusammenfassen möglich?

      @paul53 Hatte deine Änderung nicht gesehen.
      Mit deinem letzten Stand des Skriptes bekomme ich dies hier:

      14:43:41.400	info	javascript.0 (744) Stop script script.js.common.DeviceCounter_Kopie
      14:43:41.489	info	javascript.0 (744) Start javascript script.js.common.DeviceCounter_Kopie
      14:43:41.497	info	javascript.0 (744) script.js.common.DeviceCounter_Kopie: registered 325 subscriptions and 1 schedule
      14:43:41.497	error	javascript.0 (744) script.js.common.DeviceCounter_Kopie: TypeError: selector.each is not a function
      14:43:41.497	error	javascript.0 (744) at countDevs (script.js.common.DeviceCounter_Kopie:43:22)
      14:43:41.497	error	javascript.0 (744) at addDeviceCounter (script.js.common.DeviceCounter_Kopie:68:9)
      14:43:41.498	error	javascript.0 (744) at script.js.common.DeviceCounter_Kopie:14:1
      14:43:41.498	error	javascript.0 (744) at script.js.common.DeviceCounter_Kopie:71:3
      
      posted in JavaScript
      B
      baluderbär
    • RE: [gelöst]Befehle zusammenfassen möglich?

      @paul53
      ich sage doch, ich hab keine Ahnung vom Programmieren 🤦

      Hier das Skript:

       //Add device rules
          
      const ids = [];
      $('hm-rpc.*.0.LOWBAT').each(function(id, i) {ids.push(id);});
      $('deconz.*.battery').each(function(id, i) {ids.push(id);});
      $('hm-rpc.*.0.STICKY_UNREACH').each(function(id, i) {ids.push(id);});
      $('hm-rpc.*.0.UNREACH').each(function(id, i) {ids.push(id);});
      $('hm-rpc.*.0.CONFIG_PENDING').each(function(id, i) {ids.push(id);});
       
      const idsService = {};
      for(let i =0; i < ids.length; i++) {
          idsService[i] = ids[i];
      }
      idsService.length = ids.length;
       
      addDeviceCounter('Servicemeldungen', idsService, true); // Ersatz für Zeilen 2 - 6
      
          
          /******************************************
           * 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
                  }); 
          
                  log(name + "(" + d_count + "): " + d_list);
          
                  setState(state_list,     d_list.join(''));
                  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 5 Minutes
              schedule("*/5 * * * *", countDevs);
          
              //Evaluate for the first time
              countDevs();
          }
      

      ... und nun folgender Fehler:

      14:11:40.090	info	javascript.0 (744) Stop script script.js.common.DeviceCounter_Kopie
      14:11:40.177	info	javascript.0 (744) Start javascript script.js.common.DeviceCounter_Kopie
      14:11:40.182	info	javascript.0 (744) script.js.common.DeviceCounter_Kopie: registered 0 subscriptions and 0 schedules
      14:11:40.182	error	javascript.0 (744) script.js.common.DeviceCounter_Kopie: TypeError: selector.on is not a function
      14:11:40.182	error	javascript.0 (744) at addDeviceCounter (script.js.common.DeviceCounter_Kopie:62:18)
      14:11:40.183	error	javascript.0 (744) at script.js.common.DeviceCounter_Kopie:16:1
      14:11:40.183	error	javascript.0 (744) at script.js.common.DeviceCounter_Kopie:72:3
      
      posted in JavaScript
      B
      baluderbär
    • RE: [gelöst]Befehle zusammenfassen möglich?

      @paul53
      Bekomme folgende Fehlermeldung beim Ausführen:

      14:02:40.741	info	javascript.0 (744) Stop script script.js.common.Test
      14:02:40.829	info	javascript.0 (744) Start javascript script.js.common.Test
      14:02:40.834	info	javascript.0 (744) script.js.common.Test: registered 0 subscriptions and 0 schedules
      14:02:40.835	error	javascript.0 (744) script.js.common.Test: ReferenceError: addDeviceCounter is not defined
      14:02:40.835	error	javascript.0 (744) at script.js.common.Test:14:1
      14:02:40.835	error	javascript.0 (744) at script.js.common.Test:16:3
      
      posted in JavaScript
      B
      baluderbär
    • RE: [gelöst]Befehle zusammenfassen möglich?

      @paul53 Servus Paul, erst einmal danke. Aber ich glaube ich hänge mal besser das ganze Skript an, weil ich nicht weiß wie ich deinen Code in den alten implementieren soll. So fit bin ich leider nicht.

      //Add device rules
          addDeviceCounter("lowbat",         $('channel[state.id=*0.LOWBAT]'),                     true);
          addDeviceCounter("battery_deconz", $('channel[state.id=*.battery]'),                     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("open_windows",   $('channel{TYPE=SHUTTER_CONTACT}[state.id=*.STATE]'), true);
          //addDeviceCounter("on_lights",      $('channel{TYPE=DIMMER}[state.id=*.LEVEL]'),          function(state){return state>0;});
          //addDeviceCounter("open_shutters",  $('channel{TYPE=BLIND}[state.id=*.LEVEL]'),           function(state){return state>0;});
          //addDeviceCounter("playing_music",  $('channel[state.id=*audio-*.playing]'),              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
                  }); 
          
                  log(name + "(" + d_count + "): " + d_list);
          
                  setState(state_list,     d_list.join(''));
                  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 5 Minutes
              schedule("*/5 * * * *", countDevs);
          
              //Evaluate for the first time
              countDevs();
          }
      
      posted in JavaScript
      B
      baluderbär
    • [gelöst]Befehle zusammenfassen möglich?

      Hallo zusammen,
      eine kurze Frage. Ich benutze ein Skript zur Abfrage der Batteriestatus der Komponenten von HM und Osram (zigbee).

          //Add device rules
          addDeviceCounter("lowbat",         $('channel[state.id=*0.LOWBAT]'),                     true);
          addDeviceCounter("battery_deconz", $('channel[state.id=*.battery]'),                     true);
      

      Ist es möglich die Zeilen 2+3 zusammenzufassen, so dass alle z.B. unter einem DP angezeigt werden? Momentan sehen die DP so aus.
      Unbenannt.PNG

      Liebe Grüße und einen schönen 2. Weihnachtsfeiertag
      Martin

      posted in JavaScript
      B
      baluderbär
    • RE: [gelöst]Licht anlassen, wenn Bewegung erkannt wird

      @paul53 Funktioniert super. Vielen Dank

      posted in Skripten / Logik
      B
      baluderbär
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo