Ecodevices GCE : lecture Base index
Re: Ecodevices GCE : lecture Base index
Bien vu pour les corrections
. J'ai voulu aller trop vite.
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
A la place de "compteur", j'ai utilisé "Electrique (Instant + compteur)" comme virtual sensor
J'ai même réussi à supprimer les valeurs aberrantes des graphiques en utilisant Shift & "clic droit de la souris" directement sur les points concernés des graphiques.
Bonne fin de WE .
J'ai même réussi à supprimer les valeurs aberrantes des graphiques en utilisant Shift & "clic droit de la souris" directement sur les points concernés des graphiques.
Bonne fin de WE .
Re: Ecodevices GCE : lecture Base index
Oui, c'est mieux avec "Electrique (Instant + compteur)" (je suis toujours en mode découverte avec Domoticz
). Merci de la découverte.
Par contre, absolument éviter le dispositif P1 Compteur intelligent (électrique). Cela plante Domoticz et il faut restaurer la base de données (je viens de l'expérimenter :-/ )
Par contre, absolument éviter le dispositif P1 Compteur intelligent (électrique). Cela plante Domoticz et il faut restaurer la base de données (je viens de l'expérimenter :-/ )
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
Je pense que "P1 Compteur intelligent (électrique)" ou "P1 Smart Meter Electric" ne fonctionne qu'avec l'Ecodevices (hardware Ecodevices par Lan) en mode HP/HC.
Je me contenterai donc du mode Base qui fonctionne maintenant, sans tenter le diable
Merci de l'info.
Je me contenterai donc du mode Base qui fonctionne maintenant, sans tenter le diable
Merci de l'info.
Re: Ecodevices GCE : lecture Base index
Bonjour
je suis debutant et ne comprend pas ou mettre les IDX
j ai fait :
local T1_id = 0
local T2_id = 0
local C1_id = 488
local Mul_C1 = 487
local C2_id = 0
local Mul_C2 = 1000
pensez vous que c est comme ca qu il faut faire?
merci
je suis debutant et ne comprend pas ou mettre les IDX
j ai fait :
local T1_id = 0
local T2_id = 0
local C1_id = 488
local Mul_C1 = 487
local C2_id = 0
local Mul_C2 = 1000
pensez vous que c est comme ca qu il faut faire?
merci
Re: Ecodevices GCE : lecture Base index
en faite j ai trouvé :
premier script : script_time_EcoDevices.lua :
deuxieme script pour la consomation d eau journalier : script_time_EcoDevices1.lua
il faudrait juste en faire qu un mais bon
Apres j ai créé des Dummy avec compteur incrementiel d eau pour un et compteur "counter" pour l autre
premier script : script_time_EcoDevices.lua :
Code : Tout sélectionner
-- EcoDevices
-- == CONFIGURATION =========================================================================
-- Mettre ici l'adresse de l' Eco Devices
local ECO_DEVICES = '192.168.1.10'
-- 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 = 487
local Mul_C1 = 0.1
local C2_id = 0
local Mul_C2 = 100 -- 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 url = ' http://' .. ECO_DEVICES .. '/api/xdevices.json?cmd=20/'
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, T2_id, tonumber(jsonData.T2_PAPP), tonumber(jsonData.T2_BASE), 1)
end
if (C1_id ~= 0) then
update(commandArray, C1_id, 0, tonumber(jsonData.INDEX_C1) * Mul_C1, 2)
end
if (C2_id ~= 0) then
update(commandArray, C2_id, 0, tonumber(jsonData.Day_C1) * Mul_C2, 2)
end
return commandArrayCode : Tout sélectionner
-- EcoDevices
-- == CONFIGURATION =========================================================================
-- Mettre ici l'adresse de l' Eco Devices
local ECO_DEVICES = '192.168.1.10'
-- 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 = 488
local Mul_C2 = 100 -- 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=20/'
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, T2_id, tonumber(jsonData.T2_PAPP), tonumber(jsonData.T2_BASE), 1)
end
if (C1_id ~= 0) then
update(commandArray, C1_id, 0, tonumber(jsonData.INDEX_C1) * Mul_C1, 2)
end
if (C2_id ~= 0) then
update(commandArray, C2_id, 0, tonumber(jsonData.Day_C1) * Mul_C2, 2)
end
return commandArrayApres j ai créé des Dummy avec compteur incrementiel d eau pour un et compteur "counter" pour l autre
- Pièces jointes
-
- Capture1.PNG (12.72 Kio) Consulté 6528 fois
-
- Capture.PNG (14.27 Kio) Consulté 6528 fois