Koenkk / zigbee-herdsman-converters

Collection of device converters to be used with zigbee-herdsman
MIT License
894 stars 2.99k forks source link

Adding Support for Smartthings Smartsense motion #485

Closed armacali closed 4 years ago

armacali commented 5 years ago

good day;

please Adding Support for Smartthings motion sensor 'STSS-IRM-001' model 2013;

devices.js { zigbeeModel: ['PGC314'], model: 'STSS-IRM-001', vendor: 'SmartThings', description: 'Motion sensor (2013 model)', supports: 'occupancy', fromZigbee: [fz.smartthings_sense], toZigbee: [], },

homeassistant.js 'STSS-IRM-001': [configurations.binary_sensor_occupancy, configurations.sensor_battery],

fromZigbee.js smartthings_sense: { cid: 'ssIasZone', type: 'statusChange', convert: (model, msg, publish, options) => { return {occupancy: msg.data.zoneStatus === 49}; }, },

armacali commented 5 years ago

@Koenkk is possible add the configuration files "devices.js", "fromZigbee.js", "homeassistant.js", this is test by my, with optimal results

Koenkk commented 5 years ago

Can you check if it also works with:

{
        zigbeeModel: ['PGC314'],
        model: 'STSS-IRM-001',
        vendor: 'SmartThings',
        description: 'Motion sensor (2013 model)',
        supports: 'occupancy',
        fromZigbee: [fz.ias_zone_motion_status_change],
        toZigbee: [],
    },
armacali commented 5 years ago

Can you check if it also works with:

{
        zigbeeModel: ['PGC314'],
        model: 'STSS-IRM-001',
        vendor: 'SmartThings',
        description: 'Motion sensor (2013 model)',
        supports: 'occupancy',
        fromZigbee: [fz.ias_zone_motion_status_change],
        toZigbee: [],
    },

hello, @Koenkk, this code has not worked.

Koenkk commented 5 years ago

Can you share your data/database.db file?

armacali commented 5 years ago

database.zip

hello, @Koenkk, this is my file, regards

Koenkk commented 5 years ago

Please try with below and re-pair the device (remove from database.db first):

{
        zigbeeModel: ['PGC314'],
        model: 'STSS-IRM-001',
        vendor: 'SmartThings',
        description: 'Motion sensor (2013 model)',
        supports: 'occupancy',
        fromZigbee: [fz.ias_zone_motion_status_change],
        toZigbee: [],
        configure: (ieeeAddr, shepherd, coordinator, callback) => {
            const device = shepherd.find(ieeeAddr, 1);
            const actions = [
                (cb) => device.write('ssIasZone', 'iasCieAddr', coordinator.device.getIeeeAddr(), cb),
                (cb) => device.functional('ssIasZone', 'enrollRsp', {enrollrspcode: 0, zoneid: 23}, cb),
                (cb) => device.bind('genPowerCfg', coordinator, cb),
                (cb) => device.report('genPowerCfg', 'batteryPercentageRemaining', 0, 1000, 0, cb),
            ];
            execute(device, actions, callback);
        },
    },
armacali commented 5 years ago

Please try with below and re-pair the device (remove from database.db first):

{
        zigbeeModel: ['PGC314'],
        model: 'STSS-IRM-001',
        vendor: 'SmartThings',
        description: 'Motion sensor (2013 model)',
        supports: 'occupancy',
        fromZigbee: [fz.ias_zone_motion_status_change],
        toZigbee: [],
        configure: (ieeeAddr, shepherd, coordinator, callback) => {
            const device = shepherd.find(ieeeAddr, 1);
            const actions = [
                (cb) => device.write('ssIasZone', 'iasCieAddr', coordinator.device.getIeeeAddr(), cb),
                (cb) => device.functional('ssIasZone', 'enrollRsp', {enrollrspcode: 0, zoneid: 23}, cb),
                (cb) => device.bind('genPowerCfg', coordinator, cb),
                (cb) => device.report('genPowerCfg', 'batteryPercentageRemaining', 0, 1000, 0, cb),
            ];
            execute(device, actions, callback);
        },
    },

hello, @Koenkk, this code has not worked, occupancy detection always is off

This is the Log: zigbee2mqtt:info 8/1/2019, 8:29:27 PM MQTT publish: topic 'zigbee2mqtt/bridge/config', payload '{"version":"1.5.1","commit":"unknown","coordinator":20190608,"log_level":"info","permit_join":true}' zigbee2mqtt:warn 8/1/2019, 8:29:58 PM Failed to configure movimiento_cocina (0xd052a80037e60004) ('Error: request unsuccess: 134') (attempt #1) zigbee2mqtt:warn 8/1/2019, 8:29:58 PM This can be ignored if the device is working properly zigbee2mqtt:info 8/1/2019, 8:30:23 PM MQTT publish: topic 'zigbee2mqtt/Movimiento_Corredor2', payload '{"occupancy":true,"linkquality":86,"battery":100,"voltage":3045}' zigbee2mqtt:info 8/1/2019, 8:30:27 PM MQTT publish: topic 'zigbee2mqtt/Movimiento_Corredor', payload '{"illuminance":11,"linkquality":36,"occupancy":true,"battery":100,"voltage":3035}' zigbee2mqtt:info 8/1/2019, 8:30:27 PM MQTT publish: topic 'zigbee2mqtt/Movimiento_Corredor', payload '{"illuminance":11,"linkquality":39,"occupancy":true,"battery":100,"voltage":3035}' zigbee2mqtt:warn 8/1/2019, 8:30:31 PM Failed to configure movimiento_cocina (0xd052a80037e60004) ('Error: AF data request fails, status code: 240. MAC transaction expired.') (attempt #2) zigbee2mqtt:warn 8/1/2019, 8:30:31 PM This can be ignored if the device is working properly zigbee2mqtt:info 8/1/2019, 8:30:37 PM Device incoming... zigbee2mqtt:info 8/1/2019, 8:30:37 PM MQTT publish: topic 'zigbee2mqtt/bridge/log', payload '{"type":"pairing","message":"device incoming"}' zigbee2mqtt:warn 8/1/2019, 8:30:44 PM Failed to configure movimiento_cocina (0xd052a80037e60004) ('Error: AF data request fails, status code: 240. MAC transaction expired.') (attempt #3) zigbee2mqtt:warn 8/1/2019, 8:30:44 PM This can be ignored if the device is working properly zigbee2mqtt:info 8/1/2019, 8:31:10 PM MQTT publish: topic 'zigbee2mqtt/Enchufe_Centralite', payload '{"state":"ON","linkquality":21,"voltage":125}' zigbee2mqtt:info 8/1/2019, 8:31:53 PM MQTT publish: topic 'zigbee2mqtt/Movimiento_Corredor2', payload '{"occupancy":false,"linkquality":86,"battery":100,"voltage":3045}' zigbee2mqtt:info 8/1/2019, 8:31:56 PM MQTT publish: topic 'zigbee2mqtt/Temp_Suite', payload '{"temperature":32.78,"linkquality":63,"humidity":68.86,"pressure":993,"battery":100,"voltage":3005}' zigbee2mqtt:info 8/1/2019, 8:31:56 PM MQTT publish: topic 'zigbee2mqtt/Temp_Suite', payload '{"temperature":32.78,"linkquality":63,"humidity":69.05,"pressure":993,"battery":100,"voltage":3005}' zigbee2mqtt:info 8/1/2019, 8:31:56 PM MQTT publish: topic 'zigbee2mqtt/Temp_Suite', payload '{"temperature":32.78,"linkquality":63,"humidity":69.05,"pressure":993,"battery":100,"voltage":3005}' zigbee2mqtt:info 8/1/2019, 8:31:57 PM MQTT publish: topic 'zigbee2mqtt/Movimiento_Corredor', payload '{"illuminance":11,"linkquality":39,"occupancy":false,"battery":100,"voltage":3035}' zigbee2mqtt:info 8/1/2019, 8:32:07 PM Successfully reenabled joining zigbee2mqtt:info 8/1/2019, 8:32:53 PM MQTT publish: topic 'zigbee2mqtt/movimiento_cocina', payload '{"occupancy":false,"tamper":false,"battery_low":false,"linkquality":13}' zigbee2mqtt:info 8/1/2019, 8:32:59 PM MQTT publish: topic 'zigbee2mqtt/movimiento_cocina', payload '{"occupancy":false,"tamper":false,"battery_low":false,"linkquality":18}' zigbee2mqtt:info 8/1/2019, 8:33:15 PM MQTT publish: topic 'zigbee2mqtt/Enchufe_Centralite', payload '{"state":"ON","linkquality":15,"voltage":126}' zigbee2mqtt:info 8/1/2019, 8:33:25 PM MQTT publish: topic 'zigbee2mqtt/Enchufe_Centralite', payload '{"state":"ON","linkquality":23,"voltage":125}' zigbee2mqtt:info 8/1/2019, 8:34:47 PM Successfully reenabled joining zigbee2mqtt:info 8/1/2019, 8:34:53 PM MQTT publish: topic 'zigbee2mqtt/movimiento_cocina', payload '{"occupancy":false,"tamper":false,"battery_low":false,"linkquality":0}' zigbee2mqtt:info 8/1/2019, 8:35:30 PM MQTT publish: topic 'zigbee2mqtt/movimiento_cocina', payload '{"occupancy":false,"tamper":false,"battery_low":false,"linkquality":0}' zigbee2mqtt:info 8/1/2019, 8:35:49 PM MQTT publish: topic 'zigbee2mqtt/Enchufe_Centralite', payload '{"state":"ON","linkquality":21,"voltage":126}' zigbee2mqtt:info 8/1/2019, 8:35:59 PM MQTT publish: topic 'zigbee2mqtt/Enchufe_Centralite', payload '{"state":"ON","linkquality":15,"voltage":125}' zigbee2mqtt:info 8/1/2019, 8:36:31 PM MQTT publish: topic 'zigbee2mqtt/movimiento_cocina', payload '{"occupancy":false,"tamper":false,"battery_low":false,"linkquality":0}' zigbee2mqtt:info 8/1/2019, 8:36:59 PM MQTT publish: topic 'zigbee2mqtt/movimiento_cocina', payload '{"occupancy":false,"tamper":false,"battery_low":false,"linkquality":0}'

Koenkk commented 5 years ago

Did you re-pair the device after using the new code?

Please provide the debug log when pairing the device.

To enable debug logging set in configuration.yaml:

advanced:
  log_level: debug
stale[bot] commented 5 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

FoxConsult commented 4 years ago

Support for SmartThings SmartSense Motion sensor model STSS-IRM-001 with zigbee2MQTT and Domoticz


Add to /opt/zigbee2mqtt/node_modules/zigbee-herdsman-converters/devices.js:

{ zigbeeModel: ['PGC314'], model: 'STSS-IRM-001', vendor: 'SmartThings', description: 'Motion sensor (2013 model)', supports: 'occupancy', fromZigbee: [fz.ias_occupancy_alarm_1], toZigbee: [], },


Add to /domoticz/plugins/zigbee2mqtt/adapters/init.py:

SmartThings

'STSS-IRM-001': MotionSensorAdapter,  # SmartThings PGC314 Motion sensor

The device reports '{"battery_low":false,"linkquality":84,"occupancy":true,"tamper":false}'

Koenkk commented 4 years ago

@FoxConsult thanks, added the device.