Aller au contenu
Nico

Module virtuel EcoDevice RT2 pour Home Center 2

Recommended Posts

Il faut d'ailleurs que je publie une mise à jour du VD, car ils ont modifié un format dans un des derniers firmware qui du coup *1000 les données.

Si tu as la version pour le tri, me faire suivre je publie en post 1 !

Partager ce message


Lien à poster
Partager sur d’autres sites

Perso j'ai pas mal modifier ton VD

J'ai ajouté mes compteurs d'eau chaude et eau froid et la production de mes panneaux solaire, ainsi que la puissance instantanée de mes panneaux

Par contre comme je suis en autoconsommation je ne suis plus en heure creuse mais en base et je suis en triphasé

Se qui me dérange c'est tous les chiffres après la virgule, comment en avoir que 2 ou 3

 

 

 

ecodevice RT.png

EcoDevice_RT.vfib

Modifié par flacon030

Partager ce message


Lien à poster
Partager sur d’autres sites

 Il faut insérer la ligne

num=string.format("%.2f", num )

après la déclaration de la variable locale.

Si @pepite passe par là, tu en saura plus.

 

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

je dois louper quelque chose car si je met ta ligne cela me bloque les relevé

Ou placer cette ligne?

 

--VD gestion EcoDevice RT V1.00
--Réalisation : Nicolas HIRTZ
--Sources : Divers sur domotique-fibaro.fr (Surtout Moicphil et version ED V1)

--Important : Créer les variables globales :
--IHP / IHC / CONSO / PRIX_HP / PRIX_HC / MODE_TARIF / FROID / CHAUD / AP / PRODAP


--Déclaration variables
local hp = fibaro:getGlobal("IHP") / 1000
local hc = fibaro:getGlobal("IHC") / 1000
local conso = fibaro:getGlobal("CONSO")
local hp_jour = fibaro:getGlobal("PRIX_HP")
local hc_jour = fibaro:getGlobal("PRIX_HC")
--local mode_tarif = fibaro:getGlobal("MODE_TARIF")
local total_jour = hp_jour + hc_jour
local froid = fibaro:getGlobal("FROID") / 1000
local chaud = fibaro:getGlobal("CHAUD") / 1000
local ap = fibaro:getGlobal("AP") / 1000
local prodap = fibaro:getGlobal("PRODAP")


--Mise à jour libellé des étiquettes
fibaro:call(fibaro:getSelfId(), "setProperty", "ui.hp.value", hp .." Kw/h")
fibaro:call(fibaro:getSelfId(), "setProperty", "ui.hc.value", hc .." Kw/h")
fibaro:call(fibaro:getSelfId(), "setProperty", "ui.conso.value", conso .." Watt")
--fibaro:call(fibaro:getSelfId(), "setProperty", "ui.abo.value", mode_tarif)
fibaro:call(fibaro:getSelfId(), "setProperty", "ui.couthp.value", hp_jour .." €")
fibaro:call(fibaro:getSelfId(), "setProperty", "ui.couthc.value", hc_jour .." €")
fibaro:call(fibaro:getSelfId(), "setProperty", "ui.couttotal.value", total_jour .." €")
fibaro:call(fibaro:getSelfId(), "setProperty", "ui.froid.value", froid .." m³")
fibaro:call(fibaro:getSelfId(), "setProperty", "ui.chaud.value", chaud .." m³") 
fibaro:call(fibaro:getSelfId(), "setProperty", "ui.ap.value", ap .." Kw/h")
fibaro:call(fibaro:getSelfId(), "setProperty", "ui.prodap.value", prodap .." Watt")

--Mise à jour log sur le VD
--fibaro:log("Tarif : " ..mode_tarif .." - Total HC : " ..hc_jour .." - Total HP : " ..hp_jour .." - Total jour : " ..total_jour)

--Update des index
fibaro:sleep(3*1000)
fibaro:call(fibaro:getSelfId(), "pressButton", "1")

 

Partager ce message


Lien à poster
Partager sur d’autres sites

c'est bon j'ai trouvé

 

il faut remplacer "num" par conso pour mon cas

num=string.format("%.2f", num )
local conso = fibaro:getGlobal("CONSO")
conso=string.format("%.3f", conso )

 

  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

 Cool. :60:

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Si tu as le VD complet pour du Tri, je le publie en 1ère page.

Partager ce message


Lien à poster
Partager sur d’autres sites

il y a du ménage a faire dans le code mais il est fonctionnel en tri + panneau solaire + compteurs d'eau

Attention je suis en mode standard en teleinfo et non en historique

AP = apsystem (la prod des panneaux solaire en teleinfo par mesure de TOR

 

EcoDevice_RT.vfib

Modifié par flacon030

Partager ce message


Lien à poster
Partager sur d’autres sites

@nico à qu'en une version pour hc3 ?

Envoyé de mon BLA-L29 en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Regarde sur ta HC3...

Partager ce message


Lien à poster
Partager sur d’autres sites

@nico justement il n'y a rien donc je te demande juste si tu compte un jour porté ce VD sur hc3

Envoyé de mon BLA-L29 en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Je l'ai déjà créé et mis sur ta HC3 :)

 

(PS : C'est un joke)

(PS2 : Oui, quand je passerai sur HC3 il faudra forcément le porter, maintenant si tu as le tiens, je te laisse l'honneur de la version QA :))

Partager ce message


Lien à poster
Partager sur d’autres sites

@nico heureusemnt que @lazer est la il est entrain de faire une QA+Enfants au petit oignons et franchement j'ai plus confiance @lazer pour la programmation en lua :D

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui je vous disais par ailleurs, ne vous précipitez pas à réinventer la roue, je pense que mon QA IPX800 pourra gérer sans souci l'Eco Devices RT2, l'API semble totalement identique.

Il faudra juste que j'intègre la remonté de la teleinfo et des 2/3 spécificités de l'Eco Devices.

 

Un seul code LUA à maintenir c'est quand même plus simple pour tout le monde.

  • Like 2

Partager ce message


Lien à poster
Partager sur d’autres sites

@lazer ou@moicphil
Sujet à déplacer dans gce ?

Envoyé de mon BLA-L29 en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

J'allais dire absolument, mais en fait après avoir regardé le 1er post, je préfère le laisser là où il est... car c'est un tutoriel, il n'y a pas de présentation du produit.

Je ne sais pas si un autre topic déjà existant en traite, je ne m'étais pas trop intéressé au RT2 jusque là.

 

Si je me motive, je ferai une petite page de présentation rapide.

 

EDIT j'avais déjà fait tout le boulot à l'époque :D Google est magique !

 

Voilà qui est déplacé au bon endroit :

 

 

 

 

Modifié par Lazer

Partager ce message


Lien à poster
Partager sur d’autres sites

@lazer je fais cela demain cela te laissera le temps de faire le QA

Envoyé de mon BLA-L29 en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 9 heures, Lazer a dit :

Un seul code LUA à maintenir c'est quand même plus simple pour tout le monde.

Hello Je trouve l'idée vraiment bonne, si il n'y a plus qu'un seul code pour l'ipx et l'eco ça serait peut être bien de gérer les cas d'usages, j'entends par là les contrats possibles tel que heures pleines/creuse ou standard.

Sur l'eco, Il y a déjà des forks de ces codes rien que pour gérer ces deux cas,  qu'on put multipliable par la techno utilisée eco ou IPX. Sans parler de la production !

 

 

Modifié par TonyC

Partager ce message


Lien à poster
Partager sur d’autres sites

T'inquiète@lazer s'en occupe il est jeune dont il adore faire des enfants
Moi je suis trop vieux pour ces conneries

Envoyé de mon BLA-L29 en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Ce qui m'embête, et c'est la raison pour laquelle je n'ai pas encore partagé mon QA pour IPX800 v4, c'est que l'interface Web de la HC3 ne permet pas de modifier les variables des modules enfants.

Du coup je ne sais pas partager un QA aussi complet qui soit facile d'installation.... j'aurai aimé éviter de laisser l'utilisateur modifier le code LUA comme on a toujours été obligé de le faire sur les VD, ça complexifie tellement l'installation pour les néophyte. Et cela complexifie aussi l'évolution du code, car à chaque mise à jour du code, il faut que l'utilisateur modifier l'entête LUA avant le copier/coller.

 

Je viens de jeter un oeil plus approfondi à l'API de l'ED RT2, elle est identique, mais plus complète que celle de l'IPX800. Notamment sur les remontées des étiquettes de la téléinfo, et des pinces.

Ca fait un nombre de possibilités infinies, et je crois que je vais devoir me résigner à laisser l'utilisateur modifier le code LUA :(

 

Si quelqu'un a une idée....

  • Like 2

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui je comprends la complexité, je n'ai pas encore essayé de jouer avec la génération des QA enfants, je dis ça s'en savoir mais il 'y a pas moyen de conditionner la création et propagation des variables selon une définition dans le QA parent je fais un parallèle avec le QA netatmo, qui ne créait que les devices que tu utiles mais pas toutes celles possibles. Je sais sans pour autant connaitre que le problème n'est pas le même, je parle plutôt de l'approche, bien que la définition du contexte d'utilisation ne pourra pas se définir tout seul dans le cas ipx/rt2/eco ... peut être un paramétrage "simple" dans le QA parent à positionner avant la création des chields. J'espère pas trop dire de conneries là <_<

Modifié par TonyC
  • Like 1

Partager ce message


Lien à poster
Partager sur d’autres sites

Idée : Créer un éditeur de variable dans un QA qui permet de gérer ça (Et qui ferait tout par l'API) ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui, mais vu le nombre d'options considérables d'options à gérer (chaque entrée, sortie, compteur, numérique, analogique, teleinfo, etc) sur les IPX800/EDRT2, ça va faire soit une variable énorme avec plein d'options dedans (et l'utilisateur sera responsable de faire correctement l'encodage JSON), soit un très grand nombre de variables (1 option par variable)

 

Je ne vois rien d'idéal pour l'instant

Partager ce message


Lien à poster
Partager sur d’autres sites

×