Aller au contenu
OJC

VD Yeelight Controller

Recommended Posts

c'est bon j'avais pas activé ca ! merci :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Je n'ai pas l'état du "mode nuit" qui remonte. Une idée ?

Aussi, pourriez-vous me confirmer que lorsque l'on appuie manuellement sur une commande du VD, l'action s'exécute mais pour mettre à jour l'état il faut appuyer sur connexion tcp et transmission ensuite ?

 

Capture.JPG

Partager ce message


Lien à poster
Partager sur d’autres sites

Hello,

This VD is not working on 4.550 :(

Someone has an update?

Partager ce message


Lien à poster
Partager sur d’autres sites

Ne fonctionne plus depuis quelques jours. Probablement suite mise à jour fibaro.

J'ai essayé de désinstaller le module virtuel, et de le ré installer.

Les globales variables ne sont pas recrées.

 

[DEBUG] 11:36:20: Starting Yeelight Manager...
[DEBUG] 11:36:20: Checking IPAddress and TCPPort...
[DEBUG] 11:36:20: Checking global variable y_yeelight_global...
[DEBUG] 11:36:20: Checking global variable y_yeelight_479...
[DEBUG] 11:36:20: Sending packet to Yeelight device at 192.168.1.14 on port 55443...
[DEBUG] 11:36:20: Reconnection to Yeelight device...
[ERROR] 11:36:20: line 114: bad argument #1 to 'decode' (string expected, got nil)

Modifié par Alek6

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est curieux par ce que la ligne 114 :

    local y_yeelight_ = json.decode(_f:getGlobalValue('y_yeelight_'.._yid))

est précédée plus haut par cette instruction :

  if not _f:getGlobalValue('y_yeelight_'.._yid) then api.post('/globalVariables', {name='y_yeelight_'.._yid, isEnum=0}) end

qui est bien exécutée puisque le Debug affiche "Checking global Variable etc".

 

Je n'ai pas de HC2 fonctionnelle sous la main en ce moment. Essaie de remplacer les lignes 79 à 81 du code du mainloop par celles-ci, et poste le résultat :

  if not _f:getGlobalValue('y_yeelight_'.._yid) then
	log('Variable y_yeelight_'.._yid  .. ' inexistante')
	api.post('/globalVariables', {name='y_yeelight_'.._yid, isEnum=0})
  end
  local y_yeelight = _f:getGlobalValue('y_yeelight'.._yid)
  Log('Valeur de la variable (1) : ' .. y_yeelight)
  if string.len(y_yeelight or '') == 0 then _f:setGlobal('y_yeelight_'.._yid, '{"properties":{},"last":{}}') end
  y_yeelight = _f:getGlobalValue('y_yeelight'.._yid)
  Log('Valeur de la variable (2) : ' .. y_yeelight)

 

Modifié par OJC

Partager ce message


Lien à poster
Partager sur d’autres sites

Le problème semble venir de la MàJ 4.560 à en juger par ce post sur le forum Fibaro...

 

Du coup, une solution serait de tester la valeur récupérée avec _f:getGlobalValue et d'enclencher une boucle While string.len(y_yeelight_) == 0 en exécutant à nouveau _f:getGlobalValue jusqu'à récupérer le contenu de la variable, et ensuite seulement exécuter json.decode.

 

Un truc du style :

local y_yeelight_raw = _f:getGlobalValue('y_yeelight_' .. _yid)
while string.len(y_yeelight_raw or '') == 0 do
  y_yeelight_raw = _f:getGlobalValue('y_yeelight_' .. _yid)
end
local y_yeelight_ = json.decode(_f:getGlobalValue('y_yeelight_'.._yid))

 

Modifié par OJC

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci OJC, j’essai ça rapidement et je te tiens au courant. 

Partager ce message


Lien à poster
Partager sur d’autres sites
il y a 23 minutes, OJC a dit :

api.post('/globalVariables', {name='y_yeelight_'.._yid, isEnum=0})

Bonjour bonjour,

 

Je n'ai pas suivi le bug, mais si c'est sur la création de la varioable par la scène, en version > 4.55 c'est :

 

isEnum=false et non 0 ;-)

 

api.post("/globalVariables", {name="nomdelavariable", isEnum=false}

 

 

  • Thanks 1

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai mis à jour le premier post en intégrant la remarque de @pepite. Merci à toi :)

Modifié par OJC

Partager ce message


Lien à poster
Partager sur d’autres sites

A tester dans ton VD ;-) avant pour verifier si cela fonctionne

Partager ce message


Lien à poster
Partager sur d’autres sites

C'est sûr que ce serait mieux, mais je n'ai pas de HC2 fonctionnelle disponible en ce moment, et même si cette correction ne suffit pas, elle ne peut pas faire de mal :2:

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai réinstallé le plugin... étrangement il fonctionne à nouveau, sans avoir à modifier quoi que ce soit !

Je suis maintenant en 4.56. Est ce un bug hc2 en 4.55 corrigé en 4.56 ? Étrange. En tout cas, bien content que cela refonctionne correctement. Merci à vous pour votre support. 

Modifié par Alek6
  • Like 1
  • Thanks 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Je vois que le sujet date un peu, mais maintenant que la HC3 est sortie pensez vous que l'on peux utiliser le travail déjà fait pour crée une QA Yeelight ? J'ai fouillé un peu partout sur internet et j'ai rien trouvé. 

La VD crée par @OJC a vraiment l'air tip top !  Malheureusement je débute dans la domotique et ne sais pas programmer en LUA :/ 

 

J'ai aussi lu le post sur les VD dans le forum ... mais la conclusion est bonne! Ya beaucoup de boulot ! 

Partager ce message


Lien à poster
Partager sur d’autres sites

×