This is the forum archive of Homey. For more information about Homey, visit the Official Homey website.

The Homey Community has been moved to https://community.athom.com.

This forum is now read-only for archive purposes.

The test button on POPP 4001 Smoke Detector and Siren (POPE004001) do not trigger a flow

vidjensevidjense Member
edited August 2017 in Questions & Help
I have bought 3 pcs of "004001 - Smoke Detector and Siren" and is currently running Homey firmware 1.3.1 with your Popp app ver. 1.1.6. Perhaps I am doing something wrong, but I cannot get the 4001 smoke detector to trigger a smoke alarm in the Homey flow by using the test button on the smoke alarm.

Comments

  • Well, after some detective work, I followed the "Getting Started" and installed the NodeJS, added the Node.js pack in VS Code, downloaded the project from Github, changed the "debug:false" to true in driver for the 4001 and run the project with "athom project --run"... I got a long list of debug info.
    The problem now is how to understand the debug info.
    I see that after pressing the test button on the smoke detector I get a "report" with no alarm, but with a notification with "status:on" and "type:smoke".

    I have created a flow with "Smoke Alarm Trigger: a Smoke" that should push a notification using Pushover. The flow works when I test it or uses a other way trigger it, but it will not trigger from the smoke alarm.

    [debug] node.CommandClass['COMMAND_CLASS_NOTIFICATION'].on('report') arguments: { '0': { value: 5, name: 'NOTIFICATION_REPORT' },
      '1':
       { 'V1 Alarm Type (Raw)': <Buffer 00>,
         'V1 Alarm Type': 0,
         'V1 Alarm Level (Raw)': <Buffer 00>,
         'V1 Alarm Level': 0,
         'Reserved (Raw)': <Buffer 00>,
         'Notification Status (Raw)': <Buffer ff>,
         'Notification Status': 'On',
         'Notification Type (Raw)': <Buffer 01>,
         'Notification Type': 'Smoke',
         'Event (Raw)': <Buffer 00>,
         Event: 0,
         'Properties1 (Raw)': <Buffer 00>,
         Properties1: { 'Event Parameters Length': 0, Sequence: false },
         'Event Parameter': <Buffer >,
         'Sequence Number (Raw)': <Buffer 00>,
         'Sequence Number': 0 },
      '2': null }

  • From what I know about this stuff, you likely need to add the capability for smoke.. 
  • TedTolboomTedTolboom Member
    edited August 2017
    Mod break: moved to questions and help section

    @mruiter is the developer of this app and driver.

    The driver is setup to trigger an alarm event based on the SENSOR_BINARY_REPORT and not the Notification class. Does the logging show this report mentioned during pressing of the test button?

    Does the manual state that pressing the test button will also trigger an alarm (and also the SENSOR_BINARY_REPORT)?
  • In the zwave log I find 2 entries, after pressing the test button, that may be what you are asking for:

    Decapsulated frame from COMMAND_CLASS_SECURITY to COMMAND_CLASS_SENSOR_BINARY, data 0x03ff02
    and
    Decapsulated frame from COMMAND_CLASS_SECURITY to COMMAND_CLASS_SENSOR_BINARY, data 0x030002



    Here is the complete log after I press the test button on the smoke detector from the POPP app:

    [debug]  COMMAND_CLASS_SENSOR_BINARY SENSOR_BINARY_GET args: { 'Sensor Type': 'Smoke' } err: null result: { 'Sensor Value (Raw)': <Buffer 00>,
      'Sensor Value': 'idle',
      'Sensor Type (Raw)': <Buffer 02>,
      'Sensor Type': 'Smoke' }
    [debug] node.CommandClass['COMMAND_CLASS_NOTIFICATION'].on('report') arguments: { '0': { value: 5, name: 'NOTIFICATION_REPORT' },
      '1':
       { 'V1 Alarm Type (Raw)': <Buffer 00>,
         'V1 Alarm Type': 0,
         'V1 Alarm Level (Raw)': <Buffer 00>,
         'V1 Alarm Level': 0,
         'Reserved (Raw)': <Buffer 00>,
         'Notification Status (Raw)': <Buffer ff>,
         'Notification Status': 'On',
         'Notification Type (Raw)': <Buffer 01>,
         'Notification Type': 'Smoke',
         'Event (Raw)': <Buffer 00>,
         Event: 0,
         'Properties1 (Raw)': <Buffer 00>,
         Properties1: { 'Event Parameters Length': 0, Sequence: false },
         'Event Parameter': <Buffer >,
         'Sequence Number (Raw)': <Buffer 00>,
         'Sequence Number': 0 },
      '2': null }
    [debug]  COMMAND_CLASS_SWITCH_BINARY SWITCH_BINARY_GET args: {} err: null result: { 'Value (Raw)': <Buffer 00>, Value: 'off/disable' }
    [debug]  COMMAND_CLASS_SENSOR_BINARY SENSOR_BINARY_GET args: { 'Sensor Type': 'Smoke' } err: null result: { 'Sensor Value (Raw)': <Buffer 00>,
      'Sensor Value': 'idle',
      'Sensor Type (Raw)': <Buffer 02>,
      'Sensor Type': 'Smoke' }
    [debug]  COMMAND_CLASS_SWITCH_BINARY SWITCH_BINARY_GET args: {} err: null result: { 'Value (Raw)': <Buffer 00>, Value: 'off/disable' }
    [debug]  COMMAND_CLASS_SENSOR_BINARY SENSOR_BINARY_GET args: { 'Sensor Type': 'Smoke' } err: null result: { 'Sensor Value (Raw)': <Buffer 00>,
      'Sensor Value': 'idle',
      'Sensor Type (Raw)': <Buffer 02>,
      'Sensor Type': 'Smoke' }
    [debug] node.CommandClass['COMMAND_CLASS_NOTIFICATION'].on('report') arguments: { '0': { value: 5, name: 'NOTIFICATION_REPORT' },
      '1':
       { 'V1 Alarm Type (Raw)': <Buffer 00>,
         'V1 Alarm Type': 0,
         'V1 Alarm Level (Raw)': <Buffer 00>,
         'V1 Alarm Level': 0,
         'Reserved (Raw)': <Buffer 00>,
         'Notification Status (Raw)': <Buffer ff>,
         'Notification Status': 'On',
         'Notification Type (Raw)': <Buffer 01>,
         'Notification Type': 'Smoke',
         'Event (Raw)': <Buffer 02>,
         Event: 2,
         'Properties1 (Raw)': <Buffer 00>,
         Properties1: { 'Event Parameters Length': 0, Sequence: false },
         'Event Parameter': <Buffer >,
         'Sequence Number (Raw)': <Buffer 00>,
         'Sequence Number': 0 },
      '2': null }
    [debug]  COMMAND_CLASS_SWITCH_BINARY SWITCH_BINARY_GET args: {} err: { [Error: timeout] message: 'timeout' } result: null
    [debug]  COMMAND_CLASS_SENSOR_BINARY SENSOR_BINARY_GET args: { 'Sensor Type': 'Tamper' } err: null result: { 'Sensor Value (Raw)': <Buffer ff>,
      'Sensor Value': 'detected an event',
      'Sensor Type (Raw)': <Buffer 02>,
      'Sensor Type': 'Smoke' }
    [debug]  COMMAND_CLASS_SENSOR_BINARY SENSOR_BINARY_GET args: { 'Sensor Type': 'Tamper' } err: { [Error: timeout] message: 'timeout' } result: null
    [debug]  COMMAND_CLASS_SENSOR_BINARY SENSOR_BINARY_GET args: { 'Sensor Type': 'Tamper' } err: { [Error: timeout] message: 'timeout' } result: null
    [debug] node.CommandClass['COMMAND_CLASS_NOTIFICATION'].on('report') arguments: { '0': { value: 5, name: 'NOTIFICATION_REPORT' },
      '1':
       { 'V1 Alarm Type (Raw)': <Buffer 00>,
         'V1 Alarm Type': 0,
         'V1 Alarm Level (Raw)': <Buffer 00>,
         'V1 Alarm Level': 0,
         'Reserved (Raw)': <Buffer 00>,
         'Notification Status (Raw)': <Buffer ff>,
         'Notification Status': 'On',
         'Notification Type (Raw)': <Buffer 01>,
         'Notification Type': 'Smoke',
         'Event (Raw)': <Buffer 02>,
         Event: 2,
         'Properties1 (Raw)': <Buffer 00>,
         Properties1: { 'Event Parameters Length': 0, Sequence: false },
         'Event Parameter': <Buffer >,
         'Sequence Number (Raw)': <Buffer 00>,
         'Sequence Number': 0 },
      '2': null }
    [debug] node.CommandClass['COMMAND_CLASS_BASIC'].on('report') arguments: { '0': { value: 1, name: 'BASIC_SET' },
      '1': { 'Value (Raw)': <Buffer ff>, Value: 255 },
      '2': null }
    [debug] node.CommandClass['COMMAND_CLASS_NOTIFICATION'].on('report') arguments: { '0': { value: 5, name: 'NOTIFICATION_REPORT' },
      '1':
       { 'V1 Alarm Type (Raw)': <Buffer 00>,
         'V1 Alarm Type': 0,
         'V1 Alarm Level (Raw)': <Buffer 00>,
         'V1 Alarm Level': 0,
         'Reserved (Raw)': <Buffer 00>,
         'Notification Status (Raw)': <Buffer ff>,
         'Notification Status': 'On',
         'Notification Type (Raw)': <Buffer 01>,
         'Notification Type': 'Smoke',
         'Event (Raw)': <Buffer 00>,
         Event: 0,
         'Properties1 (Raw)': <Buffer 01>,
         Properties1: { 'Event Parameters Length': 1, Sequence: false },
         'Event Parameter': <Buffer 02>,
         'Sequence Number (Raw)': <Buffer 00>,
         'Sequence Number': 0 },
      '2': null }
    [debug] node.CommandClass['COMMAND_CLASS_SENSOR_BINARY'].on('report') arguments: { '0': { value: 3, name: 'SENSOR_BINARY_REPORT' },
      '1':
       { 'Sensor Value (Raw)': <Buffer 00>,
         'Sensor Value': 'idle',
         'Sensor Type (Raw)': <Buffer 02>,
         'Sensor Type': 'Smoke' },
      '2': null }
    [debug] node.CommandClass['COMMAND_CLASS_NOTIFICATION'].on('report') arguments: { '0': { value: 5, name: 'NOTIFICATION_REPORT' },
      '1':
       { 'V1 Alarm Type (Raw)': <Buffer 00>,
         'V1 Alarm Type': 0,
         'V1 Alarm Level (Raw)': <Buffer 00>,
         'V1 Alarm Level': 0,
         'Reserved (Raw)': <Buffer 00>,
         'Notification Status (Raw)': <Buffer ff>,
         'Notification Status': 'On',
         'Notification Type (Raw)': <Buffer 01>,
         'Notification Type': 'Smoke',
         'Event (Raw)': <Buffer 00>,
         Event: 0,
         'Properties1 (Raw)': <Buffer 01>,
         Properties1: { 'Event Parameters Length': 1, Sequence: false },
         'Event Parameter': <Buffer 02>,
         'Sequence Number (Raw)': <Buffer 00>,
         'Sequence Number': 0 },
      '2': null }
    [debug] node.CommandClass['COMMAND_CLASS_BASIC'].on('report') arguments: { '0': { value: 1, name: 'BASIC_SET' },
      '1': { 'Value (Raw)': <Buffer 00>, Value: 0 },
      '2': null }
  • Regarding the test button.
    Here is what I found in the manual:
    "A button on the device can be used to test the smokebox, the electronics and the battery. In addition the device has an integrated test functionality to make manual tests with Aerosol unnecessary."
    "A button on the Z-Wave module is designed to test the smokebox and sends the battery and smoke alarm to the Z-Wave controller"
  • Based on this section, it should have triggered the alarm: 
    [debug]  COMMAND_CLASS_SENSOR_BINARY SENSOR_BINARY_GET args: { 'Sensor Type': 'Tamper' } err: null result: { 'Sensor Value (Raw)': <Buffer ff>,
      'Sensor Value': 'detected an event',
      'Sensor Type (Raw)': <Buffer 02>,
      'Sensor Type': 'Smoke' }
    Can you check if the mobile card of the sensor shows an alarm when you press the test button?
  • The mobile card in the "Zones & Devices" does not indicate that the alarm is sounding.
    I can turn on and off the alarm with the switch on the card, but it does not indicate alarm when I push the test button.
  • @vidjense strange...
    I also notice that your entire mobile card is greyed out; never seen this before... even the battery percentage that should be green...

    can you try to remove the smoke alarm and re-add it?
  • I tried that, no difference.
    Regarding the "grey out". The NodOn Smart Plug is the same. It is only black if the light is turned on.

    Light OFF:


    Light ON:


    Smoke alarm sounding (used the "Turned on"-switch to sound the alarm):

  • After communicating with support at Popp, they could reveal that you cannot trigger a smoke alarm with the test button in the zwave network. You have to trigger a real alarm for this.
    Also the association group 2 (alarm) will not be triggered by other means than a real alarm.
    The statement in the manual...
    "A button on the Z-Wave module is designed to test the smokebox and sends the battery and smoke alarm to the Z-Wave controller."
    ... is false and should, according to support at Popp, read:
    "The Z-Wave radio module enables the smoke and battery alarms to be transmitted to a central Z-Wave controller."

    ... so I am off to buy a test spray to test the smoke alarm and setup.
  • You don't smoke?
  • Never done :)  
    Perhaps less mess and smell with spray!?
  • @vidjense Thanks for the feedback.

    I already expected that this would be the case based on the logging provided... @m-ruiter possible remark to included into the readme of the Popp app?
Sign In or Register to comment.