Skip to content

Instantly share code, notes, and snippets.

@andrew-codechimp
Created July 12, 2023 11:14
Show Gist options
  • Save andrew-codechimp/1701d21d89c4f6ab68b6eb2ba20319b2 to your computer and use it in GitHub Desktop.
Save andrew-codechimp/1701d21d89c4f6ab68b6eb2ba20319b2 to your computer and use it in GitHub Desktop.
Hildebrand Glow Home Assistant Sensors
mqtt:
sensor:
- name: "IHD Software Version"
unique_id: "smart_meter_software_version"
state_topic: !secret glow_state_topic
entity_category: "EntityCategory.DIAGNOSTIC"
value_template: "{{ value_json['software'] }}"
icon: "mdi:information-outline"
entity_category: diagnostic
device:
identifiers: "smart_energy_meter"
name: "Smart Energy Meter via CAD"
model: "Smart Energy Meter via CAD"
manufacturer: "Hildebrand"
- name: "IHD Hardware"
unique_id: "smart_meter_hardware"
state_topic: !secret glow_state_topic
entity_category: "EntityCategory.DIAGNOSTIC"
value_template: "{{ value_json['hardware'] }}"
icon: "mdi:information-outline"
entity_category: diagnostic
device:
identifiers: "smart_energy_meter"
name: "Smart Energy Meter via CAD"
model: "Smart Energy Meter via CAD"
manufacturer: "Hildebrand"
- name: "IHD HAN RSSI"
unique_id: "smart_meter_ihd_rssi"
state_topic: !secret glow_state_topic
device_class: "signal_strength"
entity_category: "EntityCategory.DIAGNOSTIC"
unit_of_measurement: "dB"
state_class: "measurement"
value_template: "{{ value_json['han']['rssi'] }}"
icon: "mdi:wifi"
entity_category: diagnostic
device:
identifiers: "smart_energy_meter"
name: "Smart Energy Meter via CAD"
model: "Smart Energy Meter via CAD"
manufacturer: "Hildebrand"
- name: "IHD HAN LQI"
unique_id: "smart_meter_ihd_lqi"
state_topic: !secret glow_state_topic
device_class: "signal_strength"
entity_category: "EntityCategory.DIAGNOSTIC"
state_class: "measurement"
value_template: "{{ value_json['han']['lqi'] }}"
icon: "mdi:signal"
entity_category: diagnostic
device:
identifiers: "smart_energy_meter"
name: "Smart Energy Meter via CAD"
model: "Smart Energy Meter via CAD"
manufacturer: "Hildebrand"
- name: "Electricity Export"
unique_id: "smart_meter_electricity_export"
state_topic: !secret glow_electricity_meter_topic
device_class: "energy"
unit_of_measurement: "kWh"
state_class: "total_increasing"
value_template: "{{ value_json['electricitymeter']['energy']['export']['cumulative'] }}"
icon: "mdi:flash"
device:
identifiers: "smart_energy_meter"
name: "Smart Energy Meter via CAD"
model: "Smart Energy Meter via CAD"
manufacturer: "Hildebrand"
- name: "Electricity Import"
unique_id: "smart_meter_electricity_import"
state_topic: !secret glow_electricity_meter_topic
device_class: "energy"
unit_of_measurement: "kWh"
state_class: "total_increasing"
value_template: >
{% if value_json['electricitymeter']['energy']['import']['cumulative'] == 0 %}
{{ states('sensor.smart_meter_electricity_import') }}
{% else %}
{{ value_json['electricitymeter']['energy']['import']['cumulative'] }}
{% endif %}
icon: "mdi:flash"
device:
identifiers: "smart_energy_meter"
name: "Smart Energy Meter via CAD"
model: "Smart Energy Meter via CAD"
manufacturer: "Hildebrand"
- name: "Electricity Import (Today)"
unique_id: "smart_meter_electricity_import_today"
state_topic: !secret glow_electricity_meter_topic
device_class: "energy"
unit_of_measurement: "kWh"
state_class: "measurement"
value_template: >
{% if value_json['electricitymeter']['energy']['import']['day'] == 0
and now() > now().replace(hour=0).replace(minute=1).replace(second=0).replace(microsecond=0) %}
{{ states('sensor.smart_meter_electricity_import_today') }}
{% else %}
{{ value_json['electricitymeter']['energy']['import']['day'] }}
{% endif %}
icon: "mdi:flash"
device:
identifiers: "smart_energy_meter"
name: "Smart Energy Meter via CAD"
model: "Smart Energy Meter via CAD"
manufacturer: "Hildebrand"
- name: "Electricity Import (This week)"
unique_id: "smart_meter_electricity_import_week"
state_topic: !secret glow_electricity_meter_topic
device_class: "energy"
unit_of_measurement: "kWh"
state_class: "measurement"
value_template: "{{ value_json['electricitymeter']['energy']['import']['week'] }}"
icon: "mdi:flash"
device:
identifiers: "smart_energy_meter"
name: "Smart Energy Meter via CAD"
model: "Smart Energy Meter via CAD"
manufacturer: "Hildebrand"
- name: "Electricity Import (This month)"
unique_id: "smart_meter_electricity_import_month"
state_topic: !secret glow_electricity_meter_topic
device_class: "energy"
unit_of_measurement: "kWh"
state_class: "measurement"
value_template: "{{ value_json['electricitymeter']['energy']['import']['month'] }}"
icon: "mdi:flash"
device:
identifiers: "smart_energy_meter"
name: "Smart Energy Meter via CAD"
model: "Smart Energy Meter via CAD"
manufacturer: "Hildebrand"
- name: "Electricity Import Unit Rate"
unique_id: "smart_meter_electricity_import_unit_rate"
state_topic: !secret glow_electricity_meter_topic
device_class: "monetary"
unit_of_measurement: "GBP/kWh"
state_class: "measurement"
value_template: "{{ value_json['electricitymeter']['energy']['import']['price']['unitrate'] }}"
icon: "mdi:cash"
device:
identifiers: "smart_energy_meter"
name: "Smart Energy Meter via CAD"
model: "Smart Energy Meter via CAD"
manufacturer: "Hildebrand"
- name: "Electricity Import Standing Charge"
unique_id: "smart_meter_electricity_import_standing_charge"
state_topic: !secret glow_electricity_meter_topic
device_class: "monetary"
unit_of_measurement: "GBP"
state_class: "measurement"
value_template: "{{ value_json['electricitymeter']['energy']['import']['price']['standingcharge'] }}"
icon: "mdi:cash"
device:
identifiers: "smart_energy_meter"
name: "Smart Energy Meter via CAD"
model: "Smart Energy Meter via CAD"
manufacturer: "Hildebrand"
- name: "Electricity Power"
unique_id: "smart_meter_electricity_power"
state_topic: !secret glow_electricity_meter_topic
device_class: "power"
unit_of_measurement: "kW"
state_class: "measurement"
value_template: >
{% if value_json['electricitymeter']['power']['value'] < 0 %}
{{ states('sensor.smart_meter_electricity_power') }}
{% else %}
{{ value_json['electricitymeter']['power']['value'] }}
{% endif %}
icon: "mdi:flash"
device:
identifiers: "smart_energy_meter"
name: "Smart Energy Meter via CAD"
model: "Smart Energy Meter via CAD"
manufacturer: "Hildebrand"
- name: "Electricity Timestamp"
unique_id: "smart_meter_electricity_timestamp"
state_topic: !secret glow_electricity_meter_topic
device_class: "timestamp"
icon: mdi:clock-outline
value_template: "{{ value_json.electricitymeter.timestamp }}"
device:
identifiers: "smart_energy_meter"
name: "Smart Energy Meter via CAD"
model: "Smart Energy Meter via CAD"
manufacturer: "Hildebrand"
- name: "Gas Import"
unique_id: "smart_meter_gas_import"
state_topic: !secret glow_gas_meter_topic
device_class: "energy"
unit_of_measurement: "kWh"
state_class: "total_increasing"
value_template: >
{% if value_json['gasmeter']['energy']['import']['cumulative'] == 0 %}
{{ states('sensor.smart_meter_gas_import') }}
{% else %}
{{ value_json['gasmeter']['energy']['import']['cumulative'] }}
{% endif %}
icon: "mdi:fire"
device:
identifiers: "smart_energy_meter"
name: "Smart Energy Meter via CAD"
model: "Smart Energy Meter via CAD"
manufacturer: "Hildebrand"
- name: "Gas Import (Today)"
unique_id: "smart_meter_gas_import_today"
state_topic: !secret glow_gas_meter_topic
device_class: "energy"
unit_of_measurement: "kWh"
state_class: "measurement"
value_template: >
{% if value_json['gasmeter']['energy']['import']['day'] == 0
and now() > now().replace(hour=0).replace(minute=1).replace(second=0).replace(microsecond=0) %}
{{ states('sensor.smart_meter_gas_import_today') }}
{% else %}
{{ value_json['gasmeter']['energy']['import']['day'] }}
{% endif %}
icon: "mdi:fire"
device:
identifiers: "smart_energy_meter"
name: "Smart Energy Meter via CAD"
model: "Smart Energy Meter via CAD"
manufacturer: "Hildebrand"
- name: "Gas Import (This week)"
unique_id: "smart_meter_gas_import_week"
state_topic: !secret glow_gas_meter_topic
device_class: "energy"
unit_of_measurement: "kWh"
state_class: "measurement"
value_template: "{{ value_json['gasmeter']['energy']['import']['week'] }}"
icon: "mdi:fire"
device:
identifiers: "smart_energy_meter"
name: "Smart Energy Meter via CAD"
model: "Smart Energy Meter via CAD"
manufacturer: "Hildebrand"
- name: "Gas Import (This month)"
unique_id: "smart_meter_gas_import_month"
state_topic: !secret glow_gas_meter_topic
device_class: "energy"
unit_of_measurement: "kWh"
state_class: "measurement"
value_template: "{{ value_json['gasmeter']['energy']['import']['month'] }}"
icon: "mdi:fire"
device:
identifiers: "smart_energy_meter"
name: "Smart Energy Meter via CAD"
model: "Smart Energy Meter via CAD"
manufacturer: "Hildebrand"
- name: "Gas Import Unit Rate"
unique_id: "smart_meter_gas_import_unit_rate"
state_topic: !secret glow_gas_meter_topic
device_class: "monetary"
unit_of_measurement: "GBP/kWh"
state_class: "measurement"
value_template: "{{ value_json['gasmeter']['energy']['import']['price']['unitrate'] }}"
icon: "mdi:cash"
device:
identifiers: "smart_energy_meter"
name: "Smart Energy Meter via CAD"
model: "Smart Energy Meter via CAD"
manufacturer: "Hildebrand"
- name: "Gas Import Standing Charge"
unique_id: "smart_meter_gas_import_standing_charge"
state_topic: !secret glow_gas_meter_topic
device_class: "monetary"
unit_of_measurement: "GBP"
state_class: "measurement"
value_template: "{{ value_json['gasmeter']['energy']['import']['price']['standingcharge'] }}"
icon: "mdi:cash"
device:
identifiers: "smart_energy_meter"
name: "Smart Energy Meter via CAD"
model: "Smart Energy Meter via CAD"
manufacturer: "Hildebrand"
- name: "Gas Timestamp"
unique_id: "smart_meter_gas_timestamp"
state_topic: !secret glow_gas_meter_topic
device_class: "timestamp"
icon: mdi:clock-outline
value_template: "{{ value_json.gasmeter.timestamp }}"
device:
identifiers: "smart_energy_meter"
name: "Smart Energy Meter via CAD"
model: "Smart Energy Meter via CAD"
manufacturer: "Hildebrand"
template:
sensor:
# Energy Costs
- name: "Electricity Cost (Today)"
unique_id: smart_meter_electricity_cost_today
device_class: monetary
unit_of_measurement: "GBP"
state_class: "total_increasing"
icon: mdi:cash
state: "{{ (
states('sensor.smart_meter_electricity_import_today') | float
* states('sensor.smart_meter_electricity_import_unit_rate') | float
+ states('sensor.smart_meter_electricity_import_standing_charge') | float
) | round(2) }}"
- name: "Gas Cost (Today)"
unique_id: smart_meter_gas_cost_today
device_class: monetary
unit_of_measurement: "GBP"
state_class: "total_increasing"
icon: mdi:cash
state: "{{ (
states('sensor.smart_meter_gas_import_today') | float
* states('sensor.smart_meter_gas_import_unit_rate') | float
+ states('sensor.smart_meter_gas_import_standing_charge') | float
) | round(2) }}"
# Calculate the power used by the home from known values of solar generation, battery charge/discharge, and grid demand
- name: "Home Power"
unique_id: home_power
unit_of_measurement: "kW"
device_class: 'power'
state_class: 'measurement'
icon: "mdi:flash"
state: >-
{% set power = ((states('sensor.smart_meter_electricity_power')|float)|float(default=0)) %}
{% if power > 0 %}
{{ power }}
{% else %}
0
{% endif %}
glow_state_topic: "glow/YOURMACADDRESS/STATE"
glow_electricity_meter_topic: "glow/YOURMACADDRESS/SENSOR/electricitymeter"
glow_gas_meter_topic: "glow/YOURMACADDRESS/SENSOR/gasmeter"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment