Files
home-assistant/mqtt.yaml

241 lines
8.2 KiB
YAML

---
- sensor:
# DO NOT REMOVE: Essential for ZIGBEE2MQTT
- name: Zigbee2mqtt Networkmap
unique_id: zigbee2mqtt_bridge_network_map
# if you change base_topic of Zigbee2mqtt, change state_topic accordingly
state_topic: zigbee2mqtt/bridge/response/networkmap
value_template: >-
{{ now().strftime('%Y-%m-%d %H:%M:%S') }}
# again, if you change base_topic of Zigbee2mqtt, change json_attributes_topic accordingly
json_attributes_topic: zigbee2mqtt/bridge/response/networkmap
json_attributes_template: "{{ value_json.data.value | tojson }}"
# HP / Solaredge / ACS published values
- name: HP_power
unit_of_measurement: "W"
unique_id: mon_hp_pw
state_topic: monitoring/hw/heatpump
value_template: >-
{{ value_json.power | int }}
- name: HP_max_power
unit_of_measurement: "W"
unique_id: mon_hp_max_pw
state_topic: monitoring/hw/heatpump
value_template: >-
{{ value_json.hp_max_power | int }}
- name: ACS_temp
unit_of_measurement: "'C"
unique_id: mon_acs_temp
state_topic: monitoring/hw/temperatures
value_template: >-
{{ value_json.acs | int }}
- name: Heating_temp
unit_of_measurement: "'C"
unique_id: mon_heating_temp
state_topic: monitoring/hw/temperatures
value_template: >-
{{ value_json.heating | int }}
- name: Solar_temp
unit_of_measurement: "'C"
unique_id: mon_solar_temp
state_topic: monitoring/hw/temperatures
value_template: >-
{{ value_json.solar | int }}
- name: SE_AC_voltage
unit_of_measurement: "V"
unique_id: mon_se_ac_voltage
state_topic: monitoring/se/values
value_template: >-
{{ (value_json.ac_v | int) / 100 }}
- name: SE_AC_current
unit_of_measurement: "A"
unique_id: mon_se_ac_current
state_topic: monitoring/se/values
value_template: >-
{{ (value_json.ac_i | int) / 100 }}
- name: SE_DC_voltage
unit_of_measurement: "V"
unique_id: mon_se_dc_voltage
state_topic: monitoring/se/values
value_template: >-
{{ (value_json.dc_v | int) / 100 }}
- name: SE_DC_current
unit_of_measurement: "A"
unique_id: mon_se_dc_current
state_topic: monitoring/se/values
value_template: >-
{{ (value_json.dc_i | int) / 100 }}
- name: SE_Heatsink_temp
unit_of_measurement: "'C"
unique_id: mon_se_ht_temperature
state_topic: monitoring/se/values
value_template: >-
{{ (value_json.hs_t | int) / 100 }}
- name: SE_Total_power
unit_of_measurement: "MW"
unique_id: mon_se_tot_p
state_topic: monitoring/se/values
value_template: >-
{{ (value_json.w_tot | int) / 1000000 }}
- name: fix_hp_level_read
unique_id: fix_hp_level_read
state_topic: etcontroller/sw/answers
value_template: >-
{{ value_json['values'].level }}
# UPS vmonitoring entiities from upsmon running on
# popeye for UPS TERRA
# seneca for UPS TITAN
# tazmania for UPS TAZMANIA
# UPS Battery Volts
- name: ups_terra_status
unique_id: sensor.ups_terra_status
state_topic: monitoring/ups/status
value_template: >-
{% if value_json[1].upsname == 'TERRA' %}
{{ value_json[0].status }}
{% else %}
{{ states('sensor.ups_terra_status') }}
{% endif %}
- name: ups_tazmania_status
unique_id: sensor.ups_tazmania_status
state_topic: monitoring/ups/status
value_template: >-
{% if value_json[1].upsname == 'TAZMANIA' %}
{{ value_json[0].status }}
{% else %}
{{ states('sensor.ups_tazmania_status') }}
{% endif %}
- name: ups_titan_status
unique_id: sensor.ups_titan_status
state_topic: monitoring/ups/status
value_template: >-
{% if value_json[1].upsname == 'TITAN' %}
{{ value_json[0].status }}
{% else %}
{{ states('sensor.ups_titan_status') }}
{% endif %}
# UPS Battery Charge
- name: ups_terra_charge
unique_id: sensor.ups_terra_charge
state_topic: monitoring/ups/status
value_template: >-
{% if value_json[1].upsname == 'TERRA' %}
{{ value_json[0].bcharge | int }}
{% else %}
{{ states('sensor.ups_terra_charge') | int }}
{% endif %}
- name: ups_tazmania_charge
unique_id: sensor.ups_tazmania_charge
state_topic: monitoring/ups/status
value_template: >-
{% if value_json[1].upsname == 'TAZMANIA' %}
{{ value_json[0].bcharge | int }}
{% else %}
{{ states('sensor.ups_tazmania_charge') | int }}
{% endif %}
- name: ups_titan_charge
unique_id: sensor.ups_titan_charge
state_topic: monitoring/ups/status
value_template: >-
{% if value_json[1].upsname == 'TITAN' %}
{{ value_json[0].bcharge | int }}
{% else %}
{{ states('sensor.ups_titan_charge') | int }}
{% endif %}
# UPS Time left before Exhaustion
- name: ups_terra_timeleft
unique_id: sensor.ups_terra_timeleft
state_topic: monitoring/ups/status
unit_of_measurement: "Min."
value_template: >-
{% if value_json[1].upsname == 'TERRA' %}
{{ (value_json[0].timeleft | int) }}
{% else %}
{{ states('sensor.ups_terra_timeleft') }}
{% endif %}
- name: ups_tazmania_timeleft
unique_id: sensor.ups_tazmania_timeleft
state_topic: monitoring/ups/status
unit_of_measurement: "Min."
value_template: >-
{% if value_json[1].upsname == 'TAZMANIA' %}
{{ value_json[0].timeleft | int }}
{% else %}
{{ states('sensor.ups_tazmania_timeleft') }}
{% endif %}
- name: ups_titan_timeleft
unique_id: sensor.ups_titan_timeleft
state_topic: monitoring/ups/status
unit_of_measurement: "Min."
value_template: >-
{% if value_json[1].upsname == 'TITAN' %}
{{ value_json[0].timeleft | int }}
{% else %}
{{ states('sensor.ups_titan_timeleft') }}
{% endif %}
# UPS Battery Volts
- name: ups_terra_battv
unique_id: sensor.ups_terra_battv
state_topic: monitoring/ups/status
unit_of_measurement: "V"
value_template: >-
{% if value_json[1].upsname == 'TERRA' %}
{{ value_json[0].battv | float }}
{% else %}
{{ states('sensor.ups_terra_battv') }}
{% endif %}
- name: ups_tazmania_battv
unique_id: sensor.ups_tazmania_battv
state_topic: monitoring/ups/status
unit_of_measurement: "V"
value_template: >-
{% if value_json[1].upsname == 'TAZMANIA' %}
{{ value_json[0].battv | float }}
{% else %}
{{ states('sensor.ups_tazmania_battv') }}
{% endif %}
- name: ups_titan_battv
unique_id: sensor.ups_titan_battv
state_topic: monitoring/ups/status
unit_of_measurement: "V"
value_template: >-
{% if value_json[1].upsname == 'TITAN' %}
{{ value_json[0].battv | float }}
{% else %}
{{ states('sensor.ups_titan_battv') }}
{% endif %}
# UPS load percentage
- name: ups_terra_loadpct
unique_id: sensor.ups_terra_loadpct
state_topic: monitoring/ups/status
value_template: >-
{% if value_json[1].upsname == 'TERRA' %}
{{ value_json[0].loadpct | int }}
{% else %}
{{ states('sensor.ups_terra_loadpct') }}
{% endif %}
- name: ups_tazmania_loadpct
unique_id: sensor.ups_tazmania_loadpct
state_topic: monitoring/ups/status
value_template: >-
{% if value_json[1].upsname == 'TAZMANIA' %}
{{ value_json[0].loadpct | int }}
{% else %}
{{ states('sensor.ups_tazmania_loadpct') }}
{% endif %}
- name: ups_titan_loadpct
unique_id: sensor.ups_titan_loadpct
state_topic: monitoring/ups/status
value_template: >-
{% if value_json[1].upsname == 'TITAN' %}
{{ value_json[0].loadpct | int }}
{% else %}
{{ states('sensor.ups_titan_loadpct') }}
{% endif %}