Page 1 sur 1
device date derniere modification
Publié : 26 avr. 2024, 23:05
par pierrotori
bonjour
j’utilise un script de type device et utilise la fonction lastupdate sauf que quand la device se declenche lastupdate me retourne la derniere date active donc celle du declenchement et je souhaiterais avoir celle d’avant le déclenchement
y a-t-il une fonction que j’ai loupe ou il faut gérer via la data persistente ?
pierre
Re: device date derniere modification
Publié : 27 avr. 2024, 13:52
par lost
Il doit y avoir un pb de double déclenchement: Ca ne servirait pas à grand chose de donner... le déclenchement courant dans une table alors qu'il suffit de lire l'heure présente!
Je suis un gros utilisateur des tables otherdevices_lastupdate et uservariables_lastupdate en pur Lua et aucun pb.
Re: device date derniere modification
Publié : 28 avr. 2024, 09:16
par pierrotori
peut-etre parce que j’utilise l’index de la device au lieu de récupérer le last update de la device qui a ete déclenché
Re: device date derniere modification
Publié : 06 mai 2024, 21:25
par pierrotori
j'ai essayé de récupérer lastUpdate d'une device qui se déclenche et ca correspond à la date de la mise à jour pas celle avant, la je ne comprend pas
Code : Tout sélectionner
return {
active = true,
on = {
devices = { 'test' }
},
logging = {
-- level = domoticz.LOG_INFO, -- Seulement un niveau peut être actif; commenter les autres
-- level = domoticz.LOG_ERROR,
level = domoticz.LOG_DEBUG,
-- level = domoticz.LOG_MODULE_EXEC_INFO,
marker = scriptName..' v'..scriptVersion
},
execute = function(dz, item)
-- PROGRAM STARTS
dz.log('============== TEST ==================', dz.LOG_INFO)
if item.isDevice then
dz.log('date TEST:'..dz.devices('test').lastUpdate.dDate , dz.LOG_DEBUG)
dz.log("date TEST avant: "..item.lastUpdate.dDate,dz.LOG_DEBUG)
end
end -- execute
} -- return
avec dump(), j'ai la dernière date d'appui et 2 fois ,la même clé
lastUpdate: 2024-05-07 08:21:56
Code : Tout sélectionner
2024-05-07 08:23:13.211 Status: dzVents: device> signalLevel: 12
2024-05-07 08:23:13.212 Status: dzVents: device> baseType: device
2024-05-07 08:23:13.212 Status: dzVents: device> hardwareID: 17
2024-05-07 08:23:13.212 Status: dzVents: device> active: false
2024-05-07 08:23:13.212 Status: dzVents: device> _nValue: 0
2024-05-07 08:23:13.212 Status: dzVents: device> isGroup: false
2024-05-07 08:23:13.212 Status: dzVents: device> isSecurity: false
2024-05-07 08:23:13.212 Status: dzVents: device> timedOut: false
2024-05-07 08:23:13.212 Status: dzVents: device> inActive: true
2024-05-07 08:23:13.212 Status: dzVents: device> isVariable: false
2024-05-07 08:23:13.212 Status: dzVents: device> isDevice: true
2024-05-07 08:23:13.212 Status: dzVents: device> lastUpdate: 2024-05-07 08:21:56
2024-05-07 08:23:13.213 Status: dzVents: device> isScene: false
2024-05-07 08:23:13.213 Status: dzVents: device> customImage: 9
2024-05-07 08:23:13.213 Status: dzVents: device> state: Off
2024-05-07 08:23:13.213 Status: dzVents: device> switchType: On/Off
2024-05-07 08:23:13.213 Status: dzVents: device> deviceType: Light/Switch
2024-05-07 08:23:13.213 Status: dzVents: device> _adapters:
2024-05-07 08:23:13.213 Status: dzVents: device> 1: Switch device adapter
2024-05-07 08:23:13.213 Status: dzVents: device> maxDimLevel: 100
2024-05-07 08:23:13.213 Status: dzVents: device> hardwareType: Dummy (Does nothing, use for virtual switches only)
2024-05-07 08:23:13.213 Status: dzVents: device> isHTTPResponse: false
2024-05-07 08:23:13.213 Status: dzVents: device> Image: Generic
2024-05-07 08:23:13.213 Status: dzVents: device> protected: false
2024-05-07 08:23:13.214 Status: dzVents: device> description:
2024-05-07 08:23:13.214 Status: dzVents: device> hardwareId: 17
2024-05-07 08:23:13.214 Status: dzVents: device> name: test
2024-05-07 08:23:13.214 Status: dzVents: device> icon: lightbulb
2024-05-07 08:23:13.214 Status: dzVents: device> idx: 587
2024-05-07 08:23:13.214 Status: dzVents: device> changed: true
2024-05-07 08:23:13.214 Status: dzVents: device> id: 587
2024-05-07 08:23:13.214 Status: dzVents: device> isTimer: false
2024-05-07 08:23:13.214 Status: dzVents: device> unit: 1
2024-05-07 08:23:13.214 Status: dzVents: device> levelVal: 0
2024-05-07 08:23:13.214 Status: dzVents: device> bState: false
2024-05-07 08:23:13.214 Status: dzVents: device> hardwareName: Réglages
2024-05-07 08:23:13.214 Status: dzVents: device> deviceId: 0001429B
2024-05-07 08:23:13.214 Status: dzVents: device> _state: Off
2024-05-07 08:23:13.215 Status: dzVents: device> deviceSubType: Switch
2024-05-07 08:23:13.215 Status: dzVents: device> hardwareTypeValue: 15
2024-05-07 08:23:13.215 Status: dzVents: device> nValue: 0
2024-05-07 08:23:13.215 Status: dzVents: device> isHardware: false
2024-05-07 08:23:13.215 Status: dzVents: device> usedByCamera: false
2024-05-07 08:23:13.215 Status: dzVents: device> level: 0
2024-05-07 08:23:13.215 Status: dzVents: device> sValue: Off
2024-05-07 08:23:13.215 Status: dzVents: device> _data:
2024-05-07 08:23:13.215 Status: dzVents: device> switchType: On/Off
2024-05-07 08:23:13.215 Status: dzVents: device> signalLevel: 12
2024-05-07 08:23:13.215 Status: dzVents: device> subType: Switch
2024-05-07 08:23:13.215 Status: dzVents: device> data:
2024-05-07 08:23:13.216 Status: dzVents: device> Image: Generic
2024-05-07 08:23:13.216 Status: dzVents: device> _nValue: 0
2024-05-07 08:23:13.216 Status: dzVents: device> unit: 1
2024-05-07 08:23:13.216 Status: dzVents: device> hardwareID: 17
2024-05-07 08:23:13.216 Status: dzVents: device> hardwareTypeValue: 15
2024-05-07 08:23:13.216 Status: dzVents: device> levelVal: 0
2024-05-07 08:23:13.216 Status: dzVents: device> maxDimLevel: 100
2024-05-07 08:23:13.216 Status: dzVents: device> _state: Off
2024-05-07 08:23:13.216 Status: dzVents: device> protected: false
2024-05-07 08:23:13.216 Status: dzVents: device> usedByCamera: false
2024-05-07 08:23:13.216 Status: dzVents: device> icon: lightbulb
2024-05-07 08:23:13.216 Status: dzVents: device> hardwareType: Dummy (Does nothing, use for virtual switches only)
2024-05-07 08:23:13.216 Status: dzVents: device> customImage: 9
2024-05-07 08:23:13.217 Status: dzVents: device> hardwareName: Réglages
2024-05-07 08:23:13.217 Status: dzVents: device> baseType: device
2024-05-07 08:23:13.217 Status: dzVents: device> description:
2024-05-07 08:23:13.217 Status: dzVents: device> lastUpdate: 2024-05-07 08:21:56
2024-05-07 08:23:13.217 Status: dzVents: device> image:
2024-05-07 08:23:13.217 Status: dzVents: device> changed: true
2024-05-07 08:23:13.217 Status: dzVents: device> name: test
2024-05-07 08:23:13.217 Status: dzVents: device> switchTypeValue: 0
2024-05-07 08:23:13.217 Status: dzVents: device> rawData:
2024-05-07 08:23:13.217 Status: dzVents: device> 1: 0
2024-05-07 08:23:13.217 Status: dzVents: device> lastLevel: 0
2024-05-07 08:23:13.217 Status: dzVents: device> deviceID: 0001429B
2024-05-07 08:23:13.217 Status: dzVents: device> protected: false
2024-05-07 08:23:13.218 Status: dzVents: device> batteryLevel: 255
2024-05-07 08:23:13.218 Status: dzVents: device> id: 587
2024-05-07 08:23:13.218 Status: dzVents: device> timedOut: false
2024-05-07 08:23:13.218 Status: dzVents: device> iconNumber: 75
2024-05-07 08:23:13.218 Status: dzVents: device> deviceType: Light/Switch
2024-05-07 08:23:13.218 Status: dzVents: device> rawData:
2024-05-07 08:23:13.218 Status: dzVents: device> 1: 0
2024-05-07 08:23:13.218 Status: dzVents: device> lastLevel: 0
2024-05-07 08:23:13.218 Status: dzVents: device> switchTypeValue: 0
comportement normal dans le wiki c'est bien écrit, donc il faut bien la stocker si on veut la date du lastUpdate dans un déclenchement devices
lastUpdate: Time Object: Time when the device was updated. **Note: The lastUpdate for devices that triggered the script at hand is in fact the previousUpdate time. The real lastUpdate time for these “script triggering” devices is the current time.
Re: device date derniere modification
Publié : 07 mai 2024, 09:23
par lost
Après avoir vérifié mes cas d'usage, c'est vrai que je n'utilise jamais le last update sur ce qui a déclenché dans un script device. C'est toujours sur un autre que celui qui déclenche, le plus souvent un virtuel d'ailleurs que je gère à partir des données d'un objet physique (et/ou une variable utilisateur servant à stocker des calculs intermédiaires, ce qui revient au même: On gère soit même).
D'ailleurs, en Lua, la table last update pour un device s'appelle otherdevices_lastupdate (et pour une user var, uservariables_lastupdate mais là pas d'ambiguité, ces dernières étant crées/alimentées par l'utilisateur).
Bref, le "other" du nommage en pur Lua (je n'aime pas la syntaxe de dzVent, personnellement) m'a sans doute intuitivement incité à rester dans le cadre voulu sans même en avoir conscience en fait!
Re: device date derniere modification
Publié : 07 mai 2024, 21:32
par pierrotori
de mon cote je n’avais pas utilisé encore le other device sur le trigger device , du coup j’ai utilise le data persistent pour le stocker, c’est donc une bonne solution on peut utiliser aussi la variable