First Alert Smoke Detector and Carbon Monoxide Alarm Setup

There’s literally no way for anyone to know the answer to that question because you haven’t provided any information.

I have two and I have both of them paired just fine.

I do know that the devices are extremely finicky to pair. And before you say it, no, it it’s not HA’s fault. It’s the way the devices need to be paired that makes it less easy.

This 100% worked for me. Amazing!! The save config then full reboot works.

Btw, I’m using a Nortek HUSBZB-1 and homeassistant core running on Fedora 32. In case anybody is having this issue.

@Meaulnes, what Zwave radio are you using? Maybe it’s a HUSBZB-1 thing?

Any updates on that gen 2 device or verifying this is the item to order for gen 2?@ideal2545 @anyone else with information

I was looking at purchasing 9 for the house and wanted an easier application with Zwave and HA.

I can confirm that there IS a Zwave Plus model now available. It’s sitting on my kitchen counter as I type. Got it on Amazon. I haven’t had any success pairing it to my Abode system, and found this thread looking for ways to connect it to HA directly.

Sweet! That’s great you had success with that. Could you link to the one you ordered so I could do some more research please?

Yup, got it on Amazon, at this link:

First Alert Z-Wave Smoke Detector & Carbon Monoxide Alarm, Works with Ring Alarm, 2nd Generation https://www.amazon.com/dp/B08FFB233Y/ref=cm_sw_r_cp_api_fabc_.aiRFbQ7JFT5G?_encoding=UTF8&psc=1

you have to choose the second generation one, it isn’t the default. To be clear—I don’t have this up and running with HA yet but I have high hopes based on some posts I’ve seen elsewhere.

Anyone know why my gen2 First Alert detector is listing the smoke and carbon sensor as 254 for the value and not as @ideal2545 has his listed?

Also does anyone have the spec sheets for these devices? Trying to figure out all the values for the sensors.

Thank you for your template. Here I’ve added the icon_templates back, but i’m not sure what are good icons for the health sensors? Any suggestions?

## Downstairs First Alert (Gen 2 Zwave Plus)
- platform: template
  sensors:
    smoke_downstairs_status:
      friendly_name: Smoke Downstairs Status
      value_template: >-
        {% if is_state('sensor.smoke_downstairs_smoke', '3') %}
          Test
        {% elif is_state('sensor.smoke_downstairs_smoke', '2') %}
          Smoke
        {% elif is_state('sensor.smoke_downstairs_carbon_monoxide', '2') %}
          CO
        {% elif is_state('sensor.smoke_downstairs_smoke', '6') or is_state('sensor.smoke_downstairs_carbon_monoxide', '6') %}
          Silenced
        {% elif is_state('sensor.smoke_downstairs_carbon_monoxide', '5') %}
          CO_EOL
        {% else %}
          Idle
        {% endif %}
      icon_template: >-
        {% if is_state('sensor.smoke_downstairs_smoke', '3') %}
          mdi:cloud-alert
        {% elif is_state('sensor.smoke_downstairs_smoke', '2') %}
          mdi:fire
        {% elif is_state('sensor.smoke_downstairs_carbon_monoxide', '2') %}
          mdi:cloud-alert
        {% elif is_state('sensor.smoke_downstairs_smoke', '6') or is_state('sensor.smoke_downstairs_carbon_monoxide', '6') %}
          mdi:smoke-detector
        {% elif is_state('sensor.smoke_downstairs_carbon_monoxide', '5') %}
          mdi:cloud-alert
        {% else %}
          mdi:smoke-detector
        {% endif %}
- platform: template
  sensors:
    smoke_downstairs_health:
      friendly_name: Smoke Downstairs Health
      value_template: >-
        {% if is_state('sensor.smoke_downstairs_system', '5') %}
          Healthy
        {% elif is_state('sensor.smoke_downstairs_system', '1') %}
          Malfunction Detected
        {% elif is_state('sensor.smoke_downstairs_system', '0')  %}
          Malfunction Clear
        {% endif %}
      icon_template: >-
        {% if is_state('sensor.smoke_downstairs_system', '5') %}
        {% elif is_state('sensor.smoke_downstairs_system', '1') %}
          mdi:alert
        {% elif is_state('sensor.smoke_downstairs_system', '0')  %}
        {% endif %}
2 Likes

It’s a been a little while since I’ve messed with these but if I recall correctly, 254 happens right after initialization but then if you test it or do anything else it will go to 0, hence why ‘Else’ is just "idle’ because it can mean both conditions as Idle for our purposes and all other conditions are accounted for

I just got the zwave ones from costco, they are for sure zwave plus gen 2 devices.

awesome thank you!!

Update: After much futzing about with it, I have still not successfully paired the ZWave Plus model with Home Assistant. I’m using Zooz ZST10 USB stick and a UI integration, but nothing I do in terms of order of operations or anything will make it communicate. I suppose it’s still a functional smoke alarm, but pretty disappointed in ZWave…talk about a technology designed to avoid mass adoption.

I’ve never used the zwave stick you are referring to, nor have I heard of it, but I had no issues pairing all 8 of mine just now in HA with my AEON Labs ZW090 Z-Stick Gen5 US version. Took me about 5 minutes for all of them (besides renaming them which will take considerably more time because apparently they doesn’t jive too well with HA just yet. I would highly recommend buying a gen 5 stick as it doesn’t require a hub and can plug directly into the pi.

Thanks for the help! I ordered 8 from Amazon and they paired just beautifully. I also emailed customer support to get a list of numbers used for status (254 for idle (I think)) if they can help me with that. If they can, I’ll be sure to link to anything they send me. In the meantime, do you know what some of the values mean, I renamed them using the end of the entity ID as a name but can’t make heads or tails of some of them.

See the picture for clarification. One last question, do you know how to rename entity IDs so they’re not as ridiculously cumbersome to use and identify? Especially because I have freaking 8 of them. It’s ridiculous. Thanks for y’all’s help!

The full spec sheet is available here. All of the notification values are standardized in SDS13713.

The occasional sensor value of 254 could be a result of a bug in OZW 1.4. 254 is not “idle”, but an unknown state, and can be produced when OZW asks for the alarm values on startup in an incorrect way. I don’t think this is a problem in OZW 1.6 (OpenZWave Beta) but I honestly haven’t paid much attention to it.

I took a look at the spec sheets you linked. All the values are in hex. Is there a correlation between 3 , 0 and other values HA reports and those hex values? I’d assume they’d report a number or something

Each of the notification types is represented as its own sensor in HA. The “System” sensor is notification type 0x09. Defined for each notification type are event values, which are the HA sensor states. The “System” sensor with a state of 5 corresponds to the notification type 0x09 with a notification event value of 0x05 (5), which is the “Heartbeat” event.

Hi all, I’ve got gen 1 version of these smoke detectors (as far as I can tell) and I’ve got a template built (thanks to this thread) and everything seems to be working great, except for one gigantic pain in the rear.

The battery. Is there anyway to force these things to go out and grab the battery from time to time? I wake up in the middle of the night to a random chrip in the house and no indication of what smoke detector it’s coming from… so I’m up at 3AM standing under a smoke detector hoping to hear the chirp directly above me, and not from further down the hall… I’ve also noticed that the timing between chirps isn’t anything that is super reliable, so I could spend five minutes standing under the smoke detector, give up and go back to bed only for it to chirp a little while later.

Any help would be greatly appreciated.

Hi all,

I’m fairly new to Home Assistant, but I’m a long time coder. This project resonates with me and I’m starting to get it.

In this specific case, I’m looking to replace our aging wired smoke detectors. This model seems intriguing, especially since I have have several other Z-Wave devices working. As a test run I’m trying to integrate a single First Alert Z-Wave combo second generation device. If this works well, I’ll outfit the whole house.

So far I’ve been able to add the device securely to the Z-Wave network, edited the /config/zwcfg*.xml file to get rid of the ugly “unknown” strings, and also edited the core.entity_registry file to better name the entities associated with the device.

Along the way I emulated the OP’s direction for not cluttering the main confg file and created a “sensors” folder, the corresponding templates.yaml file (based on the work of @ideal2545 and @Michael_Griffin) and included it with the following in my main config file like so:

sensor: !include_dir_merge_list sensors

The problem I’m seeing is none of the template defined sensors are available for display in a Lovelace entity card. I always see an error message like this:

Entity not available: sensor.smoke_upstairs_status

This is after multiple reboots and carefull review of the config files, including adding quotes for the friendly names.

I’ve also tried to explicitly set the entity names and restarted HA. Still cannot find the sensors in Lovelace (or anywhere).

Here’s the text of my sensors/templates.yaml file:

## Upstairs First Alert (Gen 2 Zwave Plus)
- platform: template
  sensors:
    smoke_upstairs_status:
      friendly_name: 'Smoke Upstairs Status'
      value_template: >-
        {% if is_state('sensor.first_alert_upstairs_smoke', '3') %}
          Test
        {% elif is_state('sensor.first_alert_upstairs_smoke', '2') %}
          Smoke
        {% elif is_state('sensor.first_alert_upstairs_carbon_monoxide', '2') %}
          CO
        {% elif is_state('sensor.first_alert_upstairs_smoke', '6') or is_state('sensor.first_alert_upstairs_carbon_monoxide', '6') %}
          Silenced
        {% elif is_state('sensor.first_alert_upstairs_carbon_monoxide', '5') %}
          CO_EOL
        {% else %}
          Idle
        {% endif %}
      icon_template: >-
        {% if is_state('sensor.first_alert_upstairs_smoke', '3') %}
          mdi:cloud-alert
        {% elif is_state('sensor.first_alert_upstairs_smoke', '2') %}
          mdi:fire
        {% elif is_state('sensor.first_alert_upstairs_carbon_monoxide', '2') %}
          mdi:cloud-alert
        {% elif is_state('sensor.first_alert_upstairs_smoke', '6') or is_state('sensor.first_alert_upstairs_carbon_monoxide', '6') %}
          mdi:smoke-detector
        {% elif is_state('sensor.first_alert_upstairs_carbon_monoxide', '5') %}
          mdi:cloud-alert
        {% else %}
          mdi:smoke-detector
        {% endif %}
- platform: template
  sensors:
    smoke_upstairs_health:
      friendly_name: 'Smoke Upstairs Health'
      value_template: >-
        {% if is_state('sensor.first_alert_upstairs_system', '5') %}
          Healthy
        {% elif is_state('sensor.first_alert_upstairs_system', '1') %}
          Malfunction Detected
        {% elif is_state('sensor.first_alert_upstairs_system', '0')  %}
          Malfunction Clear
        {% endif %}
      icon_template: >-
        {% if is_state('sensor.first_alert_upstairs_system', '5') %}
        {% elif is_state('sensor.first_alert_upstairs_system', '1') %}
          mdi:alert
        {% elif is_state('sensor.first_alert_upstairs_system', '0')  %}
        {% endif %}

To be specific, if I try include the sensor.smoke_upstairs_status entity in a Lovelace entity card I get the error above.

Note that I’ve verified that all of the above referenced sensors (like sensor.first_alert_upstairs_smoke) are valid and well known. I’ve also looked at the logs and can see no obvious errors.

I realize that my issue is almost certainly not related to the OP post. But after beating my head against the wall I could really use some advice. Hopefully as I get more skilled in HA I can contribute back to the community and repay the favor for any helpful suggestions.

Thanks in advance!

If you copy/paste your template definition into Developer Tools > Template, does it show any errors? Have you checked your logs to see if there were any errors there? It sounds like the sensor template isn’t rendering for some reason