[Résolu] Sonoff - Aqara motion sensor mis à jour sans mouvement

Forum dédié au plugin ZigBeeForDomoticZ : installation, paramétrage, utilisation, interfaces ...
hestia
Messages : 397
Inscription : 12 sept. 2018, 22:36

[Résolu] Sonoff - Aqara motion sensor mis à jour sans mouvement

Message par hestia »

bonjour
j'ai un Aqara lumi.sensor_motion.aq2 et je constate que lastUpdate est mis à jour alors qu'il n'y a pas de mouvement (vu de domoticz)
Screenshot 2022-10-09 233836.png
Screenshot 2022-10-09 233836.png (87.62 Kio) Consulté 860 fois
Est-ce le fonctionnement normal?
Car il est plus difficile d'avoir le moment du dernier mouvement!
Pièces jointes
Screenshot 2022-10-09 233744.png
Screenshot 2022-10-09 233744.png (18.14 Kio) Consulté 860 fois
Dernière modification par hestia le 22 oct. 2022, 11:08, modifié 1 fois.
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Sonoff - Aqara motion sensor mis à jour sans mouvement

Message par Keros »

Ton screenshot indique que le moment indiqué est le last seen et non le last update. C'est normal.
Il faut aller dans les logs pour visualiser le dernier changement.

J'ai le même fonctionnent avec un détecteur d'ouverture.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
hestia
Messages : 397
Inscription : 12 sept. 2018, 22:36

Re: Sonoff - Aqara motion sensor mis à jour sans mouvement

Message par hestia »

Merci pour ton retour Keros
Ton screenshot indique que le moment indiqué est le last seen et non le last update
Très juste pour le screenshot, mais le last update est le même
Screenshot 2022-10-10 074430.png
Screenshot 2022-10-10 074430.png (18.44 Kio) Consulté 830 fois
vérifié par le script suivant

Code : Tout sélectionner

-- the triggered script

local dev1 = 205
local dev2 = 2796

-- log options
local LOG_DEBUG = 2         -- 0 =>ERROR / 1 => FORCE / 2 => DEBUG
local LOG_LEVEL
local LOGGING
if LOG_DEBUG == 2 then
    LOGGING = domoticz.LOG_DEBUG
    LOG_LEVEL = domoticz.LOG_DEBUG
elseif LOG_DEBUG == 1 then
    LOGGING = domoticz.LOG_ERROR
    LOG_LEVEL = domoticz.LOG_FORCE
else
    LOGGING = domoticz.LOG_ERROR
    LOG_LEVEL = domoticz.LOG_INFO
end


return {
    logging =   {
                level =   LOGGING
                },
	on = {

		devices = {dev1, dev2}

		},

	execute = function(dz, triggerObject)
	_G.logMarker =  dz.moduleLabel
	
    local function logWrite(str,level)  -- Support function for shorthand debug log statements
        if level == nil then
            level = LOG_LEVEL
        end
        dz.log(tostring(str),level)
    end
    local dev_2 = dz.devices(dev2)
    logWrite(dev_2.id .. ' ' .. dev_2.name .. ' ' .. dev_2.state .. ' ' .. dev_2.lastUpdate.raw)


end
}
Je comprends donc que cette info est aussi le signe de vie du device, est-ce cela?
Quelle est la règle? Tous les devices fonctionnent de même ou certaines catégories? Où est la valeur de la fréquence de ce signe de vie?
Il faut aller dans les logs pour visualiser le dernier changement
Comment procèdes-tu ... par script?
A part stocker la dernière vrai valeur de mouvement dans une variable ou un device, je ne vois pas comment (à part sql direct)
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Sonoff - Aqara motion sensor mis à jour sans mouvement

Message par Keros »

La fréquence du signe de vie va dépendre de la configuration de l'objet. Soit c'est codé en dur dans le firmware, soit ça peut être modifiable. Je sais qu'en ZigBee avec le plugin ZigBeeForDomoticZ, on peut changer certaines valeurs via les paramètres ou le configure reporting (en développement pour le moment).

Récupérer le "lastchange" par script ne semble pas natif. Comme tu es en DzVents, regarde avec les persistant Data. Tu stockes l'état do l'objet et lors d'un changement, tu vérifies avec l'état de l'objet stocké. Soit c'est le même, c'était un simple "Coucou je suis toujours là" soit il est différent et là, c'est vraiment un changement d'état. Dans ce cas, tu mets à jour la persistant data. En regardant la persistant data, tu peux connaitre son dernier changement. Cela reste interne au script DzVents.

Hors sujet : tu peux rapidement me dire d'où vient ton affichage des logs DomoticZ ? Tu as mis en place un serveur syslog ?
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
hestia
Messages : 397
Inscription : 12 sept. 2018, 22:36

Re: Sonoff - Aqara motion sensor mis à jour sans mouvement

Message par hestia »

Récupérer le "lastchange" par script ne semble pas natif. Comme tu es en DzVents...
ce que je pensais faire effectivement, de toute façon je vais faire une "synthèse" par zone
serveur syslog
oui, présenté ici
Smooth Home
j'envoie les log vers mon NAS Synology comme ça je peux rechercher des logs dans le passé assez loin et les exporter dans Excel pour une analyse approfondie, j'ai les log de domoticz et celle du système, des scripts lancés par cron... faut bien remplir le disque :-)
Deufo
Messages : 280
Inscription : 26 févr. 2019, 16:25

Re: Sonoff - Aqara motion sensor mis à jour sans mouvement

Message par Deufo »

Effectivement, le lastseen permet de savoir quand le périphérique s'est manifesté pour la dernières fois, ça permet de s'assurer qu'il est toujours en vie et communique.
Le lastUpdate contient lui le dernier moment où il y a eu un changement d'état.
Exemple chez moi ce soir, capteur d'ouverture (sur une fenêtre) :
lastSeen : 2022-10-10 20:51:17
lastUpdate : 2022-10-08 09:24:44

S'il y a un changement d'état, les 2 sont mis à jour car le périphérique vient de communiquer.
hestia
Messages : 397
Inscription : 12 sept. 2018, 22:36

Re: Sonoff - Aqara motion sensor mis à jour sans mouvement

Message par hestia »

Effectivement, le lastseen permet de savoir quand le périphérique s'est manifesté pour la dernières fois, ça permet de s'assurer qu'il est toujours en vie et communique.
Effectivement
Le lastUpdate contient lui le dernier moment où il y a eu un changement d'état.
ce qui n'est pas le cas avec Zigbee et/ou ce device, car le lastupdate est màj même sans changement d'état comme le montre le résultat du script plus haut
C'est la 1ere fois que je vois cela sur les capteurs de présence
pipiche
Messages : 4677
Inscription : 04 avr. 2018, 16:16
Contact :

Re: Sonoff - Aqara motion sensor mis à jour sans mouvement

Message par pipiche »

dans ce cas on a besoin de logs montrant cela.
Eventuellement activer debugCluster et debugLUMI, les logs se trouverons dans le fichier Logs/PluginZigbee-xx.log
Deufo
Messages : 280
Inscription : 26 févr. 2019, 16:25

Re: Sonoff - Aqara motion sensor mis à jour sans mouvement

Message par Deufo »


hestia a écrit : ce qui n'est pas le cas avec Zigbee et/ou ce device, car le lastupdate est màj même sans changement d'état comme le montre le résultat du script plus haut
C'est la 1ere fois que je vois cela sur les capteurs de présence
Le script ne montre rien malheureusement.
De plus, il est déclenché par 2 capteurs mais n'en affiche qu'un en fixe, le screenshot montre donc l'état du 2eme sur activation du 1er.
hestia
Messages : 397
Inscription : 12 sept. 2018, 22:36

Re: Sonoff - Aqara motion sensor mis à jour sans mouvement

Message par hestia »

Le script ne montre rien malheureusement
Le script seul effectivement.
Je propose de regarder le script avec les 2 screenshots précédent.
Globalement le script + les 2 screenshots montrent 2 choses
1/ Dzvents est triggeré par le lastseen: je n'avais pas vu avant, je ne sais pas si c'est normal
2/ Lastupdate est bien mis à jour dans Domoticz, ce que je n'avais pas pas avant non plus et me semble plus gênant
Le script est de la récup il est vrai, mais le fait qu'il y ait 2 device dans le trigger ne change rien au résultat, car

Code : Tout sélectionner

logWrite(dev_2.id .. ' ' .. dev_2.name .. ' ' .. dev_2.state .. ' ' .. dev_2.lastUpdate.raw)
aurait planté si triggered par dev1 ;-)
J'ai fait un script plus propre...
Répondre