Page 3 sur 4

Re: Groupe de lumière RGBW

Publié : 11 mai 2018, 18:04
par landaisbenj
Ok alors c'est le fait que tu es en beta. J'ai du yeelight aussi et je n'ai pas l'info color.
Du coup il va falloir parser l'info (pas compliqué mais cela m'a fait crasher domoticz la derniere fois) Et avec l'info color on pourra recuperer les valeurs avec la librairie string. A coup de string.sub string.match et autre.

Re: Groupe de lumière RGBW

Publié : 11 mai 2018, 18:07
par tekkharibo
Ok à ce moment je vais regarder de ce côté là. Tu sais si les regex fonctionnent avec le lua

Envoyé de mon SM-G935F en utilisant Tapatalk

Re: Groupe de lumière RGBW

Publié : 11 mai 2018, 18:27
par landaisbenj
Deja en ligne de commande si je tape:

Code : Tout sélectionner

curl http://192.168.0.38:8080/json.htm?type=devices&rid=79
Je recoi tous les devices au lieu d'un seul...

Et pour les regex qu'appelle tu regex ? lol

Re: Groupe de lumière RGBW

Publié : 11 mai 2018, 18:31
par tekkharibo
Essaye avec idx plutôt que rid

Les regex ou expression régulière est un système de recherche dans les chaînes de caractères



Envoyé de mon SM-G935F en utilisant Tapatalk

Re: Groupe de lumière RGBW

Publié : 11 mai 2018, 18:41
par landaisbenj
tekkharibo a écrit :Essaye avec idx plutôt que rid

Les regex ou expression régulière est un système de recherche dans les chaînes de caractères



Envoyé de mon SM-G935F en utilisant Tapatalk
Ca ne fonctionne pas non plus... L'api fonctionne depuis le promp, mais une fois via un script lua d'evenement ca plante domoticz. Je crois qu'il y a un probleme de ce coté la aussi. Si je me rappel bien il y a un bug avec les evenements interne. Je pense que ca fonctionnerait avec un script du dossier lua.

Ok pour regex. Je ne sais pas si ca existe sous la forme a laquelle tu pense, mais je sais comment faire des recherches dans les chaines avec lua. Il me faudra juste un peu de temps. Il faut bidouiller avec la librairie string.

Re: Groupe de lumière RGBW

Publié : 11 mai 2018, 18:46
par tekkharibo
D'accord je ferais des chercher aussi de mon côté peut être un script python pour extraire cette info

Envoyé de mon SM-G935F en utilisant Tapatalk

Re: Groupe de lumière RGBW

Publié : 11 mai 2018, 18:47
par landaisbenj
A mais c'est une table on peut la bidouiller aussi.

Re: Groupe de lumière RGBW

Publié : 11 mai 2018, 18:50
par tekkharibo
La par contre j'ai rien compris ^^

Envoyé de mon SM-G935F en utilisant Tapatalk

Re: Groupe de lumière RGBW

Publié : 11 mai 2018, 19:02
par landaisbenj
tekkharibo a écrit :La par contre j'ai rien compris ^^

Envoyé de mon SM-G935F en utilisant Tapatalk

lol ce qui est retourné dans le champs color on peut le traiter en temps que table. Pas besoin de regex du coup... lol

Re: Groupe de lumière RGBW

Publié : 11 mai 2018, 19:06
par landaisbenj
Bon voila ce qu'on pourra faire une fois qu'on aura sorti l'attribu color:

Code : Tout sélectionner

local color = '{\"b\":36,\"cw\":0,\"g\":45,\"m\":3,\"r\":255,\"t\":0,\"ww\":0}'
function rgbToHex(rgb)
	local hexadecimal = ''
	for key, value in pairs(rgb) do
		local hex = ''
		while(value > 0)do
			local index = math.fmod(value, 16) + 1
			value = math.floor(value / 16)
			hex = string.sub('0123456789ABCDEF', index, index) .. hex			
		end
		if(string.len(hex) == 0)then
			hex = '00'
		elseif(string.len(hex) == 1)then
			hex = '0' .. hex
		end
		hexadecimal = hexadecimal .. hex
	end
	return hexadecimal
end


color = json:decode(color)
r = color.r
g = color.g
b = color.b
color = { r ,g , b }
color = rgbToHex(color)

os.execute('curl "http://'..IPDomoticz..':8080/json.htm?type=command&param=setcolbrightnessvalue&idx='..idx..'&hex='..color..'&brightness=100&iswhite=false" &')
Je pense qu'on pourra largement la simplifier plus tard. J'ai trouver un petit script de rgb en hex que j'ai vite fait modifié pour que ca passe. Ca aussi ca pourra surement se simplifier.

Maintenant qu'on sait transformer la couleur et la poster, on a plus qu'a la recuperer. Je trouve ca bizarre qu'on ne puisse pas le faire via les event interne. Ce serai bien si quelqu'un pouvait passer par la pour l'infirmer en le testant...