Device announce Ikea Tradfi et hue pour last update

Forum dédié au plugin ZigBeeForDomoticZ : installation, paramétrage, utilisation, interfaces ...
pitchoun
Messages : 12
Inscription : 22 mars 2019, 12:15

Re: Device announce Ikea Tradfi et hue pour last update

Message par pitchoun »

Ç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.
Je ne vois aucun problème. Le comportement est en accord avec ce qui est documenté.
Je pense que l'idée du Touch est de faire un update (purement au niveau de la base de données) sans mettre en route toute la mécanique Domoticz afin de ne pas impacter les performances.

Les Notifications ( qui declenchent ) dzVents et LUA scripts sont liés à un changement d’état. Ici ce n'est pas le cas.

Quant au Refresh, c'est a utiliser à l'intérieur du Plugin pour rafraîchir la structure Devices du plugin ou cas où il y a eu update de la base sans notification.
- ZIgate USB-TTL
- Xiaomi Sensors et Switch
- Ikea Tradfri Bulb
- Hue Motion Sensor et Remote
- Aqara Bulb
benp
Messages : 98
Inscription : 29 oct. 2017, 09:35

Re: Device announce Ikea Tradfi et hue pour last update

Message par benp »

pitchoun a écrit : 25 mars 2019, 21:50
Ç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.
Je ne vois aucun problème. Le comportement est en accord avec ce qui est documenté.
Je ne suis pas sur que l'on se soit bien compris.
Pour moi l'incohérence est que lastUpdate retourne:
  • lastSeen avec l'API URL
  • lastUpdate avec dzvents
Est-ce le fonctionnement voulu et documenté?
Pour moi, lastSeen et last update devraient être accessibles indépendamment du la méthode d'interrogation utilisé.
Domoticz 2021.1/ Plugin Zigate 5.1.006/ Zigate Firmware 3.1e
Deufo
Messages : 280
Inscription : 26 févr. 2019, 16:25

Re: Device announce Ikea Tradfi et hue pour last update

Message par Deufo »

benp a écrit : 26 mars 2019, 07:55 Je ne suis pas sur que l'on se soit bien compris.
Pour moi l'incohérence est que lastUpdate retourne:
  • lastSeen avec l'API URL
  • lastUpdate avec dzvents
Est-ce le fonctionnement voulu et documenté?
Pour moi, lastSeen et last update devraient être accessibles indépendamment du la méthode d'interrogation utilisé.
Pipiche en a causé avec le gars qui bosse sur cette partie, ce n'est malheureusement pas possible de mettre à jour le lastupdate côté structure domoticz sans appel côté script. C'est pourquoi je me suis tourné vers l'appel à l'API.
Je ne trouve effectivement pas cela très propre car on a 2 valeurs différentes en fonction de l'appel.
benp
Messages : 98
Inscription : 29 oct. 2017, 09:35

Re: Device announce Ikea Tradfi et hue pour last update

Message par benp »

Deufo a écrit : 26 mars 2019, 10:14 Pipiche en a causé avec le gars qui bosse sur cette partie, ce n'est malheureusement pas possible de mettre à jour le lastupdate côté structure domoticz sans appel côté script. C'est pourquoi je me suis tourné vers l'appel à l'API.
Je ne trouve effectivement pas cela très propre car on a 2 valeurs différentes en fonction de l'appel.
On parle de ce post?:
https://www.domoticz.com/forum/viewtopi ... 65&t=27248
Personnellement, j'aurais préféré avoir aussi l'appel de script mais ça ne doit pas convenir à tout le monde...
Est-ce que la syntaxe dans le plugin est Devices[Unit].Update() au lieu de Devices[Unit].Touch() pour faire l'appel au script. Si oui, je vais tester ça dans le plugin.
Domoticz 2021.1/ Plugin Zigate 5.1.006/ Zigate Firmware 3.1e
Deufo
Messages : 280
Inscription : 26 févr. 2019, 16:25

Re: Device announce Ikea Tradfi et hue pour last update

Message par Deufo »

C'est bien ce sujet là.
L'update va mettre à jour la db et donc appeler les scripts, ce que l'on ne souhaite pas s'il n'y a pas de changement d'état.
pitchoun
Messages : 12
Inscription : 22 mars 2019, 12:15

Re: Device announce Ikea Tradfi et hue pour last update

Message par pitchoun »

benp a écrit : 26 mars 2019, 16:43
Deufo a écrit : 26 mars 2019, 10:14 Pipiche en a causé avec le gars qui bosse sur cette partie, ce n'est malheureusement pas possible de mettre à jour le lastupdate côté structure domoticz sans appel côté script. C'est pourquoi je me suis tourné vers l'appel à l'API.
Je ne trouve effectivement pas cela très propre car on a 2 valeurs différentes en fonction de l'appel.
On parle de ce post?:
https://www.domoticz.com/forum/viewtopi ... 65&t=27248
Personnellement, j'aurais préféré avoir aussi l'appel de script mais ça ne doit pas convenir à tout le monde...
Est-ce que la syntaxe dans le plugin est Devices[Unit].Update() au lieu de Devices[Unit].Touch() pour faire l'appel au script. Si oui, je vais tester ça dans le plugin.
La syntax n'a rien a voir, puisque quand pour utiliser Update il faut OBLIGATOIREMENT fournir nValue et sValue. Comme indiqué dans le post ci-dessus en référence, l'objectif est de ne pas declencher de notification

Pour moi entre LastUpdate (dsVent) n'a rien a voir avec lastSeen (API Json).
LastSeen est l'information de la base de données , ce qui est fournie par l'API json.
LastUpdate est une information fournie par le Framework dzVent et qui correspond à la dernière mise-a-jour de l'etat du device.
- ZIgate USB-TTL
- Xiaomi Sensors et Switch
- Ikea Tradfri Bulb
- Hue Motion Sensor et Remote
- Aqara Bulb
benp
Messages : 98
Inscription : 29 oct. 2017, 09:35

Re: Device announce Ikea Tradfi et hue pour last update

Message par benp »

pitchoun a écrit : 26 mars 2019, 21:17 Pour moi entre LastUpdate (dsVent) n'a rien a voir avec lastSeen (API Json).
LastSeen est l'information de la base de données , ce qui est fournie par l'API json.
LastUpdate est une information fournie par le Framework dzVent et qui correspond à la dernière mise-a-jour de l'etat du device.
Je suis bien d'accord sauf que dans l'API json lastseen s'appelle lastupdate...
Domoticz 2021.1/ Plugin Zigate 5.1.006/ Zigate Firmware 3.1e
benp
Messages : 98
Inscription : 29 oct. 2017, 09:35

Re: Device announce Ikea Tradfi et hue pour last update

Message par benp »

J'ai testé le lastupdate sur API cette nuit sur une ikea tradfri.
J'ai utilisé ce script:

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'] --au format string: heure API last update
            local Time = require('Time')
            local tupdate=Time(last) -- au format objet Time: heure API last update 

            print('------------------last update string: ' .. last .. ' last diff ' .. domoticz.time.compare(tupdate).minutes)
            if (domoticz.devices('TestV').state=='Off' and domoticz.time.compare(tupdate).minutes<4) then
                domoticz.devices('TestV'). switchOn()
            end
            if (domoticz.devices('TestV').state=='On' and  domoticz.time.compare(tupdate).minutes>6) then
                domoticz.devices('TestV'). switchOff()
            end
        end
    end
}
Notes pour comprendre/réutiliser le code:
  • Le device 139 est ma lampe ikea sur zigate
  • TestV est un interrupteur virtuel qui s'allume si lastupdate<4 minutes et d'éteind si lastupdate>6 minutes
  • TestV est censé représenter au mieux si l'ampoule est sous tension ou non
Ma lampe est restée allumée toute la nuit et mon interrupteur virtuel TestV s’éteint parfois. Pour le moment, je ne comprend pas trop pourquoi. Je vais tenter d'enregistrer domoticz.time.compare(tupdate).minutes pour pousser un peu mes investigations.
Voila le graphique de ce que ca donne pour une nuit allumée:
dz-api.PNG
dz-api.PNG (23.73 Kio) Consulté 4739 fois
Domoticz 2021.1/ Plugin Zigate 5.1.006/ Zigate Firmware 3.1e
pipiche
Messages : 4677
Inscription : 04 avr. 2018, 16:16
Contact :

Re: Device announce Ikea Tradfi et hue pour last update

Message par pipiche »

j'ai du mal à comprendre ce que tu cherches.

Quel est le problème exact que tu cherches à régler ?
benp
Messages : 98
Inscription : 29 oct. 2017, 09:35

Re: Device announce Ikea Tradfi et hue pour last update

Message par benp »

pipiche a écrit : 03 avr. 2019, 13:56 j'ai du mal à comprendre ce que tu cherches.

Quel est le problème exact que tu cherches à régler ?
Je veux détecter si mon ampoule est sous tension ou non à partir de last update.
Le script fait:
si last update>6 min éteindre le device virtuel
si lastupdate<4 min allumer le device virtuel

Le graphique ci-dessus montre que ça ne fonctionne pas: la lampe est restée sous tension et parfois lastupdate >6 minutes.
Pourquoi? Je n'ai pas encore trouvé.
Mes hypothèses sont
  • Bug dans mon script
  • Bug dans le plugin zigate
  • Perturbation du réseau zigate
Je penche plutôt vers la dernière hypothèse mais il faut que je pousse un peu plus les investigations.
Je pensais enregistrer lastupdate dans un device pourcentage virtuel mais les données ne sont enregistrées que tous les 5 minutes. Il va falloir que je trouve une autre solution: enregistrer dans un fichier ou en php...
Domoticz 2021.1/ Plugin Zigate 5.1.006/ Zigate Firmware 3.1e
Répondre