Récupérer sa conso linky avec ecocompteur legrand

Vous avez crée un script lua dont vous êtes fier, un .sh génial, un programme python hors du commun, un tuto , c'est ici que vous pouvez les partager.
Soyez précis quant aux prérequis, les manips à faire pour que votre bijou fonctionne (des chmod ?, un apt-get à faire ...)
Décrivez précisément son fonctionnement
Placez votre code entre [Quote] et {/Quote]
Répondre
jcligny
Messages : 4
Enregistré le : 18 mars 2017, 21:27

Récupérer sa conso linky avec ecocompteur legrand

Message par jcligny » 01 janv. 2019, 14:50

Bonjour.

Je vous partage un petit script LUA qui permet de récupérer la consommation de votre linky en téléinfo si vous êtes déjà équipés d'un écocompteur legrand :

Il vous faut un capteur virtuel nommé Linky de type RFXMeter
L'url locale de votre ecocompteur legrand que je vous conseille de rendre statique via DHCP

Je me suis basé que un script existant mais je ne sais plus de qui donc désolé de ne pas donner de source

Debug = "NO" -- Turn debugging on ("YES") or off ("NO")

----------------------------------------------
------ Configuration ------
----------------------------------------------

-- domoticz
local url = 'http://192.168.0.25/data.json' -- url locale de votre écocompteur legrand
linkyidx = otherdevices_idx['Linky']

local function removeZeros(Id)
while true do
if Id:sub(1,1) == '0' then
Id = Id:sub(2)
else
break
end
end
return Id
end

----------------------------------------------
-- Fin de la partie configuration --
----------------------------------------------

commandArray={}

--import des fontions pour lire le JSON
json = (loadfile "/home/odroid/domoticz/scripts/lua/JSON.lua")() -- For Linux

local config=assert(io.popen("curl '"..url.."'"))
local location = removeZeros(config:read('*all'))
local trouve = string.find(location,'"conso_base" : ')
local consobase = removeZeros(string.sub(location,trouve+15,trouve +23))
config:close()

if Debug == "YES" then
print(trouve)
print(location)
print(consobase)
end

commandArray['UpdateDevice'] = linkyidx ..'|0|'.. consobase

return commandArray

voici le résultat :

Image

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Répondre