Page 2 sur 9
Re: Device announce Ikea Tradfi et hue pour last update
Publié : 22 mars 2019, 15:43
par benp
Deufo a écrit : 22 mars 2019, 15:26
Tu arrives à piloter les ampoules ?
Oui, j'arrive à piloter les ampoules
Deufo a écrit : 22 mars 2019, 15:26
J'ajoute que la fonction qui met à jour ne fonctionne actuellement qu'avec les dernières beta de domoticz.
Je suis en 4.97 et non bêta. C'est certainement ça le problème.
Deufo a écrit : 22 mars 2019, 15:26
Les ampoules que j'ai chez moi communiquent toutes les 5 minutes, un cluster 6 et 8.
Qu'est-ce que ca veut dire: un cluster 6 et 8?
C'est (General: On/Off) et (General: Level Control)?
Re: Device announce Ikea Tradfi et hue pour last update
Publié : 22 mars 2019, 18:39
par pitchoun
benp a écrit : 22 mars 2019, 15:43
Je suis en 4.97 et non bêta. C'est certainement ça le problème.
Absolument, il te faut une des dernière version Béta pour avoir les features , il me semble avoir vu ca dans les logs et dans le code.
Re: Device announce Ikea Tradfi et hue pour last update
Publié : 22 mars 2019, 18:52
par pitchoun
benp a écrit : 22 mars 2019, 15:00
Si je met sous tension 0,1 ou 2 lampes, fait un reboot logiciel du raspberry, j'ai le bon nombre retourné. Par contre, j'ai ni lastseen, ni l'état réel de la lampe (luminosité) qui se met à jour dans domoticz. Je sais pas si c'est particulier à moi ou si c'est le cas pour tout le monde.
Ca ne va pas t'aider, mais de mon coté, ca fonctionne bien:
j'ai 3 ampoules Ikea/Tradfri une Blanche LvlControl, 1 WhiteColor, 1 Color RGB
Sur DOmoticz elles sont toutes les 3 Off
je les eteinds electriquement
puis je les allume
dans les 5 minutes, l'etat dans DOmoticz passe à On pour chacune des lampes.
Je constate les memes messages que toi dans les logs.
Es-tu certain que tu sois bien sur la dernière version ?
Re: Device announce Ikea Tradfi et hue pour last update
Publié : 22 mars 2019, 19:25
par benp
pitchoun a écrit : 22 mars 2019, 18:39
Absolument, il te faut une des dernière version Béta pour avoir les features , il me semble avoir vu ca dans les logs et dans le code.
Je viens de migrer vers beta.
Mes versions sont dans ma signature (mise à jour).
Hourra: Ça fonctionne maintenant pour ikea!
Ça ne fonctionne pas pour hue (moins intéressant pour moi mais peut-être pour d'autres...)
Il y avait effectivement un message dans le log au démarrage qui dit la version mini. Je dirais 4.10355 d'après le release note 4.1
Re: Device announce Ikea Tradfi et hue pour last update
Publié : 23 mars 2019, 11:08
par benp
Premier tests de scripts sur last seen:
Le trigger 'device change' ne fonctionne pas sur last seen des ikea tradfi en dzvents.
C'est certainement la même chose avec les autres languages mais il faurait tester...
Lastseen est bien mis à jour par la zigate mais 'device change' n'est pas appelé.
C'est en accord avec les noms des méthodes mais ça ne permet pas de détecter un rafraichissement: il faut le savoir.
Je ne pense pas qu'il faille changer quelque chose coté zigate car certains utilisateurs veulent du last seen, d'autre du device change. C'est certainement du coté de domoticz qu'il faudrait agir si on veut évoluer dans ce sens. Il faut faudrait un 'last seen change'
En tout cas, dans l'état actuel des choses, il faut utiliser 'timer' et non 'device change' dans vos scripts. La limitation est que l'on ne peut regarder last seen que toute les minutes.
Note: le dzvents doit s’exécuter avant que last seen soit à jour car dans le log, il s'affiche le last seen d'avant, pas celui qui a déclenché le script.
Voici le code de mon script en dzvents, même si c'est pas très utile pour l'instant car la stratégie ne fonctionne pas.
Code : Tout sélectionner
return {
on = {
devices = { 'veilleuse',
'hue'}
},
execute = function(domoticz, device)
print('---------------------name' .. device.name .. 'lastseen' .. device.lastUpdate.secondsAgo)
end
}
Re: Device announce Ikea Tradfi et hue pour last update
Publié : 23 mars 2019, 14:13
par Deufo
Si l'état passe de off à on, le plugin met bien à jour l'état et un device change doit être appelé, si ce n'est pas le cas, il y a un souci.
La fonction récemment mise en place par pipiche (touch) permet de mettre à jour le last seen si un device retourne son état et qu'il n'y pas de changement de celui-ci.
Par ailleurs, le lastupdate n'est pas mis à jour, j'ai du faire un appel à l'api pour avoir l'information de dernier contact pour mon script de détection de device éteint/déconnecté.
Re: Device announce Ikea Tradfi et hue pour last update
Publié : 23 mars 2019, 18:04
par benp
Deufo a écrit : 23 mars 2019, 14:13
Si l'état passe de off à on, le plugin met bien à jour l'état et un device change doit être appelé, si ce n'est pas le cas, il y a un souci.
Si on parle bien de off à on et non de hors tension à on, C'est bien le cas chez moi: device change est bien appelé.
Deufo a écrit : 23 mars 2019, 14:13
La fonction récemment mise en place par pipiche (touch) permet de mettre à jour le last seen si un device retourne son état et qu'il n'y pas de changement de celui-ci.
Dans mon cas, ça fonctionne sur ikea et pas sur hue: last seen se met à jour tous les 5 minutes si la lampe est sous tension et ce même si elle est off(off sous tension).
Deufo a écrit : 23 mars 2019, 14:13
Par ailleurs, le lastupdate n'est pas mis à jour
Je ne comprend pas cette partie de la phrase.
Deufo a écrit : 23 mars 2019, 14:13
j'ai du faire un appel à l'api pour avoir l'information de dernier contact pour mon script de détection de device éteint/déconnecté.
Cette partie m'interesse. Si je comprend bien c'est un script qui permet de savoir si le device n'est pas sous tension.
S'agit-il de ce script:
https://github.com/pipiche38/Domoticz-Z ... evices.lua
Si non, je veux bien une copie du script.
Re: Device announce Ikea Tradfi et hue pour last update
Publié : 23 mars 2019, 19:03
par Deufo
Oui, c'est bien ce script.
Quand je fais l'appel via dzvents au lastupdate, via device.lastUpdate, le temps qui est retourné n'est pas celui affiché sur l'interface et correspond au dernier changement physique, non au dernier contact.
Re: Device announce Ikea Tradfi et hue pour last update
Publié : 23 mars 2019, 21:05
par benp
Deufo a écrit : 23 mars 2019, 19:03
Quand je fais l'appel via dzvents au lastupdate, via device.lastUpdate, le temps qui est retourné n'est pas celui affiché sur l'interface et correspond au dernier changement physique, non au dernier contact.
Argh, je viens enfin de comprendre le texte. C'est pire que ce que je croyais!
J'ai testé avec ce" script:
Code : Tout sélectionner
return {
on = {
timer = {'every minute'}
},
execute = function(domoticz, timer)
local veilleuseO = domoticz.devices('veilleuse')
print('------------------lastupdate ' .. veilleuseO .lastUpdate.secondsAgo)
end
}
Effectivement, en dzvents, lastupdate retourne le dernier changement d'état et pas le last seen.
Par contre avec l'API/JSON URL's (c'est ce que Deufo à fait dans son script si j'ai bien compris):
On a bien lastupdate=last seen
Ça ressemble un peu à un bug domoticz tout ça!
Il y a une confusion entre last seen et lastupdate qui veulent dire une fois l'un une fois l'autre.
Re: Device announce Ikea Tradfi et hue pour last update
Publié : 23 mars 2019, 21:52
par benp
Voici un test minimum de la version avec API/JSON:
Code : Tout sélectionner
return {
on = {
timer = {'every minute'},
httpResponses = {'lastUP' }
},
execute = function(domoticz, item)
if (item.isTimer) then
domoticz.openURL({
url = 'http://192.168.0.4:8080/json.htm?type=devices&rid=139',
callback = 'lastUP'
})
end
if (item.isHTTPResponse and item.ok) then
local last =item.json.result[1]['LastUpdate']
print('------------------http reponse: ' .. last)
end
end
}
C'est carrément lourd mais ça fonctionne pour avoir le dernier last seen.
Peut être que Touch() n'est pas la meilleure méthode.
Il est mis ici pour Touch:
https://www.domoticz.com/wiki/Developin ... hon_plugin
------------------------
Updates the Device's 'last seen' time and nothing else. No events or notifications are triggered as a result of touching a Device.
After the call the Device's LastUpdate field will reflect the new value.
--------------------------
C'est peut-être Refresh qui est le plus adapté. Je comprend pas bien ce que ça fait mais c'est peut-être à tester...
Edit: Je viens de tester Refresh(ligne 1333 de domoticz.py). On a exactement le même comportement qu'avec Touch: last seen se met à jour et
lastUpdate de dzvents ne le prend pas en compte.
Il est peut-être aussi intéressant d'implanter TimedOut dans le plugin zigate. Si j'ai bien compris, on arrive à détecter que le périphérique n'est plus joignable: dans ce cas, on lui envoie un Devices[Unit].TimedOut