Ошибка invalid base value в wb-rules с wb-zigbee2mqtt

Версия wb-2204 (6.7.2)

Версии ПО:
wb-rules/stable,now 2.11.3 armhf [installed]
wb-zigbee2mqtt/stable,now 1.1.0 all [installed]
zigbee2mqtt/stable,now 1.27.0 armhf [installed]

На некоторых значениях, “прилетающих” в wb-zigbee2mqtt активно появляется ошибка invalid base value. Чаще всего замечено на нулевых значениях (не 0, а именно null) - например у датчиков, которые передают не все значения (некоторые null), а также на смарт-розетке на значении OFF:

Sep 06 13:57:45 /devices/SmartPlug_Iron/controls/state OFF
Sep 06 13:57:45 /wbrules/log/error ECMAScript error: TypeError: invalid base value
Sep 06 13:57:45         duk_hobject_props.c:2000
Sep 06 13:57:45         anon /usr/share/wb-rules-system/rules/wb-zigbee2mqtt.js:147 preventsyield
Sep 06 13:57:45         parse  native strict preventsyield
Sep 06 13:57:45         anon /usr/share/wb-rules-system/rules/wb-zigbee2mqtt.js:150 preventsyield

В целом не очень мешает, но ощущение, что подтормаживает wb-rules и сильно много “спамит” в лог.

Добрый день.
А на каких payload от устройств? мне чтобы воспроизвести нжно значть что присылается (строка из mqtt).

Добрый день.
Такая ситуация на любых пакетах, у которых в payload есть null.
Sep 06 15:17:30 Zigbee2MQTT:info 2022-09-06 15:17:30: MQTT publish: topic 'zigbee2mqtt/SmartPlug_Iron', payload '{"child_lock":"UNLOCK","current":0,"energy":0.52,"indicator_mode":"off/on","last_seen":1662466650771,"linkquality":84,"power":0,"power_outage_memory":"restore","state":"OFF","update":{"state":null},"update_available":null,"voltage":222}'

У меня есть датчик температуры (Tuya-подобный), который не умеет мерять вольтаж и остаток батарейки - в payload присылает "voltage":null, "battery":null - такая же ошибка вылезает в wb-rules. я эти атрибуты отфильтровал в Z2M (чтобы не присылал в MQTT) - и по этому датчику ошибка исчезла.

Еще один пример поймал в логах с той же ошибкой, на Aqara Cube. Часть значений action тоже содержит null, что приводит к ошибке в логе, но эти атрибуты я естественно отфильтровать не могу - они функциональные.

Zigbee2MQTT:info 2022-09-06 16:01:38: MQTT publish: topic 'zigbee2mqtt/Cube', payload '{"action":null,"action_angle":null,"action_from_side":null,"action_side":null,"action_to_side":null,"angle":54.53,"battery":99,"current":0,"device_temperature":25,"last_seen":1662469297730,"linkquality":84,"power":23699,"power_outage_count":130,"side":2,"temperature":22,"voltage":2985}'

Попробовал еще обновить релиз - не помогло.

wb-rules/stable,now 2.11.4 armhf [installed]
wb-zigbee2mqtt/stable,now 1.1.0 all [installed]
zigbee2mqtt/stable,now 1.25.2 armhf [installed]

Здравствуйте! Да, получилось воспроизвести такое поведение. Сделал багрепорт для разработчиков.

Добрый день!

А есть ли планируемые сроки по исправлению бага?

Пока срок не спланирован. Сделаете PR - вольем.

Иногда в поведении с присылкой null в payload виноваты параметры интеграции с Homeassistant в configuration.yaml . Как понимаю legacy_entity_attributes и legacy_triggers… В аналогичной ситуации с кучей аналогичных ошибок в логе мне помогло вообще закоментарить всё в homeassistant:.

Попробовал, но все равно то же самое. Даже с последней версией wb-zigbee2mqtt и новым z2m (1.30.2).

У вас сейчас релиз 2304?

Да, 2304 поставленный через fit.

Вот свежие скрины - видимо все же связанно с null значениями, на скринах два разных сообщения, на которых возникает ошибка:


Рассматривалось уже: Не отображается часть параметров устройства zigbee - #3 от пользователя BrainRoot
Если мешают сообщения в лог - поправьте обработку по примеру.

спасибо! поправил, получилось. а то среди этих ошибок было сложно найти нужные мне выводы в лог.

1 лайк

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.