NEWS
Philips Hue Szenen
-
Guten Tag,
Ich habe leider überhaupt kein plan von von skripten und erbitte dehalb eure hilfe.
ich möchte das meine hue white ambiance vorwiegend in 2 modi betreiben und zwar einmal auf 100% und 6500K und einmal 2200K und 1% diese einstellungen würde ich gerne als eigene "geräte" oder szenen an alexa und Siri Homekit weiterleiten
Wenn es nicht zu viel mühe macht würde ich mich sehr über ein skript freuen
-
Hi,
was läuft denn schon bei Dir? Evtl muss ja auch gar nichts gescriptet werden?
Die amerikanischen Wohnraumüberwachungsanlagen soll dann auf Sprachkommando diese Szenen aufrufen?
Oder was ist genau dein Wunsch?
-
also grunde ist das einzigste was ich aktuell machen kann die lampen ein und ausschalten
mein wunsch ist es wenn ich sage flurlicht an das dann die lampen im flur auf 100% gehen und 6500K haben und wenn ich sage nachtlicht an das dann die farbtemperatur auf 2200K runtergeht und sie auf 1% gedimmt werden und das am besten per sprachstuerung durch siri und alexa und über die homekit app und über VIS
-
Du könntest mit diesem Script alle Hue Szenen auslesen und dann recht einfache Blocklys erstellen für den Cloudadater.
! ```
`/* -- do not edit following lines - START --
{
"debug": false,
"verbose": false
}
-- do not edit previous lines - END --*/
var HueApi = require("node-hue-api").HueApi;
! // Replace IP and username!!!
var host = "192.168.180.xx",
username = "xxx",
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 groupvar 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 groupvar 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();
});`
Du musst nur Deine IP Adresse und Benutzer von der HUE Bridge eintragen.
! Die Szenen findest Du dann unter javascript.0
! Wenn Du Hilfe beim Blockly brauchst sag Bescheid.
! PS: Im Javascript Adapter noch diesen Eintrag wie im Bild vornehmen[img]https://uploads.tapatalk-cdn.com/201809 ... c9b6c2.jpg[/img][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i] -
Vielen Dank werde ich morgen Nachmittag ausprobieren und mich dann melden
Gesendet von iPhone mit Tapatalk
-
Das Script hat super funktioniert danke dafür
habe auch die einbindung ins homekit wia blockly geschafft muss jetzt nur noch einen anzeigefehler geheben wenn ich direkt von normalem licht auf nachtlicht umschalte und umgekehrt
-
prima, freut mich das ich helfen konnte.
Ich finde das Script auch gut, weil man so an die Hue Szenen drann kommt.
-
Muss mich mal mit einklinken.
Danke erstmal fürs Skript.
Wie verarbeite ich die Szenen in Blockly?
Mit welchen Bausteinen.
-
Muss mich mal mit einklinken.
Danke erstmal fürs Skript.
Wie verarbeite ich die Szenen in Blockly?
Mit welchen Bausteinen. ` ich verstehe die Frage zwar nicht so genau, aber anbei mal ein Beispiel mit einer Standard Szene - Energie tanken. (geht auch mit selbst erstellten Szenen)
Falls Du das meinst…
<link_text text="https://uploads.tapatalk-cdn.com/201812 ... b462d1.jpg">https://uploads.tapatalk-cdn.com/20181206/55994dcbbe433fe00629fb9f9bb462d1.jpg</link_text>" /> -
Genau das meinte ich. Vielen Dank für das Beispiel.
-
ich hänge mal meine Frage aus nem anderen Unterforum hier an:
-
Kann man das Script zum Import der in der Bridge gespeicherten Szenen nicht auch in den Hue Adapter einbauen? Ich denke dass viele Leute so etwas gebrauchen können.
-
Kann man das Script zum Import der in der Bridge gespeicherten Szenen nicht auch in den Hue Adapter einbauen? Ich denke dass viele Leute so etwas gebrauchen können. `
Das denke ich auch!Ich nutze das Skript auch. Richtig super!
Ich schalte damit bestimmte hie Szenen wenn ich an meiner harmony Aktionen starte oder stoppe.
Funktioniert auch wie gewünscht.
Gibt es eine Möglichkeit, die Szenen langsam über zu blenden?
Also aktuell wird die neue Szene einfach eingeschaltet.
Ich möchte gerne dass die aktuelle Einstellung in die neue Szene überblendet. Innerhalb z.B. 3 Sekunden.