Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Setting temperature_precision and humidity_precision has no effect for IKEA E2112 Vindstyrka #17636

Closed
shrx opened this issue May 10, 2023 · 20 comments
Labels
problem Something isn't working

Comments

@shrx
Copy link

shrx commented May 10, 2023

What happened?

I connected IKEA E2112 Vindstyrka to my zigebee gateway and I'm unable to set precision for temperature and humidity reports. By default the temperature_precision and humidity_precision parameters were set to "2" but the values are reported as precision "0" (integers). Changing the precision to "1" has no effect.

Example report:

May 10 22:30:11 raspberrypi npm[1609686]: Zigbee2MQTT:info  2023-05-10 22:30:11: MQTT publish: topic 'zigbee2mqtt/windstrike', payload '{"humidity":59,"linkquality":73,"pm25":7,"temperature":24,"voc_index":84}'

What did you expect to happen?

I expect to be able to set the precision for the temperature and humidity readouts, as documented here https://www.zigbee2mqtt.io/devices/E2112.html#options

How to reproduce it (minimal and precise)

Connect and start listening to IKEA E2112 Vindstyrka reports

The reports for temperature and humidity have 0 decimal precision (are integers)

Zigbee2MQTT version

1.30.4-dev commit: 307e0dc

Adapter firmware version

20211115

Adapter

CC2531

Debug log

log.txt

@shrx shrx added the problem Something isn't working label May 10, 2023
@crowbarz
Copy link
Contributor

According to the hardware spec for the sensor (from #16717 (comment) ) the underlying temperature hardware doesn't support greater than 0.45°C precision, so you're never going to get much more than integer precision anyway. It also says that the humidity sensor is accurate only to ~4.5%.

You may be able to check the actual values received from the sensor itself for yourself by setting the logging level to debug, wait for the next Zigbee update from the sensor, and see what raw data is being sent by the sensor.

@shrx
Copy link
Author

shrx commented May 11, 2023

You're confusing accuracy with precision. Both temperature and humidity readouts can be calibrated, so that's not issue.

@github-actions
Copy link
Contributor

This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 7 days

@github-actions github-actions bot added the stale Stale issues label Jun 11, 2023
@shrx
Copy link
Author

shrx commented Jun 11, 2023

Issue is still present

@github-actions github-actions bot removed the stale Stale issues label Jun 12, 2023
@nicopasla
Copy link

I have the same issue, it doesn’t matter how much you put in the setting

@georgo
Copy link

georgo commented Jun 19, 2023

Same here. But it's weird, sometimes it reports temperature with one decimal, but most of time with no decimals at all.

@limitless00net
Copy link

same here.

@tdse13
Copy link

tdse13 commented Jul 20, 2023

same here with firmware 1.0.11 20230202

@efiten
Copy link

efiten commented Jul 24, 2023

Same here, also firmware 1.0.11
Precision is ignored, always 0 decimals. For humidity it's OK, but for temperature, it should be at least 1 decimal.

@Koenkk
Copy link
Owner

Koenkk commented Jul 24, 2023

Can someone provide the debug log ones the device reports humidity/temperature?

@tdse13
Copy link

tdse13 commented Jul 24, 2023

Zigbee2MQTT:info 2023-07-24 19:49:05: MQTT publish: topic 'zigbee2mqtt/CH Wohnen', payload '{"device":{"applicationVersion":16,"dateCode":"20230202","friendlyName":"CH Wohnen","hardwareVersion":1,"ieeeAddr":"0xbc026efffe8b320c","manufacturerID":4476,"manufacturerName":"IKEA of Sweden","model":"E2112","networkAddress":30392,"powerSource":"Mains (single phase)","softwareBuildID":"1.0.11","stackVersion":106,"type":"Router","zclVersion":8},"humidity":53,"last_seen":"2023-07-24T19:49:05+02:00","linkquality":200,"pm25":6,"temperature":24,"update":{"installed_version":16777233,"latest_version":16777233,"state":"idle"},"update_available":null,"voc_index":344}' Zigbee2MQTT:info 2023-07-24 19:50:05: MQTT publish: topic 'zigbee2mqtt/CH Wohnen', payload '{"device":{"applicationVersion":16,"dateCode":"20230202","friendlyName":"CH Wohnen","hardwareVersion":1,"ieeeAddr":"0xbc026efffe8b320c","manufacturerID":4476,"manufacturerName":"IKEA of Sweden","model":"E2112","networkAddress":30392,"powerSource":"Mains (single phase)","softwareBuildID":"1.0.11","stackVersion":106,"type":"Router","zclVersion":8},"humidity":53,"last_seen":"2023-07-24T19:50:05+02:00","linkquality":200,"pm25":6,"temperature":24,"update":{"installed_version":16777233,"latest_version":16777233,"state":"idle"},"update_available":null,"voc_index":344}'

@shrx
Copy link
Author

shrx commented Jul 24, 2023

debug 2023-07-24 23:05:12: Loaded state from file /home/pi/src/zigbee2mqtt-1.30.4/data/state.json
info  2023-07-24 23:05:12: Logging to console and directory: '/home/pi/src/zigbee2mqtt-1.30.4/data/log/2023-07-24.23-05-12' filename: log.txt
debug 2023-07-24 23:05:12: Removing old log directory '/home/pi/src/zigbee2mqtt-1.30.4/data/log/2023-02-28.19-20-15'
info  2023-07-24 23:05:12: Starting Zigbee2MQTT version 1.30.4-dev (commit #307e0dca)
info  2023-07-24 23:05:12: Starting zigbee-herdsman (0.14.115)
debug 2023-07-24 23:05:12: Using zigbee-herdsman with settings: '{"adapter":{"concurrent":null,"delay":null,"disableLED":false},"backupPath":"/home/pi/src/zigbee2mqtt-1.30.4/data/coordinator_backup.json","databaseBackupPath":"/home/pi/src/zigbee2mqtt-1.30.4/data/database.db.backup","databasePath":"/home/pi/src/zigbee2mqtt-1.30.4/data/database.db","network":{"channelList":[11],"extendedPanID":[221,221,221,221,221,221,221,221],"networkKey":"HIDDEN","panID":6754},"serialPort":{"path":"/dev/ttyACM0"}}'
info  2023-07-24 23:05:14: zigbee-herdsman started (resumed)
info  2023-07-24 23:05:14: Coordinator firmware version: '{"meta":{"maintrel":3,"majorrel":2,"minorrel":6,"product":0,"revision":20211115,"transportrev":2},"type":"zStack12"}'
debug 2023-07-24 23:05:14: Zigbee network parameters: {"channel":11,"extendedPanID":"0x00124b001ccc696c","panID":6754}
info  2023-07-24 23:05:14: Currently 8 devices are joined:
info  2023-07-24 23:05:14: zarnica (0xb4e3f9fffe6c1d64): LED1732G11 - IKEA TRADFRI LED bulb E27 1000 lumen, dimmable, white spectrum, opal white (Router)
info  2023-07-24 23:05:14: daljinc (0x0c4314fffe4f287d): E1524/E1810 - IKEA TRADFRI remote control (EndDevice)
info  2023-07-24 23:05:14: vremeNoter (0x00124b0025047b63): SNZB-02 - SONOFF Temperature and humidity sensor (EndDevice)
info  2023-07-24 23:05:14: vremeZunaj (0x00124b00250478ff): SNZB-02 - SONOFF Temperature and humidity sensor (EndDevice)
info  2023-07-24 23:05:14: steker (0x84b4dbfffe96d245): E1603/E1702/E1708 - IKEA TRADFRI control outlet (Router)
info  2023-07-24 23:05:14: vremeKopalnica (0x00124b0025048713): SNZB-02 - SONOFF Temperature and humidity sensor (EndDevice)
info  2023-07-24 23:05:14: zarnicaL1 (0xec1bbdfffe5463b1): ZL1000100-CCT-US-V1A02 - Linkind Zigbee LED 9W A19 bulb, dimmable & tunable (Router)
info  2023-07-24 23:05:14: windstrike (0x3425b4fffea8592c): E2112 - IKEA Vindstyrka air quality and humidity sensor (Router)
info  2023-07-24 23:05:14: Zigbee: disabling joining new devices.
info  2023-07-24 23:05:14: Connecting to MQTT server at mqtt://localhost
debug 2023-07-24 23:05:14: Using MQTT anonymous login
info  2023-07-24 23:05:15: Connected to MQTT server
info  2023-07-24 23:05:15: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload 'online'
debug 2023-07-24 23:05:15: Received MQTT message on 'zigbee2mqtt/bridge/info' with data '{"commit":"307e0dca","config":{"advanced":{"adapter_concurrent":null,"adapter_delay":null,"availability_blacklist":[],"availability_blocklist":[],"availability_passlist":[],"availability_whitelist":[],"cache_state":true,"cache_state_persistent":true,"cache_state_send_on_startup":true,"channel":11,"elapsed":false,"ext_pan_id":[221,221,221,221,221,221,221,221],"ikea_ota_use_test_url":false,"last_seen":"disable","legacy_api":true,"legacy_availability_payload":true,"log_directory":"/home/pi/src/zigbee2mqtt-1.30.4/data/log/%TIMESTAMP%","log_file":"log.txt","log_level":"info","log_output":["console","file"],"log_rotation":true,"log_symlink_current":false,"log_syslog":{},"output":"json","pan_id":6754,"report":false,"soft_reset_timeout":0,"timestamp_format":"YYYY-MM-DD HH:mm:ss"},"availability":{},"blocklist":[],"device_options":{},"devices":{"0x00124b00250478ff":{"friendly_name":"vremeZunaj"},"0x00124b0025047b63":{"friendly_name":"vremeNoter"},"0x00124b0025048713":{"friendly_name":"vremeKopalnica"},"0x0c4314fffe4f287d":{"friendly_name":"daljinc","legacy":false},"0x3425b4fffea8592c":{"friendly_name":"windstrike","humidity_precision":1,"temperature_precision":1},"0x84b4dbfffe96d245":{"friendly_name":"steker"},"0xb4e3f9fffe6c1d64":{"availability":{"tumeout":1},"description":"TRADFRI E27 1000 lm, dimmable, white spectrum, opal white","friendly_name":"zarnica"},"0xec1bbdfffe5463b1":{"description":"Linkind A60 1","friendly_name":"zarnicaL1"}},"external_converters":[],"frontend":{"host":"0.0.0.0","port":8022},"groups":{"1":{"devices":["0xb4e3f9fffe6c1d64/1"],"friendly_name":"test"},"65289":{"devices":["0xb4e3f9fffe6c1d64/1","0xec1bbdfffe5463b1/1"],"friendly_name":"tradfri_scenes"}},"homeassistant":false,"map_options":{"graphviz":{"colors":{"fill":{"coordinator":"#e04e5d","enddevice":"#fff8ce","router":"#4ea3e0"},"font":{"coordinator":"#ffffff","enddevice":"#000000","router":"#ffffff"},"line":{"active":"#009900","inactive":"#994444"}}}},"mqtt":{"base_topic":"zigbee2mqtt","force_disable_retain":false,"include_device_information":false,"server":"mqtt://localhost"},"ota":{"disable_automatic_update_check":false,"ikea_ota_use_test_url":false,"update_check_interval":1440},"passlist":[],"permit_join":false,"serial":{"disable_led":false,"port":"/dev/ttyACM0"}},"config_schema":{"definitions":{"device":{"properties":{"debounce":{"description":"Debounces messages of this device","title":"Debounce","type":"number"},"debounce_ignore":{"description":"Protects unique payload values of specified payload properties from overriding within debounce time","examples":["action"],"items":{"type":"string"},"title":"Ignore debounce","type":"array"},"disabled":{"description":"Disables the device (excludes device from network scans, availability and group state updates)","requiresRestart":true,"title":"Disabled","type":"boolean"},"filtered_attributes":{"description":"Filter attributes with regex from published payload.","examples":["^temperature$","^battery$","^action$"],"items":{"type":"string"},"title":"Filtered publish attributes","type":"array"},"filtered_cache":{"description":"Filter attributes with regex from being added to the cache, this prevents the attribute from being in the published payload when the value didn't change.","examples":["^input_actions$"],"items":{"type":"string"},"title":"Filtered attributes from cache","type":"array"},"filtered_optimistic":{"description":"Filter attributes with regex from optimistic publish payload when calling /set. (This has no effect if optimistic is set to false).","examples":["^color_(mode|temp)$","color"],"items":{"type":"string"},"title":"Filtered optimistic attributes","type":"array"},"friendly_name":{"description":"Used in the MQTT topic of a device. By default this is the device ID","readOnly":true,"title":"Friendly name","type":"string"},"homeassistant":{"properties":{"name":{"description":"Name of the device in Home Assistant","title":"Home Assistant name","type":"string"}},"title":"Home Assistant","type":["object","null"]},"icon":{"description":"The user-defined device icon for the frontend. It can be a full URL link to an image (e.g. https://SOME.SITE/MODEL123.jpg) (you cannot use a path to a local file) or base64 encoded data URL (e.g. image/svg+xml;base64,PHN2ZyB3aW....R0aD)","title":"Icon","type":"string"},"optimistic":{"default":true,"description":"Publish optimistic state after set","title":"Optimistic","type":"boolean"},"qos":{"description":"QoS level for MQTT messages of this device","title":"QoS","type":"number"},"retain":{"description":"Retain MQTT messages of this device","title":"Retain","type":"boolean"},"retention":{"description":"Sets the MQTT Message Expiry in seconds, Make sure to set mqtt.version to 5","title":"Retention","type":"number"}},"required":["friendly_name"],"type":"object"},"group":{"properties":{"devices":{"items":{"type":"string"},"type":"array"},"filtered_attributes":{"items":{"type":"string"},"type":"array"},"friendly_name":{"type":"string"},"off_state":{"default":"auto","description":"Control when to publish state OFF for a group. 'all_members_off': only publish state OFF when all group memebers are in state OFF, 'last_member_state': publish state OFF whenever one of its members changes to OFF","enum":["all_members_off","last_member_state"],"requiresRestart":true,"title":"Group off state","type":["string"]},"optimistic":{"type":"boolean"},"qos":{"type":"number"},"retain":{"type":"boolean"}},"required":["friendly_name"],"type":"object"}},"properties":{"advanced":{"properties":{"adapter_concurrent":{"description":"Adapter concurrency (e.g. 2 for CC2531 or 16 for CC26X2R1) (default: null, uses recommended value)","requiresRestart":true,"title":"Adapter concurrency","type":["number","null"]},"adapter_delay":{"description":"Adapter delay","requiresRestart":true,"title":"Adapter delay","type":["number","null"]},"cache_state":{"default":true,"description":"MQTT message payload will contain all attributes, not only changed ones. Has to be true when integrating via Home Assistant","title":"Cache state","type":"boolean"},"cache_state_persistent":{"default":true,"description":"Persist cached state, only used when cache_state: true","title":"Persist cache state","type":"boolean"},"cache_state_send_on_startup":{"default":true,"description":"Send cached state on startup, only used when cache_state: true","title":"Send cached state on startup","type":"boolean"},"channel":{"default":11,"description":"Zigbee channel, changing requires repairing all devices! (Note: use a ZLL channel: 11, 15, 20, or 25 to avoid Problems)","examples":[15,20,25],"maximum":26,"minimum":11,"requiresRestart":true,"title":"ZigBee channel","type":"number"},"elapsed":{"default":false,"description":"Add an elapsed attribute to MQTT messages, contains milliseconds since the previous msg","title":"Elapsed","type":"boolean"},"ext_pan_id":{"description":"Zigbee extended pan ID, changing requires repairing all devices!","items":{"type":"number"},"requiresRestart":true,"title":"Ext Pan ID","type":"array"},"last_seen":{"default":"disable","description":"Add a last_seen attribute to MQTT messages, contains date/time of last Zigbee message","enum":["disable","ISO_8601","ISO_8601_local","epoch"],"title":"Last seen","type":"string"},"legacy_api":{"default":true,"description":"Disables the legacy api (false = disable)","requiresRestart":true,"title":"Legacy API","type":"boolean"},"legacy_availability_payload":{"default":true,"description":"Payload to be used for device availabilty and bridge/state topics. true = text, false = JSON","requiresRestart":true,"title":"Legacy availability payload","type":"boolean"},"log_directory":{"description":"Location of log directory","examples":["data/log/%TIMESTAMP%"],"requiresRestart":true,"title":"Log directory","type":"string"},"log_file":{"default":"log.txt","description":"Log file name, can also contain timestamp","examples":["zigbee2mqtt_%TIMESTAMP%.log"],"requiresRestart":true,"title":"Log file","type":"string"},"log_level":{"default":"info","description":"Logging level","enum":["info","warn","error","debug"],"title":"Log level","type":"string"},"log_output":{"description":"Output location of the log, leave empty to suppress logging","items":{"enum":["console","file","syslog"],"type":"string"},"requiresRestart":true,"title":"Log output","type":"array"},"log_rotation":{"default":true,"description":"Log rotation","requiresRestart":true,"title":"Log rotation","type":"boolean"},"log_symlink_current":{"default":false,"description":"Create symlink to current logs in the log directory","requiresRestart":true,"title":"Log symlink current","type":"boolean"},"log_syslog":{"properties":{"app_name":{"default":"Zigbee2MQTT","description":"The name of the application (Default: Zigbee2MQTT).","title":"Localhost","type":"string"},"eol":{"default":"/n","description":"The end of line character to be added to the end of the message (Default: Message without modifications).","title":"eol","type":"string"},"host":{"default":"localhost","description":"The host running syslogd, defaults to localhost.","title":"Host","type":"string"},"localhost":{"default":"localhost","description":"Host to indicate that log messages are coming from (Default: localhost).","title":"Localhost","type":"string"},"path":{"default":"/dev/log","description":"The path to the syslog dgram socket (i.e. /dev/log or /var/run/syslog for OS X).","examples":["/var/run/syslog"],"title":"Path","type":"string"},"pid":{"default":"process.pid","description":"PID of the process that log messages are coming from (Default process.pid).","title":"PID","type":"string"},"port":{"default":514,"description":"The port on the host that syslog is running on, defaults to syslogd's default port.","title":"Port","type":"number"},"protocol":{"default":"udp4","description":"The network protocol to log over (e.g. tcp4, udp4, tls4, unix, unix-connect, etc).","examples":["udp4","tls4","unix","unix-connect"],"title":"Protocol","type":"string"},"type":{"default":"5424","description":"The type of the syslog protocol to use (Default: BSD, also valid: 5424).","title":"Type","type":"string"}},"title":"syslog","type":"object"},"network_key":{"description":"Network encryption key, changing requires repairing all devices!","oneOf":[{"title":"Network key(string)","type":"string"},{"items":{"type":"number"},"title":"Network key(array)","type":"array"}],"requiresRestart":true,"title":"Network key"},"output":{"description":"Examples when 'state' of a device is published json: topic: 'zigbee2mqtt/my_bulb' payload '{\"state\": \"ON\"}' attribute: topic 'zigbee2mqtt/my_bulb/state' payload 'ON' attribute_and_json: both json and attribute (see above)","enum":["attribute_and_json","attribute","json"],"title":"MQTT output type","type":"string"},"pan_id":{"description":"ZigBee pan ID, changing requires repairing all devices!","oneOf":[{"title":"Pan ID (string)","type":"string"},{"title":"Pan ID (number)","type":"number"}],"requiresRestart":true,"title":"Pan ID"},"timestamp_format":{"description":"Log timestamp format","examples":["YYYY-MM-DD HH:mm:ss"],"requiresRestart":true,"title":"Timestamp format","type":"string"},"transmit_power":{"description":"Transmit power of adapter, only available for Z-Stack (CC253*/CC2652/CC1352) adapters, CC2652 = 5dbm, CC1352 max is = 20dbm (5dbm default)","requiresRestart":true,"title":"Transmit power","type":["number","null"]}},"title":"Advanced","type":"object"},"availability":{"description":"Checks whether devices are online/offline","oneOf":[{"title":"Availability (simple)","type":"boolean"},{"properties":{"active":{"description":"Options for active devices (routers/mains powered)","properties":{"timeout":{"default":10,"description":"Time after which an active device will be marked as offline in minutes","requiresRestart":true,"title":"Timeout","type":"number"}},"requiresRestart":true,"title":"Active","type":"object"},"passive":{"description":"Options for passive devices (mostly battery powered)","properties":{"timeout":{"default":1500,"description":"Time after which an passive device will be marked as offline in minutes","requiresRestart":true,"title":"Timeout","type":"number"}},"requiresRestart":true,"title":"Passive","type":"object"}},"title":"Availability (advanced)","type":"object"}],"requiresRestart":true,"title":"Availability"},"ban":{"items":{"type":"string"},"readOnly":true,"requiresRestart":true,"title":"Ban (deprecated, use blocklist)","type":"array"},"blocklist":{"description":"Block devices from the network (by ieeeAddr)","items":{"type":"string"},"requiresRestart":true,"title":"Blocklist","type":"array"},"device_options":{"title":"Options that are applied to all devices","type":"object"},"devices":{"patternProperties":{"^.*$":{"$ref":"#/definitions/device"}},"propertyNames":{"pattern":"^0x[\\d\\w]{16}$"},"type":"object"},"external_converters":{"description":"You can define external converters to e.g. add support for a DiY device","examples":["DIYRuZ_FreePad.js"],"items":{"type":"string"},"requiresRestart":true,"title":"External converters","type":"array"},"frontend":{"oneOf":[{"title":"Frontend (simple)","type":"boolean"},{"properties":{"auth_token":{"description":"Enables authentication, disabled by default","requiresRestart":true,"title":"Auth token","type":["string","null"]},"host":{"default":"0.0.0.0","description":"Frontend binding host. Binds to a unix socket when an absolute path is given instead.","examples":["127.0.0.1","/run/zigbee2mqtt/zigbee2mqtt.sock"],"requiresRestart":true,"title":"Bind host","type":"string"},"port":{"default":8080,"description":"Frontend binding port. Ignored when using a unix domain socket","requiresRestart":true,"title":"Port","type":"number"},"ssl_cert":{"description":"SSL Certificate file path for exposing HTTPS. The sibling property 'ssl_key' must be set for HTTPS to be activated.","requiresRestart":true,"title":"Certificate file path","type":["string","null"]},"ssl_key":{"description":"SSL key file path for exposing HTTPS. The sibling property 'ssl_cert' must be set for HTTPS to be activated.","requiresRestart":true,"title":"key file path","type":["string","null"]},"url":{"description":"URL on which the frontend can be reached, currently only used for the Home Assistant device configuration page","requiresRestart":true,"title":"URL","type":["string","null"]}},"title":"Frontend (advanced)","type":"object"}],"requiresRestart":true,"title":"Frontend"},"groups":{"patternProperties":{"^.*$":{"$ref":"#/definitions/group"}},"propertyNames":{"pattern":"^[\\w].*$"},"type":"object"},"homeassistant":{"default":false,"description":"Home Assistant integration (MQTT discovery)","oneOf":[{"title":"Home Assistant (simple)","type":"boolean"},{"properties":{"discovery_topic":{"description":"Home Assistant discovery topic","examples":["homeassistant"],"requiresRestart":true,"title":"Homeassistant discovery topic","type":"string"},"legacy_entity_attributes":{"default":true,"description":"Home Assistant legacy entity attributes, when enabled Zigbee2MQTT will add state attributes to each entity, additional to the separate entities and devices it already creates","title":"Home Assistant legacy entity attributes","type":"boolean"},"legacy_triggers":{"default":true,"description":"Home Assistant legacy triggers, when enabled Zigbee2mqt will send an empty 'action' or 'click' after one has been send. A 'sensor_action' and 'sensor_click' will be discoverd","title":"Home Assistant legacy triggers","type":"boolean"},"status_topic":{"description":"Home Assistant status topic","examples":["homeassistant/status"],"requiresRestart":true,"title":"Home Assistant status topic","type":"string"}},"title":"Home Assistant (advanced)","type":"object"}],"requiresRestart":true,"title":"Home Assistant integration"},"map_options":{"properties":{"graphviz":{"properties":{"colors":{"properties":{"fill":{"properties":{"coordinator":{"type":"string"},"enddevice":{"type":"string"},"router":{"type":"string"}},"type":"object"},"font":{"properties":{"coordinator":{"type":"string"},"enddevice":{"type":"string"},"router":{"type":"string"}},"type":"object"},"line":{"properties":{"active":{"type":"string"},"inactive":{"type":"string"}},"type":"object"}},"type":"object"}},"type":"object"}},"title":"Networkmap","type":"object"},"mqtt":{"properties":{"base_topic":{"default":"zigbee2mqtt","description":"MQTT base topic for Zigbee2MQTT MQTT messages","examples":["zigbee2mqtt"],"requiresRestart":true,"title":"Base topic","type":"string"},"ca":{"description":"Absolute path to SSL/TLS certificate of CA used to sign server and client certificates","examples":["/etc/ssl/mqtt-ca.crt"],"requiresRestart":true,"title":"Certificate authority","type":"string"},"cert":{"description":"Absolute path to SSL/TLS certificate for client-authentication","examples":["/etc/ssl/mqtt-client.crt"],"requiresRestart":true,"title":"SSL/TLS certificate","type":"string"},"client_id":{"description":"MQTT client ID","examples":["MY_CLIENT_ID"],"requiresRestart":true,"title":"Client ID","type":"string"},"force_disable_retain":{"default":false,"description":"Disable retain for all send messages. ONLY enable if you MQTT broker doesn't support retained message (e.g. AWS IoT core, Azure IoT Hub, Google Cloud IoT core, IBM Watson IoT Platform). Enabling will break the Home Assistant integration","requiresRestart":true,"title":"Force disable retain","type":"boolean"},"include_device_information":{"default":false,"description":"Include device information to mqtt messages","title":"Include device information","type":"boolean"},"keepalive":{"default":60,"description":"MQTT keepalive in second","requiresRestart":true,"title":"Keepalive","type":"number"},"key":{"description":"Absolute path to SSL/TLS key for client-authentication","examples":["/etc/ssl/mqtt-client.key"],"requiresRestart":true,"title":"SSL/TLS key","type":"string"},"password":{"description":"MQTT server authentication password","examples":["ILOVEPELMENI"],"requiresRestart":true,"title":"Password","type":"string"},"reject_unauthorized":{"default":true,"description":"Disable self-signed SSL certificate","requiresRestart":true,"title":"Reject unauthorized","type":"boolean"},"server":{"description":"MQTT server URL (use mqtts:// for SSL/TLS connection)","examples":["mqtt://localhost:1883"],"requiresRestart":true,"title":"MQTT server","type":"string"},"user":{"description":"MQTT server authentication user","examples":["johnnysilverhand"],"requiresRestart":true,"title":"User","type":"string"},"version":{"default":4,"description":"MQTT protocol version","examples":[5],"requiresRestart":true,"title":"Version","type":["number","null"]}},"required":["server"],"title":"MQTT","type":"object"},"ota":{"properties":{"disable_automatic_update_check":{"default":false,"description":"Zigbee devices may request a firmware update, and do so frequently, causing Zigbee2MQTT to reach out to third party servers. If you disable these device initiated checks, you can still initiate a firmware update check manually.","title":"Disable automatic update check","type":"boolean"},"ikea_ota_use_test_url":{"default":false,"description":"Use IKEA TRADFRI OTA test server, see OTA updates documentation","requiresRestart":true,"title":"IKEA TRADFRI OTA use test url","type":"boolean"},"update_check_interval":{"default":1440,"description":"Your device may request a check for a new firmware update. This value determines how frequently third party servers may actually be contacted to look for firmware updates. The value is set in minutes, and the default is 1 day.","title":"Update check interval","type":"number"},"zigbee_ota_override_index_location":{"description":"Location of override OTA index file","examples":["index.json"],"requiresRestart":true,"title":"OTA index override file name","type":"string"}},"title":"OTA updates","type":"object"},"passlist":{"description":"Allow only certain devices to join the network (by ieeeAddr). Note that all devices not on the passlist will be removed from the network!","items":{"type":"string"},"requiresRestart":true,"title":"Passlist","type":"array"},"permit_join":{"default":false,"description":"Allow new devices to join (re-applied at restart)","title":"Permit join","type":"boolean"},"serial":{"properties":{"adapter":{"default":"auto","description":"Adapter type, not needed unless you are experiencing problems","enum":["deconz","zstack","zigate","ezsp","auto"],"requiresRestart":true,"title":"Adapter","type":["string"]},"baudrate":{"description":"Baud rate speed for serial port, this can be anything firmware support but default is 115200 for Z-Stack and EZSP, 38400 for Deconz, however note that some EZSP firmware need 57600","examples":[38400,57600,115200],"requiresRestart":true,"title":"Baudrate","type":"number"},"disable_led":{"default":false,"description":"Disable LED of the adapter if supported","requiresRestart":true,"title":"Disable led","type":"boolean"},"port":{"description":"Location of the adapter. To autodetect the port, set null","examples":["/dev/ttyACM0"],"requiresRestart":true,"title":"Port","type":["string","null"]},"rtscts":{"description":"RTS / CTS Hardware Flow Control for serial port","requiresRestart":true,"title":"RTS / CTS","type":"boolean"}},"title":"Serial","type":"object"},"whitelist":{"items":{"type":"string"},"readOnly":true,"requiresRestart":true,"title":"Whitelist (deprecated, use passlist)","type":"array"}},"required":["mqtt"],"type":"object"},"coordinator":{"ieee_address":"0x00124b001ccc696c","meta":{"maintrel":3,"majorrel":2,"minorrel":6,"product":0,"revision":20211115,"transportrev":2},"type":"zStack12"},"log_level":"info","network":{"channel":11,"extended_pan_id":"0x00124b001ccc696c","pan_id":6754},"permit_join":false,"restart_required":false,"version":"1.30.4-dev"}'
debug 2023-07-24 23:05:15: Received MQTT message on 'zigbee2mqtt/bridge/devices' with data '[{"definition":null,"disabled":false,"endpoints":{"1":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"10":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"11":{"bindings":[],"clusters":{"input":["ssIasAce"],"output":["ssIasZone","ssIasWd"]},"configured_reportings":[],"scenes":[]},"110":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"12":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"13":{"bindings":[],"clusters":{"input":["genOta"],"output":[]},"configured_reportings":[],"scenes":[]},"2":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"242":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"3":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"4":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"47":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"5":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"6":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]},"8":{"bindings":[],"clusters":{"input":[],"output":[]},"configured_reportings":[],"scenes":[]}},"friendly_name":"Coordinator","ieee_address":"0x00124b001ccc696c","interview_completed":true,"interviewing":false,"network_address":0,"supported":false,"type":"Coordinator"},{"date_code":"20220928","definition":{"description":"TRADFRI LED bulb E27 1000 lumen, dimmable, white spectrum, opal white","exposes":[{"features":[{"access":7,"description":"On/off state of this light","name":"state","property":"state","type":"binary","value_off":"OFF","value_on":"ON","value_toggle":"TOGGLE"},{"access":7,"description":"Brightness of this light","name":"brightness","property":"brightness","type":"numeric","value_max":254,"value_min":0},{"access":7,"description":"Color temperature of this light","name":"color_temp","presets":[{"description":"Coolest temperature supported","name":"coolest","value":250},{"description":"Cool temperature (250 mireds / 4000 Kelvin)","name":"cool","value":250},{"description":"Neutral temperature (370 mireds / 2700 Kelvin)","name":"neutral","value":370},{"description":"Warm temperature (454 mireds / 2200 Kelvin)","name":"warm","value":454},{"description":"Warmest temperature supported","name":"warmest","value":454}],"property":"color_temp","type":"numeric","unit":"mired","value_max":454,"value_min":250},{"access":7,"description":"Color temperature after cold power on of this light","name":"color_temp_startup","presets":[{"description":"Coolest temperature supported","name":"coolest","value":250},{"description":"Cool temperature (250 mireds / 4000 Kelvin)","name":"cool","value":250},{"description":"Neutral temperature (370 mireds / 2700 Kelvin)","name":"neutral","value":370},{"description":"Warm temperature (454 mireds / 2200 Kelvin)","name":"warm","value":454},{"description":"Warmest temperature supported","name":"warmest","value":454},{"description":"Restore previous color_temp on cold power on","name":"previous","value":65535}],"property":"color_temp_startup","type":"numeric","unit":"mired","value_max":454,"value_min":250}],"type":"light"},{"access":2,"description":"Triggers an effect on the light (e.g. make light blink for a few seconds)","name":"effect","property":"effect","type":"enum","values":["blink","breathe","okay","channel_change","finish_effect","stop_effect"]},{"access":7,"description":"Controls the behavior when the device is powered on after power loss","name":"power_on_behavior","property":"power_on_behavior","type":"enum","values":["off","on","toggle","previous"]},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"LED1732G11","options":[{"access":2,"description":"Controls the transition time (in seconds) of on/off, brightness, color temperature (if applicable) and color (if applicable) changes. Defaults to `0` (no transition).","name":"transition","property":"transition","type":"numeric","value_min":0},{"access":2,"description":"When enabled colors will be synced, e.g. if the light supports both color x/y and color temperature a conversion from color x/y to color temperature will be done when setting the x/y color (default true).","name":"color_sync","property":"color_sync","type":"binary","value_off":false,"value_on":true},{"access":2,"description":"State actions will also be published as 'action' when true (default false).","name":"state_action","property":"state_action","type":"binary","value_off":false,"value_on":true}],"supports_ota":true,"vendor":"IKEA"},"description":"TRADFRI E27 1000 lm, dimmable, white spectrum, opal white","disabled":false,"endpoints":{"1":{"bindings":[{"cluster":"genOnOff","target":{"endpoint":1,"ieee_address":"0x00124b001ccc696c","type":"endpoint"}},{"cluster":"genLevelCtrl","target":{"endpoint":1,"ieee_address":"0x00124b001ccc696c","type":"endpoint"}}],"clusters":{"input":["genBasic","genIdentify","genGroups","genScenes","genOnOff","genLevelCtrl","lightingColorCtrl","touchlink","64636"],"output":["genScenes","genOta","genPollCtrl","touchlink"]},"configured_reportings":[{"attribute":"onOff","cluster":"genOnOff","maximum_report_interval":3600,"minimum_report_interval":0,"reportable_change":0},{"attribute":"currentLevel","cluster":"genLevelCtrl","maximum_report_interval":3600,"minimum_report_interval":5,"reportable_change":1}],"scenes":[{"id":1,"name":"temp_200"}]},"242":{"bindings":[],"clusters":{"input":["greenPower"],"output":["greenPower"]},"configured_reportings":[],"scenes":[]}},"friendly_name":"zarnica","ieee_address":"0xb4e3f9fffe6c1d64","interview_completed":true,"interviewing":false,"manufacturer":"IKEA of Sweden","model_id":"TRADFRI bulb E27 WS opal 1000lm","network_address":36942,"power_source":"Mains (single phase)","software_build_id":"2.3.095","supported":true,"type":"Router"},{"date_code":"20190401","definition":{"description":"TRADFRI remote control","exposes":[{"access":5,"description":"Remaining battery in %, can take up to 24 hours before reported.","name":"battery","property":"battery","type":"numeric","unit":"%","value_max":100,"value_min":0},{"access":1,"description":"Triggered action (e.g. a button click)","name":"action","property":"action","type":"enum","values":["arrow_left_click","arrow_left_hold","arrow_left_release","arrow_right_click","arrow_right_hold","arrow_right_release","brightness_down_click","brightness_down_hold","brightness_down_release","brightness_up_click","brightness_up_hold","brightness_up_release","toggle"]},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"E1524/E1810","options":[{"access":2,"description":"Set to false to disable the legacy integration (highly recommended), will change structure of the published payload (default true).","name":"legacy","property":"legacy","type":"binary","value_off":false,"value_on":true}],"supports_ota":true,"vendor":"IKEA"},"disabled":false,"endpoints":{"1":{"bindings":[{"cluster":"genPollCtrl","target":{"endpoint":1,"ieee_address":"0x00124b001ccc696c","type":"endpoint"}},{"cluster":"genPowerCfg","target":{"endpoint":1,"ieee_address":"0x00124b001ccc696c","type":"endpoint"}},{"cluster":"genOnOff","target":{"endpoint":1,"ieee_address":"0x00124b001ccc696c","type":"endpoint"}},{"cluster":"genOnOff","target":{"endpoint":1,"ieee_address":"0xb4e3f9fffe6c1d64","type":"endpoint"}},{"cluster":"genLevelCtrl","target":{"endpoint":1,"ieee_address":"0xb4e3f9fffe6c1d64","type":"endpoint"}},{"cluster":"genOnOff","target":{"endpoint":1,"ieee_address":"0xec1bbdfffe5463b1","type":"endpoint"}},{"cluster":"genLevelCtrl","target":{"endpoint":1,"ieee_address":"0xec1bbdfffe5463b1","type":"endpoint"}}],"clusters":{"input":["genBasic","genPowerCfg","genIdentify","genPollCtrl","touchlink","64636"],"output":["genIdentify","genGroups","genOnOff","genLevelCtrl","genOta","touchlink"]},"configured_reportings":[{"attribute":"batteryPercentageRemaining","cluster":"genPowerCfg","maximum_report_interval":62000,"minimum_report_interval":3600,"reportable_change":0}],"scenes":[]}},"friendly_name":"daljinc","ieee_address":"0x0c4314fffe4f287d","interview_completed":true,"interviewing":false,"manufacturer":"IKEA of Sweden","model_id":"TRADFRI remote control","network_address":47595,"power_source":"Battery","software_build_id":"24.4.5","supported":true,"type":"EndDevice"},{"date_code":"20211103","definition":{"description":"Temperature and humidity sensor","exposes":[{"access":1,"description":"Remaining battery in %, can take up to 24 hours before reported.","name":"battery","property":"battery","type":"numeric","unit":"%","value_max":100,"value_min":0},{"access":1,"description":"Measured temperature value","name":"temperature","property":"temperature","type":"numeric","unit":"°C"},{"access":1,"description":"Measured relative humidity","name":"humidity","property":"humidity","type":"numeric","unit":"%"},{"access":1,"description":"Voltage of the battery in millivolts","name":"voltage","property":"voltage","type":"numeric","unit":"mV"},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"SNZB-02","options":[{"access":2,"description":"Number of digits after decimal point for temperature, takes into effect on next report of device.","name":"temperature_precision","property":"temperature_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the temperature value (absolute offset), takes into effect on next report of device.","name":"temperature_calibration","property":"temperature_calibration","type":"numeric"},{"access":2,"description":"Number of digits after decimal point for humidity, takes into effect on next report of device.","name":"humidity_precision","property":"humidity_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the humidity value (absolute offset), takes into effect on next report of device.","name":"humidity_calibration","property":"humidity_calibration","type":"numeric"}],"supports_ota":false,"vendor":"SONOFF"},"disabled":false,"endpoints":{"1":{"bindings":[{"cluster":"msTemperatureMeasurement","target":{"endpoint":1,"ieee_address":"0x00124b001ccc696c","type":"endpoint"}},{"cluster":"msRelativeHumidity","target":{"endpoint":1,"ieee_address":"0x00124b001ccc696c","type":"endpoint"}},{"cluster":"genPowerCfg","target":{"endpoint":1,"ieee_address":"0x00124b001ccc696c","type":"endpoint"}}],"clusters":{"input":["genBasic","genIdentify","msTemperatureMeasurement","msRelativeHumidity","genPowerCfg"],"output":["genIdentify"]},"configured_reportings":[{"attribute":"measuredValue","cluster":"msTemperatureMeasurement","maximum_report_interval":1800,"minimum_report_interval":5,"reportable_change":20},{"attribute":"measuredValue","cluster":"msRelativeHumidity","maximum_report_interval":3600,"minimum_report_interval":10,"reportable_change":100},{"attribute":"batteryVoltage","cluster":"genPowerCfg","maximum_report_interval":7200,"minimum_report_interval":3600,"reportable_change":0},{"attribute":"batteryPercentageRemaining","cluster":"genPowerCfg","maximum_report_interval":7200,"minimum_report_interval":3600,"reportable_change":0}],"scenes":[]}},"friendly_name":"vremeNoter","ieee_address":"0x00124b0025047b63","interview_completed":true,"interviewing":false,"manufacturer":"eWeLink","model_id":"TH01","network_address":39004,"power_source":"Battery","supported":true,"type":"EndDevice"},{"date_code":"20211103","definition":{"description":"Temperature and humidity sensor","exposes":[{"access":1,"description":"Remaining battery in %, can take up to 24 hours before reported.","name":"battery","property":"battery","type":"numeric","unit":"%","value_max":100,"value_min":0},{"access":1,"description":"Measured temperature value","name":"temperature","property":"temperature","type":"numeric","unit":"°C"},{"access":1,"description":"Measured relative humidity","name":"humidity","property":"humidity","type":"numeric","unit":"%"},{"access":1,"description":"Voltage of the battery in millivolts","name":"voltage","property":"voltage","type":"numeric","unit":"mV"},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"SNZB-02","options":[{"access":2,"description":"Number of digits after decimal point for temperature, takes into effect on next report of device.","name":"temperature_precision","property":"temperature_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the temperature value (absolute offset), takes into effect on next report of device.","name":"temperature_calibration","property":"temperature_calibration","type":"numeric"},{"access":2,"description":"Number of digits after decimal point for humidity, takes into effect on next report of device.","name":"humidity_precision","property":"humidity_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the humidity value (absolute offset), takes into effect on next report of device.","name":"humidity_calibration","property":"humidity_calibration","type":"numeric"}],"supports_ota":false,"vendor":"SONOFF"},"disabled":false,"endpoints":{"1":{"bindings":[{"cluster":"msTemperatureMeasurement","target":{"endpoint":1,"ieee_address":"0x00124b001ccc696c","type":"endpoint"}},{"cluster":"msRelativeHumidity","target":{"endpoint":1,"ieee_address":"0x00124b001ccc696c","type":"endpoint"}},{"cluster":"genPowerCfg","target":{"endpoint":1,"ieee_address":"0x00124b001ccc696c","type":"endpoint"}}],"clusters":{"input":["genBasic","genIdentify","msTemperatureMeasurement","msRelativeHumidity","genPowerCfg"],"output":["genIdentify"]},"configured_reportings":[{"attribute":"measuredValue","cluster":"msTemperatureMeasurement","maximum_report_interval":1800,"minimum_report_interval":5,"reportable_change":20},{"attribute":"measuredValue","cluster":"msRelativeHumidity","maximum_report_interval":3600,"minimum_report_interval":10,"reportable_change":100},{"attribute":"batteryVoltage","cluster":"genPowerCfg","maximum_report_interval":7200,"minimum_report_interval":3600,"reportable_change":0},{"attribute":"batteryPercentageRemaining","cluster":"genPowerCfg","maximum_report_interval":7200,"minimum_report_interval":3600,"reportable_change":0}],"scenes":[]}},"friendly_name":"vremeZunaj","ieee_address":"0x00124b00250478ff","interview_completed":true,"interviewing":false,"manufacturer":"eWeLink","model_id":"TH01","network_address":17228,"power_source":"Battery","supported":true,"type":"EndDevice"},{"date_code":"20211118","definition":{"description":"TRADFRI control outlet","exposes":[{"features":[{"access":7,"description":"On/off state of the switch","name":"state","property":"state","type":"binary","value_off":"OFF","value_on":"ON","value_toggle":"TOGGLE"}],"type":"switch"},{"access":7,"description":"Controls the behavior when the device is powered on after power loss","name":"power_on_behavior","property":"power_on_behavior","type":"enum","values":["off","on","toggle","previous"]},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"E1603/E1702/E1708","options":[{"access":2,"description":"State actions will also be published as 'action' when true (default false).","name":"state_action","property":"state_action","type":"binary","value_off":false,"value_on":true}],"supports_ota":true,"vendor":"IKEA"},"disabled":false,"endpoints":{"1":{"bindings":[{"cluster":"genOnOff","target":{"endpoint":1,"ieee_address":"0x00124b001ccc696c","type":"endpoint"}}],"clusters":{"input":["genBasic","genIdentify","genGroups","genScenes","genOnOff","genLevelCtrl","touchlink"],"output":["genScenes","genOta","genPollCtrl","touchlink"]},"configured_reportings":[{"attribute":"onOff","cluster":"genOnOff","maximum_report_interval":3600,"minimum_report_interval":0,"reportable_change":0}],"scenes":[]},"242":{"bindings":[],"clusters":{"input":["greenPower"],"output":["greenPower"]},"configured_reportings":[],"scenes":[]}},"friendly_name":"steker","ieee_address":"0x84b4dbfffe96d245","interview_completed":true,"interviewing":false,"manufacturer":"IKEA of Sweden","model_id":"TRADFRI control outlet","network_address":4886,"power_source":"Mains (single phase)","software_build_id":"2.3.089","supported":true,"type":"Router"},{"date_code":"20211103","definition":{"description":"Temperature and humidity sensor","exposes":[{"access":1,"description":"Remaining battery in %, can take up to 24 hours before reported.","name":"battery","property":"battery","type":"numeric","unit":"%","value_max":100,"value_min":0},{"access":1,"description":"Measured temperature value","name":"temperature","property":"temperature","type":"numeric","unit":"°C"},{"access":1,"description":"Measured relative humidity","name":"humidity","property":"humidity","type":"numeric","unit":"%"},{"access":1,"description":"Voltage of the battery in millivolts","name":"voltage","property":"voltage","type":"numeric","unit":"mV"},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"SNZB-02","options":[{"access":2,"description":"Number of digits after decimal point for temperature, takes into effect on next report of device.","name":"temperature_precision","property":"temperature_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the temperature value (absolute offset), takes into effect on next report of device.","name":"temperature_calibration","property":"temperature_calibration","type":"numeric"},{"access":2,"description":"Number of digits after decimal point for humidity, takes into effect on next report of device.","name":"humidity_precision","property":"humidity_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the humidity value (absolute offset), takes into effect on next report of device.","name":"humidity_calibration","property":"humidity_calibration","type":"numeric"}],"supports_ota":false,"vendor":"SONOFF"},"disabled":false,"endpoints":{"1":{"bindings":[{"cluster":"msTemperatureMeasurement","target":{"endpoint":1,"ieee_address":"0x00124b001ccc696c","type":"endpoint"}},{"cluster":"msRelativeHumidity","target":{"endpoint":1,"ieee_address":"0x00124b001ccc696c","type":"endpoint"}},{"cluster":"genPowerCfg","target":{"endpoint":1,"ieee_address":"0x00124b001ccc696c","type":"endpoint"}}],"clusters":{"input":["genBasic","genIdentify","msTemperatureMeasurement","msRelativeHumidity","genPowerCfg"],"output":["genIdentify"]},"configured_reportings":[{"attribute":"measuredValue","cluster":"msTemperatureMeasurement","maximum_report_interval":1800,"minimum_report_interval":5,"reportable_change":20},{"attribute":"measuredValue","cluster":"msRelativeHumidity","maximum_report_interval":3600,"minimum_report_interval":10,"reportable_change":100},{"attribute":"batteryVoltage","cluster":"genPowerCfg","maximum_report_interval":7200,"minimum_report_interval":3600,"reportable_change":0},{"attribute":"batteryPercentageRemaining","cluster":"genPowerCfg","maximum_report_interval":7200,"minimum_report_interval":3600,"reportable_change":0}],"scenes":[]}},"friendly_name":"vremeKopalnica","ieee_address":"0x00124b0025048713","interview_completed":true,"interviewing":false,"manufacturer":"eWeLink","model_id":"TH01","network_address":2114,"power_source":"Battery","supported":true,"type":"EndDevice"},{"date_code":"20190509-346","definition":{"description":"Zigbee LED 9W A19 bulb, dimmable & tunable","exposes":[{"features":[{"access":7,"description":"On/off state of this light","name":"state","property":"state","type":"binary","value_off":"OFF","value_on":"ON","value_toggle":"TOGGLE"},{"access":7,"description":"Brightness of this light","name":"brightness","property":"brightness","type":"numeric","value_max":254,"value_min":0},{"access":7,"description":"Color temperature of this light","name":"color_temp","presets":[{"description":"Coolest temperature supported","name":"coolest","value":153},{"description":"Cool temperature (250 mireds / 4000 Kelvin)","name":"cool","value":250},{"description":"Neutral temperature (370 mireds / 2700 Kelvin)","name":"neutral","value":370},{"description":"Warmest temperature supported","name":"warmest","value":370}],"property":"color_temp","type":"numeric","unit":"mired","value_max":370,"value_min":153},{"access":7,"description":"Color temperature after cold power on of this light","name":"color_temp_startup","presets":[{"description":"Coolest temperature supported","name":"coolest","value":153},{"description":"Cool temperature (250 mireds / 4000 Kelvin)","name":"cool","value":250},{"description":"Neutral temperature (370 mireds / 2700 Kelvin)","name":"neutral","value":370},{"description":"Warmest temperature supported","name":"warmest","value":370},{"description":"Restore previous color_temp on cold power on","name":"previous","value":65535}],"property":"color_temp_startup","type":"numeric","unit":"mired","value_max":370,"value_min":153}],"type":"light"},{"access":2,"description":"Triggers an effect on the light (e.g. make light blink for a few seconds)","name":"effect","property":"effect","type":"enum","values":["blink","breathe","okay","channel_change","finish_effect","stop_effect"]},{"access":7,"description":"Controls the behavior when the device is powered on after power loss","name":"power_on_behavior","property":"power_on_behavior","type":"enum","values":["off","on","toggle","previous"]},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"ZL1000100-CCT-US-V1A02","options":[{"access":2,"description":"Controls the transition time (in seconds) of on/off, brightness, color temperature (if applicable) and color (if applicable) changes. Defaults to `0` (no transition).","name":"transition","property":"transition","type":"numeric","value_min":0},{"access":2,"description":"When enabled colors will be synced, e.g. if the light supports both color x/y and color temperature a conversion from color x/y to color temperature will be done when setting the x/y color (default true).","name":"color_sync","property":"color_sync","type":"binary","value_off":false,"value_on":true},{"access":2,"description":"State actions will also be published as 'action' when true (default false).","name":"state_action","property":"state_action","type":"binary","value_off":false,"value_on":true}],"supports_ota":false,"vendor":"Linkind"},"description":"Linkind A60 1","disabled":false,"endpoints":{"1":{"bindings":[{"cluster":"genOnOff","target":{"endpoint":1,"ieee_address":"0x00124b001ccc696c","type":"endpoint"}},{"cluster":"genLevelCtrl","target":{"endpoint":1,"ieee_address":"0x00124b001ccc696c","type":"endpoint"}}],"clusters":{"input":["genBasic","genIdentify","genGroups","genScenes","genOnOff","genLevelCtrl","lightingColorCtrl","haDiagnostic","touchlink","heimanSpecificInfraRedRemote"],"output":["genTime","genOta"]},"configured_reportings":[{"attribute":"onOff","cluster":"genOnOff","maximum_report_interval":3600,"minimum_report_interval":0,"reportable_change":0},{"attribute":"currentLevel","cluster":"genLevelCtrl","maximum_report_interval":3600,"minimum_report_interval":5,"reportable_change":1}],"scenes":[{"id":1,"name":"temp_200"}]},"242":{"bindings":[],"clusters":{"input":[],"output":["greenPower"]},"configured_reportings":[],"scenes":[]}},"friendly_name":"zarnicaL1","ieee_address":"0xec1bbdfffe5463b1","interview_completed":true,"interviewing":false,"manufacturer":"lk","model_id":"ZBT-CCTLight-D0106","network_address":43836,"power_source":"Mains (single phase)","software_build_id":"2.2","supported":true,"type":"Router"},{"date_code":"20220719","definition":{"description":"Vindstyrka air quality and humidity sensor","exposes":[{"access":1,"description":"Measured temperature value","name":"temperature","property":"temperature","type":"numeric","unit":"°C"},{"access":1,"description":"Measured relative humidity","name":"humidity","property":"humidity","type":"numeric","unit":"%"},{"access":1,"description":"Measured PM2.5 (particulate matter) concentration","name":"pm25","property":"pm25","type":"numeric","unit":"µg/m³"},{"access":1,"description":"Sensirion VOC index","name":"voc_index","property":"voc_index","type":"numeric"},{"access":1,"description":"Link quality (signal strength)","name":"linkquality","property":"linkquality","type":"numeric","unit":"lqi","value_max":255,"value_min":0}],"model":"E2112","options":[{"access":2,"description":"Number of digits after decimal point for temperature, takes into effect on next report of device.","name":"temperature_precision","property":"temperature_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the temperature value (absolute offset), takes into effect on next report of device.","name":"temperature_calibration","property":"temperature_calibration","type":"numeric"},{"access":2,"description":"Number of digits after decimal point for humidity, takes into effect on next report of device.","name":"humidity_precision","property":"humidity_precision","type":"numeric","value_max":3,"value_min":0},{"access":2,"description":"Calibrates the humidity value (absolute offset), takes into effect on next report of device.","name":"humidity_calibration","property":"humidity_calibration","type":"numeric"}],"supports_ota":true,"vendor":"IKEA"},"disabled":false,"endpoints":{"1":{"bindings":[{"cluster":"msTemperatureMeasurement","target":{"endpoint":1,"ieee_address":"0x00124b001ccc696c","type":"endpoint"}},{"cluster":"msRelativeHumidity","target":{"endpoint":1,"ieee_address":"0x00124b001ccc696c","type":"endpoint"}},{"cluster":"pm25Measurement","target":{"endpoint":1,"ieee_address":"0x00124b001ccc696c","type":"endpoint"}},{"cluster":"msIkeaVocIndexMeasurement","target":{"endpoint":1,"ieee_address":"0x00124b001ccc696c","type":"endpoint"}}],"clusters":{"input":["genBasic","genIdentify","genGroups","msTemperatureMeasurement","msRelativeHumidity","64599","64636","pm25Measurement","msIkeaVocIndexMeasurement"],"output":["genIdentify","genOta","genPollCtrl","hvacFanCtrl"]},"configured_reportings":[{"attribute":"measuredValue","cluster":"msTemperatureMeasurement","maximum_report_interval":120,"minimum_report_interval":60},{"attribute":"measuredValue","cluster":"msRelativeHumidity","maximum_report_interval":120,"minimum_report_interval":60},{"attribute":"measuredValueIkea","cluster":"pm25Measurement","maximum_report_interval":120,"minimum_report_interval":60,"reportable_change":2},{"attribute":"measuredValue","cluster":"msIkeaVocIndexMeasurement","maximum_report_interval":120,"minimum_report_interval":60}],"scenes":[]},"242":{"bindings":[],"clusters":{"input":[],"output":["greenPower"]},"configured_reportings":[],"scenes":[]}},"friendly_name":"windstrike","ieee_address":"0x3425b4fffea8592c","interview_completed":true,"interviewing":false,"manufacturer":"IKEA of Sweden","model_id":"VINDSTYRKA","network_address":54837,"power_source":"Mains (single phase)","software_build_id":"1.0.010","supported":true,"type":"Router"}]'
debug 2023-07-24 23:05:15: Received MQTT message on 'zigbee2mqtt/bridge/groups' with data '[{"friendly_name":"test","id":1,"members":[{"endpoint":1,"ieee_address":"0xb4e3f9fffe6c1d64"}],"scenes":[]},{"friendly_name":"default_bind_group","id":901,"members":[],"scenes":[]},{"friendly_name":"tradfri_scenes","id":65289,"members":[{"endpoint":1,"ieee_address":"0xb4e3f9fffe6c1d64"},{"endpoint":1,"ieee_address":"0xec1bbdfffe5463b1"}],"scenes":[]}]'
debug 2023-07-24 23:05:15: Received MQTT message on 'zigbee2mqtt/bridge/extensions' with data '[]'
debug 2023-07-24 23:05:15: Received MQTT message on 'zigbee2mqtt/bridge/config' with data '{"commit":"307e0dca","coordinator":{"meta":{"maintrel":3,"majorrel":2,"minorrel":6,"product":0,"revision":20211115,"transportrev":2},"type":"zStack12"},"log_level":"info","network":{"channel":11,"extendedPanID":"0x00124b001ccc696c","panID":6754},"permit_join":false,"version":"1.30.4-dev"}'
debug 2023-07-24 23:05:15: Received MQTT message on 'zigbee2mqtt/zarnica/availability' with data 'offline'
debug 2023-07-24 23:05:15: Received MQTT message on 'zigbee2mqtt/daljinc/availability' with data 'online'
debug 2023-07-24 23:05:15: Received MQTT message on 'zigbee2mqtt/vremeZunaj/availability' with data 'online'
debug 2023-07-24 23:05:15: Received MQTT message on 'zigbee2mqtt/vremeNoter/availability' with data 'online'
debug 2023-07-24 23:05:15: Received MQTT message on 'zigbee2mqtt/steker/availability' with data 'online'
debug 2023-07-24 23:05:15: Received MQTT message on 'zigbee2mqtt/vremeZunajStar/availability' with data 'online'
debug 2023-07-24 23:05:15: Received MQTT message on 'zigbee2mqtt/901/availability' with data 'online'
debug 2023-07-24 23:05:15: Received MQTT message on 'zigbee2mqtt/tradfri_scenes/availability' with data 'online'
debug 2023-07-24 23:05:15: Received MQTT message on 'zigbee2mqtt/zarnicaL1/availability' with data 'online'
debug 2023-07-24 23:05:15: Received MQTT message on 'zigbee2mqtt/test/availability' with data 'offline'
debug 2023-07-24 23:05:15: Received MQTT message on 'zigbee2mqtt/windstrike/availability' with data 'online'
debug 2023-07-24 23:05:15: Received MQTT message on 'zigbee2mqtt/vremeKopalnica/availability' with data 'online'
debug 2023-07-24 23:05:15: Active device 'zarnica' was last seen '16365.57' minutes ago.
info  2023-07-24 23:05:15: MQTT publish: topic 'zigbee2mqtt/zarnica/availability', payload 'offline'
debug 2023-07-24 23:05:15: Passive device 'daljinc' was last seen '2.50' hours ago.
info  2023-07-24 23:05:15: MQTT publish: topic 'zigbee2mqtt/daljinc/availability', payload 'online'
debug 2023-07-24 23:05:15: Passive device 'vremeNoter' was last seen '0.15' hours ago.
info  2023-07-24 23:05:15: MQTT publish: topic 'zigbee2mqtt/vremeNoter/availability', payload 'online'
debug 2023-07-24 23:05:15: Passive device 'vremeZunaj' was last seen '0.17' hours ago.
info  2023-07-24 23:05:15: MQTT publish: topic 'zigbee2mqtt/vremeZunaj/availability', payload 'online'
debug 2023-07-24 23:05:15: Active device 'steker' was last seen '1.32' minutes ago.
info  2023-07-24 23:05:15: MQTT publish: topic 'zigbee2mqtt/steker/availability', payload 'online'
debug 2023-07-24 23:05:15: Passive device 'vremeKopalnica' was last seen '0.05' hours ago.
info  2023-07-24 23:05:15: MQTT publish: topic 'zigbee2mqtt/vremeKopalnica/availability', payload 'online'
debug 2023-07-24 23:05:15: Active device 'zarnicaL1' was last seen '5.75' minutes ago.
info  2023-07-24 23:05:15: MQTT publish: topic 'zigbee2mqtt/zarnicaL1/availability', payload 'online'
debug 2023-07-24 23:05:15: Active device 'windstrike' was last seen '0.92' minutes ago.
info  2023-07-24 23:05:15: MQTT publish: topic 'zigbee2mqtt/windstrike/availability', payload 'online'
info  2023-07-24 23:05:15: MQTT publish: topic 'zigbee2mqtt/test/availability', payload 'offline'
info  2023-07-24 23:05:15: MQTT publish: topic 'zigbee2mqtt/901/availability', payload 'online'
info  2023-07-24 23:05:15: MQTT publish: topic 'zigbee2mqtt/tradfri_scenes/availability', payload 'online'
info  2023-07-24 23:05:15: Started frontend on port 0.0.0.0:8022
info  2023-07-24 23:05:15: MQTT publish: topic 'zigbee2mqtt/bridge/config', payload '{"commit":"307e0dca","coordinator":{"meta":{"maintrel":3,"majorrel":2,"minorrel":6,"product":0,"revision":20211115,"transportrev":2},"type":"zStack12"},"log_level":"debug","network":{"channel":11,"extendedPanID":"0x00124b001ccc696c","panID":6754},"permit_join":false,"version":"1.30.4-dev"}'
info  2023-07-24 23:05:15: MQTT publish: topic 'zigbee2mqtt/zarnica', payload '{"brightness":254,"color_mode":"color_temp","color_temp":349,"linkquality":89,"state":"ON","update":{"installed_version":587814449,"latest_version":587814449,"state":"idle"},"update_available":false}'
info  2023-07-24 23:05:15: MQTT publish: topic 'zigbee2mqtt/daljinc', payload '{"battery":40,"linkquality":76,"update":{"installed_version":604241925,"latest_version":604241925,"state":"idle"},"update_available":false}'
info  2023-07-24 23:05:15: MQTT publish: topic 'zigbee2mqtt/vremeNoter', payload '{"battery":100,"humidity":57.79,"linkquality":84,"temperature":26.33,"voltage":3000}'
info  2023-07-24 23:05:15: MQTT publish: topic 'zigbee2mqtt/vremeZunaj', payload '{"battery":100,"humidity":91.04,"linkquality":78,"temperature":23.59,"voltage":3000}'
info  2023-07-24 23:05:15: MQTT publish: topic 'zigbee2mqtt/steker', payload '{"linkquality":84,"state":"ON","update":{"installed_version":587765297,"latest_version":587765297,"state":"idle"},"update_available":false}'
info  2023-07-24 23:05:15: MQTT publish: topic 'zigbee2mqtt/vremeKopalnica', payload '{"battery":100,"humidity":59.35,"linkquality":63,"temperature":26.37,"voltage":3000}'
info  2023-07-24 23:05:15: MQTT publish: topic 'zigbee2mqtt/zarnicaL1', payload '{"brightness":254,"color_mode":"color_temp","color_temp":370,"color_temp_startup":65535,"linkquality":84,"power_on_behavior":"on","state":"OFF"}'
info  2023-07-24 23:05:15: MQTT publish: topic 'zigbee2mqtt/windstrike', payload '{"humidity":57,"linkquality":78,"pm25":11,"temperature":27,"update":{"installed_version":65552,"latest_version":16777233,"state":"available"},"update_available":true,"voc_index":80}'
info  2023-07-24 23:05:15: MQTT publish: topic 'zigbee2mqtt/test', payload '{"brightness":254,"color_mode":"color_temp","color_temp":349,"state":"ON"}'
info  2023-07-24 23:05:15: MQTT publish: topic 'zigbee2mqtt/tradfri_scenes', payload '{"brightness":254,"color_mode":"color_temp","color_temp":370,"state":"ON"}'
info  2023-07-24 23:05:15: Zigbee2MQTT started!
warn  2023-07-24 23:05:16: Failed to ping 'zarnica' (attempt 1/1, Read 0xb4e3f9fffe6c1d64/1 genBasic(["zclVersion"], {"sendWhen":"immediate","timeout":10000,"disableResponse":false,"disableRecovery":true,"disableDefaultResponse":true,"direction":0,"srcEndpoint":null,"reservedBits":0,"manufacturerCode":null,"transactionSequenceNumber":null,"writeUndiv":false}) failed (Data request failed with error: 'MAC no ack' (233)))
debug 2023-07-24 23:05:19: Active device 'zarnica' was last seen '16365.63' minutes ago.
debug 2023-07-24 23:05:19: Received Zigbee message from 'windstrike', type 'attributeReport', cluster 'msTemperatureMeasurement', data '{"measuredValue":2700}' from endpoint 1 with groupID 0
info  2023-07-24 23:05:19: MQTT publish: topic 'zigbee2mqtt/windstrike', payload '{"humidity":57,"linkquality":73,"pm25":11,"temperature":27,"update":{"installed_version":65552,"latest_version":16777233,"state":"available"},"update_available":true,"voc_index":80}'
debug 2023-07-24 23:05:20: Received Zigbee message from 'windstrike', type 'attributeReport', cluster 'msRelativeHumidity', data '{"measuredValue":5700}' from endpoint 1 with groupID 0
info  2023-07-24 23:05:20: MQTT publish: topic 'zigbee2mqtt/windstrike', payload '{"humidity":57,"linkquality":73,"pm25":11,"temperature":27,"update":{"installed_version":65552,"latest_version":16777233,"state":"available"},"update_available":true,"voc_index":80}'
debug 2023-07-24 23:05:42: Saving state to file /home/pi/src/zigbee2mqtt-1.30.4/data/state.json
info  2023-07-24 23:05:42: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload 'offline'
info  2023-07-24 23:05:42: Disconnecting from MQTT server
info  2023-07-24 23:05:42: Stopping zigbee-herdsman...
info  2023-07-24 23:05:42: Stopped zigbee-herdsman
info  2023-07-24 23:05:42: Stopped Zigbee2MQTT

IKEA E2112 Vindstyrka device is publishing on the topic "zigbee2mqtt/windstrike".
both humidity and temperature resolutions are set to 1 in configuration.

@Koenkk
Copy link
Owner

Koenkk commented Jul 25, 2023

As can be seen in the log, the precision of the values in the Zigbee messages is 0:

debug 2023-07-24 23:05:19: Received Zigbee message from 'windstrike', type 'attributeReport', cluster 'msTemperatureMeasurement', data '{"measuredValue":2700}' from endpoint 1 with groupID 0
-> this is 27.00 degrees
debug 2023-07-24 23:05:20: Received Zigbee message from 'windstrike', type 'attributeReport', cluster 'msRelativeHumidity', data '{"measuredValue":5700}' from endpoint 1 with groupID 0
-> this is 57% humidity

Zigbee2MQTT cannot increase the precision, only reduce it.

@shrx
Copy link
Author

shrx commented Jul 25, 2023

It's weird that we can't get a better resolution for humidity and temperature readouts over zigbee, since the raw data with higher resolution is actually available over serial: https://github.com/just-oblivious/vindstyrka-docs

@Koenkk
Copy link
Owner

Koenkk commented Jul 26, 2023

I guess some rounding is done in the fw of the device.

@sjorge
Copy link
Sponsor Contributor

sjorge commented Aug 21, 2023

The SEN54 should support 0.1 steps, at least when talking to it over i2c, but doesn't look like the fw from ikea exposes that 😑

The display also can't display that so I doubt we will get it in a future update. 😞

@rfenouil
Copy link

rfenouil commented Sep 1, 2023

Is it a fantasy to imagine Ikea people will endup reading this thread and decide to modify one line of code in their firmware ?
If you work for Ikea, please make a sign here 😄
We all bought this device because of Z2M compatibility... Thanks ! 😃

@sjorge
Copy link
Sponsor Contributor

sjorge commented Sep 1, 2023

There is/was one account u/TRADFRI on reddit that was run by someone from the team there. But they dont take suggestions.

@201505409
Copy link

Well in that case. I created a pull request for the z2m documentation. So now it states it as the first thing under notes. Hopefully, IKEA will see this. At least this will inform potential buyers...

@shrx
Copy link
Author

shrx commented Sep 2, 2023

Thanks for updating the documentation, I guess that's all we can do. Here is the above mentioned pull request Koenkk/zigbee2mqtt.io#2202

@Koenkk I guess we can close this?

@Koenkk Koenkk closed this as completed Sep 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
problem Something isn't working
Projects
None yet
Development

No branches or pull requests