diff --git a/.HA_VERSION b/.HA_VERSION index 74e4adb..2f69e60 100644 --- a/.HA_VERSION +++ b/.HA_VERSION @@ -1 +1 @@ -2025.12.2 \ No newline at end of file +2025.12.4 \ No newline at end of file diff --git a/.ha_run.lock b/.ha_run.lock index ebc762d..8f5cba7 100644 --- a/.ha_run.lock +++ b/.ha_run.lock @@ -1 +1 @@ -{"pid": 68, "version": 1, "ha_version": "2025.12.2", "start_ts": 1765482884.5000265} \ No newline at end of file +{"pid": 67, "version": 1, "ha_version": "2025.12.4", "start_ts": 1766360674.64677} \ No newline at end of file diff --git a/mqtt.yaml b/mqtt.yaml index 5e734fb..0b03c65 100644 --- a/mqtt.yaml +++ b/mqtt.yaml @@ -1,5 +1,17 @@ --- - 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 @@ -71,12 +83,158 @@ state_topic: etcontroller/sw/answers value_template: >- {{ value_json['values'].level }} - - 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 + + # 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: >- - {{ 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 }}" + {% 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 %} diff --git a/scenes.yaml b/scenes.yaml index e69de29..474b102 100644 --- a/scenes.yaml +++ b/scenes.yaml @@ -0,0 +1,32 @@ +- id: '1765640519696' + name: Luminarie + entities: + light.presa_smart_1: + supported_color_modes: + - onoff + color_mode: onoff + friendly_name: Presa-Smart-1 + supported_features: 0 + state: 'on' + light.presa_smart_2: + supported_color_modes: + - onoff + color_mode: onoff + friendly_name: Presa-Smart-2 + supported_features: 0 + state: 'on' + light.presa_smart_11: + supported_color_modes: + - onoff + color_mode: onoff + friendly_name: Presa-Smart-11 + supported_features: 0 + state: 'on' + icon: mdi:ceiling-fan-light + metadata: + light.presa_smart_1: + entity_only: true + light.presa_smart_2: + entity_only: true + light.presa_smart_11: + entity_only: true diff --git a/templates.yaml b/templates.yaml index deaf672..6cdc2aa 100644 --- a/templates.yaml +++ b/templates.yaml @@ -1,4 +1,8 @@ --- + + +# IMPORTANT NOTE: all sensors here having templates have been migrated/fixed to HERE from other as per Deprecation of platform: Template + # Storage for Bubble Card Modules - trigger: - trigger: event