Send cost with Telegram  [Solved]

Easy to use, 100% Lua-based event scripting framework.

Moderator: leecollings

Post Reply
Larsoss
Posts: 65
Joined: Friday 18 March 2016 10:11
Target OS: Raspberry Pi / ODroid
Domoticz version: 2020.2
Location: Netherlands
Contact:

Send cost with Telegram  [Solved]

Post by Larsoss »

Hello, I would like to receive the costs of my consumption via telegram.

To calculate the costs I use this script

Code: Select all

return {
      on = { 
        timer = {
           'every 30 minutes'            
        },
    }, 
    execute = function(domoticz, device, timer)

        local vandaagKwh      = domoticz.devices('P1 Elektra').counterToday 
        local vandaagM3Gas    = domoticz.devices('P1 Gas').counterToday 
               
        local StroomKosten  = domoticz.devices('Stroomkosten')
        local GasKosten     = domoticz.devices('Gaskosten')
        local Kosten = domoticz.devices('Kosten Stroom+Gas')
        
        -- Eenheidsprijs in Euro's / Kwh - M3
        local kwhPrijs = 0.23002
        local gasM3Prijs = 0.82373
         if (domoticz.time == 'Between 23:00 and 07:00') or (domoticz.day == 'Saturday') or (domoticz.day == 'Sunday') then
            kwhPrijs = 0.22252 -- Daltarief
        else
            kwhPrijs = 0.23002 -- Normaal tarief
        end 
       
        -- Vaste kosten in Euro's per dag (zoals vastrecht) 
        local kwhPrijsVast = 0.22931
        local gasM3PrijsVast = 0.22931
        
        -- Kosten berekenen
        local kwhKosten = tonumber(domoticz.utils.round( (kwhPrijs * vandaagKwh) + kwhPrijsVast,2))   
        local GasM3Kosten = tonumber(domoticz.utils.round( (gasM3Prijs * vandaagM3Gas) + gasM3PrijsVast,2))
        local Kostentotaal = kwhKosten + GasM3Kosten
      
        -- Kosten updaten
          StroomKosten.updateCustomSensor(kwhKosten)
          GasKosten.updateCustomSensor(GasM3Kosten)
          Kosten.updateCustomSensor(Kostentotaal)
    end
} 
These are placed in 2 virutal sensors. For sending messages via telegram I use this script

Code: Select all

local ScriptVersion = '1.0.6' -- domoticz > V2020.1 / dzVents >= 2.4.28
return {
            on =    { 
                        timer = { 'at 12:00', 'at 17:00', 'at 22:00'},
                    },
 
       logging =    {   
                        level   =   domoticz.LOG_DEBUG, -- set to error when all OK
                        marker  =   "Meterstanden naar telegram " .. ScriptVersion                    },    

    execute = function(dz)

        local subject = (dz.moduleLabel or 'vandaagKwhth'):gsub('#','')
        local vandaagKwhth = dz.devices('Teruglevering Hoog').counterToday -- Stroommeter p1 -Teruglevering Hoog -- Dummy Device aangemaakt, als teller incrementeel en dan deze naam geven.
        local vandaagKwhtl = dz.devices('Teruglevering Laag').counterToday -- Stroommeter p1 -Teruglevering Laag -- Dummy Device aangemaakt, als teller incrementeel en dan deze naam geven.
        local vandaagKwhvh = dz.devices('Verbruik Hoog').counterToday -- Stroommeter p1 -Verbruik Hoog           -- Dummy Device aangemaakt, als teller incrementeel en dan deze naam geven.
        local vandaagKwhvl = dz.devices('Verbruik Laag').counterToday -- Stroommeter p1 -Verbruik Laag           -- Dummy Device aangemaakt, als teller incrementeel en dan deze naam geven.
        local vandaagKwh = dz.devices('P1 Elektra').counterToday -- Stroommeter device –P1 Elektra is de naam van het apparaat in Domoticz.
        local vandaagSolar = dz.devices('Opwekking Stroom').counterToday -- Solar device — Opwekking Stroom is de naam van het apparaat in Domoticz.
        local vandaagm3 = dz.devices('P1 Gas').counterToday --— Gas devices -- P1 Gas is de naam van het apparaat in Domoticz.

    --energie vanaf zonnepanelen
    dz.log("VandaagKwhth",dz.LOG_DEBUG)
    dz.log(vandaagKwhth,dz.LOG_DEBUG)
    dz.log("Kwh",dz.LOG_DEBUG)
    dz.log("vandaagKwhtl",dz.LOG_DEBUG)
    dz.log(vandaagKwhtl,dz.LOG_DEBUG)
    dz.log("Kwh",dz.LOG_DEBUG)
    -- verbruik af enegie centrale
    dz.log("vandaagKwhvh",dz.LOG_DEBUG)
    dz.log(vandaagKwhvh,dz.LOG_DEBUG)
    dz.log("Kwh",dz.LOG_DEBUG)
    dz.log("vandaagKwhvl",dz.LOG_DEBUG)
    dz.log(vandaagKwhvl,dz.LOG_DEBUG)
    dz.log("Kwh",dz.LOG_DEBUG)
    --totaal Elektriciteit
    dz.log("VandaagKwh",dz.LOG_DEBUG)
    dz.log(vandaagKwh,dz.LOG_DEBUG)
    dz.log("Kwh",dz.LOG_DEBUG)
    dz.log("VandaagSolar",dz.LOG_DEBUG)
    dz.log(vandaagSolar,dz.LOG_DEBUG)
    dz.log("Kwh",dz.LOG_DEBUG)
    --    Gas meter
    dz.log("vandaagm3",dz.LOG_DEBUG)
    dz.log(vandaagm3,dz.LOG_DEBUG)
    dz.log("M3", dz.LOG_DEBUG)
    
    --Verzend informatie. Dit is 1 bericht, met alle informatie.
    local subject = 'Mijn energie overzicht.'
    local message = 'Terug levering Hoog ' ..vandaagKwhth.. ' kWh' .. '\n' ..
				    'Terug levering Laag ' ..vandaagKwhtl.. ' kWh' .. '\n' ..
			        'Totaal Opbrengst Zonnepanelen ' ..vandaagSolar.. ' kWh'.. '\n' ..
			        'Verbruik Hoog ' ..vandaagKwhvh.. ' kWh'.. '\n' ..
 			    	'Verbruik Laag ' ..vandaagKwhvl.. ' kWh'.. '\n' ..
 			    	'Totaal Verbruik Elektra vandaag ' ..vandaagKwh.. ' kWh'.. '\n' ..
 			    	'Totaal Verbruik Gas vandaag ' ..vandaagm3.. ' M3'
  
  dz.notify(subject, message, dz.PRIORITY_MEDIUM, dz.SOUND_PERSISTENT, nil, dz.NSS_TELEGRAM)
    end

}
Can anyone help me put this together?
Raspberry 4 - USB boot Domoticz /|\ Raspberry 2B - Dashticz /|\ Tasmota device's /|\ Philips Hue & Yeelight
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest