afficher l intensité Electrique

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]
titis14
Messages : 138
Enregistré le : 22 juin 2018, 14:09

Re: afficher l intensité Electrique

Message par titis14 »

Je comprends pas ce matin sur un autre PC c'est bon et je ne me suis pas trompé de log car on vois bien que les graphiques sont identique
Image

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

Re: afficher l intensité Electrique

Message par denis_brasseur »

Remède miracle : vidage du cache.
Pi3 + DD PiDrive + RFXtrx433 + AEON Labs ZW090
7 Modules fil pilote ZMNHJD1
2 détecteur fumées CHACON 34131
5 Bresser Capteur thermo/hygro
1 contacteur porte Philio PST02-1A Z
OWL Micro+ CM180
D2L LINKY
FGR-223 "Roller Shutter 3"

Guigui
Messages : 25
Enregistré le : 12 sept. 2015, 16:19

Re: afficher l intensité Electrique

Message par Guigui »

Bonjour la communauté !


J'ai un petit souci concernant le debut du script

Si je veux utiliser les données dynamique pour la tension EDF en direct J4ai un message d'erreur



voici mon code

Code : Tout sélectionner

local idx = 19 --idx du device virtual
local cm180 = 'OWL_CM180_IDX1' --nom du capteur CM180
local tension = otherdevices_svalues['TENSION_EDF_IDX100'] --valeur de la tension, de l'onduleur
--local tension = '235' --valeur de la tension, puisque non mesuré par le CM180
function round(num, dec)
   if num == 0 then
	 return 0
   else
	 local mult = 10^(dec or 2)
	 return math.floor(num * mult + 0.5) / mult
   end
end

commandArray = {}



if (devicechanged[cm180]) then
    --on calcul l'intensite
    --print('Valeur '..otherdevices[cm180])
    p1, p2 = string.match(otherdevices_svalues[cm180], "(%d+.%d*);(%d+.%d*)")
    --on les transforme en Ampere
	intensite = p1 / tension
	--2 chiffres après la virgule
	intensite = round(intensite, 2)
	commandArray[#commandArray+1]={['UpdateDevice'] = idx..'|0|'..intensite} ---- mise a jour du device virtuel
end
return commandArray



Et le message d'erreur que j'ai est le suivant

Code : Tout sélectionner

 2020-06-09 16:32:14.407 (RFLink) General/kWh (OWL_CM180_IDX1)
2020-06-09 16:32:14.456 Status: EventSystem: Script event triggered: Script_HP_HC
2020-06-09 16:32:14.419 Error: EventSystem: in Intensité: [string "local idx = 19 --idx du device virtual..."]:23: attempt to perform arithmetic on a nil value (local 'tension') 

et voici les log des events

Code : Tout sélectionner

100	2020-06-09 16:33:02	Tension_EDF_IDX100	237	0/237
1	2020-06-09 16:32:50	OWL_CM180_IDX1	547.000;36340336.000	0/547.000;36340336.000
19	2020-06-09 16:34:50	Intensite_IDX19	2.33	0/2.33


Je comprend rien, j'ai bien une tension qui est logguée dans mon device 100, je m'arrache les cheveux .


Auriez vous une piste ? Je suis très mauvais en dev :/

Merci d'avance

Keros
Messages : 406
Enregistré le : 23 juil. 2019, 20:57

Re: afficher l intensité Electrique

Message par Keros »

Le message d'erreur indique un problème sur la variable tension qui semblerait nulle.

Est-ce que tu as essayé de faire un print() de la variable tension ? Ton script fonctionne quand tu "forces" la valeur à 235 ?

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

Re: afficher l intensité Electrique

Message par denis_brasseur »

Probleme de nom du device tension de l'onduleur TENSION_EDF_IDX100

Code : Tout sélectionner

local tension = otherdevices_svalues['TENSION_EDF_IDX100'] --valeur de la tension, de l'onduleur
Dans ton log, on voit un nom de device different
100 2020-06-09 16:33:02 Tension_EDF_IDX100 237 0/237
Strict respect des noms de device, majuscule/minuscule.
Pi3 + DD PiDrive + RFXtrx433 + AEON Labs ZW090
7 Modules fil pilote ZMNHJD1
2 détecteur fumées CHACON 34131
5 Bresser Capteur thermo/hygro
1 contacteur porte Philio PST02-1A Z
OWL Micro+ CM180
D2L LINKY
FGR-223 "Roller Shutter 3"

Guigui
Messages : 25
Enregistré le : 12 sept. 2015, 16:19

Re: afficher l intensité Electrique

Message par Guigui »

Strict respect des noms de device, majuscule/minuscule.

LE boulet... Effectivement la ça fonctionne correctement :/


@denis_brasseur mille mercis, désolé pour la bourde de débutant.

ps merci aussi @Keros d'avoir pris le temps de me répondre!

Keros
Messages : 406
Enregistré le : 23 juil. 2019, 20:57

Re: afficher l intensité Electrique

Message par Keros »

Oui, Denis l'a vu tout de suite :mrgreen:

Répondre