Aller au contenu

Messages recommandés

Posté(e)

Hello,

Bizarre tu as l'air d'avoir tout fait comme il faut.

Est-ce que cela fonctionne si tu utilises l'autre méthode ? Tu peux tester ça en direct en cliquant sur le bouton "Rafraîchir" et en début tu verras bien si il récupère les statistiques.

Autre point important, as-tu bien renseigné dans ta scène le deviceId qui correspond àl'Id ton virtual device ? C'est de cette manière que la scène va récupérer l'adresse IP de l'Eco-Devices (cf l 16 de la scène)

  • 1 mois après...
Posté(e)

Bonjour, desolé de revenir sur le sujet mais je trouve nul part un DV compté (avec conso mensuel et instantané) pour une conso en TEMPO et je n ai pas encore la connaissance pour la faire moi meme .

J ai lu que certains l avait réalisé est il possible de la partager merci beaucoup

  • 2 mois après...
Posté(e)

Bonjour,

 

Savez vous il il possible de créer un power sensor virtuel afin d'avoir la conso dans le dashboard fibaro ?

 

Merci

 

Pierre

  • 7 mois après...
Posté(e)

Bonsoir a tous

depuis le passage a la V4110 le VD ne fonctionne plus avez vous le même problème 

voici le message d'erreur


[DEBUG] 20:40:03: An error occured ->0
[DEBUG] 20:40:03: No stats found, please check documentation and configuration

j ai effacé la variable et réinstallé mais rien n'y fait

une idée car il était top ce VD

merci 

Posté(e)

@Gazous merci de ton aide 

je viens de trouver le problème un changement d adresses ip de l ecodevice mais comment je peux pas le dire :15:

 

merci encore pour ton vd

cordialement

  • 1 mois après...
Posté(e)

Salut, j'essaie d'installer le VD de @Gazous mais j'ai un pb

j'ai pourtant tout bien fait et suivi scrupueusement le tuto :(

le debug du mainloop m'indique 

[ERROR] 17:47:59: line 64: bad argument #1 to 'find' (string expected, got nil)

cette ligne de code au debug ("an error occurred....") ici:

 jsonStats = fibaro:getGlobalValue("ecoDevicesStats")
  
  if not string.find(jsonStats, '{"product":"Eco-') then
    debug("An error occured -> "..jsonStats, "red")
    debug("No stats found, please check documentation and configuration", "orange")
    return false
  end

 

je ne comprends pas, pourtant le bouton raffraichir ramène bien l'info de l'éco device...

{"product":"Eco-devices","T1_PTEC":"HP..","T1_PAPP":530,"T1_HCHP":14499364,"T1_HCHC":7402853,"T2_PTEC":"----","T2_PAPP":0,"T2_BASE":0,"INDEX_C1":0,"INDEX_C2":0}

 

j'ai pas d'idée sur le pourquoi du pb, ce VD fonctionne t'il encore en v4.110?

 

 

Posté(e)

Hello, à priori tu as configuré ton VD pour qu'il s'alimente depuis la scène associée.

C'est cette scène qui doit remplir la variable globale ecoDevicesStats qui d'après tes logs est vide.

Donc tu dois vérifier que tu as bien crée la variable et également que ta scène tourne bien !

Posté(e)

Bonsoir @Gazous ben justement non, j'ai laissé pour l'instant le fonctionnement standard, la variable usescenetorefresh est restée a false

je cherche toujours :-/

Posté(e)

Dans ce cas ton bouton "Rafraîchir" ne fait pas bien le boulot !

As-tu bien crée la variable globale ???

As-tu bien renseigné les identifiants de connexion à ton Eco Devices ?

Posté(e)

Le debug du bouton rafraîchir me montre bien le retour de l'EC: 

{"product":"Eco-devices","T1_PTEC":"HP..","T1_PAPP":530,"T1_HCHP":14499364,"T1_HCHC":7402853,"T2_PTEC":"----","T2_PAPP":0,"T2_BASE":0,"INDEX_C1":0,"INDEX_C2":0}

 

si tu parles de la variable ecoDevicesStats, oui oui c'est bien créé

 

pour l'accès, je n'ai pas de password, mais je ne pense pas que le pb vienne de la vu que j'ai bien un retour json de l'écodevice via le bouton raffraichir

ecoDevicesStats
Posté(e)
Le 11/03/2017 à 23:31, Gazous a dit :

Ta variable est vide.

Vérifies bien son nom exact et qu'elle est crée dans le bon format

 

Capture d’écran 2017-03-11 à 23.30.20.jpg

Merci, j'avais bien fait le nécessaire. Ça commencé à fonctionner quand j'ai rebooté ma HC2. 

  • 1 mois après...
Posté(e) (modifié)

Bravo @Gazous :74:

 

Ton VD Eco-Devices est vraiment top. Sans vouloir vexer les autres, je trouve que c'est le plus abouti.

 

Certain diront qu'il manque le paramétrage pour d'autres tarifs EDF. Mais pour moi, qui suis dans le même cas que toi (HP/HC), c'est donc tout bon.

 

Merci. :13:

Modifié par MAM78
Posté(e)

Merci c'est gentil !

En fait j'avais commencé à coder la version pour les autres types d'abonnements mais je n'ai jamais pris le temps de finaliser...



Envoyé de mon iPhone en utilisant Tapatalk

  • 1 mois après...
Posté(e)

Salut, moi je suis avec le cas le plus simple je dirais, pas de multi tarif, pas de couleur de jour (lorraine), et pas d'heure pleine ou creuse, j'ai donc T1_BASE pour mes panneaux solaire et T2_BASE en consommation...

 

J'ai tenté de modifier ton VD en ajoutant "BASE" et en dupliquant tes lignes HP / HC mais ca ne fonctionne pas, j'ai bien la remonté depuis l'E-D dans la fenêtre debug du bouton rafraichir (j'utilise la version avec Scene à true)... je continu a chercher...

Posté(e) (modifié)

'Re, bon en corrigeant 2-3 lignes que j'avais ajouté, c'est tout bon, reste quelques point à traité, mais j'ai ma com' et affichage du tarif "TH",  de la valeur du compteur et la puissance en cours...

Modifié par Fanou
ortho
  • 1 mois après...
Posté(e)

Salut et bravo

je voudrai adapte ton VD a mon conteur electric il marche par impulsion donc relier au C1 de mon eco device

comment changer ton VD pour qu il marche sur le C1 et non pas sur T1 ? (j'ai dans le xml count0 et c0day)

autre question quel est la difference entre PPAP et PAPP ?

 

merci

Posté(e)

Salut charles, ou a tu vu "PPAP", c'est PAPP le bon nom... pour ton c1 mon la ligne que tu recupères...

Envoyé via Tapatalk

  • 6 mois après...
Posté(e) (modifié)

Bonjour,

Un grand merci pour ce tuto qui m'a permis de piloter un boiler triphasé via un triac pilotable 0-10V.

Je publierai sous-peu mon tutoriel complet. 

Mon code fonctionne parfaitement, mais j'aurai besoin de l'expertise des pros pour optimiser une boucle de moyenne glissante calculée sur les 5 dernières valeurs de consommation.

Si vous avez le temps, je suis preneur, je me disais que de travailler avec json serait sûrement plus efficace, mais je ne maîtrise pas assez le json.

 

Création des variables globales:

createGlobalIfNotExists("Consommation_Instantanee_0","0") -- Variable pour stocker conso instantanée t0
createGlobalIfNotExists("Consommation_Instantanee_1","0") -- Variable pour stocker conso instantanée t-1
createGlobalIfNotExists("Consommation_Instantanee_2","0") -- Variable pour stocker conso instantanée t-2
createGlobalIfNotExists("Consommation_Instantanee_3","0") -- Variable pour stocker conso instantanée t-3
createGlobalIfNotExists("Consommation_Instantanee_4","0") -- Variable pour stocker conso instantanée t-4
createGlobalIfNotExists("Consommation_Instantanee_5","0") -- Variable pour stocker conso instantanée t-5
createGlobalIfNotExists("Consommation_Instantanee_Compteur_Moyenne","0") -- Variable pour stocker t afin de calculer la moyenne de consommation

Appel de la fonction:

-- ---------------------------------------------------------
  -- Calcule la moyenne glissante sur les 5 dernières mesures
  -- de consomation pour permettre de founir une consigne plus
  -- stable au triac pilotant le boiler
  -- ---------------------------------------------------------
  ConsoInstantanee = CalculMoyenneGlissanteConsoInstantanee(ConsoInstantaneeBrute)
  debug(ConsoInstantanee, "fuchsia") 

Fonction:

---------------------------------------------------------
-- CalculMoyenneGlissanteConsoInstantanee(ValeurInstantanee)
-- Fonction pour calculer une moyenne glissante sur les 5
-- dernières mesures de consommation.
-- Ceci permet de calculer une consigne de pilotage du triac
-- lissée et évite les pics d'appels de courant.
-- Comme la mesure s'effectue toutes les 2 secondes, la moyenne
-- de consomation Instantanée est donc de 5 mesures en 10 secondes.
-- Les valeurs de consommation sont stockées dans 5 variables globales
-- La ValeurTemps également.
-- On retourne la valeur Moyenne de la consommation sur 5 mesures
-- Formatée avec 2 chiffres après la virgule.
---------------------------------------------------------
function CalculMoyenneGlissanteConsoInstantanee(ValeurInstantanee)
	local ValeurTemps
	local NomVariableGlobale = {"Consommation_Instantanee_0", "Consommation_Instantanee_1", "Consommation_Instantanee_2", "Consommation_Instantanee_3", "Consommation_Instantanee_4", "Consommation_Instantanee_5"}
	local ValeurTempsCalculVar = 1
	local ValeurMoyenneConsommation = 0

	ValeurTemps = fibaro:getGlobalValue("Consommation_Instantanee_Compteur_Moyenne")
	
	ValeurTemps = tonumber(ValeurTemps)
	
	if ValeurTemps <= 5 then  
   		ValeurTemps = ValeurTemps + 1
   	else
	   	ValeurTemps = 1
   	end
   fibaro:setGlobal(NomVariableGlobale[ValeurTemps], ValeurInstantanee)
   debug("NomVariableConteneur"..NomVariableGlobale[ValeurTemps])
		
   debug("ValeurTemps"..tostring(ValeurTemps))
   fibaro:setGlobal("Consommation_Instantanee_Compteur_Moyenne", ValeurTemps)
   while ValeurTempsCalculVar<= 5 do       
	   ValeurMoyenneConsommation = ValeurMoyenneConsommation + fibaro:getGlobal(NomVariableGlobale[ValeurTempsCalculVar])
	   debug(ValeurTempsCalculVar, "red")
	   debug(ValeurMoyenneConsommation, "red")
	   ValeurTempsCalculVar = ValeurTempsCalculVar + 1
	end
  	return(tonumber(string.format("%.2f",ValeurMoyenneConsommation/5)))
end
	

 

Merci aux Dieux du forum, @Gazous @Did @pepite @Steven et les autres pour vos suggestions d'optimisation :D

Modifié par sumsum
Erreur de frappe
Posté(e)

Bonjour,

 

Flatté d'avoir été cité pour de l'optimisation de code, mais là heuuu pas la bonne personne, tu n'imagines pas mon niveau en LUA ;-)

 

J'aurais quand même fait cela :

local ValeurTemps = tonumber(fibaro:getGlobalValue("Consommation_Instantanee_Compteur_Moyenne"))

 

Et ne me demande pas pourquoi mais sans réfléchir, j'aurais fait une boucle avec "For" et pas "while"..

 

Place aux experts ;-)

×
×
  • Créer...