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. JavaScript
  5. sitze seit gestern im dunkeln Hue Szenen script ausgefallen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

sitze seit gestern im dunkeln Hue Szenen script ausgefallen

Geplant Angeheftet Gesperrt Verschoben JavaScript
14 Beiträge 5 Kommentatoren 1.1k Aufrufe 4 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.
  • G Offline
    G Offline
    grooovie
    schrieb am zuletzt editiert von
    #1

    Hallo,

    ich hatte bisher immer folgendes Script laufen.

    var HueApi = require("node-hue-api").HueApi;
    
    
    var displayResult = function(result) {
    console.log(JSON.stringify(result, null, 2));
    };
    
     // Replace IP and username!!!
    
    var hostname = "IP meiner Bridge",
    username = "Token meiner Bridge",
    api;
    
    api = new HueApi(hostname, 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 20 * * *", function () {
    console.log('Resync triggered...');
    groups_ = [];
    lights_ = [];
    deleteStates();
    init();
    });*/
    

    seit heute kommt ein Fehler:
    Unbenannt.JPG

    ich benötige Hilfe, wir sitzen im Dunkeln :-)

    die Einzige Änderung die ich vorgenommen habe ist ich habe das Multihos enabled und einen slave host hinzugefügt.

    ZefauZ 1 Antwort Letzte Antwort
    0
    • G Offline
      G Offline
      grooovie
      schrieb am zuletzt editiert von
      #2

      ich habe jetzt die virtuelle maschine in proxmox, in der iobroker installiert ist mit dem backup von vorgestern
      ersetzt. der fehler ist immernoch vorhanden. ich kann mir das nicht erklären.

      der fehler HueApi is not a constructor, was kann da das Problem plötzlich sein?

      paul53P 1 Antwort Letzte Antwort
      0
      • OliverIOO Offline
        OliverIOO Offline
        OliverIO
        schrieb am zuletzt editiert von
        #3

        der fehler sagt, das hueapi nicht gefunden wird.
        wenn du auf linux bist, probier mal
        cd /opt/iobroker
        npm i node-hue-api

        Meine Adapter und Widgets
        TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
        Links im Profil

        1 Antwort Letzte Antwort
        0
        • G grooovie

          ich habe jetzt die virtuelle maschine in proxmox, in der iobroker installiert ist mit dem backup von vorgestern
          ersetzt. der fehler ist immernoch vorhanden. ich kann mir das nicht erklären.

          der fehler HueApi is not a constructor, was kann da das Problem plötzlich sein?

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #4

          @grooovie
          node-hue-api ist als zusätzliches NPM-Modul in der Konfiguration der Javascript-Instanz eingetragen ?

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

          1 Antwort Letzte Antwort
          0
          • G Offline
            G Offline
            grooovie
            schrieb am zuletzt editiert von
            #5

            @paul53 said in sitze seit gestern im dunkeln Hue Szenen script ausgefallen:

            node-hue-api

            js.JPG

            war nicht eingetragen, habe es jetzt nachgeholt, aber leider keine Änderung, Fehler immer noch gleich.

            @OliverIO
            danke, das habe ich gleich probiert, das kam dabei raus
            npm.JPG

            aber auch danach keine Veränderung, Fehler immer noch gleich.

            1 Antwort Letzte Antwort
            0
            • G Offline
              G Offline
              grooovie
              schrieb am zuletzt editiert von
              #6

              im script ist auch eine rote wellenline, wenn man den mauszeiger darüber hält kommt immer ein tip was los ist, habe gerade bemerkt das man das in der 1. zeile nicht sieht und hab alles mal runtergerückt.

              api.JPG

              wie kann ich denn feststellen ob das modul geladen ist/wird ?

              OliverIOO 1 Antwort Letzte Antwort
              0
              • G grooovie

                im script ist auch eine rote wellenline, wenn man den mauszeiger darüber hält kommt immer ein tip was los ist, habe gerade bemerkt das man das in der 1. zeile nicht sieht und hab alles mal runtergerückt.

                api.JPG

                wie kann ich denn feststellen ob das modul geladen ist/wird ?

                OliverIOO Offline
                OliverIOO Offline
                OliverIO
                schrieb am zuletzt editiert von OliverIO
                #7

                @grooovie
                die bibliothek wurde aktualisiert und der von dir verwendete v2 syntax wurde entfernt.
                Hier steht drin was man machen kann
                https://github.com/peter-murray/node-hue-api#v2-api-compatibility

                Allerdings ist immer noch nicht geklärt, ob die Bibiothek bei dir überhaupt installiert und geladen wird

                Meine Adapter und Widgets
                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                Links im Profil

                1 Antwort Letzte Antwort
                0
                • G Offline
                  G Offline
                  grooovie
                  schrieb am zuletzt editiert von
                  #8

                  GELÖST!

                  danke @OliverIO, ich hatte zwar schon über V3 gelesen und mir sowas gedacht, ich konnte mir aber nicht vorstellen das das über nacht einfach ersatzlos gestrichen wurde,

                  ich habe nun die übergangslösung (V2) installiert mit

                  npm install node-hue-api-v2-shim

                  dann habe ich in der Javascript Instanz das Modul "node-hue-api-v2-shim" hinzugefügt

                  und schon funktioniert alles wieder. wieder Licht yippi! und eine zufriedene Frau :-))))

                  jetzt habe ich genug zeit den code an V3 anzupassen.

                  Vielen Dank für Eure Hilfe und Eure Zeit!

                  OliverIOO paul53P 2 Antworten Letzte Antwort
                  0
                  • G grooovie

                    GELÖST!

                    danke @OliverIO, ich hatte zwar schon über V3 gelesen und mir sowas gedacht, ich konnte mir aber nicht vorstellen das das über nacht einfach ersatzlos gestrichen wurde,

                    ich habe nun die übergangslösung (V2) installiert mit

                    npm install node-hue-api-v2-shim

                    dann habe ich in der Javascript Instanz das Modul "node-hue-api-v2-shim" hinzugefügt

                    und schon funktioniert alles wieder. wieder Licht yippi! und eine zufriedene Frau :-))))

                    jetzt habe ich genug zeit den code an V3 anzupassen.

                    Vielen Dank für Eure Hilfe und Eure Zeit!

                    OliverIOO Offline
                    OliverIOO Offline
                    OliverIO
                    schrieb am zuletzt editiert von
                    #9

                    @grooovie
                    über nacht war das nicht. die sind jetzt bei v4.
                    iobroker kann in diesem Feld kein version pinning, das geht nur manuell mit npm,
                    dann wäre es unverändert weitergelaufen, halt mit einer alten bibliothek

                    Meine Adapter und Widgets
                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                    Links im Profil

                    1 Antwort Letzte Antwort
                    0
                    • G Offline
                      G Offline
                      grooovie
                      schrieb am zuletzt editiert von
                      #10

                      ok, verstehe, aber warum das nicht mit der alten bibliothek einfach weiterlaufen konnte kann ich mir nicht erklären

                      cashC 1 Antwort Letzte Antwort
                      0
                      • G grooovie

                        GELÖST!

                        danke @OliverIO, ich hatte zwar schon über V3 gelesen und mir sowas gedacht, ich konnte mir aber nicht vorstellen das das über nacht einfach ersatzlos gestrichen wurde,

                        ich habe nun die übergangslösung (V2) installiert mit

                        npm install node-hue-api-v2-shim

                        dann habe ich in der Javascript Instanz das Modul "node-hue-api-v2-shim" hinzugefügt

                        und schon funktioniert alles wieder. wieder Licht yippi! und eine zufriedene Frau :-))))

                        jetzt habe ich genug zeit den code an V3 anzupassen.

                        Vielen Dank für Eure Hilfe und Eure Zeit!

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #11

                        @grooovie sagte:

                        ich habe nun die übergangslösung (V2) installiert mit
                        npm install node-hue-api-v2-shim

                        Das war unnötig, denn die Installation erledigt der Javascript-Adapter nach Eintragen in die Konfiguration selbst.

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

                        1 Antwort Letzte Antwort
                        0
                        • G grooovie

                          ok, verstehe, aber warum das nicht mit der alten bibliothek einfach weiterlaufen konnte kann ich mir nicht erklären

                          cashC Offline
                          cashC Offline
                          cash
                          Most Active
                          schrieb am zuletzt editiert von
                          #12

                          @grooovie Du könntest auch einfach den Hue Adapter oder die Extended Version installieren. Beide unterstützen die Szenen von sich aus. Somit ist eigentlich schon sehr lange kein eigenes Script mehr nötig....

                          1 Antwort Letzte Antwort
                          0
                          • G grooovie

                            Hallo,

                            ich hatte bisher immer folgendes Script laufen.

                            var HueApi = require("node-hue-api").HueApi;
                            
                            
                            var displayResult = function(result) {
                            console.log(JSON.stringify(result, null, 2));
                            };
                            
                             // Replace IP and username!!!
                            
                            var hostname = "IP meiner Bridge",
                            username = "Token meiner Bridge",
                            api;
                            
                            api = new HueApi(hostname, 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 20 * * *", function () {
                            console.log('Resync triggered...');
                            groups_ = [];
                            lights_ = [];
                            deleteStates();
                            init();
                            });*/
                            

                            seit heute kommt ein Fehler:
                            Unbenannt.JPG

                            ich benötige Hilfe, wir sitzen im Dunkeln :-)

                            die Einzige Änderung die ich vorgenommen habe ist ich habe das Multihos enabled und einen slave host hinzugefügt.

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

                            @grooovie warum nutzt du nicht einen der beiden hue Adapter? Die können das doch inzwischen beide?

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

                            1 Antwort Letzte Antwort
                            0
                            • G Offline
                              G Offline
                              grooovie
                              schrieb am zuletzt editiert von
                              #14

                              echt, das wusste ich nicht.

                              in den Objekten den der normale Hue Adapter erzeugt sind jedenfalls keine Szenen zu sehen.

                              hab jetzt mal den Hue Extended genommen, da ist alle dabei, toll!

                              Vielen Dank für den tipp. So ist das eben, man richtet irgendwann mal was ein und das funktioniert dann auch, weiter kümmert man sich meist nicht. es war immer etwas umständlich mit dem extra script. aber der extendet adapter hat alles was man sich wünscht. hatte den schon mal gesehen, dachte aber er ist für eine neue Generation von Hue-Bridges.

                              Also sorry leute, bin aus einem Datendorf gerade in die grosse stadt gekommen XDD

                              Vielen Dank

                              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

                              729

                              Online

                              32.6k

                              Benutzer

                              82.1k

                              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