Page 7 sur 7

Re: Calcul du coût de l'électricité

Publié : 07 juil. 2021, 22:07
par Paldor
Bonsoir Keros et merci pour ton aide, voici mon compteur lui c'est Ok les données vienne d'un Sonoff POW R2

erreur du log suite a modif du code au niveau du device mis 1986 et 2 petit trait devant nomCompteur


2021-07-07 22:01:50.562 Error: dzVents: Error: (3.1.7) coutElectricité v1.0: There is no device with that name or id: 1988
2021-07-07 22:01:50.562 Error: dzVents: Error: (3.1.7) coutElectricité v1.0: An error occurred when calling event handler scrips_dzVents_cout_Electricite_PAC
2021-07-07 22:01:50.562 Error: dzVents: Error: (3.1.7) coutElectricité v1.0: .../dzVents/scripts/scrips_dzVents_cout_Electricite_PAC.lua:23: attempt to index a nil value

Code : Tout sélectionner

--                                - dzVents_device_coutElectricité_PAC -
--
--
--
local nomCompteur = '1986'                  -- Nom/idx compteur consommation électrique - Conso électrique Pompe a chaleur
local nomCout = '1988'                      -- Nom/idx comteur coût électrique (type compteur RFXmeter/compteur, unité cents d'€) - Coût Pompe à chaleur
local coutkWh = 0.0952                      -- Coût du kWh en €
local coutAbonnement = 177.48               -- Coût annuel abonnement en €
local scriptName = 'coutElectricité'        -- Nom du script
local scriptVersion = '1.0'
return {
        on = {
                devices = {1986
                        --nomCompteur
				 }
        },
        logging = {
            level   =   domoticz.LOG_NONE,
            marker  =   scriptName..' v'..scriptVersion
    },
        execute = function(domoticz, device)
            cost = ((device.counterToday * coutkWh) + (coutAbonnement / 365)) * 100 -- coût /kWh + 1/365eme du coût annuel de l'abonnement * 100 (pour l'avoir en cents)
            previousCost = domoticz.devices(nomCout).counter 	-- Compteur coût
            if previousCost > cost then         				-- Compteur journalier remis à zéro
                domoticz.log('Remise à zéro du côut électricité, coût '..tostring(cost)..', précédent = '..tostring(previousCost),domoticz.LOG_INFO)
                cost = 0                        				-- Force la valeur mini à zéro, indispensable pour un compteur juste
            end
        domoticz.devices(nomCout).setValues(nil, tostring(cost))
        end
}

Image

Image

Re: Calcul du coût de l'électricité

Publié : 08 juil. 2021, 12:38
par Keros
En mettant deux petits traits tu as commenté la suite de la ligne. Tu as donc effacer la ligne qui enregistrait la variable avec le nom du compteur > normal qu'il y ait des erreurs.

Pour faire apparaitre une ligne dans les logs en DzVents :

Code : Tout sélectionner

domoticz.log('Cette ligne devrait apparaitre dans les log',domoticz.LOG_FORCE)
Ou tout simplement Print('Ce texte apparait dans les logs') mais c'est plus une commande à utiliser en LUA.

L'idée est de déboguer : voir le petit guide dans ma signature.

Re: Calcul du coût de l'électricité

Publié : 08 juil. 2021, 13:42
par Paldor
Bonjour bon on avance Keros j'ai un OWL +USB Compteur d'énergie triphasé qui se nomme (OWL) de la j'ai un compteur P1 smart Meter, Energy qui se nomme (Conso électricité OWL) et mon RFXMert counter (Coût électricité) de la j'ai modifier local nomCompteur = Conso électricité OWL par OWL et la sa marche

Code : Tout sélectionner

--[[                                - dzVents_device_coutElectricité_OWL -

]]--

local nomCompteur = 'OWL'                  -- Nom/idx compteur consommation électrique - Conso électrique - Conso électricité OWL - 1993
local nomCout = 'Coût électricité'         -- Nom/idx comteur coût électrique (type compteur RFXmeter/compteur, unité cents d'€) - Coût électricité - 1958
local coutkWh = 0.0952                      -- Coût du kWh en €
local coutAbonnement = 177.48               -- Coût annuel abonnement en €
local scriptName = 'coutElectricité_OWL'    -- Nom du script
local scriptVersion = '1.0'                 -- Version du script
return {
        on = {
                devices = {
                        nomCompteur
				 }
        },
        logging = {
            level   =   domoticz.LOG_NONE,
            marker  =   scriptName..' v'..scriptVersion
    },
        execute = function(domoticz, device)
            cost = ((device.counterToday * coutkWh) + (coutAbonnement / 365)) * 100 -- coût /kWh + 1/365eme du coût annuel de l'abonnement * 100 (pour l'avoir en cents)
            previousCost = domoticz.devices(nomCout).counter -- Compteur coût
            if previousCost > cost then         -- Compteur journalier remis à zéro
                domoticz.log('Remise à zéro du côut électricité, coût '..tostring(cost)..', précédent = '..tostring(previousCost),domoticz.LOG_INFO)
                cost = 0                        -- Force la valeur mini à zéro, indispensable pour un compteur juste
            end
        domoticz.devices(nomCout).setValues(nil, tostring(cost))
        end
}
Image

Maintenant pourquoi je ne s'ai pas

Re: Calcul du coût de l'électricité

Publié : 08 juil. 2021, 19:07
par Keros
Les widgets Conso électricité OWL et OWL sont de types différents. Ce ne sont pas les mêmes commandes : voir https://www.domoticz.com/wiki/DzVents:_ ... ic_devices

Re: Calcul du coût de l'électricité

Publié : 10 juil. 2021, 11:16
par Paldor
Bonjour Keros je revient ver toi pour te remercier de l'aide apporté, maintenant tous marche j'ai regarder chaque code et sonde quelque erreur toujours bien regarder les noms ou Idx mais bon cela marche :D
Mes mesures.png
Mes mesures.png (63.4 Kio) Consulté 3992 fois
et un des codes les autres sont identique

Code : Tout sélectionner

--[[                                - dzVents_device_coutElectricité_Chaudière -

]]--

local nomCompteur = 'Conso électrique Chaudière'        -- Nom/idx compteur consommation électrique - Conso électrique Chaudière
local nomCout = 'Coût Chaudière'                    	-- Nom/idx comteur coût électrique (type compteur RFXmeter/compteur, unité cents d'€) 					-- Coût Chaudière
local coutkWh = 0.0952                      		-- Coût du kWh en €
local coutAbonnement = 177.48               		-- Coût annuel abonnement en €
local scriptName = 'coutElectricité'        		-- Nom du script
local scriptVersion = '1.0'                 		-- Version du script
return {
        on = {
                devices = {
                        nomCompteur
				 }
        },
        logging = {
            level   =   domoticz.LOG_NONE,
            marker  =   scriptName..' v'..scriptVersion
    },
        execute = function(domoticz, device)
            cost = ((device.counterToday * coutkWh) + (coutAbonnement / 365)) * 100 -- coût /kWh + 1/365eme du coût annuel de l'abonnement * 100 (pour l'avoir en cents)
            previousCost = domoticz.devices(nomCout).counter -- Compteur coût
            if previousCost > cost then         -- Compteur journalier remis à zéro
                domoticz.log('Remise à zéro du côut électricité, coût '..tostring(cost)..', précédent = '..tostring(previousCost),domoticz.LOG_INFO)
                cost = 0                        -- Force la valeur mini à zéro, indispensable pour un compteur juste
            end
        domoticz.devices(nomCout).setValues(nil, tostring(cost))
        end
}

Re: Calcul du coût de l'électricité

Publié : 10 juil. 2021, 11:26
par Keros
Tant mieux que cela fonctionne :)

D'où venait ton erreur : c'était l'écriture avec l'IDX qui ne fonctionnait pas ? Et tu l'as corrigé en écrivant le 'nom du compteur' ?

Re: Calcul du coût de l'électricité

Publié : 11 juil. 2021, 11:48
par Paldor
Bonjour Keros oui j'ai copier les noms et coller mais en plus j'ai mélanger des capteur le problème de faire plusieurs code en même tant, refait un après l'autre écrit sur papier et ensuite corriger merci a toi pour ton temp et ton aide :D