Aller au contenu

Messages recommandés

Posté(e)

Une petite scène sans prétention.

 

Mon objectif est de synchroniser une lampe HUE Livingcolors Iris posée dans un coin du salon avec un module FGD211 pilotant deux lampes LED dans le salon. Les lampes HUE sont bien mais pas pratique s'il faut sortir le smartphone pour allumer ou régler la lampe.

 

Du coup avec ma scène l'intensité de la HUE suit celle du FGD211.

--[[
%% properties
54 value
%% globals
--]]


local huelightid=3
local hueuser = "newdeveloper";
local hueIP = "192.168.0.12";
local huePort = 80;
local hueColor = 36980;
local hueSat = 49;
local IDlum_Salon = 54;
local ValeurDim = tonumber(fibaro:getValue(IDlum_Salon, 'value'));
local Bri = math.floor(ValeurDim * 2.55);
local Data = '{"on":false}';

	if Bri > 0 then
		Data = '{"on":true, "sat":'..hueSat..', "bri":'..Bri..', "hue":'..hueColor..'}'
	end

	fibaro:debug(Data)

	local httpClient = net.HTTPClient();
	httpClient:request('http://'..hueIP..':'..huePort..'/api/'..hueuser..'/lights/'..huelightid..'/state', {
		success = function(response)
		if tonumber(response.status) == 200 then
			print("Updated at " .. os.date());
		else
			print("Error " .. response.status)
		end
	end,
	error = function(err)
		print('error = ' .. err)
	end,
	options = {
		method = 'PUT',
		data = Data
	}
  });

A adapter selon votre environnement:

 

En entête 54 value : ID de mon FGD211

hueLightid = 3 N° de la lampe HUE à  piloter (j'ai deux autres HUE)

hueuser    = "newdeveloper" à  laisser si vous n'avez pas défini de user sur

hueIP        = "192.168.0.12" IP du pont HUE

huePort    = 80  à  laisser tel quel

hueColor  = 36980 à  adapter selon la couleur désirée

hueSat     = 49 à  adapter selon la saturation désirée de la couleur

IDlum_Salon = 54 ID du FGD211

 

 

 

 

  • Upvote 2
Posté(e)

Merci HANSOLO il va falloir que je teste cela j'ai pas de fgd pour faire le trigger mais je vais piquer ton code pour l'utiliser avec le slider d'un VD

Posté(e)

effectivement c'est moicphil qui en a fait un je vais essayer d'en faire un cela me fera un exercice pour comprendre car a partir de la ligne 28 a 42 c'est chaud a par les print je suis une bille en API

Posté(e)

oui avec le 11111 pour utiliser le localhost en interne en fait je me débrouille en réseau mais j'ai jamais utiliser d'api il faut aussi que j'arrive a voir pour le json comment ça arrive pour que je comprenne car je l'utilise mais je sais pas comment c'est encoder merci pour les conseils

Posté(e)

Salut

J'avais le même besoin que toi, mais je suis passé par le press button du VD lié àl'HUE, peux tu me dire pourquoi tu n'as pas pris cette option? Plutôt que de devoir recoder la connexion au pont hue? C'est plus performant?

Posté(e)

Désolé Hansolo mais je ne comprend pas...

si tu crées une scene avec le trigger sur ton module fibaro (switch ou dimmer) et que en fonction de l'état tu actionnes le bouton on ou off du VD hue.

c'est quoi la différence?

voici ma scene

--[[
%% properties
47 value --id de ma lampe de salon
%% globals
--]]

fibaro:debug("Début de la scène lightstrip");


fibaro:debug(tonumber(fibaro:getValue(47, "value")));
local startSource = fibaro:getSourceTrigger();
if (tonumber(fibaro:getValue(47, "value")) == 0 ) then
	fibaro:debug("la lumière du salon a été éteinte");
  fibaro:call(161, "pressButton", "2") --extinction de la HUE
else
if ( tonumber(fibaro:getValue(47, "value")) > 0 )
then
	fibaro:debug("la lumière du salon a été allumée");
	
  fibaro:call(161, "pressButton", "1") --allumage de la HUE
end
end

Posté(e)

Ah oui, le plugin ne peux pas être appelé en LUA?!? quelle merde...

tu aurais du commencé par cela, j'aurai compris au lieu de faire mon boulet :P

  • Upvote 1
  • 6 mois après...
Posté(e)

Une variante en utilisant le plugin HUE.

Voir http://forum.fibaro.com/index.php?/topic/19659-philips-hue-startup-color/?p=74709 pour les commandes non documentées du plugin.

--[[
%% properties
54 value
%% globals
--]]


local hueID = 338;
local hueColor = 36980;
local hueSat = 49;
local IDlum_Salon = 54;
local ValeurDim = tonumber(fibaro:getValue(IDlum_Salon, 'value'));
local Bri = math.floor(ValeurDim * 2.55)
print("Bri " ..Bri.." ".. os.date());
  
	if Bri > 0 then
		fibaro:call(hueID, "turnOn");
		fibaro:call(hueID, "changeSaturation", hueSat);
		fibaro:call(hueID, "changeBrightness", Bri);
		fibaro:call(hueID, "changeHue", hueColor);
		print("On at " .. os.date());
	else
		fibaro:call(hueID, "turnOff");
		print("Off at " .. os.date());
	end

 

En entête 54 value : ID de mon FGD211

local hueID = 338 id de la lampe HUE à  piloter (généré par le plugin pour récupérer l'ID HC2 Toolkit de @Krikroff ou dans une scène en LUA passer lescurseur sur le device dans le menu de gauche)

hueColor  = 36980 à  adapter selon la couleur désirée

hueSat     = 49 à  adapter selon la saturation désirée de la couleur

IDlum_Salon = 54 ID du FGD211

  • Upvote 1
×
×
  • Créer...