Stroomkosten, gaskosten en waterkosten zichtbaar maken in Domoticz

In Domoticz is het erg eenvoudig om het stroomverbruik te tonen als je een thermostaat hebt als bijvoorbeeld een Eneco’s Toon. Je ziet dat het verbruik in kW (en bij gas in M3). Nog handiger zou het zijn als je het verbruik in EUR zou kunnen zien. In dit artikel gaan we uitleggen hoe je eenvoudig het verbruik in geld kunt tonen d.m.v. een Python-script.

Allereerst moet je de Toon thermostaat koppelen aan Domoticz. Onderstaande zeven sensoren krijg je dan te zien. In dit voorbeeld gaat het om IDX 6 (Stroom).

Maak nu een Dummy hardware aan:

Klik vervolgens op Create Virtual Sensors en maak een Virtual Sensor aan van het type Custom Sensor. Na het toevoegen kijk je bij SETUP > DEVICES welk IDX de virtuele sensor gekregen heeft. Dit IDX hebben we dadelijk voor het script nodig.

custom sensor Domoticz

 

Python-script

Alle sensoren zijn nu in Domoticz zichtbaar, het is tijd voor het Python-script. Er zijn zes regels die je naar jouw situatie moet aanpassen:

regel 17: Vaste kosten per dag in eurocenten (zoals vastrecht)
regel 18: kosten per kW in eurocenten
regel 20: IDX van de energiemeter
regel 21: IDX van de virtuele custom sensor
regel 22: wijzig hier het IP en de poort van jouw Domoticz-installatie
regel 23: wijzig hier het IP en de poort van jouw Domoticz-installatie

Nadat je de wijziging aangebracht hebt plaats je het python-script in de folder /home/pi/domoticz/scripts/python/ met de naam stroomkosten.py

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

"""
stroomkosten.py

Leest 'CounterToday' van de energiemeter uit en schrijft de berekende kosten naar een custom sensor.
Het script wordt gedraaid via de crontab.

"""

import requests
import json

# Domoticz variabelen - wijzig naar je eigen wens

vast = 0		# vaste kosten in eurocenten
eenheid = 18.86 	# kosten per kW in eurocenten

EnergiemeterIDX = '6'
CustomSensorIDX = '111'
DomoBaseURL = 'http://192.168.2.152:8080/json.htm?type=devices&rid='
DomoWriteURL  = 'http://192.168.2.152:8080/json.htm?type=command&param=udevice&nvalue=0&idx='

# Einde van Domoticz variabelen

def domoticzread(idx, var):
   url = DomoBaseURL + idx
   response = requests.get(url)
   jsonData = json.loads(response.text)
   result = jsonData['result'][0][var]
   return result;

kW = domoticzread(EnergiemeterIDX, 'CounterToday')
kWh = kW.split()[0]
kosten = round((float(kWh) * eenheid + vast) / 100 ,2)
kosten = str(kosten) + " Euro"
#print kW, kosten

url = DomoWriteURL + CustomSensorIDX + '&svalue=' + kosten
r = requests.get(url)

 

Crontab

Om ervoor te zorgen dat het script iedere 10 minuten uitgevoerd wordt gaan we een cron job instellen. Open de tabel van de cron jobs met commando:

sudo crontab -e

En voeg onderstaande regel toe:

*/10 * * * * python /home/pi/domoticz/scripts/python/stroomkosten.py

Vanaf nu zijn de stroomkosten in Domoticz zichtbaar en worden de kosten iedere 10 minuten bijgewerkt.

stroomkosten Domoticz


Uiteraard kun je bovenstaand python-script ook gebruiken om de gaskosten en waterkosten in Domoticz te tonen.

 

Bron: MikeF, domoticz forum

5 gedachten over “Stroomkosten, gaskosten en waterkosten zichtbaar maken in Domoticz

  • 23 september 2018 om 16:52
    Permalink

    Ik ben hier inmiddels een paar uur mee bezig geweest maar ik krijg mijn idx stroomkosten niet geactiveerd. Het script lijkt ergens niet te kloppen. Ik heb het werkend gehad echter na aanpassing van python na versie 3.5.3 lijkt het script niet meer te werken. Heb je nog een suggestie om dit op te lossen?

    Beantwoorden
  • 29 september 2018 om 13:31
    Permalink

    Geen idee wat er bij je fout gaat… hier werkt het gewoon met de laatste update (Python 3.5.3).

    Beantwoorden
  • 27 oktober 2018 om 12:52
    Permalink

    He hallo.

    Bizar wat een mooi script…
    Alleen vraagje, Kan hij misschien ook “gewoon ” in de Domoticz interne Python editor gezet worden?
    Juist door crontabs, en de externe script plaat, wordt hij minder makkelijk.
    En voor een backup in Domoticz heb je alles incl de interne editor..

    Telt dit script evt ook op?
    Om te kijken wat een teruglever idx opbrengt?

    Beantwoorden
    • 27 oktober 2018 om 15:04
      Permalink

      hahaha Ik wou dat ik het kon….
      Ik zoek me suf voor mooie scripts..
      Maar schrijven of aanpassen.. pffff lukte me dat maar.
      Ik ben een bricklayer met een digitale hobby.
      maar mijn kennis te klein voor dit.
      En in deze tijden moet ik meters maken, om mijn pensioen veilig te stellen..

      dus als je ooit tijd hebt,….

      GRAAG

      Beantwoorden

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *