05.03.2025, 16:05
(01.03.2025, 21:23)Keitz Wrote:Just add this:(25.10.2022, 09:09)Danny Wrote:Code:--P1 poort van slimme meter via HomeWizard uitlezen require('socket.http') ip = '192.168.1.192' --Vul hier het IP adres van de HomeWizard P1 meter in socket.http.TIMEOUT = 5 data = socket.http.request('http://'..ip..'/api/v1/telegram') if data then --log(data) -- Totaal verbruik tarief 1 uitlezen kWh tarief_1 = data:match'1-0:1.8.1%((%d+.%d+)' tarief_1 = tonumber(tarief_1) --log("Tarief 1: " .. tarief_1 .. " kWh") grp.update('8/0/1', tarief_1) -- Totaal verbruik tarief 2 uitlezen kWh tarief_2 = data:match'1-0:1.8.2%((%d+.%d+)' tarief_2 = tonumber(tarief_2) --log("Tarief 2: " .. tarief_2 .. " kWh") grp.update('8/0/2', tarief_2) -- Totaal verbruik tarief 1 + 2 tarief_totaal = tarief_1 + tarief_2 --log("Totaal verbruik: " .. tarief_totaal .. " kWh") grp.update('8/0/0', tarief_totaal) -- Totaal verbruik € verbruik_prijs_kWh = grp.getvalue('8/0/11') totaal_verbruik_€ = tarief_totaal * verbruik_prijs_kWh --log("Totaal verbruik: €" .. totaal_verbruik_€) grp.update('8/0/13', totaal_verbruik_€) -- Totale retourlevering tarief 1 uitlezen kWh retour_1 = data:match'1-0:2.8.1%((%d+.%d+)' retour_1 = tonumber(retour_1) --log("Retour 1: " .. retour_1 .. " kWh") grp.update('8/0/4', retour_1) -- Totale retourlevering tarief 2 uitlezen kWh retour_2 = data:match'1-0:2.8.2%((%d+.%d+)' retour_2 = tonumber(retour_2) --log("Retour 2: " .. retour_2 .. " kWh") grp.update('8/0/5', retour_2) -- Totale retourlevering tarief 1 + 2 retour_totaal = retour_1 + retour_2 --log("Totaal retour: " .. retour_totaal .. " kWh") grp.update('8/0/3', retour_totaal) -- Totaal retourlevering € retour_prijs_kWh = grp.getvalue('8/0/12') totaal_retour_€ = retour_totaal * retour_prijs_kWh --log("Totaal retour: €" .. totaal_retour_€) grp.update('8/0/14', totaal_retour_€) -- Actuele tariefstand uitlezen T1/T2 actueel_tarief = data:match'14.0%((%d+)' actueel_tarief = tonumber(actueel_tarief) --log("Actueel tarief: T" .. actueel_tarief) grp.update('8/0/10', actueel_tarief) -- Actueel verbruik uitlezen kW actueel_verbruik = data:match'1-0:1.7.0%((%d+.%d+)' actueel_verbruik = tonumber(actueel_verbruik) --log("Actueel verbruik: " .. actueel_verbruik .. " kW") grp.update('8/0/6', actueel_verbruik) -- Actueel verbruik W actueel_verbruik_W = actueel_verbruik*1000 --log("Actueel verbruik: " .. actueel_verbruik_W .. " W") grp.update('8/0/7', actueel_verbruik_W) -- Actueel verbruik € verbruik_prijs_kWh = grp.getvalue('8/0/11') actueel_verbruik_€ = actueel_verbruik * verbruik_prijs_kWh --log("Actueel verbruik: €" .. actueel_verbruik_€) grp.update('8/0/15', actueel_verbruik_€) -- Actuele retourlevering uitlezen kW actueel_retour = data:match'1-0:2.7.0%((%d+.%d+)' actueel_retour = tonumber(actueel_retour) --log("Actueel retour: " .. actueel_retour .. " kW") grp.update('8/0/8', actueel_retour) -- Actuele retourlevering W actueel_retour_W = actueel_retour *1000 --log("Actueel retour: " .. actueel_retour_W .. " W") grp.update('8/0/9', actueel_retour_W) -- Totale gasverbruik uitlezen m³ gas = data:match'.+%((%d+.%d+)' gas = tonumber(gas) --log("Gas: " .. gas .. " m³") grp.update('8/1/0',gas) -- Totaal gasverbruik € verbruik_prijs_M³ = grp.getvalue('8/1/1') totaal_gasverbruik = gas * verbruik_prijs_M³ --log("Totaal gasverbruik: €" .. totaal_gasverbruik_€) grp.update('8/1/2', totaal_gasverbruik) end
Thank you this works perfect but i want to read this also :
"Afnamepiek van dit maand" in this format : 1-0:1.6.0(230514091500S)(01.672*kW)
--Afnamepiek
afnamepiek = data:match'1-0:1.6.0%((%d+.%d+)'
afnamepiek = tonumber(afnamepiek)
--log("Afnamepiek: " .. afnamepiek .. " kW")
grp.update('8/0/10', afnamepiek)