Home Assistant toonGas gasmeter Instellen (gevorderd)

Volg deze handleiding om Home Assistant in te stellen (uitgebreid)

Volg eerst de wifi instellen om de module in te stellen op een statisch ip adres. Maak ook backups voordat je gaat wijzigen.

Het aanmaken van de helpers om de literprijs, vastrecht en belasting op te kunnen geven. Ga via Instellingen naar het menu Helpers. Maak 3 helpers aan van het type “Numeriek”:

  1. Gasprijs per m3 met als Entiteits-ID input_number.gasprijs_per_m3
  2. Belasting op gas met als Entiteits_ID  input_number.belasting_op_gas
  3. Vastrecht gas met als Entiteits_ID input_number.vastrecht_gas

Ga binnen Home Assistant naar Instellingen -> Automatiseringen & Scènes. Selecteer vervolgens Helpers.

Dan met de file Editor de map gasmeter aanmaken (als je al met packages werkt dan sla je deze stap over en zet je het nieuwe bestand in je bestaande packages map).

En daar het bestand toongas.yaml in plaatsen. Download het bestand hieronder en noem het bestand toongas.yaml. In dit bestand op regel 91 het juist IP adres invoeren.

Na het opslaan een map terug en het bestand configuration.yaml aanpassen. Onder homeassistant: regel toevoegen in configuration.yaml

packages: !include_dir_namedgasmeter (let op de inspringing)

# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

homeassistant:
   packages: !include_dir_named gasmeter

Dan configuratie controleren en opnieuw opstarten

Deze afbeelding heeft een leeg alt-attribuut; de bestandsnaam is 2.png
Deze afbeelding heeft een leeg alt-attribuut; de bestandsnaam is 3.png

Klik op “Configureer UI”. Daarna kan men de Entiteiten (kaarten) toevoegen. Klik op kaart toevoegen en daarna op “per entiteit”.

Deze afbeelding heeft een leeg alt-attribuut; de bestandsnaam is 4-1.png
Deze afbeelding heeft een leeg alt-attribuut; de bestandsnaam is 5.png

Selecteer onderstaande set om de gasverbruiken van de huidige periode te kiezen. Klik daarna op “Voeg toe aan de lovelace gebruikersinterface”

type: entities
entities:
  - entity: sensor.gasprijs_per_maand
    icon: mdi:currency-eur
  - entity: sensor.gasprijs_per_week
    icon: mdi:currency-eur
  - entity: sensor.gasprijs_per_jaar
    icon: mdi:currency-eur
  - entity: sensor.gasprijs_per_kwartaal
    icon: mdi:currency-eur
  - entity: sensor.gasprijs_per_dag
    icon: mdi:currency-eur
title: Kosten gasverbruik

type: entities
entities:
  - entity: sensor.gasverbruik_dit_kwartier
    icon: mdi:counter
  - entity: sensor.gasverbruik_dit_uur
    icon: mdi:counter
  - entity: sensor.gasverbruik_vandaag
    icon: mdi:counter
  - entity: sensor.gasverbruik_deze_week
    icon: mdi:counter
  - entity: sensor.gasverbruik_deze_maand
    icon: mdi:counter
  - entity: sensor.gasverbruik_dit_kwartaal
    icon: mdi:counter
  - entity: sensor.gasverbruik_dit_jaar
    icon: mdi:counter
title: Huidige standen

Selecteer onderstaande set om de gasverbruiken van de voorgaande perioden te kiezen. Klik daarna op “Voeg toe aan de lovelace gebruikersinterface”

type: entities
entities:
  - entity: sensor.gasverbruik_gisteren
    icon: mdi:water
  - entity: sensor.gasverbruik_vorige_week
    icon: mdi:water
  - entity: sensor.gasverbruik_vorige_maand
    icon: mdi:water
  - entity: sensor.gasverbruik_vorig_jaar
    icon: mdi:water
title: Gasverbruik historie

Selecteer onderstaande sets om de actuele flow en tellerstand te kiezen. Klik daarna op “Voeg toe aan de lovelace gebruikersinterface”

type: entities
entities:
  - sensor.gasmeter_versie
  - sensor.gasmeter_wifi
  - sensor.gasmeter_flow
  - sensor.gasmeter_quantity
title: Gas

Selecteer onderstaande set om de flow in naadwijzer weer te geven. Klik daarna op “Voeg toe aan de lovelace gebruikersinterface”

Klik na het toevoegen op “Bewerken”

Klik na het toevoegen op “Code-editor weergeven”

Zet dit onderstaande in de code en klik op “opslaan”

type: gauge
entity: sensor.gasverbruik_vandaag
min: 0
name: Gasverbruik vandaag
severity:
  green: 0
  yellow: 8000
  red: 22000
unit: l
max: 30000
needle: true
# gasmeter toongas
# UTILITYS gasMETER    
utility_meter:
  gasverbruik_dit_kwartier:  
    source: sensor.gasmeter_quantity
    cycle: quarter-hourly
  gasverbruik_dit_uur:
    source: sensor.gasmeter_quantity
    cycle: hourly
  gasverbruik_vandaag:
    source: sensor.gasmeter_quantity
    cycle: daily    
  gasverbruik_deze_week:
    source: sensor.gasmeter_quantity
    cycle: weekly
  gasverbruik_deze_maand:
    source: sensor.gasmeter_quantity
    cycle: monthly
  gasverbruik_dit_kwartaal:
    source: sensor.gasmeter_quantity
    cycle: quarterly
  gasverbruik_dit_jaar:
    source: sensor.gasmeter_quantity
    cycle: yearly
 

# gasmeter toongas 
sensor:
# CALCULATIE gasMETER
  - platform: template
    sensors:
      gasprijs_per_dag:
        friendly_name: "Kosten gasverbruik Vandaag"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.gasverbruik_vandaag') | float %}
          {% set b = states('input_number.gasprijs_per_m3') | float /1000 %}
          {% set c = states('input_number.belasting_op_gas') | float /1000  %}
          {% set d = states('input_number.vastrecht_gas') | float / 365 %}
          {{ (((a * b) + a * c) + d) | round(2) }}  
      gasprijs_per_week:
        friendly_name: "Kosten gasverbruik Deze Week"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.gasverbruik_vandaag') | float %}
          {% set b = states('input_number.gasprijs_per_m3') | float /1000 %}
          {% set c = states('input_number.belasting_op_gas') | float /1000  %}
          {% set d = states('input_number.vastrecht_gas') | float / 52 %}
          {{ (((a * b) + a * c) + d) | round(2) }}    
      gasprijs_per_maand:
        friendly_name: "Kosten gasverbruik Deze Maand"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.gasverbruik_vandaag') | float %}
          {% set b = states('input_number.gasprijs_per_m3') | float /1000 %}
          {% set c = states('input_number.belasting_op_gas') | float /1000  %}
          {% set d = states('input_number.vastrecht_gas') | float /12 %}
          {{ (((a * b) + a * c) + d) | round(2) }}
      gasprijs_per_kwartaal:
        friendly_name: "Kosten gasverbruik Dit Kwartaal"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.gasverbruik_vandaag') | float %}
          {% set b = states('input_number.gasprijs_per_m3') | float /1000 %}
          {% set c = states('input_number.belasting_op_gas') | float /1000  %}
          {% set d = states('input_number.vastrecht_gas') | float / 4 %}
          {{ (((a * b) + a * c) + d) | round(2) }}
      gasprijs_per_jaar:
        friendly_name: "Kosten gasverbruik Dit Jaar"
        unit_of_measurement: "EUR"
        icon_template: "mdi:currency-eur"
        value_template: >-
          {% set a = states('sensor.gasverbruik_vandaag') | float %}
          {% set b = states('input_number.gasprijs_per_m3') | float /1000 %}
          {% set c = states('input_number.belasting_op_gas') | float /1000  %}
          {% set d = states('input_number.vastrecht_gas') | float  %}
          {{ (((a * b) + a * c) + d) | round(2) }}
  - platform: rest
    name: gasmeter
    json_attributes:
      - gasflow
      - gasquantity
      - RSSI
      - version
    resource: http://192.168.0.147/gas.html
  - platform: template
    sensors:
      gasmeter_flow:
        friendly_name: "Huidige gasflow"
        unique_id: "gasmeter_Flow"
        value_template: '{{states.sensor.gasmeter.attributes["gasflow"] }}'
        unit_of_measurement: "l/m"
        icon_template: "mdi:gas-pump"
      gasmeter_quantity:
        friendly_name: "Huidige gasmeterstand"
        unique_id: "gasmeter_Stand"
        value_template: '{{states.sensor.gasmeter.attributes["gasquantity"] |float /1000 }}'
        unit_of_measurement: "m³"
        icon_template: "mdi:gas"
      gasmeter_wifi:
        friendly_name: "gasmeter Wifi"
        unique_id: "gasmeter_Wifi"
        unit_of_measurement: "dB"
        value_template: '{{states.sensor.gasmeter.attributes["RSSI"] }}'
        icon_template: "mdi:wifi-arrow-up-down"
      gasmeter_versie:
        friendly_name: "gasmeter Versie"
        unique_id: "gasmeter_Versie"
        value_template: '{{states.sensor.gasmeter.attributes["version"] }}'
#SENSOREN GASVERBRUIK PER PERIODE
      gasverbruik_gisteren:
        friendly_name: gasverbruik Gisteren
        unit_of_measurement: "m³"
        icon_template: "mdi:gas"
        value_template: "{{ state_attr('sensor.gasverbruik_vandaag','last_period') |float /1000 }}"
      gasverbruik_vorige_week:
        friendly_name: gasverbruik Vorige Week
        unit_of_measurement: "m3"
        icon_template: "mdi:gas"
        value_template: "{{ state_attr('sensor.gasverbruik_deze_week','last_period') |float /1000 }}"
      gasverbruik_vorige_maand:
        friendly_name: gasverbruik Vorige Maand
        unit_of_measurement: "m3"
        icon_template: "mdi:gas"
        value_template: "{{ state_attr('sensor.gasverbruik_deze_maand','last_period') |float /1000 }}"
      gasverbruik_vorig_jaar:
        friendly_name: gasverbruik Vorig Jaar
        unit_of_measurement: "m3"
        icon_template: "mdi:gas"
        value_template: "{{ state_attr('sensor.gasverbruik_dit_jaar','last_period') |float /1000 }}"
template:
  - sensor:
      - name: "gasverbruik"
        unit_of_measurement: "m³"
        state_class: total_increasing
        device_class: gas
        state: >-
          {{states.sensor.gasmeter.attributes["gasquantity"]  | float /1000}}
        unique_id: "0e564a2b1013f7e3a77f74038077128n"