Ecodevices GCE : lecture Base index
Ecodevices GCE : lecture Base index
Bonjour à tous,
ayant eu du mal à lire les données de mon EcoDevice, mon compteur EDF étant en mode Base et non en mode HP/HC
viewtopic.php?f=7&t=484&start=10
j'ouvre ce nouveau post car Domoticz ne sais pas lire les valeurs en "Base index" .
Le problème est connu, mais n'a semble t'il pas été solutionné :
https://github.com/domoticz/domoticz/issues/576
Quelqu'un a t'il une solution, facilement adaptable car je suis nul question programmation ?
Domoticz est installé sur un NAS Synology.
Merci d'avance.
ayant eu du mal à lire les données de mon EcoDevice, mon compteur EDF étant en mode Base et non en mode HP/HC
viewtopic.php?f=7&t=484&start=10
j'ouvre ce nouveau post car Domoticz ne sais pas lire les valeurs en "Base index" .
Le problème est connu, mais n'a semble t'il pas été solutionné :
https://github.com/domoticz/domoticz/issues/576
Quelqu'un a t'il une solution, facilement adaptable car je suis nul question programmation ?
Domoticz est installé sur un NAS Synology.
Merci d'avance.
Re: Ecodevices GCE : lecture Base index
Bonjour,
Comme le pilote EcoDevices de Domoticz ne gère pas le tarif de base, j'utilise un script LUA et des matériel / dispositifs virtuels pour suivre ma consommation électrique et fuel.
Si vous savez comment placer des scripts dans votre Synology (il y a un tutorial en anglais ici https://www.domoticz.com/forum/viewtopic.php?t=9921), je peux vous expliquer mes scripts,
Cordialement
Comme le pilote EcoDevices de Domoticz ne gère pas le tarif de base, j'utilise un script LUA et des matériel / dispositifs virtuels pour suivre ma consommation électrique et fuel.
Si vous savez comment placer des scripts dans votre Synology (il y a un tutorial en anglais ici https://www.domoticz.com/forum/viewtopic.php?t=9921), je peux vous expliquer mes scripts,
Cordialement
McSoda
Domoticz running on Synology 212j (main), Raspberry Pi B rev2 (remote)
Modules : z-wave, x10, teleinfo, EcoDevices, RFXtrx433e, karotz
Domoticz running on Synology 212j (main), Raspberry Pi B rev2 (remote)
Modules : z-wave, x10, teleinfo, EcoDevices, RFXtrx433e, karotz
Re: Ecodevices GCE : lecture Base index
Bonjour,
merci de la proposition. je suis évidemment preneur.
J'attends les scripts avec une impatience non dissimulée.
merci de la proposition. je suis évidemment preneur.
J'attends les scripts avec une impatience non dissimulée.
Re: Ecodevices GCE : lecture Base index
Très bien
Un peu de temps pour les mettre en forme et les rendre présentables,et je les poste.
McSoda
Domoticz running on Synology 212j (main), Raspberry Pi B rev2 (remote)
Modules : z-wave, x10, teleinfo, EcoDevices, RFXtrx433e, karotz
Domoticz running on Synology 212j (main), Raspberry Pi B rev2 (remote)
Modules : z-wave, x10, teleinfo, EcoDevices, RFXtrx433e, karotz
Re: Ecodevices GCE : lecture Base index
Bonjour,
pas de problème pour l'attente
. Je sais que ce n'est pas si simple que cela les mises en forme. Tous mes remerciements pour le temps passé.
Vu le nombre de consultations, je pense que cela sera apprécié.
De mon côté, j'apprends à utiliser Lua. J'arrive déjà à écrire dans les logs de Domoticz, ce qui est pour moi une belle avancée.
A te lire
pas de problème pour l'attente
Vu le nombre de consultations, je pense que cela sera apprécié.
De mon côté, j'apprends à utiliser Lua. J'arrive déjà à écrire dans les logs de Domoticz, ce qui est pour moi une belle avancée.
A te lire
Re: Ecodevices GCE : lecture Base index
Les scripts sont à placer dans le répertoire de scripts:
[*] /home/pi/domoticz/scripts/lua sur mon RaspBerry,
[*] /volume1/@appstore/domoticz/var/scripts/lua sur mon Synology
Il faut tout d'abord télécharger un traducteur json que l'on trouve à l'adresse : http://regex.info/blog/lua/json
et le placer dans le répertoire de scripts.
Et ci-dessous le code de mon script script_time_EcoDevices.lua. Il est très basique. J'ai essayé de concentrer la partie configurayion en haut du script.
Il faut obligatoirement indiquer l'adresse IP de l' Eco Devices, ainsi que les index des dispositifs virtuels.
Comme c'est un script 'Time', il est lancé toutes les minute environ.
Cette première version est plutôt simpliste, mais je compte l'améliorer quand j'aurai un peu progressé dans ma connaissance des
dispositifs Domoticz.
[*] /home/pi/domoticz/scripts/lua sur mon RaspBerry,
[*] /volume1/@appstore/domoticz/var/scripts/lua sur mon Synology
Il faut tout d'abord télécharger un traducteur json que l'on trouve à l'adresse : http://regex.info/blog/lua/json
et le placer dans le répertoire de scripts.
Et ci-dessous le code de mon script script_time_EcoDevices.lua. Il est très basique. J'ai essayé de concentrer la partie configurayion en haut du script.
Il faut obligatoirement indiquer l'adresse IP de l' Eco Devices, ainsi que les index des dispositifs virtuels.
Comme c'est un script 'Time', il est lancé toutes les minute environ.
Cette première version est plutôt simpliste, mais je compte l'améliorer quand j'aurai un peu progressé dans ma connaissance des
dispositifs Domoticz.
Code : Tout sélectionner
-- EcoDevices
-- == CONFIGURATION =========================================================================
-- Mettre ici l'adresse de l' Eco Devices
local ECO_DEVICES = 'xxx.xxx.xxx.xxx'
-- Mettre ici les index correspondant aux différents capteurs virtuels Domoticz. On les trouve
-- dans la colonne Idx de la page Réglages / Dispositifs (0 : pas utilisé)
local T1_id = 0
local T2_id = 0
local C1_id = 0
local Mul_C1 = 1
local C2_id = 0
local Mul_C2 = 1000 -- L'Eco Devices renvoie des ml en decimales, mais le compteur Domoticz n'affiche
-- que des entiers
-- == FIN CONFIGURATION =====================================================================
-- ------------------------------------------------------------------------------------------
-- Fonction pour extraire la sortie console d'une commande
--
function os.capture(cmd, raw)
local handle = assert(io.popen(cmd, 'r'))
local output = assert(handle:read('*a'))
handle:close()
if raw then
return output
end
output = string.gsub(
string.gsub(
string.gsub(output, '^%s+', ''),
'%s+$',
''
),
'[\n\r]+',
' '
)
return output
end
-- ------------------------------------------------------------------------------------------
-- Fonction pour mettre à jour les consommations
--
local function update(commandArray, id, power, energy, type)
if (type < 2) then
table.insert(commandArray, {['UpdateDevice'] = id .. "|0|" .. power .. ";" .. energy})
else
table.insert(commandArray, {['UpdateDevice'] = id .. "|0|" .. energy})
end
return
end
-- ------------------------------------------------------------------------------------------
-- ------------------------------------------------------------------------------------------
-- Chargement du decodeur JSON
json = (loadfile "/home/pi/domoticz/scripts/lua/json.lua")()
commandArray = {}
-- Path to curl
local curl = '/usr/bin/curl'
-- url à joindre
local url = ' http://' .. ECO_DEVICES .. '/api/xdevices.json?cmd=10/'
local retour = os.capture(curl .. url, true);
-- print('capture ' .. retour)
local jsonData = json:decode(retour)
if (T1_id ~= 0) then
update(commandArray, T1_id, tonumber(jsonData.T1_PAPP), tonumber(jsonData.T1_BASE), 1)
end
if (T2_id ~= 0) then
update(commandArray, T1_id, tonumber(jsonData.T2_PAPP), tonumber(jsonData.T2_BASE), 1)
end
if (C1_id ~= 0) then
update(commandArray, C2_id, 0, tonumber(jsonData.INDEX_C1) * Mul_C1, 2)
end
if (C2_id ~= 0) then
update(commandArray, C2_id, 0, tonumber(jsonData.INDEX_C2) * Mul_C2, 2)
end
return commandArray
McSoda
Domoticz running on Synology 212j (main), Raspberry Pi B rev2 (remote)
Modules : z-wave, x10, teleinfo, EcoDevices, RFXtrx433e, karotz
Domoticz running on Synology 212j (main), Raspberry Pi B rev2 (remote)
Modules : z-wave, x10, teleinfo, EcoDevices, RFXtrx433e, karotz
Re: Ecodevices GCE : lecture Base index
Merci.
Je m'y mets et reviendrai prochainement.
Je m'y mets et reviendrai prochainement.
Re: Ecodevices GCE : lecture Base index
Bonjour,
J'arrive à acquérir les infos (je debug avec des print bien placés). J'obtiens par exemple dans les logs:
LUA: jsonData.T1_PAPP 0
LUA: jsonData.T1_BASE 2294663
LUA: jsonData.T2_PAPP 530
LUA: jsonData.T2_BASE 22524097
mais dès que je crée des devices, je plante Domoticz. Je pense que les bases sont mauvaises.
D'où ces questions de base:
comment sont créés les virtual devices? A partir du hardware "Ecodevice par lan" ou directement par "Dummy" ou autre?
Utilisation de "P1 smart meter" ou autre?
Quels sont les noms à utiliser? Y a t'il une casse à respecter?
Est il possible d'avoir une capture d'écran de la page hardware et de celle des devices? Plus parlant qu'un long discours.
Merci d'avance.
J'arrive à acquérir les infos (je debug avec des print bien placés). J'obtiens par exemple dans les logs:
LUA: jsonData.T1_PAPP 0
LUA: jsonData.T1_BASE 2294663
LUA: jsonData.T2_PAPP 530
LUA: jsonData.T2_BASE 22524097
mais dès que je crée des devices, je plante Domoticz. Je pense que les bases sont mauvaises.
D'où ces questions de base:
comment sont créés les virtual devices? A partir du hardware "Ecodevice par lan" ou directement par "Dummy" ou autre?
Utilisation de "P1 smart meter" ou autre?
Quels sont les noms à utiliser? Y a t'il une casse à respecter?
Est il possible d'avoir une capture d'écran de la page hardware et de celle des devices? Plus parlant qu'un long discours.
Merci d'avance.
Re: Ecodevices GCE : lecture Base index
Dans la page Matériel, il faut créer un matériel de type 'Dummy':
puis en cliquant sur le bouton Créer capteurs virtuels :
ajouter des capteurs de type 'Compteur':
On voit ensuite ces capteurs dans la page Dispositifs
Dans l'onglet Mesure,en cliquant sur le bouton Editer
on peut adapter les caractéristiques des capteurs :
McSoda
Domoticz running on Synology 212j (main), Raspberry Pi B rev2 (remote)
Modules : z-wave, x10, teleinfo, EcoDevices, RFXtrx433e, karotz
Domoticz running on Synology 212j (main), Raspberry Pi B rev2 (remote)
Modules : z-wave, x10, teleinfo, EcoDevices, RFXtrx433e, karotz
Re: Ecodevices GCE : lecture Base index
Bonjour,
merci de cette précision. Cela m'a fait bien avancer. Pour avoir un bon fonctionnement, j'ai du rebooter mon NAS et réinstaller Domoticz: il m'était impossible de créer plus d'un dispositif à partir d'un dummy. C'était une des causes de mon incompréhension et des plantages de Domoticz.
Maintenant c'est ok.
J'ai modifié les lignespar
et
par
J'ai maintenant mes valeurs qui s'affichent dans les graphiques. J'ai juste à trouver comment supprimer la première valeur qui est celle du compteur total.
Encore merci pour tout de ma part et de celle de la communauté.

merci de cette précision. Cela m'a fait bien avancer. Pour avoir un bon fonctionnement, j'ai du rebooter mon NAS et réinstaller Domoticz: il m'était impossible de créer plus d'un dispositif à partir d'un dummy. C'était une des causes de mon incompréhension et des plantages de Domoticz.
Maintenant c'est ok.
J'ai modifié les lignes
Code : Tout sélectionner
if (T2_id ~= 0) then
update(commandArray, T1_id, tonumber(jsonData.T2_PAPP), tonumber(jsonData.T2_BASE), 1)
endCode : Tout sélectionner
if (T2_id ~= 0) then
update(commandArray, T2_id, tonumber(jsonData.T2_PAPP), tonumber(jsonData.T2_BASE), 1)
end
Code : Tout sélectionner
if (C1_id ~= 0) then
update(commandArray, C2_id, 0, tonumber(jsonData.INDEX_C1) * Mul_C1, 2)
end
Code : Tout sélectionner
if (C1_id ~= 0) then
update(commandArray, C1_id, 0, tonumber(jsonData.INDEX_C1) * Mul_C1, 2)
endEncore merci pour tout de ma part et de celle de la communauté.