Aller au contenu

VD Yeelight Controller


OJC

Messages recommandés

  • 5 semaines après...

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

Lien vers le commentaire
Partager sur d’autres sites

  • 1 an après...
  • 1 mois après...

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
Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

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
Lien vers le commentaire
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
Lien vers le commentaire
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
Lien vers le commentaire
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
Lien vers le commentaire
Partager sur d’autres sites

  • 2 ans après...

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 ! 

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...