Aller au contenu

Messages recommandés

  • 5 semaines après...
Posté(e)

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

  • 1 an après...
  • 1 mois après...
Posté(e) (modifié)

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
  • 3 semaines après...
Posté(e) (modifié)

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
Posté(e) (modifié)

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
Posté(e)
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
Posté(e) (modifié)

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

Modifié par OJC
Posté(e)

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:

Posté(e) (modifié)

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
  • 2 ans après...
Posté(e)

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 ! 

×
×
  • Créer...