[LUA] Consommation virtuelle

Vous avez créé 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.
ogulf
Messages : 445
Inscription : 15 juin 2017, 14:41

Re: Consommation virtuelle

Message par ogulf »

Script testé et adopté !
Merci au travail de tous :)

@rapinou :
rapinou a écrit :Après quelques test, voici mes modifs au script de vil1driver pour ajouter la gestion des coûts EDF et la gestion des heures pleines et creuses.
Il nécessite deux variables pour stocker les tarifs du kWh en HP et HC, un sélecteur pour enregistrer le planning des HP et HC, et un compteur par dispositif.
Ton adaptation est intéressante, surtout pour ceux qui, comme moi, n'ont pas encore de compteur intelligent ou d'OWL.
Ton script sera fiable tant qu'il n'y a pas de passage HP/HC entre l'ordre On et l'ordre Off.
Pour être le plus fin possible, il faudrait être capable de :
- vérifier s'il n'y a pas eu un changement de tarif au moment du Off
- si pas de changement, ton script marche
- si changement, alors on est passé de HP à HC ou bien de HC à HP
- on connait forcément l'heure de passage puisqu'elle est dans le calendrier hp_hc
- on calcule une sous-durée en secondes : durée1 entre On et changement de tarif ou bien durée2 entre changement de tarif et Off. Dans tous les cas comme durée1+durée2=durée, on saura déduire durée2 si on calcule durée1 (et inversement)
- enfin, on applique le prorata de chaque tranche au compteur HC et HP par "conso_cycle*durée1/durée" et "conso_cycle*durée2/durée"

Il est même possible de systématiser la démarche car s'il n'y a pas eu de changement de tarif, alors durée1 ou durée2 sera égale à 0, mais il faudra enlever la condition sur le tarif en cours, et avoir un cout_cycle1 et un cout_cycle2 : il suffira d'en faire la somme pour mettre à jour [device[4]]

Ca fait beaucoup pour gérer un "simple" changement de tarification EDF, mais tant qu'à calculer... ;-)

Je vais voir pour faire une proposition dans ce sens.
Domoticz Stable sur RPi3 + RFPlayer + ZWave+ + RFLink R48 :
- 11 x RF660P
- 1 x FGSD-002
- 10 x F007TH
- 5 x Emcoluxr EV1527 + 4 x NAS-DS01Z
- 4 x NAS-PD02Z
- 1 x Shelly 1PM
Paldor
Messages : 64
Inscription : 06 mai 2019, 16:54

Re: Consommation virtuelle

Message par Paldor »

Bonjour,

j'arrive un peux en retard je vient de découvrir Domoticz et Domoticz monitor je suis en retraite et je me lance dans la domotique pour piloter ma maison ma config un Raspberry Pi3 B+ un Rfxcom RFXtrx433XL ProXL1 plusieurs prise DIO ainsi que des modules prise et éclairage en DIO, j'ai déjà installer plusieurs code lua avec beaucoup de persévérance je suis arrivé a les installers.
Mon problème c'est la Consommation virtuelle avec se script

Code : Tout sélectionner

-- mesures virtuelles de consommation électrique
-- script de type DEVICE

--------------------------------------------------------------------------------------------------------


-- chargement des modules (http://easydomoticz.com/forum/viewtopic.php?f=17&t=3940)
dofile('/home/pi/domoticz/scripts/lua/modules.lua')

local debug = true  -- true pour voir les logs dans la console log Dz ou false pour ne pas les voir


--------------------------------------------------------------------------------------------------------

local devices = {}

-- tableau a renseigner {'dispositif', puissance, 'compteur'}

devices[1] = {'radiateur thomas', 900, 'conso thomas'}
--devices[2] = {'radiateur SDB', 1200, 'conso SDB'}
devices[3] = {'radiateur salon', 3200, 'conso salon'}
--devices[4] = {'radiateur parents', 800, 'conso parents'}
-- etc..

-- fin du tableau

commandArray = {} 

for n,device in pairs(devices) do
   if stateChange(device[1])  == 'On' then -- Si l'état du device passe à On :      
	-- affichage puissance instantanée
      power, energy = string.match(otherdevices_svalues[device[3]], "(%d+%.*%d*);(%d+%.*%d*)") 			-- Récupération de la valeur du compteur de consommation électrique
      commandArray['UpdateDevice'] = otherdevices_idx[device[3]] .. '|0|' .. device[2] .. ';' .. energy		-- Mise à jour du compteur (puissance instantanée)
      break
   end
   if stateChange(device[1]) == 'Off' then -- Si l'état du device passe à Off :
      log(device[1]..' est resté allumé '..duree..'s',debug)
      -- Envoi de la consommation dans le compteur de consommation électrique
      power, energy = string.match(otherdevices_svalues[device[3]], "(%d+%.*%d*);(%d+%.*%d*)")			-- Récupération de la valeur du compteur de consommation électrique
      energy = tonumber(energy + (device[2] / 3600 * duree))
      commandArray['UpdateDevice'] = otherdevices_idx[device[3]] .. '|0|0;' .. energy				-- Mise à jour du compteur (puissance instantanée à zéro + conso du cycle)
      break
   end
end   

return commandArray
J'ai créer les compteurs virtuels depuis le matériel virtuel (dummy)'radiateur thomas' 'conso thomas' 'radiateur salon' 'conso salon' pour les essai mais rien ni fait ne marche pas besoin aide merci

Une question sur les pages que je consulte je ne vois pas les images comment faire pour les voir cela pourrais surement m'aider
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Consommation virtuelle

Message par vil1driver »

Salut,

As tu des erreurs dans les logs de Domoticz ?
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
Paldor
Messages : 64
Inscription : 06 mai 2019, 16:54

Re: Consommation virtuelle

Message par Paldor »

oui j'ai ceci, mais je ne comprend pas l'erreur merci de votre aide

Code : Tout sélectionner

2019-06-23 19:27:06.425 Error: EventSystem: in Compteur_Virtuel: /home/pi/domoticz/scripts/lua/modules.lua:408: attempt to concatenate a nil value
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Consommation virtuelle

Message par vil1driver »

Les switchs radiateur sont bien ceux qui commandent tes radiateurs ?


Ps: les images sont parties avec une mise à jour.. Elles ne sont plus visibles par personne
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
Paldor
Messages : 64
Inscription : 06 mai 2019, 16:54

Re: Consommation virtuelle

Message par Paldor »

Bonsoir vil1driver, je n'ai pas trop compris je penser que je pouvais suivre la consommation de mes appareil qui tourne 24h sur 24h comme ma vmc, mon congélateur, mon frigo, ma box etc... avec un compteur virtuel.

tableau a renseigner {'dispositif', puissance, 'compteur'}

1 ) c'et quoi le dispositif ?
2 ) puissance OK - ma VMC 150 Watt
3 ) compteur OK - Réglages Matériel Créer un compteur virtuel, exemple Nom VMC Type de capteur Compteur

pour le dispositif je donne juste un nom ?

Merci pour votre aide
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: Consommation virtuelle

Message par vil1driver »

Si ça tourne h24, pas vraiment besoin de script

Ta vmc te coute 150*24*365/1000=1314kwh par an..
Soit environ 1314*0.14=184€
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
Paldor
Messages : 64
Inscription : 06 mai 2019, 16:54

Re: Consommation virtuelle

Message par Paldor »

Merci vildriver pour ta réponse comment mettre sa dans un compteur sans code ?
Matcha
Messages : 1
Inscription : 02 déc. 2019, 10:05
Localisation : Nantes

Re: Consommation virtuelle

Message par Matcha »

Bonjour,
Je fais mon entrée dans ce forum. Quoique je le lis depuis déjà quelques mois. Jusqu'à présent, j'ai réussi à m'en sortir en lisant les différents fils. J'ai installé depuis quelques semaines une programmation PID pour le chauffage de notre habitation. Ca fonctionne correctement. Un grand merci Vil1driver et à tous les autres contributeurs qui ont permis d'aboutir à une programmation fine et aboutie.
Je ne suis pas un expert en informatique. Bref.

Ma question : j'aimerais dans le cadre de ma consommation créer également un compteur chauffage général qui additionnerait toutes les consommations virtuelles de mes radiateurs. Ca me permettrait de le comparer rapidement avec mon relevé Linky et connaitre la part consacrée au chauffage. Est-ce possible ? Avez vous des premières pistes à me fournir ? Je repars du script "consommation virtuelle" ou dois-je créer un nouveau script ? Time ? Device ?

Je comprendrais aussi très bien que la réponse soit : documentes-toi, lis ! mais je ne suis pas expert, je copie et adapte à ma situation, créer c'est une toute autre histoire... Du coup, je tente ma chance auprès des experts...

Voila. Agréable journée.
TryphonDomo
Messages : 17
Inscription : 14 sept. 2019, 12:24
Localisation : Hte-Savoie
Contact :

Re: Consommation virtuelle

Message par TryphonDomo »

Un grand merci @vil1driver pour ce tuto qui a l'air plutôt simple mais qui m'a pris pas mal de temps.
Si jamais ça arrive à d'autres, pour le dummy, il faut prendre Electrique, et non P1 cmpteur intelligent...

Par contre, c'est vrai que c'est assez frustrant pour ma part d'avoir un super appareil de mesure (qualité de tension et donc puissance, énergie ==>UMG605) qui mesure à part et de ne pouvoir l'intégrer à Domoticz. Du coup, je fais une mesure prcise d'un appareil, et multiplie son temps d'utilisation pour avoir une notion de l'énergie consommée...
Yannick.
Domoticz sur synology 218+, RFlink
Capt. Temp. Oregon et Lorsoul(sous marque) Detect. présence, eau, mvt, cam
Staion météo WMR200(http://www.cuvat.meteoamikuze.com/) UMG605(Qualité de tension)
Répondre