Philips Hue motion outdoor sensor (9290019758) - Set motion_sensitivity

Hi all,

I’m using Zigbee2mqtt for quite some time now and like the solution a lot.

I’m having some challenges now hover to control my Philips Hue outdoor motion sensor. The normal activitieis of the outdoor motion sensor (e.g. motion detection, temperature measurement) are all working fine.

However,I’m trying to set the motion sensitivy of the device. Accourding to the device page ( this should be possible by sending a set command to the device with a json message containing: motion_sensitivity high, medium or low.

Hover uppon sending this request I’m not getting any feedback in the log that the message was send. Is it correct that there is no mention in the zigbee2mqtt log?

Since these is no message in the log, it is difficult for me to check if the motion detection sensitivity is corectly adjusted. Hence I tried to use the GET function to check what the current value of motion_sensitivity is on the device. Howeve if I send the get commnand there is no response in the log or in the MQTT server. So I’m not getting any insights what the current status of the motion sensitivity is.

Any ideas in what is causing this issue and how I can resolve it?

Some screenshots below of the commands I have send:

Schermafbeelding 2020-04-02 om 16.47.50

I’m using Zigbee2mqtt 1.12.0 on

Zigbee Id is 0x001788010645c38c.
Address on Zigbee Network is 0xB413.
Link quality is 58/ 255 .
Battery level is 100%.
Model is SML002 by Philips.
Hardware version is 1 .
Firmware version is .
This device type is EndDevice

When sending:

mosquitto_pub -h -u hass -P pass -t "zigbee2mqtt/0x001788010645c38c/set" -m '{"motion_sensitivity": "LOW"}'

I’m getting:

zigbee2mqtt:debug 2020-04-09 19:44:35: Received MQTT message on 'zigbee2mqtt/0x001788010645c38c/set' with data '{"motion_sensitivity": "LOW"}'
zigbee2mqtt:debug 2020-04-09 19:44:35: Publishing 'set' 'motion_sensitivity' to '0x001788010645c38c'

However the sensor remains extremely sensitive.

Dunno how to fix it :frowning:

Did you try to use the get function to see if the variable was correctly updated on the motion sensors?

Tried this according to the documentation, but that does not give me a humanly readable output :wink:

mosquitto_pub -h -u hass -P pass -t "zigbee2mqtt/0x001788010645c38c/get" -m '{"motion_sensitivity": ""}'

zigbee2mqtt:debug 2020-05-01 19:21:44: Received MQTT message on ‘zigbee2mqtt/0x001788010645c38c/get’ with data ‘{“motion_sensitivity”: “”}’
zigbee2mqtt:debug 2020-05-01 19:21:44: Publishing get ‘get’ ‘motion_sensitivity’ to ‘0x001788010645c38c’
zigbee2mqtt:debug 2020-05-01 19:21:45: Received Zigbee message from ‘0x001788010645c38c’, type ‘readResponse’, cluster ‘msOccupancySensing’, data ‘{“48”:0}’ from endpoint 2 with groupID 0


The extreme sensitivity of this sensor is giving many false positives.

For human-readable (JSON), just issue a _sub instead of _pub… mosquitto_sub -h -u hass -P pass -t zigbee2mqtt/0x001788010645c38c and trigger the sensor.

The output (advertisement) will show the setting (hopefully updated). I did this on my indoor sensor and it worked:

mosquitto_pub -h localhost -t “zigbee2mqtt/0x001788010bccc44e/set” -m ‘{“motion_sensitivity”: “medium”}’

mosquitto_sub -v -h localhost -t zigbee2mqtt/0x001788010bccc44e

Notification: zigbee2mqtt/0x001788010bccc44e {“battery”:100,“illuminance”:12400,“illuminance_lux”:17,“linkquality”:248,“motion_sensitivity” :“medium”,“occupancy”:true,“occupancy_timeout”:0,“temperature”:23.59,“update”:{“state”:“idle”},“update_available”:false}