Calcul de DJU

Vous avez crée un script lua dont vous êtes fier, un .sh génial, un programme python hors du commun, un tuto , c'est ici que vous pouvez les partager.
Soyez précis quant aux prérequis, les manips à faire pour que votre bijou fonctionne (des chmod ?, un apt-get à faire ...)
Décrivez précisément son fonctionnement
Placez votre code entre [Quote] et {/Quote]
Répondre
denis_brasseur
Messages : 232
Enregistré le : 24 déc. 2018, 17:05
Localisation : (26)

Re: Calcul de DJU

Message par denis_brasseur » 29 janv. 2019, 18:46

Merci papoo, tes script sont une merveille : documentés, indentés, faciles à utiliser.

J'utilisais le script initial dans sa V1.3, je suis passé à la V3.5.

J'ai 2 interrogations sur 2 fonctionnalités de ce script :

Ligne 45 du script initial :

Code : Tout sélectionner

on = {
        timer   = { 'on 01/10-20/05 at 06:02', 'on 01/10-20/05 at 18:02' },
        devices = { device_temp_ext } 	-- nom de la sonde de température/humidité extérieure'
    },
Rien ne s'exécute, alors que

Code : Tout sélectionner

timer   = { 'at 06:02', 'at 18:02' },
s'exécute correctement aux heures indiquées.

Autre anomalie, bloquante celle ci puisque retourne une erreur :

Code : Tout sélectionner

2019-01-29 18:21:00.646 Status: dzVents: Info: DJU Méthode COSTIC v2.5: ------ Start external script: dju_methode_COSTIC.lua:, trigger: at 18:21
2019-01-29 18:21:00.689 Status: dzVents: Debug: DJU Méthode COSTIC v2.5: Processing device-adapter for dev_temp_hum_baro: Temperature+humidity+barometer device adapter
2019-01-29 18:21:00.689 Status: dzVents: Debug: DJU Méthode COSTIC v2.5: --- --- --- Température Ext : 5.5 °C
2019-01-29 18:21:00.691 Status: dzVents: Debug: DJU Méthode COSTIC v2.5: --- --- --- température maximale du jour : 7.7 °C
2019-01-29 18:21:00.691 Status: dzVents: Error (2.4.6): DJU Méthode COSTIC v2.5: An error occured when calling event handler dju_methode_COSTIC
2019-01-29 18:21:00.691 Status: dzVents: Error (2.4.6): DJU Méthode COSTIC v2.5: .../domoticz/scripts/dzVents/scripts/dju_methode_COSTIC.lua:101: attempt to index a nil value
2019-01-29 18:21:00.691 Status: dzVents: Info: DJU Méthode COSTIC v2.5: ------ Finished dju_methode_COSTIC.lua
La ligne 101 correspond chez moi à ceci (ajout de commentaires qui explique ce décalage, chez toi, il s'agit de la ligne 80) :

Code : Tout sélectionner

 Tnj = domoticz.data.Tn.getLatest().data
Merci de ton retour, autant sur l'explication de 'getLatest' que de l'anomalie en elle même.
Domoticz + Raspberry Pi3 + Disque Dur PiDrive + RFXtrx433
10 Getdio 54755 (gestion chauffage)
2 CHACON 34131 (détecteur fumées)
5 Bresser Capteur thermo/hygro RC 5CH
2 CHACON DiO 54781 (contacteur porte)
OWL Micro+ CM180
Module D2L LINKY

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


papoo
Messages : 1882
Enregistré le : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Calcul de DJU

Message par papoo » 29 janv. 2019, 21:39

ce script DZvents utilise les données persistantes via un fichier qui ce trouve la chez moi

Code : Tout sélectionner

/home/pi/domoticz/scripts/dzVents/data/__data_dju_methode_COSTIC.lua
vérifie l'existence dans ce fichier de données formatées comme ceci :

Code : Tout sélectionner

	["Tn"] = {
		[1] = {
			["time"] = "2019-1-29 5:2:1.438";
			["data"] = 0.89999997615814;
		};
	};
Tn s'incrémente seulement à 6h02 du matin. si tu démarre ton script pour la première fois après cette heure ou si ton syteme est trop occupé pour le calculer à cette heure (c'est pour cela que je le calcul à 6:02 et non à 6:00), il n'y a effectivement pas de Tn ce qui peut peut-être provoquer l'erreur.
2019-01-29 21_37_39-Domoticz.png
2019-01-29 21_37_39-Domoticz.png (16.24 Kio) Vu 705 fois
getLatest().data va seulement chercher la première valeur data. C'est identique à get(1).data


pour ta première remarque je tentais seulement de répondre à l'interrogation de calouis. selon la doc ça devrait fonctionner mais personnellement je n'utilise pas. je vais donc l'enlever et tenter de palier au défaut ci-dessus
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

denis_brasseur
Messages : 232
Enregistré le : 24 déc. 2018, 17:05
Localisation : (26)

Re: Calcul de DJU

Message par denis_brasseur » 29 janv. 2019, 22:07

Ok, j'ai implémenté le script après 06h02.
J'ai bien le fichier __data_dju_methode_COSTIC.lua, mais la donnée ["Tn"] = { }; est vide.

Code : Tout sélectionner

["Tn"] = {
        };
J'ai remplacé getLatest().data par get(1).data, meme message d'erreur.

J'attend demain voir comment cela évolue.

Merci.
Domoticz + Raspberry Pi3 + Disque Dur PiDrive + RFXtrx433
10 Getdio 54755 (gestion chauffage)
2 CHACON 34131 (détecteur fumées)
5 Bresser Capteur thermo/hygro RC 5CH
2 CHACON DiO 54781 (contacteur porte)
OWL Micro+ CM180
Module D2L LINKY

papoo
Messages : 1882
Enregistré le : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Calcul de DJU

Message par papoo » 29 janv. 2019, 22:17

le calcul ne sera incrémenté qu'a 06:02 donc erreur jusque la. je tente de corriger cela
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


denis_brasseur
Messages : 232
Enregistré le : 24 déc. 2018, 17:05
Localisation : (26)

Re: Calcul de DJU

Message par denis_brasseur » 30 janv. 2019, 06:19

Le timer dans ce format à l'air de passer

Code : Tout sélectionner

timer   = {'at 06:08 on 01/10-31/12' , 'at 18:02 on 01/10-31/12', 'at 06:08 on 01/01-20/05', 'at 18:02 on 01/01-20/05'},

Code : Tout sélectionner

------ Start external script: dju_methode_COSTIC.lua:, trigger: at 06:08 on 01/01-20/05
Domoticz + Raspberry Pi3 + Disque Dur PiDrive + RFXtrx433
10 Getdio 54755 (gestion chauffage)
2 CHACON 34131 (détecteur fumées)
5 Bresser Capteur thermo/hygro RC 5CH
2 CHACON DiO 54781 (contacteur porte)
OWL Micro+ CM180
Module D2L LINKY

denis_brasseur
Messages : 232
Enregistré le : 24 déc. 2018, 17:05
Localisation : (26)

Re: Calcul de DJU

Message par denis_brasseur » 30 janv. 2019, 18:47

Après 24 h, cela fonctionne,

Code : Tout sélectionner

Tnj = domoticz.data.Tn.getLatest().data
retourne bien une valeur et met à jour le device.

Concernant

Code : Tout sélectionner

timer   = {'at 06:02 on 01/10-31/12' , 'at 18:02 on 01/10-31/12', 'at 06:02 on 01/01-20/05', 'at 18:02 on 01/01-20/05'},
cela fonctionne également.

Mais dans ce cas, il convient de remplacer, ligne 71 du script initial

Code : Tout sélectionner

if (item.trigger == 'at 06:02') then
par

Code : Tout sélectionner

if (item.trigger == 'at 06:02 on 01/10-31/12' or item.trigger == 'at 06:02 on 01/01-20/05') then
et de remplacer ligne 77 du script initial

Code : Tout sélectionner

if (item.trigger == 'at 18:02') then
par

Code : Tout sélectionner

if (item.trigger == 'at 18:02 on 01/10-31/12' or item.trigger == 'at 18:02 on 01/01-20/05') then
Le log :

Code : Tout sélectionner

2019-01-30 18:28:00.201 Status: dzVents: Info: DJU Méthode COSTIC v2.5: ------ Start external script: dju_methode_COSTIC.lua:, trigger: at 18:28 on 01/01-20/05
2019-01-30 18:28:00.267 Status: dzVents: Debug: DJU Méthode COSTIC v2.5: Processing device-adapter for dev_temp_hum_baro: Temperature+humidity+barometer device adapter
2019-01-30 18:28:00.267 Status: dzVents: Debug: DJU Méthode COSTIC v2.5: --- --- --- Température Ext : 4.8 °C
2019-01-30 18:28:00.268 Status: dzVents: Debug: DJU Méthode COSTIC v2.5: --- --- --- température maximale du jour : 8.8000001907349 °C
2019-01-30 18:28:00.269 Status: dzVents: Debug: DJU Méthode COSTIC v2.5: --- --- --- température minimale du jour : 1.7000000476837 °C
2019-01-30 18:28:00.269 Status: dzVents: Debug: DJU Méthode COSTIC v2.5: --- --- --- température moyenne du jour : 5.2500001192093 °C
2019-01-30 18:28:00.269 Status: dzVents: Debug: DJU Méthode COSTIC v2.5: --- --- --- Le Seuil de 18°C est supérieur à la température maximum atteinte lors des dernières 24 heures (8.8000001907349°C)
2019-01-30 18:28:00.269 Status: dzVents: Debug: DJU Méthode COSTIC v2.5: --- --- --- djc : 13
2019-01-30 18:28:00.271 Status: dzVents: Debug: DJU Méthode COSTIC v2.5: Processing device-adapter for DJU méthode COSTIC: Custom sensor device adapter
2019-01-30 18:28:00.271 Status: dzVents: Debug: DJU Méthode COSTIC v2.5: --- --- --- compteur avant mise à jour DJU méthode COSTIC: nil DJU
2019-01-30 18:28:00.271 Status: dzVents: Debug: DJU Méthode COSTIC v2.5: --- --- --- mise à jour compteur DJU méthode COSTIC: 13 DJU
2019-01-30 18:28:00.279 Status: dzVents: Info: DJU Méthode COSTIC v2.5: ------ Finished dju_methode_COSTIC.lua
Encore merci
Domoticz + Raspberry Pi3 + Disque Dur PiDrive + RFXtrx433
10 Getdio 54755 (gestion chauffage)
2 CHACON 34131 (détecteur fumées)
5 Bresser Capteur thermo/hygro RC 5CH
2 CHACON DiO 54781 (contacteur porte)
OWL Micro+ CM180
Module D2L LINKY

denis_brasseur
Messages : 232
Enregistré le : 24 déc. 2018, 17:05
Localisation : (26)

Re: Calcul de DJU

Message par denis_brasseur » 23 févr. 2019, 08:28

Bonjour papoo,

depuis 2 jours, une erreur est apparu dans les log :

Code : Tout sélectionner

Status: dzVents: Info: DJU Méthode COSTIC v2.5: ------ Start external script: dju_methode_COSTIC.lua:, trigger: at 08:03 on 01/01-20/05
Status: dzVents: Debug: DJU Méthode COSTIC v2.5: Processing device-adapter for dev_temp_hum_baro: Temperature+humidity+barometer device adapter
Status: dzVents: Debug: DJU Méthode COSTIC v2.5: --- --- --- température maximale du jour : 18.89999961853 °C
Status: dzVents: Debug: DJU Méthode COSTIC v2.5: --- --- --- température minimale du jour : 7.9000000953674 °C
Status: dzVents: Debug: DJU Méthode COSTIC v2.5: --- --- --- température moyenne du jour : 13.399999856949 °C
Status: dzVents: Debug: DJU Méthode COSTIC v2.5: --- --- --- a : 10.099999904633
Status: dzVents: Error (2.4.6): DJU Méthode COSTIC v2.5: An error occured when calling event handler dju_methode_COSTIC
Status: dzVents: Error (2.4.6): DJU Méthode COSTIC v2.5: .../domoticz/scripts/dzVents/scripts/dju_methode_COSTIC.lua:120: attempt to perform arithmetic on global 'temp_maxi' (a nil value)
Status: dzVents: Info: DJU Méthode COSTIC v2.5: ------ Finished dju_methode_COSTIC.lua

Code : Tout sélectionner

Status: dzVents: Error (2.4.6): DJU Méthode COSTIC v2.5: An error occured when calling event handler dju_methode_COSTIC
Status: dzVents: Error (2.4.6): DJU Méthode COSTIC v2.5: .../domoticz/scripts/dzVents/scripts/dju_methode_COSTIC.lua:120: attempt to perform arithmetic on global 'temp_maxi' (a nil value)
Et après recherche dans le script d'origine, je ne comprend d'ou provient la variable temp_maxi (ligne 89)

Code : Tout sélectionner

                local b = temp_maxi - Tnj
                domoticz.log("--- --- --- b : "..tostring(b), domoticz.LOG_DEBUG)
Cette erreur correspond au fait que la température max (18.89999961853 °C) est supérieur à la valeur de S (S = 18).
Il ne devrait pas s'agir plutot de Txj ?

Code : Tout sélectionner

	--local b = temp_maxi - Tnj
	local b = Txj - Tnj
Domoticz + Raspberry Pi3 + Disque Dur PiDrive + RFXtrx433
10 Getdio 54755 (gestion chauffage)
2 CHACON 34131 (détecteur fumées)
5 Bresser Capteur thermo/hygro RC 5CH
2 CHACON DiO 54781 (contacteur porte)
OWL Micro+ CM180
Module D2L LINKY

papoo
Messages : 1882
Enregistré le : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: Calcul de DJU

Message par papoo » 23 févr. 2019, 13:16

cela vient du fait que j'ai repris une partie de mon ancien script en modifiant le nom des variables mais je n'avais pas testé cette fonction la vue les températures ext au moment de la réalisation de ce script.
Merci pour le débogage
j'ai mis à jour le github
https://github.com/papo-o/domoticz_scri ... COSTIC.lua
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Répondre