Compteur Temps incremental

Forum dédié aux bricolages d'objets connectés IOT et leurs communications avec DomoticZ :
- Remplacement de firmware des prises, modules relais ...
- Fabrication à base d'ESP8266, de NodeMCU, de Weemos et consorts ...
QcVictor
Messages : 79
Inscription : 17 janv. 2015, 14:52

Compteur Temps incremental

Message par QcVictor »

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 ?
Fredok
Messages : 90
Inscription : 12 août 2016, 15:04

Re: Compteur Temps incremental

Message par Fredok »

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)

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)']
end
le script n'indique pas les return commandarray etc....
Opi
RFXCOM
RFLINK 433 & 315
Mysensors
Wifi & Mqtt
EspEasy - Tasmota
Zigate+
QcVictor
Messages : 79
Inscription : 17 janv. 2015, 14:52

Re: Compteur Temps incremental

Message par QcVictor »

Merci Fredok, que veut tu dire par numérique

Code : Tout sélectionner

variable utilisateur de type numérique

J'ai aussi trouver quelques chose ici viewtopic.php?t=2475qui semble le faire aussi.
Fredok
Messages : 90
Inscription : 12 août 2016, 15:04

Re: Compteur Temps incremental

Message par Fredok »

bonjour, je voulais dire de type "chaîne" il correspond à une "date-h:m:s"
Opi
RFXCOM
RFLINK 433 & 315
Mysensors
Wifi & Mqtt
EspEasy - Tasmota
Zigate+
Répondre