I updated the above template to support both old and new ZCombo
- platform: template
sensors:
salon_smoke_detector_status: # ZCOMBO-G
friendly_name: Salon Smoke Detector Status
value_template: >-
{% if is_state('binary_sensor.salon_smoke_detector_smoke_alarm_smoke_detected', true) %}
smoke
{% elif is_state('binary_sensor.salon_smoke_detector_co_alarm_carbon_monoxide_detected', true) %}
co
{% elif is_state('binary_sensor.salon_smoke_detector_smoke_alarm_smoke_alarm_test', true) %}
test
{% elif is_state('sensor.salon_smoke_detector_smoke_alarm_sensor_status', 'idle') and is_state('sensor.salon_smoke_detector_co_alarm_alarm_status', 'idle') %}
idle
{% endif %}
icon_template: >-
{% if is_state('binary_sensor.salon_smoke_detector_smoke_alarm_smoke_detected', true) %}
mdi:fire
{% elif is_state('binary_sensor.salon_smoke_detector_co_alarm_carbon_monoxide_detected', true) %}
mdi:cloud-outline
{% elif is_state('binary_sensor.salon_smoke_detector_smoke_alarm_smoke_alarm_test', true) %}
mdi:alert-octagram
{% elif is_state('sensor.salon_smoke_detector_smoke_alarm_sensor_status', 'idle') and is_state('sensor.salon_smoke_detector_co_alarm_alarm_status', 'idle') %}
mdi:smoke-detector
{% endif %}
master_suite_smoke_detector_status: # ZCOMBO (old)
friendly_name: Master Suite Smoke Detector Status
value_template: >-
{% if is_state('sensor.master_suite_smoke_detector_alarmlevel', '255') and is_state('sensor.master_suite_smoke_detector_alarmtype', '1') %}
smoke
{% elif is_state('sensor.master_suite_smoke_detector_alarmlevel', '255') and is_state('sensor.master_suite_smoke_detector_alarmtype', '2') %}
co
{% elif is_state('sensor.master_suite_smoke_detector_alarmlevel', '0') and is_state('sensor.master_suite_smoke_detector_alarmtype', '12') %}
test
{% elif is_state('sensor.master_suite_smoke_detector_alarmlevel', '255') and is_state('sensor.master_suite_smoke_detector_alarmtype', '13') %}
idle
{% endif %}
icon_template: >-
{% if is_state('sensor.master_suite_smoke_detector_alarmlevel', '255') and is_state('sensor.master_suite_smoke_detector_alarmtype', '1') %}
mdi:fire
{% elif is_state('sensor.master_suite_smoke_detector_alarmlevel', '255') and is_state('sensor.master_suite_smoke_detector_alarmtype', '2') %}
mdi:cloud-outline
{% elif is_state('sensor.master_suite_smoke_detector_alarmlevel', '0') and is_state('sensor.master_suite_smoke_detector_alarmtype', '12') %}
mdi:alert-octagram
{% elif is_state('sensor.master_suite_smoke_detector_alarmlevel', '255') and is_state('sensor.master_suite_smoke_detector_alarmtype', '13') %}
mdi:smoke-detector
{% endif %}
guest_suite_smoke_detector_status:
friendly_name: Guest Suite Smoke Detector Status
value_template: >-
{% if is_state('sensor.guest_suite_smoke_detector_alarmlevel', '255') and is_state('sensor.guest_suite_smoke_detector_alarmtype', '1') %}
smoke
{% elif is_state('sensor.guest_suite_smoke_detector_alarmlevel', '255') and is_state('sensor.guest_suite_smoke_detector_alarmtype', '2') %}
co
{% elif is_state('sensor.guest_suite_smoke_detector_alarmlevel', '0') and is_state('sensor.guest_suite_smoke_detector_alarmtype', '12') %}
test
{% elif is_state('sensor.guest_suite_smoke_detector_alarmlevel', '255') and is_state('sensor.guest_suite_smoke_detector_alarmtype', '13') %}
idle
{% endif %}
icon_template: >-
{% if is_state('sensor.guest_suite_smoke_detector_alarmlevel', '255') and is_state('sensor.guest_suite_smoke_detector_alarmtype', '1') %}
mdi:fire
{% elif is_state('sensor.guest_suite_smoke_detector_alarmlevel', '255') and is_state('sensor.guest_suite_smoke_detector_alarmtype', '2') %}
mdi:cloud-outline
{% elif is_state('sensor.guest_suite_smoke_detector_alarmlevel', '0') and is_state('sensor.guest_suite_smoke_detector_alarmtype', '12') %}
mdi:alert-octagram
{% elif is_state('sensor.guest_suite_smoke_detector_alarmlevel', '255') and is_state('sensor.guest_suite_smoke_detector_alarmtype', '13') %}
mdi:smoke-detector
{% endif %}