First Alert Smoke Detector and Carbon Monoxide Alarm Setup

To the best of my knowledge the “ZCOMBO” should be the First Gen Non-Plus version. And “ZCOMBO-G” and “SMCO400” should be the newer Z-wave plus one. But I believe I have read some people getting either model from some retailers even though their website may have listed a different version.

Here should be all of them currently available:

https://products.z-wavealliance.org/Search/Index?regionId=2&searchText=Combo

Thanks @Bartem for the link. So we have got 4 from First Alert, it seems:

  1. Z-wave (non-plus), so Gen-1
    ZCOMBO: Device Version: v0.03 / Product ID 0x0002
  2. Z-wave Plus, Gen-2, and has 3 flavours(??)
    2a. ZCOMBO-G: Device Version: HW: 2 FW: 4.01:00.01 / Product ID 0x0003 / S2 Unauthenticated
    2b. ZCOMBO-G: Device Version: HW: 2 FW: 11.00:07.00 / Product ID 0x0003 / S2 Unauthenticated & Authenticated
    2c. SMCO400: Device Version: HW: 2 FW: 12.00:07.00 / Product ID 0x0058 / S2 Unauthenticated & Authenticated

So I believe what @shim895 has is the flavour “B” of the Gen-2

3 Likes

Reports as:
image

Here are mine:


Reports as:
image


Reports as:
image

Wow here I was thinking I was going to have to fight and hack to get this thing to work in HA. Added through ZWave JS perfectly with all the sensors I need. Only thing I wish there was would be a way to turn off and on the alarm. That way I can silence it without getting a ladder out and if I can trigger the alarm. I can use it along with my custom Home Alarm System. But A+ goes out to the ZWave JS team! :+1::sunglasses:

I had it setup like this and then for some reason I restarted the add on. All the sensors went unavailable and no matter what, restart, heal, reinterview, will bring it back. I’ve tried to even remove the integration, add on, then add everything back and search for it again. It keeps coming up “ The device was added insecurely” and never prompts for the ZWave DSK key like it did the first time.

Anyone seen this before and know a resolution? My guess is there is some data stored somewhere it’s regurgitating that needs purged but this is my first foray into ZWave.

What would be the best equivalent product for use in Europe ? I see this is using US frequencies only, and only satisfies UL standards (enough for US, not Europe I believe). I am struggling to find something Z-Wave+ (or Zigbee) based for use in Europe. Fibaro FGSD-002 had very bad reviews due to false positives, and I cannot find any review on ABUS SHRM10000. They are however “only” smoke detectors, not CO+smoke combined detectors. Thanks :smiley:

Yeah having the same issue, the device adds but only pulls in Battery Level, Low Battery, and Node status: Awake. Doesn’t show if smoke has been detected.

Just picked up a new version of these to see about starting to replace my 4 non-plus ones.
Everything is looking good except that it shows “Problem” under “System - System hardware failure”

Anyone ever seen that?

ZCOMBO

by First Alert (BRK Brands Inc)

Firmware: 11.0

Restarting HA switched it to 0 (Ok). Out of curiosity I just emailed First Alert to get details, if any, on what that truly means if there was a valid problem.

I really don’t wanna go the template sensor route, anyone know an easy and harmless way to trigger a false alarm for CO? Smoke I can do by just bringing them into the kitching and burning some toast, but not sure how to trigger a CO alarm.

Look up Carbon Monoxide Test Aerosol on Amazon or your favorite shopping site. (theres also a smoke detection test spray available)

Use it SPARINGLY… Smoke and CO detectors have a limited useful life. Smokes are generally good for 10 years and COs are 3-10 depending on the detection media. (I THINK the FA-Zcombos are 10 year devices - your manual should say)

Overuse of test spray can prematurely end your detector’s lifespan. NFPA reccommmends testing the unit once a month using the test button. I spray test mine whrn I replace my batteries every 6-12 months.

1 Like

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 %}

1 Like

Hold it near your cars exhaust?

1 Like

I was able to add mine but it took a few tries. It kept wanting to do an unauthenticated install and would just load a basic node with no attributes. I found that if I went to the integrations page and just clicked on add integration, there is now 2 new additions at the top for adding Zigbee and ZWave devices. Adding it in that way seemed to do the proper L2 authentication and it loaded up all of the attributes correctly. I didn’t need to make any template sensors just needed to create my automations for notifications and add the sensors into Alarmo for monitoring.

See my post below

@kramttocs Did you ever hear back from First Alert on the error? My alarm just went off today and now it has this error and it is not going away.

Sorry, I never did.

Just a quick note that I migrated from the deprecated Wave 1.4 to ZwaveJS2MQTT today. I’d been putting it off, but it was in the way of upgrading HA (I was stuck on 2022.3.7, just before they removed the old integration).

I followed these great instructions:

A real worry that I had was our First Alert Smoke/CO detectors. They were a total pain to get working in the first place since they were not directly supported by the legacy integration (and they were fiddly trying to join the network).

Fortunately all I had to do was wait until they all woke up (step 9 of the instructions above). Took a while (I think the sleep interval is 70 minutes, worse case). So luckily I didn’t have to break out the ladder to wake them up or get them to re-join.

I did have to rework my templates, but it was well worth it to use the new entities that ZwaveJS2MQTT provided. Much better than the raw value templates that I had to hack together because the device was never directly supported by the deprecated Zwave integration.

Since my NodeRed integrations were using the template, I didn’t have to change the flows very much. I did remove a hack (which I’m not sure ever worked) that would report a low battery situation by looking at the battery percentage level. Instead I’m now using the provided entity that indicates if the unit is in low battery mode (binary_sensor.blah_blah_low_battery_level).

Luckily I’ve got some units with older batteries, so while testing the detectors, some of them ran out of juice and the binary sensor indicated low battery (exactly coinciding with the low battery chirp from the alarm).

Now I know that I’ll get a push notification when any unit is in low battery mode, and I can see their status from our wall panels. I no longer have to wander around listening for which unit is chirping.

It was a bit of work, but I’m very happy with the upgrade.

1 Like

Is there a way to trigger the alarm/siren via HA? Wondering if anybody ever made that work. Would love to add that to my security system as @LoRd_NeX also mentioned. As he also mentioned, would be great to be able to stop the alarm as well rather than having to wait for it decide to stop. Thanks!

1 Like