Page 19 sur 33

Re: Repartition Consommation HC / HP...

Publié : 01 nov. 2016, 14:51
par manu512
Ok tous a l'air OK.

Modifie
-- update(HistoHCHP, idxCptHisto, 0, 0, 1)
-- update(capteurCptHP, 726, 0, 0, 5)
-- update(capteurCptHC, idxCptHC, 0, 0, 5)
-- update(euro, idxEuro, 0, 0, 1)
-- update(euro, 728, 0,0, 5)

en
update(HistoHCHP, idxCptHisto, 0, 0, 1)
update(capteurCptHP, 726, 0, 0, 5)
update(capteurCptHC, idxCptHC, 0, 0, 5)
update(euro, idxEuro, 0, 0, 1)
update(euro, 728, 0,0, 5)

et dis nous si cela fonctionne.

Re: Repartition Consommation HC / HP...

Publié : 01 nov. 2016, 16:01
par stephdes
J'ai toujours cette erreur :

Error: EventSystem: in C:\Program Files (x86)\Domoticz\scripts\lua\script_device_compteurHC-HP.lua: ...86)\Domoticz\scripts\lua\script_device_compteurHC-HP.lua:28: attempt to concatenate local 'id' (a nil value) :cry:

Re: Repartition Consommation HC / HP...

Publié : 01 nov. 2016, 16:50
par manu512
C'est super bizarre. Peut etre specifique a Windows.

essaye en modifiant les lignes suivantes :
local idxCptHP = otherdevices_idx[capteurCptHP]
local idxCptHC = otherdevices_idx[capteurCptHC]
local idxCptHisto = otherdevices_idx[HistoHCHP]
local idxEuro = otherdevices_idx[euro]

a la place de otherdevices_idx[xxx] met le N° Idx des differents capteurs que tu trouvera dans l'onglet Dispositifs.

J'explique pourquoi : capteurCptHP est la variable contenant le nom du 'capteurCptHP'
idxCptHP = otherdevices_idx[capteurCptHP] doit recuperer le N° Idx grace a la variable capteurCptHP qui contient normalement la variable "Compteur_HP".

Or dans ton cas, cela ne se fait pas. Tu as plusieurs compteur avec des noms semblables ?

Essai deja ca :) Sinon on essayera autre chose.
(Copie la page Dispositifs sinon. Au pire passe en MP, on mettra la solution si on trouve).

Re: Repartition Consommation HC / HP...

Publié : 01 nov. 2016, 17:26
par stephdes
Euh...

Problème résolu :|

J'ai commencé à modifier les Idx et ta remarque m'a fait tilt :
Peut etre specifique a Windows.
Je me suis dit, quand ça ne fonctionne pas avec Windows, je fais quoi ? Je tente de redémarrer !

Et... bingo !

Image


Franchement je m'en veux de ne pas y avoir pensé avant...

Et du coup, je peux remettre les commentaires devant les lignes suivantes ou pas ?
update(HistoHCHP, idxCptHisto, 0, 0, 1)
update(capteurCptHP, 726, 0, 0, 5)
update(capteurCptHC, idxCptHC, 0, 0, 5)
update(euro, idxEuro, 0, 0, 1)
update(euro, 728, 0,0, 5)
Je pense qu'il faut les remettre sinon les compteurs vont tout le temps se mettre à zéro non ?

Re: Repartition Consommation HC / HP...

Publié : 01 nov. 2016, 18:39
par manu512
Nickel :)

Oui tu peux remettre les commentaires devant les lignes :)

Content d'avoir aidé :)

Re: Repartition Consommation HC / HP...

Publié : 04 déc. 2016, 00:33
par sphinxou
bonsoir

j'ai mis en place le même script qu'au début du tuto mais je voudrais juste rajouter un widget qui rassemble le montant en euros de la consommation en HP et HC.

comment remettre à zéro la consommation totale.

merci

PS: je suis débutant...

Re: Repartition Consommation HC / HP...

Publié : 04 déc. 2016, 10:14
par jacob
Hello.

J'ai adapté ce script http://tisseurdetoile.net/blog/2016/201 ... oticz.html pour avoir le coût EDF:

Code : Tout sélectionner

------------------------------------------------------------------------------
--
-- Copyright © 2016 Le TisseurDeToile <webmaster@tisseurdetoile.net> and released under
-- the GNU General Public License, v2 or later.
-- NOTA : don't forget to create variable
--
-- Installation :
-- Créer les variables Utilisateurs suivantes : EDF_LAST, EDF_LAST_HC, EDF_LAST_HP
-- Créer deux capteur virtuel : Capteur electrique ent noter leur index
------------------------------------------------------------------------------
--
-- Tarif EDF 2016 TTC 9kVA
local prix_abonnement = 126.52
local prix_hc = 0.1150
local prix_hp = 0.1636
--
local capteurGlobal = 'EDF Total'
local debug = 'OUI'                 -- mode debug
local meter_base = 'EDF_LAST'
local flagHC = 'Heures creuses'
local delta = 0
local inc = 0 
local idxCptHP = '219' 
local idxCptHC = '220' 
local idxFacture   = '221' 
------------------------------------------------------------------------------
function round(x, n)
    n = math.pow(10, n or 0) 
    x = x * n 
    if x >= 0 then x = math.floor(x + 0.5) else x = math.ceil(x - 0.5) end
    return x / n
end


-- Fonction de mise à jour
function update(id, power, energy) 
    commandArray[inc]= {['UpdateDevice'] = id .. "|0|" .. power .. ";" .. energy} 
    inc = inc + 1 
    return  
end

commandArray = {}

if (devicechanged[capteurGlobal]) then
    
    conso_last = tonumber(uservariables['EDF_LAST'])
    
    if not conso_last then 
        conso_last = 0
    end
    
    -- Recuperation des valeurs du compteur global
    local consoCumule
    local consoInstant
    consoInstant, consoCumule = otherdevices_svalues[capteurGlobal]:match("([^;]+);([^;]+)")
    consoInstant = tonumber(consoInstant)
    consoCumule = tonumber(consoCumule)
    
    delta = consoCumule - conso_last
    
    commandArray['Variable:EDF_LAST'] = tostring(consoCumule)
    
        local conso_hc = tonumber(uservariables['EDF_LAST_HC'])
    local conso_hp = tonumber(uservariables['EDF_LAST_HP'])

    local factureHP = round(conso_hp * prix_hp / 1000, 2)
    local factureHC = round(conso_hc * prix_hc / 1000, 2)
    local factureAn = prix_abonnement + factureHP + factureHC

    if (debug == 'OUI') then
--      print('EDF>>> conso_last = '..tostring(conso_last))
--      print('EDF>>> delta   = '..tostring(delta))
        print('EDF>>> Instant = '..tostring(consoInstant) .. 'Wh')
--      print('EDF>>> Cumul   = '..tostring(consoCumule))
--      print('EDF>>> Prix abo = '..tostring(prix_abonnement))
        print('EDF>>> Conso HP TTC = ' .. tostring(round(conso_hp/1000),0) .. 'kWh / ' ..tostring(factureHP) .. '€')
        print('EDF>>> Conso HC TTC = ' .. tostring(round(conso_hc/1000),0) .. 'kWh / ' ..tostring(factureHC) .. '€')
        print('EDF>>> Facture  TTC = '..tostring(factureAn) .. '€')

--      if (otherdevices[flagHC] == 'On') then
--          print('EDF>>> Période : Heure Creuse')
--      else
--          print('EDF>>> Période : Heure Pleine')
--      end
    end

    if (otherdevices[flagHC] == 'On') then
        -- Periode heures creuse
        commandArray['Variable:EDF_LAST_HC'] = tostring(conso_hc + delta)
        update(idxCptHC, consoInstant, conso_hc)
        update(idxCptHP, 0, conso_hp)
    else
        commandArray['Variable:EDF_LAST_HP'] = tostring(conso_hp + delta)
        update(idxCptHP, consoInstant, conso_hp)
        update(idxCptHC, 0, conso_hc)
    end

    update(idxFacture, factureAn, factureAn)

end

return commandArray

    
    

Re: Repartition Consommation HC / HP...

Publié : 04 déc. 2016, 20:40
par sphinxou
Je test et vous tien au courant
Merci bcp

Re: Repartition Consommation HC / HP...

Publié : 04 déc. 2016, 23:03
par sphinxou
bonsoir

je souhaite juste prendre la valeur totale du compteur HP X prix edf et la valeur totale du compteur HC X prix edf additionner les 2 et lafficher dans un compteur dans longlet mesures..

merci pour votre aide

Re: Repartition Consommation HC / HP...

Publié : 13 déc. 2016, 12:22
par Seb13
sphinxou a écrit :bonsoir

je souhaite juste prendre la valeur totale du compteur HP X prix edf et la valeur totale du compteur HC X prix edf additionner les 2 et lafficher dans un compteur dans longlet mesures..

merci pour votre aide
Tu veux la somme des deux mais en € ? ou KW ?

Je crois que c'est déjà fait pour le KW