Bonjour
Je tente de récupérer l'information de mes compteurs temps utilisation de ma géothermie a l'aide d'un esp8266/espeasy, ça fonctionne avec un relais, "on" le compteur démarre et compte le temps "off" .....pas de comptage.
Je récupère bien le on/off via une virtuel switch mais ne sait pas trop quel voie prendre pour updater un compteur dans domoticz,
-je ne voie rien dans Easyesp pour compter incrementer un compteur !
-peut être que démarrer un script dans dz quand la switch passe a "on" et compter le temps jusqu'au passage a "off"serait plus simple.
Des idées ?
Compteur Temps incremental
Re: Compteur Temps incremental
Bonjour, j'utilise un script lua pour calculer les temps d'utilisation de la ventilation de ma chaudière bois
l'idée c'est d'updater un variable last_fan_chaudiere quand le ventilateur est sur 'on' (la créer dans DZ - variable utilisateur de type numérique)
puis quand la ventilateur est sur 'off', on calcule le temps d'utilisation (utilisation de la fonction differencetime (de On -> Off) et on update un compteur incremental DZ (ici Duree_fan_chaudiere)
le script n'indique pas les return commandarray etc....
l'idée c'est d'updater un variable last_fan_chaudiere quand le ventilateur est sur 'on' (la créer dans DZ - variable utilisateur de type numérique)
puis quand la ventilateur est sur 'off', on calcule le temps d'utilisation (utilisation de la fonction differencetime (de On -> Off) et on update un compteur incremental DZ (ici Duree_fan_chaudiere)
Code : Tout sélectionner
function timedifference (s) -- s est une chaine date heure formaté
year = string.sub(s, 1, 4)
month = string.sub(s, 6, 7)
day = string.sub(s, 9, 10)
hour = string.sub(s, 12, 13)
minutes = string.sub(s, 15, 16)
seconds = string.sub(s, 18, 19)
t1 = os.time()
t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
difference = os.difftime (t1, t2) --résultat en secondes
return difference
end
-- Durée ventilation chaudière
if (devicechanged['Garage1_Ventillateur_chaudiere(GW)'] == 'Off') then
duree = timedifference(uservariables['last_fan_chaudiere'])/60
old_duree=tonumber(otherdevices_svalues['Duree_fan_chaudiere'])
if (old_duree == nil) then old_duree = 0 end
duree_tot=old_duree+duree
ts = otherdevices_idx['Duree_fan_chaudiere']..'|0|'..tostring(duree_tot) --idx du compteur 357
print('duree ventilation chaudiere ='..duree..'ancienne duree= '..old_duree..' MAJ CNT='..ts)
commandArray['UpdateDevice'] = ts
elseif (devicechanged['Garage1_Ventillateur_chaudiere(GW)'] == 'On') then
commandArray['Variable:last_fan_chaudiere'] = otherdevices_lastupdate['Garage1_Ventillateur_chaudiere(GW)']
endOpi
RFXCOM
RFLINK 433 & 315
Mysensors
Wifi & Mqtt
EspEasy - Tasmota
Zigate+
RFXCOM
RFLINK 433 & 315
Mysensors
Wifi & Mqtt
EspEasy - Tasmota
Zigate+
Re: Compteur Temps incremental
Merci Fredok, que veut tu dire par numérique
J'ai aussi trouver quelques chose ici viewtopic.php?t=2475qui semble le faire aussi.
Code : Tout sélectionner
variable utilisateur de type numériqueJ'ai aussi trouver quelques chose ici viewtopic.php?t=2475qui semble le faire aussi.
Re: Compteur Temps incremental
bonjour, je voulais dire de type "chaîne" il correspond à une "date-h
s"
Opi
RFXCOM
RFLINK 433 & 315
Mysensors
Wifi & Mqtt
EspEasy - Tasmota
Zigate+
RFXCOM
RFLINK 433 & 315
Mysensors
Wifi & Mqtt
EspEasy - Tasmota
Zigate+