First Alert Smoke Detector and Carbon Monoxide Alarm Setup

Yes, that is very important and a problem. Various regions use different frequencies and they are not compatible. Fibaro, Popp and Zipato are seem to be popular brands in the EU market that offer smoke alarms. You can find a list of certified devices here.

1 Like

Appreicated freshcoast.

So theoratically a US Z-Wave adapter/usb stick will be able to connect to the two units I have bought for a significant sum :slight_smile: ?

If so, which adapter/usb is known to work with these combo sensors please?

Fair warning regulations in your country may make operation of US devices in your region illegal and you’d be subject to monetary fines for using those radio frequencies.

1 Like

Anyone have issues with the these devices being renamed after a HA restart or reboot? This wreaks havoc on any configs or cards that use the specific device or sensor name. The node number stays static but the sensor or device names will have a different number suffix usually. This makes me reluctant to update HA or reboot for any reason. Would stopping the Z-wave network help? Then restart after the HA update/reboot? I’m not an expert programmer, but this seems like it might be solved by using pointers or some similar method? Or somehow pulling the name associated with the node number?
Also, are the names generated in the Z-wave usb stick controller (Homeseer Smart Stick in my case) or in HA?
Thanks.
UPDATE: Before updating HA (Hass.io) I took a snapshot and saved the z-wave config. Then I stopped the Z-wave network. After updating my nodes retained the same device and entity/sensor names. Maybe this is the method to use.

You could try resetting the smoke alarm. Power up the device with the test button and hold for at least 10 seconds. Then try pairing again by the above method.

1 Like

This worked for me much appreciated. Both of my alarms needed a couple of go’s but probably because i did not repeat the process exactly as you stated (missed the reboots and wait between refresh node and heal)

I am however not seeing the alarms level/type being updated if i manually test the sensors. i was expecting the states to change for a bit. anyone else have the same issue? when i test, the battery level does update.

My experience was the same. I’ve been intending to use some incense to perform a more realistic test and see that the values change as expected. Now that winter is arriving (for me at least) I’m more likely to perform an inadvertent test with my fireplace. :sweat_smile:

thanks. and i made a silly mistake. In the UI i had same sensor repeating (curse the long names) and hence my manual tests werent reflecting. They are working and reporting fine. I almost gave up on Zwave :slight_smile:

Haven’t tested it in a while, but I vaguely remember the test button not sending the same value as an actual alert. I ended up testing it by taking it outside and using smoke from burning paper.

1 Like

Not sure if this will be useful for anyone, but I wanted to share my version of the nice status template that @TaperCrimp provided at the beginning of this thread.

    zcombo_1_status:
      friendly_name: Smoke alarm 1 status
      value_template: >
        {% set alarm = states('sensor.zcombo_1_alarm_type') | float %}
        {% set level = states('sensor.zcombo_1_alarm_level') | float %}
        {% if alarm == 13 and level == 255 %}
          OK
        {% elif alarm == 1 and level == 255 %}
          Smoke
        {% elif alarm == 2 and level == 255 %}
          CO
        {% elif alarm == 12 and level == 0 %}
          Test
        {% else %}
          Unknown
        {% endif %}
      icon_template: >
        {% set alarm = states('sensor.zcombo_1_alarm_type') | float %}
        {% set level = states('sensor.zcombo_1_alarm_level') | float %}
        {% if alarm == 13 and level == 255 %}
          mdi:smoke-detector
        {% elif alarm == 1 and level == 255 %}
          mdi:fire
        {% elif alarm == 2 and level == 255 %}
          mdi:cloud-alert
        {% elif alarm == 12 and level == 0 %}
          mdi:smoke-detector
        {% else %}
          mdi:cloud-question
        {% endif %}

It includes values for when the smoke alarm is tested.

6 Likes

Quick question, hoping to not derail the progress of these posts’s however I can not find a solution while searching the blog.

Admins feel free to move accordingly.

Is it possiable to push the siren via zwave to the zcombo when my alarm panel is set to armed or away and a trigger happens?

Thanks in adavance

As far as I understand it right now the answer is no.

That’s because HA uses OZW1.4 and the support for sirens is in OZW1.6 which isn’t ready for HA yet.

Hopefully it will be soon.

This was immensely helpful. Thank you!

One thing that I didn’t realize is that if you’re using the frontend, HA only writes the zwcfg_abc123.xml file on shutdown or when you explicitly click the “Save Config” button. Similarly, HA only reads the zwcfg_abc123.xml file on startup.

This means if you start HA, edit the xml file, then shut down HA, it will overwrite anything you had there. Be sure to edit this file while HA is shut down.

1 Like

In addition to the above, I’ve created an automation for a push notification via SMTP on any state change for these… In my case, my SMTP client sends an email to my phone via Verizon’s “[email protected]” functionality.

- id: '1579995155570'
  alias: SMOKE & CO - BAR ROOM DETECTION
  description: ''
  trigger:
  - entity_id: sensor.bar_room_fire_co_status
    platform: state
  action:
  - data:
      message: 'BAR ROOM STATUS CHANGE: {{states.sensor.bar_room_fire_co_status.state}}'
    service: notify.notify_pat_smtp_cell

Not complex, but if you’ve spent the money on these and integrated them in HA, you might as well go all out and create push notifications too. These will notify of ANY state change on the sensor (so if you’re using the code above, a test will also come across).

Anyways, thanks for the code! I was going to create my own sensor for these, but this saved me hours of time. Much appreciated.

Has anyone been able to pair these with a HUSBZB-1 stick? I can’t get them to be seen no matter what I do. I’ve tried to add secured, unsecured, reset them fully…nothing at all in my logs. They just don’t exist.

I’m getting a quick beep after sliding in the tray and releasing the button. zwave logs look like umerfraz’s logs posted above. Here’s mine:

2020-02-09 18:22:22.880 Info, contrlr, ADD_NODE_STATUS_LEARN_READY
2020-02-09 18:22:22.880 Detail, Node001,   Expected callbackId was received
2020-02-09 18:22:22.880 Detail, Node001,   Expected reply was received
2020-02-09 18:22:22.880 Detail, Node001,   Message transaction complete
2020-02-09 18:22:22.880 Detail,
2020-02-09 18:22:22.880 Detail, contrlr, Removing current message
2020-02-09 18:22:22.880 Detail, Notification: ControllerCommand - Waiting
2020-02-09 18:22:22.881 Info, WriteNextMsg Controller nothing to do

Yes, you may have to reset them if it’s not showing up. Pull battery tray out, then while pressing and holding button put tray in and hold button for 10+ seconds should make weird beep three ish times. Now that it’s reset. Repeat pairing procedure. You may have to repeat pairing a few times to completely set up the node.

I’ve tried to reset them without any luck, unfortunately.

Original author here. I’ve gone from SmartThings -> Native Z-Wave -> SmartThings -> zwave2mqtt. I’ve been extremely happy with zwave2mqtt since I’m not rebuilding my entire mesh every time that I restart HA. That being said, I switched these over to a binary sensor that doesn’t care if it’s smoke or CO. Here’s the binary_sensor template if anyone is interested:

- platform: template
  sensors:
    smoke_detector_basement_status:
      friendly_name: 'Smoke - Basement Status'
      device_class: 'smoke'
      value_template: >-
        {{ (is_state("sensor.smoke_detector_basement_alarm_level", "255") and is_state("sensor.smoke_detector_basement_alarm_type", "1")) or
           (is_state("sensor.smoke_detector_basement_alarm_level", "255") and is_state("sensor.smoke_detector_basement_alarm_type", "2")) }}

    smoke_detector_main_floor_status:
      friendly_name: 'Smoke - Main Floor Status'
      device_class: 'smoke'
      value_template: >-
        {{ (is_state("sensor.smoke_detector_main_floor_alarm_level", "255") and is_state("sensor.smoke_detector_main_floor_alarm_type", "1")) or
           (is_state("sensor.smoke_detector_main_floor_alarm_level", "255") and is_state("sensor.smoke_detector_main_floor_alarm_type", "2")) }}

    smoke_detector_upstairs_status:
      friendly_name: 'Smoke - Upstairs Status'
      device_class: 'smoke'
      value_template: >-
        {{ (is_state("sensor.smoke_detector_upstairs_alarm_level", "255") and is_state("sensor.smoke_detector_upstairs_alarm_type", "1")) or
           (is_state("sensor.smoke_detector_upstairs_alarm_level", "255") and is_state("sensor.smoke_detector_upstairs_alarm_type", "2")) }}
1 Like

where do you put this, in configuration.yaml?

I’ve got this in configuration.yaml:

binary_sensor: !include_dir_merge_list binary_sensors

In then in the binary_sensors directory, I have a file named templates.yaml. That contains the text above.