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. Hue Szenen nicht mehr verfügbar (iConnectHue)

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Hue Szenen nicht mehr verfügbar (iConnectHue)

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
18 Beiträge 3 Kommentatoren 1.6k Aufrufe 3 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.
  • A Offline
    A Offline
    aleks-83
    schrieb am zuletzt editiert von aleks-83
    #1

    Hi,

    ich habe bisher immer meine Szenen die ich mit iConnectHue erstellt habe, per ioBroker gestartet.
    Diese Szenen wurden immer per Skript von der Bridge geladen und als Datenpunkte abgelegt.
    Seit heute findet ioBroker aber die Szenen nicht mehr.
    Auch nicht die Standard Szenen von philips.
    Den Hue Bridge user habe ich schon neu angelegt und auch die Adapter neu gestartet.

    Hat noch jemand das Problem?
    Oder liegts an mir?

    Hier das Skript:

    var HueApi = require("node-hue-api").HueApi;
    
    // Replace IP and username!!!
    var host = "10.0.0.49",
        username = "Xa09ZVl.................YPfcZAOUr2Q",
        api = new HueApi(host, username);
        
    var groups_ = [],
        lights_ = [],
        objects_ = [];
    
    // Log JSON results
    var displayResults = function(result) {
        console.log('Reponse: '+JSON.stringify(result, null, 2));
    };
    
    // Parse Light Group 0 (All Lights)
    var parseGroup0 = function(result) {
        if (!result.lights){return} // Empty group
        
        var id = result.id,
            lights = result.lights,
            name = "All Lights";
        console.debug('group: '+name+', lights: '+lights);
        groups_[lights] = name;
    };
    
    // Parse Light Groups
    var parseGroups = function(result) {
        for (var i = 0; i < result.length; i++) {
            if (!result[i].lights){continue} // Empty group
            
            var id = result[i].id,
                lights = result[i].lights,
                name = result[i].name;
            console.debug('group: '+name+', lights: '+lights);
            groups_[lights] = name;
        }
    };
    
    // Parse Lights
    var parseLights = function(result) {
        for (var i = 0; i < result.length; i++) {
            var id = result[i].id,
                name = result[i].name;
            console.debug('light: '+name+', id: '+id);
            lights_[id] = name;
        } 
    };
    
    // Create States in ioBroker
    var createStates = function(result) {
        // Resync button
        createState('PhilipsHue.Scenes.Resync', false, {role: "button", name: 'Resync Philips Hue Groups, Lights and Scenes'});
    
        for (var i = 0; i < result.length; i++) {
            if (!result[i].appdata.data){continue} // skip internal szenes
    
            var id = result[i].id,
                lights = result[i].lights,
                name = result[i].name.replace(/"/g,''),
                pathname = name.replace(/ /g,'_');
            
            // Get light names
            var light_names = [];
            for (var j = 0; j < lights.length; j++) {
                var light_name = lights_[lights[j]];
                light_names.push(light_name);
            }
    
            // Room, group or lights linked with scene
            var group = 'Group: '+groups_[lights] || 'Lights: '+light_names.join(", ");
            
            // Create States and skip duplicates
            if (!objects_[lights+pathname]){
                console.debug('scene: '+name+', '+group);
                createState('PhilipsHue.Scenes.'+pathname+'.'+id, false, {role: "button", name: 'Scene: '+name+' ('+group+')'});
                objects_[lights+pathname] = true;
            }
        }
    };
    
    // Delete States
    function deleteStates(){
        console.log('Deleting current objects for scenes...');
        objects_ = [];
        $('javascript.0.PhilipsHue.Scenes.*').each(function (id) {
            deleteState(id);
        });
    }
    
    // Fetch data from Hue API
    function init(){
        api.getGroup(0, function(err, group0) {
            if (err) throw err;
            console.log('Processing group 0...');
            //displayResults(group0);
            parseGroup0(group0);
        });
        api.groups(function(err, groups) {
            if (err) throw err;
            console.log('Processing ' + groups.length + ' groups...');
            //displayResults(groups);
            parseGroups(groups);
        });
    
        api.lights(function(err, lights) {
            if (err) throw err;
            console.log('Processing ' + lights.lights.length + ' lights...');
            //displayResults(lights);
            parseLights(lights.lights);
        });
    
        api.scenes(function(err, scenes) {
            if (err) throw err;
            console.log('Processing ' + scenes.length + ' scenes...');
            //displayResults(scenes);
            createStates(scenes);
        });
    }
    
    // Init on start
    init();
    
    // Activate scene
    on({id: /^javascript\.0\.PhilipsHue.Scenes\./, val: true}, function (obj) {
        if (obj.id == 'javascript.0.PhilipsHue.Scenes.Resync'){return}
        sceneId = obj.id.split('.').pop();
        console.log('Activating '+obj.name);
        api.activateScene(sceneId, function(err, result) {
            if (err) throw err;
            displayResults(result);
        });
        setState(obj.id, false);
    });
    
    // Resync
    on({id: 'javascript.0.PhilipsHue.Scenes.Resync', val: true}, function (obj) {
        console.warn('### Hue resync getriggered...');
        groups_ = [];
        lights_ = [];
        deleteStates();
        init();
    });
    
    schedule("0 5-23 * * *", function () {
        console.warn('### Hue Resync CRONtab gestartet');
        groups_ = [];
        lights_ = [];
        deleteStates();
        init();
    });
    

    Wenn das Skript startet werden nur folgende Zeilen ins Log geschrieben:

    23:18:44.638	info	javascript.0 Start javascript script.js.Hue.HueSzenenSync
    23:18:44.638	info	javascript.0 script.js.Hue.HueSzenenSync: registered 2 subscriptions and 1 schedule
    23:18:45.278	info	javascript.0 script.js.Hue.HueSzenenSync: Processing group 0...
    23:18:45.291	info	javascript.0 script.js.Hue.HueSzenenSync: Processing 17 groups...
    

    Er findet zwar 17 Gruppen, aber keine Szenen oder einzelnen Lights.
    Es werden auch keine Datenpunkte unter javascript.0.PhilipsHue.... angelegt.

    = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
    = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

    Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
    Glasfaser 400

    A 1 Antwort Letzte Antwort
    0
    • A aleks-83

      Hi,

      ich habe bisher immer meine Szenen die ich mit iConnectHue erstellt habe, per ioBroker gestartet.
      Diese Szenen wurden immer per Skript von der Bridge geladen und als Datenpunkte abgelegt.
      Seit heute findet ioBroker aber die Szenen nicht mehr.
      Auch nicht die Standard Szenen von philips.
      Den Hue Bridge user habe ich schon neu angelegt und auch die Adapter neu gestartet.

      Hat noch jemand das Problem?
      Oder liegts an mir?

      Hier das Skript:

      var HueApi = require("node-hue-api").HueApi;
      
      // Replace IP and username!!!
      var host = "10.0.0.49",
          username = "Xa09ZVl.................YPfcZAOUr2Q",
          api = new HueApi(host, username);
          
      var groups_ = [],
          lights_ = [],
          objects_ = [];
      
      // Log JSON results
      var displayResults = function(result) {
          console.log('Reponse: '+JSON.stringify(result, null, 2));
      };
      
      // Parse Light Group 0 (All Lights)
      var parseGroup0 = function(result) {
          if (!result.lights){return} // Empty group
          
          var id = result.id,
              lights = result.lights,
              name = "All Lights";
          console.debug('group: '+name+', lights: '+lights);
          groups_[lights] = name;
      };
      
      // Parse Light Groups
      var parseGroups = function(result) {
          for (var i = 0; i < result.length; i++) {
              if (!result[i].lights){continue} // Empty group
              
              var id = result[i].id,
                  lights = result[i].lights,
                  name = result[i].name;
              console.debug('group: '+name+', lights: '+lights);
              groups_[lights] = name;
          }
      };
      
      // Parse Lights
      var parseLights = function(result) {
          for (var i = 0; i < result.length; i++) {
              var id = result[i].id,
                  name = result[i].name;
              console.debug('light: '+name+', id: '+id);
              lights_[id] = name;
          } 
      };
      
      // Create States in ioBroker
      var createStates = function(result) {
          // Resync button
          createState('PhilipsHue.Scenes.Resync', false, {role: "button", name: 'Resync Philips Hue Groups, Lights and Scenes'});
      
          for (var i = 0; i < result.length; i++) {
              if (!result[i].appdata.data){continue} // skip internal szenes
      
              var id = result[i].id,
                  lights = result[i].lights,
                  name = result[i].name.replace(/"/g,''),
                  pathname = name.replace(/ /g,'_');
              
              // Get light names
              var light_names = [];
              for (var j = 0; j < lights.length; j++) {
                  var light_name = lights_[lights[j]];
                  light_names.push(light_name);
              }
      
              // Room, group or lights linked with scene
              var group = 'Group: '+groups_[lights] || 'Lights: '+light_names.join(", ");
              
              // Create States and skip duplicates
              if (!objects_[lights+pathname]){
                  console.debug('scene: '+name+', '+group);
                  createState('PhilipsHue.Scenes.'+pathname+'.'+id, false, {role: "button", name: 'Scene: '+name+' ('+group+')'});
                  objects_[lights+pathname] = true;
              }
          }
      };
      
      // Delete States
      function deleteStates(){
          console.log('Deleting current objects for scenes...');
          objects_ = [];
          $('javascript.0.PhilipsHue.Scenes.*').each(function (id) {
              deleteState(id);
          });
      }
      
      // Fetch data from Hue API
      function init(){
          api.getGroup(0, function(err, group0) {
              if (err) throw err;
              console.log('Processing group 0...');
              //displayResults(group0);
              parseGroup0(group0);
          });
          api.groups(function(err, groups) {
              if (err) throw err;
              console.log('Processing ' + groups.length + ' groups...');
              //displayResults(groups);
              parseGroups(groups);
          });
      
          api.lights(function(err, lights) {
              if (err) throw err;
              console.log('Processing ' + lights.lights.length + ' lights...');
              //displayResults(lights);
              parseLights(lights.lights);
          });
      
          api.scenes(function(err, scenes) {
              if (err) throw err;
              console.log('Processing ' + scenes.length + ' scenes...');
              //displayResults(scenes);
              createStates(scenes);
          });
      }
      
      // Init on start
      init();
      
      // Activate scene
      on({id: /^javascript\.0\.PhilipsHue.Scenes\./, val: true}, function (obj) {
          if (obj.id == 'javascript.0.PhilipsHue.Scenes.Resync'){return}
          sceneId = obj.id.split('.').pop();
          console.log('Activating '+obj.name);
          api.activateScene(sceneId, function(err, result) {
              if (err) throw err;
              displayResults(result);
          });
          setState(obj.id, false);
      });
      
      // Resync
      on({id: 'javascript.0.PhilipsHue.Scenes.Resync', val: true}, function (obj) {
          console.warn('### Hue resync getriggered...');
          groups_ = [];
          lights_ = [];
          deleteStates();
          init();
      });
      
      schedule("0 5-23 * * *", function () {
          console.warn('### Hue Resync CRONtab gestartet');
          groups_ = [];
          lights_ = [];
          deleteStates();
          init();
      });
      

      Wenn das Skript startet werden nur folgende Zeilen ins Log geschrieben:

      23:18:44.638	info	javascript.0 Start javascript script.js.Hue.HueSzenenSync
      23:18:44.638	info	javascript.0 script.js.Hue.HueSzenenSync: registered 2 subscriptions and 1 schedule
      23:18:45.278	info	javascript.0 script.js.Hue.HueSzenenSync: Processing group 0...
      23:18:45.291	info	javascript.0 script.js.Hue.HueSzenenSync: Processing 17 groups...
      

      Er findet zwar 17 Gruppen, aber keine Szenen oder einzelnen Lights.
      Es werden auch keine Datenpunkte unter javascript.0.PhilipsHue.... angelegt.

      A Offline
      A Offline
      aleks-83
      schrieb am zuletzt editiert von
      #2

      Irgendwie hat sich das Problem über Nacht erledigt. :thinking_face:
      Findet wieder alles.

      Im Log ist nichts auffälliges

      = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
      = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

      Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
      Glasfaser 400

      ZefauZ 1 Antwort Letzte Antwort
      0
      • A aleks-83

        Irgendwie hat sich das Problem über Nacht erledigt. :thinking_face:
        Findet wieder alles.

        Im Log ist nichts auffälliges

        ZefauZ Offline
        ZefauZ Offline
        Zefau
        schrieb am zuletzt editiert von
        #3

        @aleks-83 Du nutzt das Skript, um Szenen aus der Hue Bridge zu laden und zu triggern? Darf ich dich auf den hue-extended Adapter hinweisen? Habe dort auch die Szenen implementiert, vielleicht ist der Adapter ja interessant für dich.

        Meine Adapter: https://zefau.github.io/iobroker/

        A 1 Antwort Letzte Antwort
        1
        • ZefauZ Zefau

          @aleks-83 Du nutzt das Skript, um Szenen aus der Hue Bridge zu laden und zu triggern? Darf ich dich auf den hue-extended Adapter hinweisen? Habe dort auch die Szenen implementiert, vielleicht ist der Adapter ja interessant für dich.

          A Offline
          A Offline
          aleks-83
          schrieb am zuletzt editiert von
          #4

          @Zefau
          Werde ich mir mal ansehen. Danke

          = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
          = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

          Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
          Glasfaser 400

          1 Antwort Letzte Antwort
          0
          • J Offline
            J Offline
            JoergK
            schrieb am zuletzt editiert von
            #5

            Moin,
            ich habe auch seit ein paar Tagen Probleme mit der Kommunikation mit der Hue.
            Welche Schnittstelle nutzt du?
            Ich habe zwar auch den normalen Hue-Adapter, dieser bietet mir aber durch das Pollen des Hue Gateways keine schnelle Reaktionszeiten. Das Auslesen des Dimmers war nicht akzeptabel.
            In einem Forum hatte ich "node-hue-api" gefunden. Dieses nutze ich um in Skripten direkt auf die Hue zuzugreifen. Hier hatte mich die schnelle Reaktionszeit der API überzeugt. Die Kommunikation wird wahrscheinlich nicht per pollen gelöst.
            Nur leider läuft die Schnittstelle jetzt nicht mehr.
            Hierzu hatte ich einen extra Post geöffnet.
            Post

            Ist das Problem bei dir ähnlich?

            Gruß
            Jörg

            J A 2 Antworten Letzte Antwort
            0
            • J JoergK

              Moin,
              ich habe auch seit ein paar Tagen Probleme mit der Kommunikation mit der Hue.
              Welche Schnittstelle nutzt du?
              Ich habe zwar auch den normalen Hue-Adapter, dieser bietet mir aber durch das Pollen des Hue Gateways keine schnelle Reaktionszeiten. Das Auslesen des Dimmers war nicht akzeptabel.
              In einem Forum hatte ich "node-hue-api" gefunden. Dieses nutze ich um in Skripten direkt auf die Hue zuzugreifen. Hier hatte mich die schnelle Reaktionszeit der API überzeugt. Die Kommunikation wird wahrscheinlich nicht per pollen gelöst.
              Nur leider läuft die Schnittstelle jetzt nicht mehr.
              Hierzu hatte ich einen extra Post geöffnet.
              Post

              Ist das Problem bei dir ähnlich?

              Gruß
              Jörg

              J Offline
              J Offline
              JoergK
              schrieb am zuletzt editiert von
              #6

              @JoergK
              Habe gerade in deinem Skript gesehen, das du auch die API nutzt.
              Hast was gemacht, damit es wieder läuft?
              ??

              1 Antwort Letzte Antwort
              0
              • J JoergK

                Moin,
                ich habe auch seit ein paar Tagen Probleme mit der Kommunikation mit der Hue.
                Welche Schnittstelle nutzt du?
                Ich habe zwar auch den normalen Hue-Adapter, dieser bietet mir aber durch das Pollen des Hue Gateways keine schnelle Reaktionszeiten. Das Auslesen des Dimmers war nicht akzeptabel.
                In einem Forum hatte ich "node-hue-api" gefunden. Dieses nutze ich um in Skripten direkt auf die Hue zuzugreifen. Hier hatte mich die schnelle Reaktionszeit der API überzeugt. Die Kommunikation wird wahrscheinlich nicht per pollen gelöst.
                Nur leider läuft die Schnittstelle jetzt nicht mehr.
                Hierzu hatte ich einen extra Post geöffnet.
                Post

                Ist das Problem bei dir ähnlich?

                Gruß
                Jörg

                A Offline
                A Offline
                aleks-83
                schrieb am zuletzt editiert von aleks-83
                #7

                @JoergK
                Ich habe das Problem jetzt doch wieder. Trotz installierter Node-hue-api.

                @Zefau
                Ich habe deinen hue extended Adapter installiert.
                Sieht sehr vielversprechend aus.
                Meine Lampen, Gruppen und Szenen werden alle synchronisiert.
                Viele Szenen tauchen zwar mehrfach auf (dann mit anderem kryptischen Buchstaben Anhang der offenbar auch die Gruppen Nr enthält), aber sie sind vollständig.
                Allerdings kann ich die Szenen nicht triggern.
                Im log steht dann

                LightScene currently not supported!
                

                = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

                Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                Glasfaser 400

                ZefauZ 1 Antwort Letzte Antwort
                0
                • J Offline
                  J Offline
                  JoergK
                  schrieb am zuletzt editiert von
                  #8

                  Hi,
                  so wie ich es sehe gibt es bei der HUE-API gleich zwei Probleme.

                  1. Phillips hat was an der FW der Bridge geändert. Deswegen war ein Update der API notwendig.
                  2. Der Entwickler der "node-hue-api" hat gerade beim letzten Versionssprung die API signifikant geändert, sodass die alten Skripte bei mir nicht mehr laufen.

                  Hier im Forum hatte ich folgendes Skript gefunden und es lief immer sehr gut.
                  https://forum.iobroker.net/topic/5773/skript-philips-hue-dynamische-szenen-update/15

                  var HueApi = require("node-hue-api").HueApi;
                  
                  // Replace IP and username!!!
                  var host = "192.168.11.11",
                      username = "BLABLABLABLABLABLABLA",
                      api = new HueApi(host, username);
                      
                  var groups_ = [],
                      lights_ = [],
                      objects_ = [];
                  
                  // Log JSON results
                  var displayResults = function(result) {
                      console.log('Reponse: '+JSON.stringify(result, null, 2));
                  };
                  
                  // Parse Light Group 0 (All Lights)
                  var parseGroup0 = function(result) {
                      if (!result.lights){return} // Empty group
                      
                      var id = result.id,
                          lights = result.lights,
                          name = "All Lights";
                      console.debug('group: '+name+', lights: '+lights);
                      groups_[lights] = name;
                  };
                  
                  // Parse Light Groups
                  var parseGroups = function(result) {
                      for (var i = 0; i < result.length; i++) {
                          if (!result[i].lights){continue} // Empty group
                          
                          var id = result[i].id,
                              lights = result[i].lights,
                              name = result[i].name;
                          console.debug('group: '+name+', lights: '+lights);
                          groups_[lights] = name;
                      }
                  };
                  
                  // Parse Lights
                  var parseLights = function(result) {
                      for (var i = 0; i < result.length; i++) {
                          var id = result[i].id,
                              name = result[i].name;
                          console.debug('light: '+name+', id: '+id);
                          lights_[id] = name;
                      } 
                  };
                  
                  // Create States in ioBroker
                  var createStates = function(result) {
                      // Resync button
                      createState('PhilipsHue.Scenes.Resync', false, {role: "button", name: 'Resync Philips Hue Groups, Lights and Scenes'});
                  
                      for (var i = 0; i < result.length; i++) {
                          if (!result[i].appdata.data){continue} // skip internal szenes
                  
                          var id = result[i].id,
                              lights = result[i].lights,
                              name = result[i].name.replace(/"/g,''),
                              pathname = name.replace(/ /g,'_');
                          
                          // Get light names
                          var light_names = [];
                          for (var j = 0; j < lights.length; j++) {
                              var light_name = lights_[lights[j]];
                              light_names.push(light_name);
                          }
                  
                          // Room, group or lights linked with scene
                          var group = 'Group: '+groups_[lights] || 'Lights: '+light_names.join(", ");
                          
                          // Create States and skip duplicates
                          if (!objects_[lights+pathname]){
                              console.debug('scene: '+name+', '+group);
                              createState('PhilipsHue.Scenes.'+pathname+'.'+id, false, {role: "button", name: 'Scene: '+name+' ('+group+')'});
                              objects_[lights+pathname] = true;
                          }
                      }
                  };
                  
                  // Delete States
                  function deleteStates(){
                      console.log('Deleting current objects for scenes...');
                      objects_ = [];
                      $('javascript.0.PhilipsHue.Scenes.*').each(function (id) {
                          deleteState(id);
                      });
                  }
                  
                  // Fetch data from Hue API
                  function init(){
                      api.getGroup(0, function(err, group0) {
                          if (err) throw err;
                          console.log('Processing group 0...');
                          //displayResults(group0);
                          parseGroup0(group0);
                      });
                      api.groups(function(err, groups) {
                          if (err) throw err;
                          console.log('Processing ' + groups.length + ' groups...');
                          //displayResults(groups);
                          parseGroups(groups);
                      });
                  
                      api.lights(function(err, lights) {
                          if (err) throw err;
                          console.log('Processing ' + lights.lights.length + ' lights...');
                          //displayResults(lights);
                          parseLights(lights.lights);
                      });
                  
                      api.scenes(function(err, scenes) {
                          if (err) throw err;
                          console.log('Processing ' + scenes.length + ' scenes...');
                          //displayResults(scenes);
                          createStates(scenes);
                      });
                  }
                  
                  // Init on start
                  init();
                  
                  // Activate scene
                  on({id: /^javascript\.0\.PhilipsHue.Scenes\./, val: true}, function (obj) {
                      if (obj.id == 'javascript.0.PhilipsHue.Scenes.Resync'){return}
                      sceneId = obj.id.split('.').pop();
                      console.log('Activating '+obj.name);
                      api.activateScene(sceneId, function(err, result) {
                          if (err) throw err;
                          displayResults(result);
                      });
                      setState(obj.id, false);
                  });
                  
                  // Resync
                  on({id: 'javascript.0.PhilipsHue.Scenes.Resync', val: true}, function (obj) {
                      console.log('Resync triggered...');
                      groups_ = [];
                      lights_ = [];
                      deleteStates();
                      init();
                  });
                  
                  schedule("0 3 * * *", function () {
                      console.log('Resync triggered...');
                      groups_ = [];
                      lights_ = [];
                      deleteStates();
                      init();
                  });
                  

                  Wie gesagt, die API-Schnittstelle hat sich von Version 2 auf Version 3 geändert.
                  Die Testskripte der Version 3 laufen bei mir.
                  github node-hue-api
                  Leider blicke ich nicht so richtig durch die Programmierung.
                  Wo genau liegt der Unterschied zwischen der V2 zu V3?
                  Was muss geändert werden, damit es wieder läuft.
                  Gibt es hier Profiprogrammierer, die da durchblicken und "mal eben schnell" ne Lösung haben? :stuck_out_tongue_winking_eye:

                  Gruß
                  Jörg

                  ZefauZ 1 Antwort Letzte Antwort
                  0
                  • J JoergK

                    Hi,
                    so wie ich es sehe gibt es bei der HUE-API gleich zwei Probleme.

                    1. Phillips hat was an der FW der Bridge geändert. Deswegen war ein Update der API notwendig.
                    2. Der Entwickler der "node-hue-api" hat gerade beim letzten Versionssprung die API signifikant geändert, sodass die alten Skripte bei mir nicht mehr laufen.

                    Hier im Forum hatte ich folgendes Skript gefunden und es lief immer sehr gut.
                    https://forum.iobroker.net/topic/5773/skript-philips-hue-dynamische-szenen-update/15

                    var HueApi = require("node-hue-api").HueApi;
                    
                    // Replace IP and username!!!
                    var host = "192.168.11.11",
                        username = "BLABLABLABLABLABLABLA",
                        api = new HueApi(host, username);
                        
                    var groups_ = [],
                        lights_ = [],
                        objects_ = [];
                    
                    // Log JSON results
                    var displayResults = function(result) {
                        console.log('Reponse: '+JSON.stringify(result, null, 2));
                    };
                    
                    // Parse Light Group 0 (All Lights)
                    var parseGroup0 = function(result) {
                        if (!result.lights){return} // Empty group
                        
                        var id = result.id,
                            lights = result.lights,
                            name = "All Lights";
                        console.debug('group: '+name+', lights: '+lights);
                        groups_[lights] = name;
                    };
                    
                    // Parse Light Groups
                    var parseGroups = function(result) {
                        for (var i = 0; i < result.length; i++) {
                            if (!result[i].lights){continue} // Empty group
                            
                            var id = result[i].id,
                                lights = result[i].lights,
                                name = result[i].name;
                            console.debug('group: '+name+', lights: '+lights);
                            groups_[lights] = name;
                        }
                    };
                    
                    // Parse Lights
                    var parseLights = function(result) {
                        for (var i = 0; i < result.length; i++) {
                            var id = result[i].id,
                                name = result[i].name;
                            console.debug('light: '+name+', id: '+id);
                            lights_[id] = name;
                        } 
                    };
                    
                    // Create States in ioBroker
                    var createStates = function(result) {
                        // Resync button
                        createState('PhilipsHue.Scenes.Resync', false, {role: "button", name: 'Resync Philips Hue Groups, Lights and Scenes'});
                    
                        for (var i = 0; i < result.length; i++) {
                            if (!result[i].appdata.data){continue} // skip internal szenes
                    
                            var id = result[i].id,
                                lights = result[i].lights,
                                name = result[i].name.replace(/"/g,''),
                                pathname = name.replace(/ /g,'_');
                            
                            // Get light names
                            var light_names = [];
                            for (var j = 0; j < lights.length; j++) {
                                var light_name = lights_[lights[j]];
                                light_names.push(light_name);
                            }
                    
                            // Room, group or lights linked with scene
                            var group = 'Group: '+groups_[lights] || 'Lights: '+light_names.join(", ");
                            
                            // Create States and skip duplicates
                            if (!objects_[lights+pathname]){
                                console.debug('scene: '+name+', '+group);
                                createState('PhilipsHue.Scenes.'+pathname+'.'+id, false, {role: "button", name: 'Scene: '+name+' ('+group+')'});
                                objects_[lights+pathname] = true;
                            }
                        }
                    };
                    
                    // Delete States
                    function deleteStates(){
                        console.log('Deleting current objects for scenes...');
                        objects_ = [];
                        $('javascript.0.PhilipsHue.Scenes.*').each(function (id) {
                            deleteState(id);
                        });
                    }
                    
                    // Fetch data from Hue API
                    function init(){
                        api.getGroup(0, function(err, group0) {
                            if (err) throw err;
                            console.log('Processing group 0...');
                            //displayResults(group0);
                            parseGroup0(group0);
                        });
                        api.groups(function(err, groups) {
                            if (err) throw err;
                            console.log('Processing ' + groups.length + ' groups...');
                            //displayResults(groups);
                            parseGroups(groups);
                        });
                    
                        api.lights(function(err, lights) {
                            if (err) throw err;
                            console.log('Processing ' + lights.lights.length + ' lights...');
                            //displayResults(lights);
                            parseLights(lights.lights);
                        });
                    
                        api.scenes(function(err, scenes) {
                            if (err) throw err;
                            console.log('Processing ' + scenes.length + ' scenes...');
                            //displayResults(scenes);
                            createStates(scenes);
                        });
                    }
                    
                    // Init on start
                    init();
                    
                    // Activate scene
                    on({id: /^javascript\.0\.PhilipsHue.Scenes\./, val: true}, function (obj) {
                        if (obj.id == 'javascript.0.PhilipsHue.Scenes.Resync'){return}
                        sceneId = obj.id.split('.').pop();
                        console.log('Activating '+obj.name);
                        api.activateScene(sceneId, function(err, result) {
                            if (err) throw err;
                            displayResults(result);
                        });
                        setState(obj.id, false);
                    });
                    
                    // Resync
                    on({id: 'javascript.0.PhilipsHue.Scenes.Resync', val: true}, function (obj) {
                        console.log('Resync triggered...');
                        groups_ = [];
                        lights_ = [];
                        deleteStates();
                        init();
                    });
                    
                    schedule("0 3 * * *", function () {
                        console.log('Resync triggered...');
                        groups_ = [];
                        lights_ = [];
                        deleteStates();
                        init();
                    });
                    

                    Wie gesagt, die API-Schnittstelle hat sich von Version 2 auf Version 3 geändert.
                    Die Testskripte der Version 3 laufen bei mir.
                    github node-hue-api
                    Leider blicke ich nicht so richtig durch die Programmierung.
                    Wo genau liegt der Unterschied zwischen der V2 zu V3?
                    Was muss geändert werden, damit es wieder läuft.
                    Gibt es hier Profiprogrammierer, die da durchblicken und "mal eben schnell" ne Lösung haben? :stuck_out_tongue_winking_eye:

                    Gruß
                    Jörg

                    ZefauZ Offline
                    ZefauZ Offline
                    Zefau
                    schrieb am zuletzt editiert von
                    #9

                    @JoergK Bei mir funktioniert's. Du hast das Skript schon länger im Einsatz und jetzt geht es auf einmal nicht mehr? Was geht denn konkret nicht mehr?

                    Meine Adapter: https://zefau.github.io/iobroker/

                    A J 2 Antworten Letzte Antwort
                    0
                    • A aleks-83

                      @JoergK
                      Ich habe das Problem jetzt doch wieder. Trotz installierter Node-hue-api.

                      @Zefau
                      Ich habe deinen hue extended Adapter installiert.
                      Sieht sehr vielversprechend aus.
                      Meine Lampen, Gruppen und Szenen werden alle synchronisiert.
                      Viele Szenen tauchen zwar mehrfach auf (dann mit anderem kryptischen Buchstaben Anhang der offenbar auch die Gruppen Nr enthält), aber sie sind vollständig.
                      Allerdings kann ich die Szenen nicht triggern.
                      Im log steht dann

                      LightScene currently not supported!
                      
                      ZefauZ Offline
                      ZefauZ Offline
                      Zefau
                      schrieb am zuletzt editiert von
                      #10

                      @aleks-83 sagte in Hue Szenen nicht mehr verfügbar (iConnectHue):

                      Allerdings kann ich die Szenen nicht triggern.

                      Das gilt nur für LightScenes. GroupScenes kannst du triggern. Ich weiß leider technisch nicht, wie ich eine LightScene triggern kann. Das Skript von @JoergK lädt die LightScenes gar nicht aus der Bridge, sondern nur GroupScenes ( if (!result[i].appdata.data){continue} // skip internal szenes).

                      Meine Adapter: https://zefau.github.io/iobroker/

                      1 Antwort Letzte Antwort
                      0
                      • A Offline
                        A Offline
                        aleks-83
                        schrieb am zuletzt editiert von aleks-83
                        #11

                        @Zefau
                        Bevor dieses Update gemacht wurde, konnte ich die Szenen alle per Datenpunkt triggern welche durch das Skript erstellt wurden.
                        Auch wenn diese nicht als Light- oder GoupScenes gekennzeichnet waren.

                        Oder ist genau das in dem Update passiert?
                        Die Trennung von Group- und LightScenes?

                        = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                        = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

                        Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                        Glasfaser 400

                        1 Antwort Letzte Antwort
                        0
                        • ZefauZ Zefau

                          @JoergK Bei mir funktioniert's. Du hast das Skript schon länger im Einsatz und jetzt geht es auf einmal nicht mehr? Was geht denn konkret nicht mehr?

                          A Offline
                          A Offline
                          aleks-83
                          schrieb am zuletzt editiert von
                          #12

                          @Zefau
                          Was funktioniert denn bei dir noch?`
                          Du nutzt also das Skript was Jörg erwähnt, und bei dir werden die Lampen und Szenen geladen, und du kannst sie auch schalten?

                          Oder nutzt du deinen hue-extended Adapter?

                          = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                          = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

                          Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                          Glasfaser 400

                          ZefauZ 1 Antwort Letzte Antwort
                          0
                          • A aleks-83

                            @Zefau
                            Was funktioniert denn bei dir noch?`
                            Du nutzt also das Skript was Jörg erwähnt, und bei dir werden die Lampen und Szenen geladen, und du kannst sie auch schalten?

                            Oder nutzt du deinen hue-extended Adapter?

                            ZefauZ Offline
                            ZefauZ Offline
                            Zefau
                            schrieb am zuletzt editiert von
                            #13

                            @aleks-83 ich nutze natürlich meinen Adapter ;-) hatte das Skript nur gestern kurz eingebunden, um es mir mal anzugucken.

                            Meine Adapter: https://zefau.github.io/iobroker/

                            A 1 Antwort Letzte Antwort
                            0
                            • ZefauZ Zefau

                              @aleks-83 ich nutze natürlich meinen Adapter ;-) hatte das Skript nur gestern kurz eingebunden, um es mir mal anzugucken.

                              A Offline
                              A Offline
                              aleks-83
                              schrieb am zuletzt editiert von aleks-83
                              #14

                              @Zefau
                              OK.
                              Dann muss ich wohl abwarten bis die LightScenes auch gesteuert werden können, oder bis die API mit dem Skript wieder steuerbar ist.

                              In der Zwischenzeit habe ich mir das Skript nochmal angeschaut...
                              Ich spreche kein Javascript, aber ist dieses ^ in der 2. Zeile korrekt?

                              // Activate scene
                              on({id: /^javascript\.0\.PhilipsHue.Scenes\./, val: true}, function (obj) {
                                  if (obj.id == 'javascript.0.PhilipsHue.Scenes.Resync'){return}
                                  sceneId = obj.id.split('.').pop();
                                  console.log('Activating '+obj.name);
                                  api.activateScene(sceneId, function(err, result) {
                                      if (err) throw err;
                                      displayResults(result);
                                  });
                                  setState(obj.id, false);
                              });
                              
                              

                              Ich habe es testweise mal entfernt und bei mir wurden die Datenpunkte wieder erstellt.
                              Nach dem Ausführen des Resync Triggers werden aber keine neuen mehr erstellt.

                              Keine Ahnung wie das ^ da rein gekommen ist, aber in dem zitierten Skript und Beitrag von @JoergK ist es ja auch vorhanden.
                              Und es hat ja auch mal so funktioniert!?
                              Merkwürdig

                              = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                              = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

                              Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                              Glasfaser 400

                              J 1 Antwort Letzte Antwort
                              0
                              • A Offline
                                A Offline
                                aleks-83
                                schrieb am zuletzt editiert von
                                #15

                                Zur Info:
                                Der neue Hue-Extended Adapter v0.8.6 kann jetzt LightScenes steuern.
                                Beitrag von Zefau

                                = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                                = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

                                Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                                Glasfaser 400

                                1 Antwort Letzte Antwort
                                0
                                • ZefauZ Zefau

                                  @JoergK Bei mir funktioniert's. Du hast das Skript schon länger im Einsatz und jetzt geht es auf einmal nicht mehr? Was geht denn konkret nicht mehr?

                                  J Offline
                                  J Offline
                                  JoergK
                                  schrieb am zuletzt editiert von
                                  #16

                                  @Zefau Echt? Wieso läuft es denn bei dir?Da muss ich nochmal auf Suche gehen.
                                  Also bei mir kommt keine Fehlermeldung und die Datenpunkte in JavaSkript.0 werden aber nicht aktualisiert. Nach dem manuellen Löschen der Datenpunkte wurden sie auch nicht wieder neu angelegt.

                                  Deinen Adapter habe ich in der Zwischenzeit auch installiert und er macht einen guten Eindruck. Wenn ich damit auch ein zügiges Auslesen des Hue Dimmers hinbekomme ohne große Systemlast, dann kann ich auch umschwenken. :blush:
                                  Ich hatte für den Dimmer folgendes abgewandelte Skript (Auch hier aus dem Forum Link), mit dem ich eine Reaktionszeit von 1s auf einen Tastendruck hinbekommen hatte.

                                  var hue = require('node-hue-api');
                                  var HueApi = hue.HueApi;
                                  var api;
                                   
                                  var request = require('request');
                                   
                                  var presenceID=0;
                                  var laststatechanged='';
                                   
                                  var bridge='[IP-DER-HUE-Bridge]';
                                  var user='[USER-AUF-DER-HUE-Bridge]';
                                  var port=80;
                                   
                                  var displayResult = function(result) {
                                      console.log(JSON.stringify(result, null, 2));
                                  };
                                   
                                  api = new HueApi(bridge, user, 0, port);
                                   
                                  schedule("*/1 * * * * *", readAllHueSensors); 
                                  createHueSensors();
                                  
                                  function createHueSensors() {
                                      api.sensors(function(err, config) {
                                          if (err) throw err;
                                          var sensors = config.sensors;
                                          console.log('sensors create');
                                          for (var sid in sensors) {
                                              var sensor = sensors[sid];
                                   
                                              if (sensor.type=='ZLLSwitch') {
                                   
                                                  var sensorName =  sensor.name.replace(/\s/g, '');
                                                  if (getState('hueSensors.'+sensorName).notExist===true) {
                                                      console.log('hueSensors.'+sensorName +' wird erstellt.')
                                                      createState('hueSensors.'+sensorName, sensorName, true, {
                                                          read: true, 
                                                         write: true, 
                                                          name: sensorName, 
                                                          type: "string", 
                                                          role: "channel",
                                                          def: false
                                                      });
                                   
                                                      if (sensor.type=='ZLLSwitch') {
                                                          createState('hueSensors.'+sensorName+'.buttonevent', sensor.state.buttonevent, true, {
                                                              read: true, 
                                                             write: true, 
                                                              name: "buttonevent", 
                                                              type: "number", 
                                                              role: "state",
                                                              def: 0
                                                          });
                                                          createState('hueSensors.'+sensorName+'.lastupdated', sensor.state.lastupdated, true, {
                                                              read: true, 
                                                             write: true, 
                                                              name: "lastupdated", 
                                                              type: "string", 
                                                              role: "date",
                                                              def: false
                                                          });
                                                          //Config
                                                          createState('hueSensors.'+sensorName+'.on', sensor.config.on, true, {
                                                              read: true, 
                                                             write: true, 
                                                              name: "on", 
                                                              type: "boolean", 
                                                              role: "config",
                                                              def: false
                                                          });
                                                          createState('hueSensors.'+sensorName+'.battery', sensor.config.battery, true, {
                                                              read: true, 
                                                             write: true, 
                                                              name: "battery", 
                                                              type: "number", 
                                                              role: "config",
                                                              def: 0
                                                          });
                                                          createState('hueSensors.'+sensorName+'.reachable', sensor.config.reachable, true, {
                                                              read: true, 
                                                             write: true, 
                                                              name: "reachable", 
                                                              type: "boolean", 
                                                              role: "config",
                                                              def: false
                                                          });
                                                          createState('hueSensors.'+sensorName+'.pending', sensor.config.pending, true, {
                                                              read: true, 
                                                             write: true, 
                                                              name: "pending", 
                                                              type: "number", 
                                                              role: "config",
                                                              def: 0
                                                          });
                                                      }
                                   
                                                  }
                                              }
                                          }
                                      });
                                  }
                                   
                                   
                                  function readAllHueSensors() {
                                      //console.log('sensors refresh');
                                      api.sensors(function(err, config) {
                                          if (err) throw err;
                                          var sensors = config.sensors;
                                          for (var sid in sensors) {
                                              var sensor = sensors[sid];
                                              if (sensor.type=='ZLLSwitch') {
                                                  var sensorName =  sensor.name.replace(/\s/g, '');
                                                  //console.log(sensorName)
                                   
                                                  if (sensor.type=='ZLLSwitch') {
                                                      // Hue Dimmer Switch
                                                      
                                                      if (sensor.state.lastupdated != getState('hueSensors.'+sensorName+'.lastupdated').val) {
                                                          // console.log('UPDATE HueSwitch');
                                                          //console.log(sensor.state.buttonevent);
                                                          // console.log(getState('hueSensors.'+sensorName+'.lastupdated').val);                   
                                                          setState('hueSensors.'+sensorName+'.buttonevent', sensor.state.buttonevent);
                                                          setState('hueSensors.'+sensorName+'.lastupdated', sensor.state.lastupdated);
                                                          setState('hueSensors.'+sensorName+'.reachable', sensor.config.reachable);
                                                          setState('hueSensors.'+sensorName+'.on', sensor.config.on);
                                                          setState('hueSensors.'+sensorName+'.battery', parseFloat(sensor.config.battery));
                                                          //setState('hueSensors.'+sensorName+'.pending', sensor.config.pending);
                                                          switch (sensor.state.buttonevent) {
                                                          case 1000:
                                                          setState('hueSensors.'+sensorName+'.button0','initial_press');
                                                          setState('hueSensors.'+sensorName+'.button1','');
                                                          setState('hueSensors.'+sensorName+'.button2','');
                                                          setState('hueSensors.'+sensorName+'.button3','');
                                                          break;
                                                          case 1001:
                                                          setState('hueSensors.'+sensorName+'.button0','repeat');
                                                          setState('hueSensors.'+sensorName+'.button1','');
                                                          setState('hueSensors.'+sensorName+'.button2','');
                                                          setState('hueSensors.'+sensorName+'.button3','');
                                                          break;
                                                          case 1002:
                                                          setState('hueSensors.'+sensorName+'.button0','short_release');
                                                          setState('hueSensors.'+sensorName+'.button1','');
                                                          setState('hueSensors.'+sensorName+'.button2','');
                                                          setState('hueSensors.'+sensorName+'.button3','');
                                                          break;
                                                          case 1003:
                                                          setState('hueSensors.'+sensorName+'.button0','long_release');
                                                          setState('hueSensors.'+sensorName+'.button1','');
                                                          setState('hueSensors.'+sensorName+'.button2','');
                                                          setState('hueSensors.'+sensorName+'.button3','');
                                                          break;
                                                          case 2000:
                                                          setState('hueSensors.'+sensorName+'.button0','');
                                                          setState('hueSensors.'+sensorName+'.button1','initial_press');
                                                          setState('hueSensors.'+sensorName+'.button2','');
                                                          setState('hueSensors.'+sensorName+'.button3','');
                                                          break;
                                                          case 2001:
                                                          setState('hueSensors.'+sensorName+'.button0','');
                                                          setState('hueSensors.'+sensorName+'.button1','repeat');
                                                          setState('hueSensors.'+sensorName+'.button2','');
                                                          setState('hueSensors.'+sensorName+'.button3','');
                                                          break;
                                                          case 2002:
                                                          setState('hueSensors.'+sensorName+'.button0','');
                                                          setState('hueSensors.'+sensorName+'.button1','short_release');
                                                          setState('hueSensors.'+sensorName+'.button2','');
                                                          setState('hueSensors.'+sensorName+'.button3','');
                                                          break;
                                                          case 2003:
                                                          setState('hueSensors.'+sensorName+'.button0','');
                                                          setState('hueSensors.'+sensorName+'.button1','long_release');
                                                          setState('hueSensors.'+sensorName+'.button2','');
                                                          setState('hueSensors.'+sensorName+'.button3','');
                                                          break;
                                                          case 3000:
                                                          setState('hueSensors.'+sensorName+'.button0','');
                                                          setState('hueSensors.'+sensorName+'.button1','');
                                                          setState('hueSensors.'+sensorName+'.button2','initial_press');
                                                          setState('hueSensors.'+sensorName+'.button3','');
                                                          break;
                                                          case 3001:
                                                          setState('hueSensors.'+sensorName+'.button0','');
                                                          setState('hueSensors.'+sensorName+'.button1','');
                                                          setState('hueSensors.'+sensorName+'.button2','repeat');
                                                          setState('hueSensors.'+sensorName+'.button3','');
                                                          break;
                                                          case 3002:
                                                          setState('hueSensors.'+sensorName+'.button0','');
                                                          setState('hueSensors.'+sensorName+'.button1','');
                                                          setState('hueSensors.'+sensorName+'.button2','short_release');
                                                          setState('hueSensors.'+sensorName+'.button3','');
                                                          break;
                                                          case 3003:
                                                          setState('hueSensors.'+sensorName+'.button0','');
                                                          setState('hueSensors.'+sensorName+'.button1','');
                                                          setState('hueSensors.'+sensorName+'.button2','long_release');
                                                          setState('hueSensors.'+sensorName+'.button3','');
                                                          break;
                                                          case 4000:
                                                          setState('hueSensors.'+sensorName+'.button0','');
                                                          setState('hueSensors.'+sensorName+'.button1','');
                                                          setState('hueSensors.'+sensorName+'.button2','');
                                                          setState('hueSensors.'+sensorName+'.button3','initial_press');
                                                          break;
                                                          case 4001:
                                                          setState('hueSensors.'+sensorName+'.button0','');
                                                          setState('hueSensors.'+sensorName+'.button1','');
                                                          setState('hueSensors.'+sensorName+'.button2','');
                                                          setState('hueSensors.'+sensorName+'.button3','repeat');
                                                          break;
                                                          case 4002:
                                                          setState('hueSensors.'+sensorName+'.button0','');
                                                          setState('hueSensors.'+sensorName+'.button1','');
                                                          setState('hueSensors.'+sensorName+'.button2','');
                                                          setState('hueSensors.'+sensorName+'.button3','short_release');
                                                          break;
                                                          case 4003:
                                                          setState('hueSensors.'+sensorName+'.button0','');
                                                          setState('hueSensors.'+sensorName+'.button1','');
                                                          setState('hueSensors.'+sensorName+'.button2','');
                                                          setState('hueSensors.'+sensorName+'.button3','long_release');
                                                          break;
                                                          
                                                          default:
                                                          setState('hueSensors.'+sensorName+'.button0','');
                                                          setState('hueSensors.'+sensorName+'.button1','');
                                                          setState('hueSensors.'+sensorName+'.button2','');
                                                          setState('hueSensors.'+sensorName+'.button3','');
                                                          }
                                                          //
                                                      }
                                                  }                    
                                              }
                                          }
                                      });
                                  }
                                  
                                  1 Antwort Letzte Antwort
                                  0
                                  • A aleks-83

                                    @Zefau
                                    OK.
                                    Dann muss ich wohl abwarten bis die LightScenes auch gesteuert werden können, oder bis die API mit dem Skript wieder steuerbar ist.

                                    In der Zwischenzeit habe ich mir das Skript nochmal angeschaut...
                                    Ich spreche kein Javascript, aber ist dieses ^ in der 2. Zeile korrekt?

                                    // Activate scene
                                    on({id: /^javascript\.0\.PhilipsHue.Scenes\./, val: true}, function (obj) {
                                        if (obj.id == 'javascript.0.PhilipsHue.Scenes.Resync'){return}
                                        sceneId = obj.id.split('.').pop();
                                        console.log('Activating '+obj.name);
                                        api.activateScene(sceneId, function(err, result) {
                                            if (err) throw err;
                                            displayResults(result);
                                        });
                                        setState(obj.id, false);
                                    });
                                    
                                    

                                    Ich habe es testweise mal entfernt und bei mir wurden die Datenpunkte wieder erstellt.
                                    Nach dem Ausführen des Resync Triggers werden aber keine neuen mehr erstellt.

                                    Keine Ahnung wie das ^ da rein gekommen ist, aber in dem zitierten Skript und Beitrag von @JoergK ist es ja auch vorhanden.
                                    Und es hat ja auch mal so funktioniert!?
                                    Merkwürdig

                                    J Offline
                                    J Offline
                                    JoergK
                                    schrieb am zuletzt editiert von
                                    #17

                                    @aleks-83 das /^ lief bei mir auch.
                                    Ich hatte es auch mal entfernt, weil es mir komisch aussah ;-)
                                    Die Syntax von JavaScript kenn ich leider nicht so gut.

                                    1 Antwort Letzte Antwort
                                    0
                                    • A Offline
                                      A Offline
                                      aleks-83
                                      schrieb am zuletzt editiert von
                                      #18

                                      Also ich weiß nicht was passier ist, aber das Skript aus Post #1 funktioniert bei mir seit 2 Tagen wieder.
                                      Die Datenpunkte sind alle wieder da und ich kann auch die Szenen steuern.

                                      Aber ich bleibe jetzt bei dem hue-extended Adapter.
                                      Ich teste auch mal die Reaktionszeit auf Dimmer-Befehle. Das wäre für mich auch noch ein Punkt den ich gerne realisiern würde, es aber bisher an zu langsamer Reaktion des Skriptes gescheitert ist.
                                      Aber eine PayPal Spende wirst du von mir unabhängig davon auch bekommen @Zefau

                                      = Dell Optiplex Micro - 10GB RAM - 200GB SSD - Debian VM =
                                      = Node.js v20.18.3 = NPM 10.2.3 = JS Controller 7.0.6 =

                                      Ubiquiti UAP-AC-LR - UAP-AC-Lite - Synology DS716+II - Fritz!Box 7490
                                      Glasfaser 400

                                      1 Antwort Letzte Antwort
                                      1
                                      Antworten
                                      • In einem neuen Thema antworten
                                      Anmelden zum Antworten
                                      • Älteste zuerst
                                      • Neuste zuerst
                                      • Meiste Stimmen


                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      458

                                      Online

                                      32.5k

                                      Benutzer

                                      81.7k

                                      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