Calcul du coût de l'électricité

Vous utilisez Windows © pour votre domotique avec Domoticz, ca ne fait rien on vous aime bien quand même. Ce forum est pour vous.
Répondre
Paldor
Messages : 57
Enregistré le : 06 mai 2019, 16:54

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

Message 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
Fichiers joints
Sonoff PAC.png
Sonoff PAC.png (21.22 Kio) Vu 805 fois
PAC.png
PAC.png (71.47 Kio) Vu 805 fois

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

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

Message 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.

Paldor
Messages : 57
Enregistré le : 06 mai 2019, 16:54

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

Message 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
Fichiers joints
cosook.png
cosook.png (29.32 Kio) Vu 784 fois

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

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

Message 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

Paldor
Messages : 57
Enregistré le : 06 mai 2019, 16:54

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

Message 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) Vu 744 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
}

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

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

Message 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' ?

Paldor
Messages : 57
Enregistré le : 06 mai 2019, 16:54

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

Message 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

Répondre