Replies: 35 comments 97 replies
-
I'd like to remove the |
Beta Was this translation helpful? Give feedback.
-
My suggestion is to remove |
Beta Was this translation helpful? Give feedback.
-
I'd also like to remove the duplicate |
Beta Was this translation helpful? Give feedback.
-
So what's the timeframe for 2.0.0 approximately? (I am asking if I should do a larger clean-up PR for Home Assistant discovery instead of adding Also, wouldn't it be easier if there was a |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
How about implementing a tool to translate a valid 1.xx configuration to a valid 2.0 configuration? Possibly with some instructions for porting actually incompatible features, but only when present. The thing I liked about this project was its stability (only since the last 10 or so 1.xy releases). Why would you ruin your (until this decision) great reputation? Software can always be made to be backwards compatible and it's not like that's hard to accomplish (every design patterns book even explains how to do that). It's just not a "cool" thing. Software has utility when it does work and you don't need to track its development. Every second people need to care about you making things "better", is lost productivity. Why are you breaking APIs and existing configurations again (that would want to upgrade to version 2)? |
Beta Was this translation helpful? Give feedback.
-
I am in favor of breaking change for 2.0 and major updates. It is not always possible or desirable to keep old stuff. I have a question about the 1.x z2m.
Is there a policy for z2m ? |
Beta Was this translation helpful? Give feedback.
-
What are those supposed to be replaced by ? I read here that actions are replaced by event, but how would it work with devices like old Ikea remotes, as i don't see events implemented yet ? |
Beta Was this translation helpful? Give feedback.
-
So with Z2M 2.0 , will it be true that I cannot enable permit join via MQTT, wait up to 5 mins for a device to join, interview and configure then disable permit join via MQTT ? |
Beta Was this translation helpful? Give feedback.
-
I've been enjoying Zigbee2MQTT for years now. Many thanks for maintaining such a great product so diligently. Hats off from me. |
Beta Was this translation helpful? Give feedback.
-
I look at the proposed changelist and everything is really promising @Koenkk, but one thing i want to put up for discussion, and that is the removal of I myself, and assume a lot of people use other automation platform, for example Node-RED. The HA-NR integration is greate, device triggers also added so basically this change should not be a prolem, right? Sadly, it is, generally as device triggers work, you cannot target multiple device with one selector, in the past I wrote a lot of common subflow/function that use the generic state triggers and filters entities by regex, because I use consistent naming for my entities, not really need to deploy 100s of device triggers just use, for example this regex: Can we at least shift the deprecation of this action/click entities because i assume that i not the only one that has such a use-case. |
Beta Was this translation helpful? Give feedback.
-
I may have missed this elsewhere, but I think it's worth coming up with a plan for the What if:
|
Beta Was this translation helpful? Give feedback.
-
I have been using Zigbee2mqtt for years. Many thanks and my respect for your great work. |
Beta Was this translation helpful? Give feedback.
-
It would be good if some of the changes can be brought forward into v1 to enable people to migrate their configs off legacy sooner - e.g. introduce the change to update sensors alongside the current setup. |
Beta Was this translation helpful? Give feedback.
-
This is probably the bottom of your list of priorities, but can we see some UI/UX improvements? thanks |
Beta Was this translation helpful? Give feedback.
-
Hello, I would like to add the settings provided in the "How to get prepared" section to my Thanks! |
Beta Was this translation helpful? Give feedback.
-
Keep up the great work! I have added the mentioned code in the Configuration.Yaml. Invalid config device_options (Show logs) Do i need to ignore these for now or am i doing something wrong? |
Beta Was this translation helpful? Give feedback.
-
Are there an UI changes? i couldnt see any? |
Beta Was this translation helpful? Give feedback.
-
My z2m 2.0 upgrade experience Docker install here with Sonoff Dongle E and latest 7.4.5 firmware using ember stack. I edited configuration.yaml with the legacy and device keypairs as instructed and spun up the container using the 1.42.0 latest-dev docker image (z2m 2.0). I have 24 devices with 8 Hue lights and 16 endpoints which include Philips, Lutron, Tuya and Aqara devices. All devices remained paired and functional but I eventually figured out I had to delete and recreate all my z2m groups (Hue lights). The groups were showing in z2m but they were not responding to their mqtt topics. Recreating the groups was a little flaky (I sometimes had to back out of the "groups" config page and come back to it for it to refresh) but I eventually recreated without too much trouble by noting the names and members, deleting them all, restarting the container and then recreating them and then restarting HA. They work now as before. Another issue I encountered was with the "warn" log level which apparently was substituted for the "warning" log level I had in effect. Z2m refused to boot with the "warn" log level specified (it threw an error saying "warn" was not a valid option). I changed it to "info" in the yaml and then booted ok. I then changed it back to the original "warning" (which is still a gui option) and it also booted and works as expected. All good now but the zombie groups issue had me scratching my head for a while. |
Beta Was this translation helpful? Give feedback.
-
I switched to 1.42.0 Dev and all things started and runs well. But I don't find any hints regaridng using extensions. Same problem with logger.info Sorry for my bad english. |
Beta Was this translation helpful? Give feedback.
-
Thanks for all the amazing work on this amazing software! Cleaning up always feels nice. I want to try out 2.0.0, so I let docker pull the latest-dev, but the frontend still shows 1.42.0-dev as Zigbee2MQTT version. Am I doing something wrong or is 1.42.0 actually 2.0.0 in disguise? EDIT |
Beta Was this translation helpful? Give feedback.
-
Super excited about a new release! =). Hit a couple of issues below - not sure if they're known, or I missed them somewhere. Main issue currently is that it doesn't seem to want to pair with a IKEA TRADFRI LED Driver. I've just created a fresh zigbee2mqtt 2.0 (dev) install via Docker, using a TCP-based Zigbee gateway (Zigstar UZG-01). Here is my Docker Compose file (
And here is the
When I first tried to start it up the containers - the zigbee2mqtt container has an error about finding the TCP adapter - it seems I needed to explicitly set
Anyhow, I fixed that by explictly setting
However, the zigbee2mqtt container then seemed to restart a few times with that error, and it cleared on its own without any user intervention. Curious what that means? I then had a small issue with the MQTT server (set to Finally, zigbee2mqtt was up, and I could access the frontend 😀. I then tried to pair a IKEA Tradfri LED Driver 20W - however, this seemed to fail with it being "unsupported": Here are the zigbee2mqtt container logs from around that time:
|
Beta Was this translation helpful? Give feedback.
-
I just update the edge version to 2.0.0.
or
it seems always following the reporting of some devices
the reporting seems to be every minute while before was every 2 hours. Beside this, everything works as expected. |
Beta Was this translation helpful? Give feedback.
-
In the “How to get prepared” section above it is mentioned to add code to configuration.yaml, since this has burned me before can you clarify which configuration.yaml is to be modified? I’m sure it’s obvious to many but since the same file name is used in many places a path would be very useful to make sure mistakes are not made. |
Beta Was this translation helpful? Give feedback.
-
Hi, All post talk about HA integration but nothing for another domotic soft. I'm on Jeedom via a plugin ( ZigbeeLinker) What could be broken with the v2.0 ? |
Beta Was this translation helpful? Give feedback.
-
Permanent log flooding
|
Beta Was this translation helpful? Give feedback.
-
The problem I'm seeing with activated experimental events is that when Z2M restarts, the events are triggered again. For example, I press the button to turn the lights on/off (event: single) and when Z2M restarts (e.g., changing the configuration), etc., the action is triggered again, i.e. the light turns on again. The solution is probably to not send events at startup. |
Beta Was this translation helpful? Give feedback.
-
Since last dev (1.42.0-dev commit: 1dde41f7eafe2ecfc55fa1d10a7963c211294043), it seems the Z2M debug log HA log This does not happen in standard 1.42.0 |
Beta Was this translation helpful? Give feedback.
-
Since the legacy action sensor covers some use cases which are not covered by the MQTT device trigger (e.g. #25003) and the event entities are still experimental, it has been decided to not remove the legacy action sensor in 2.0.0. It will be added back in #25192 |
Beta Was this translation helpful? Give feedback.
-
As an FYI, I was having some issues with my network and not sure what was causing it, so I changed my docker from "latest-dev" to "latest". When the December 1 "latest" release started up, it started removing all my devices from the groups and when it was done my groups were empty. I believe this is from the 2.0.0 way of groups versus how it was before. I think we need to make sure people are very aware to not rollback to a previous version after the 2.0.0 migration. |
Beta Was this translation helpful? Give feedback.
-
This discussion contains a list of breaking changes for Zigbee2MQTT 2.0.0.
Tip
Most of the breaking changes are about removing legacy features that have been deprecated for years (replaced & improved since), and as such, automatically disabled for newer networks.
How to get prepared?
In order to get the minimal amount of breaking changes when upgrading from 1.x.x to 2.0.0, make sure you have the following in your Zigbee2MQTT
configuration.yaml
:Important
Check you current
configuration.yaml
, it is likely that some of these values are already present, and set tofalse
, if your network is recent enough (past few years). The breaking changes marked with: Only breaking when legacy is enabled can be ignored if your configuration already has these values set tofalse
.Breaking changes
General
USB adapter discovery error (No valid USB adapter found)
, see Z2M 2.0.0: `USB adapter discovery error (No valid USB adapter found)` #24364 how to fix this.Bare-metal installations (no Docker/Home Assistant add-on)
configuration.yaml
from repo, this will result in the following error when updating:mv data/configuration.yaml data/configuration.yaml.bak ./update.sh # (update as you usually do) mv data/configuration.yaml.bak data/configuration.yaml
pnpm
is now used instead ofnpm
, the installation instructions andupdate.sh
script has been updated accordingly. For existing installations you need to executenpm install -g pnpm
before updating.Home Assistant
update_state
andupdate_available
entities have been removed (succeeded by theupdate
entities).homeassistant
property, useexposes
instead.sensor
/select
forselect
/number
/button
entities, the full list of removed entities per model can be found here.homeassistant.legacy_triggers
setting). This means allsensor.*_click
entities are removed. Use the MQTT device trigger instead.sensor.*_action
entities). It's recommended to use the MQTT device trigger instead. In case you really need the action sensors, add the following to yourconfiguration.yaml
.homeassistant.legacy_entity_attributes
setting) has been removed. This means that entities discovered by Zigbee2MQTT will no longer have entity attributes (Home Assistant entity attributes are accessed via e.g.states.binary_sensor.my_sensor.attributes
).Device specific
child_lock
on/off values have been changed fromtrue
/false
toLOCK
/UNLOCK
.illuminance_lux
toilluminance
, this breaks in two ways:illuminance_lux
has been removed and the value ofilluminance
changes. This affects the following devices: 83633205, MOSZB-140, MOSZB-153, EFEKTA_iAQ3, EFEKTA_PWS_Max, EFEKTA_PWS_MaxPro, EFEKTA_eON29wz, EFEKTA_eFlower_Pro, EFEKTA_iAQ, E2134, POK004, POK011, ROB_200-070-0, HK-SENSOR-4IN1-A, AU-A1ZBPIRS, RADON TriTech ZB, TS0601_illuminance_temperature_humidity_sensor_1, TS0202_3, S-LUX-ZB, TS0222_light, THE01860A, TS0222, LCZ030, MIR-HE200-TY, XFY-CGQ-ZIGB, TS0601_smart_human_presence_sensor_1, Y1_IN, ZY-M100-S_1, ZY-M100-S_2, WZ-M100, ZG-205ZL, ZG-204ZM, YXZBRB58, ZY-M100-24G, ZY-M100-24GV2, ZY-M100-24GV3, MTG075-ZB-RL, RT_ZCZ03Z, ZY-M100-S_3, ZG-205Z, 8750001213, HSE2927E, ZB003-X, 07502L, JS-MC-SENSOR-ZB, KK-ES-J01W, KMPCIL_RES005, RTCGQ11LM, RTCGQ12LM, b-parasite, 7A-SS-ZABC-H0, 5AA-SS-ZA-H0, RTCGQ14LM, RTCGQ15LM, ZNCLBL01LM, GZCGQ01LM, GZCGQ11LM, 07047L, 9290012607, 9290019758, 9290030675, 9290030674, 545D6306, CCT595011, ZSS-ZK-THL, 4512770, TERNCY-PP01, MBD-S, CTM_MBD_Dim, 3RSNL02043Z, WB-MSW-ZIGBEE v.3, MS100, USM-300ZB, PIR313-E.switch
expose andaction
values have been changed, see the device docs for the new values.device_options.legacy
. These breaking changes below can be ignored if you havedevice_options.legacy: false
in yourconfiguration.yaml
:button_*
properties.duration
,rate
,brightness
andtransition
.duration
.step_size
,transition_time
and the following actions:play_pause
,skip_forward
,skip_backward
,rotate_*
.rotate_*
actions.button_*
properties and removedsingle
action.single
action.left
,right
andboth
action (including the*_long
and*_double
actions).to_side
,from_side
,angle
.angle
.repeat
,user
anddata
.duration
.step_size
,transition_time
andskip_*
actions.action
values have been changed, see the device docs for the new values.keypad_lockout
value changedsetpoint_change_source
,setpoint_change_source_timestamp
,remote_sensing
andcontrol_sequence_of_operation
values are now mapped values (string) instead of a number.operation
,setpoint_change_source
,setpoint_change_source_timestamp
,remote_sensing
andcontrol_sequence_of_operation
values are now mapped values (string) instead of a number.direction
andnumber
weekly_schedule
payload.action
, removedduration
andcounter
.click
.External converters and extensions
external_converters
setting is no longer used. Instead all external converters insidedata/external_converters
directory are now automatically loaded. Make sure to move all your external converters to this directory.data/external_extensions
instead ofdata/extension
. Make sure to rename yourdata/extension
directory (if present) todata/external_extensions
.MQTT api
update_available
property from the device state has been removed (useupdate.state
instead).updateAvailable
toupdate_available
inzigbee2mqtt/bridge/response/device/ota_update/check
.zigbee2mqtt/bridge/request/device/bind
,zigbee2mqtt/bridge/request/group/members/add
,zigbee2mqtt/bridge/request/group/members/remove
andbridge/request/device/configure_reporting
, the endpoint has been moved to theendpoint
property and cannot be set via thedevice
/from
property anymore.zigbee2mqtt/bridge/request/config
MQTT API, this includes the following MQTT topics:zigbee2mqtt/bridge/request/config/last_seen
zigbee2mqtt/bridge/request/config/elapsed
zigbee2mqtt/bridge/request/config/log_level
zigbee2mqtt/bridge/request/config/homeassistant
data
payload in the response is now always empty when there is anerror
, this affectszigbee2mqtt/bridge/response/device/configure
andzigbee2mqtt/bridge/response/device/ota_update/*
.permit_join_timeout
has been removed fromzigbee2mqtt/bridge/info
, it has been replaced bypermit_join_end
which represents the Unix timestamp when permit joining will end.advanced.legacy_api
setting), this includes the following MQTT topics:zigbee2mqtt/bridge/log
zigbee2mqtt/bridge/(bind|unbind)
zigbee2mqtt/bridge/group/*
zigbee2mqtt/bridge/networkmap/*
zigbee2mqtt/bridge/ota_update
zigbee2mqtt/bridge/device/DEVICE_FRIENDLY_NAME/get_group_membership
zigbee2mqtt/bridge/config/*
zigbee2mqtt/bridge/configure
Removed features and settings
Important
The new configuration update system will automatically (re)move deprecated settings the first time you start Z2M after updating to 2.0.0. Make sure to check the
data/migration-1.x.x-to-2.0.0.log
after startup. See the docs for more info.advanced.report
setting).advanced.soft_reset_timeout
setting).devices.IEEE_ADDR.options.retrieve_state
setting).availability_timeout
,availability_blocklist
,availability_passlist
,availability_blacklist
,availability_whitelist
andadvanced.legacy_availability_payload
(see availability docs for the new settings).advanced.legacy_availability_payload
,zigbee2mqtt/bridge/state
will now always be a JSON object ({"state":"online"}
or{"state":"offline"}
).permit_join
setting has been removed, use the frontend or MQTT to permit joining.configuration.yaml
(groups.devices
setting). This will not impact current group members; however, you will no longer be able to add or remove devices from a group through theconfiguration.yaml
.ota.ikea_ota_use_test_url
option has been removed.advanced.homeassistant_discovery_topic
is now inhomeassistant.discovery_topic
advanced.homeassistant_status_topic
is now inhomeassistant.status_topic
advanced.baudrate
is now inserial.baudrate
advanced.rtscts
is now inserial.rtscts
experimental.transmit_power
is now inadvanced.transmit_power
experimental.output
is now inadvanced.output
whitelist
is now inpasslist
ban
is now inblocklist
experimental
section no longer existsPull requests
retrieve_state
zigbee2mqtt.io#3075readAfterWriteTime
zigbee-herdsman-converters#8089configuration.yaml
zigbee2mqtt.io#3104configuration.yaml
#24338illuminance_lux
zigbee-herdsman-converters#8304maximum_packet_size
MQTT setting zigbee2mqtt.io#3228data
in response is always empty onerror
#24971sensor
/select
forselect
/number
/button
entities #25026permit_join_timeout
#25082Beta Was this translation helpful? Give feedback.
All reactions