Replies: 20 comments 50 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.
-
@Koenkk would renaming an effect for Hue bulbs be considered a bc break? If so, I'd like to get a fix in place now where "prism" is incorrectly called "colorloop". I figured it was worth checking since it's been wrong for a while and users could have automations tied to it. |
Beta Was this translation helpful? Give feedback.
-
Device Discovery just dropped with Home Assistant 2024.11.0. If possible, it would be good to have this in 2.0.0. It would drastically reduce the number of discovery messages (but introduce a requirement for HA 2024.11.x or higher). |
Beta Was this translation helpful? Give feedback.
-
Sorry if I'm posting this in the wrong issue, but regarding npm and Alpine, do Alpine users also need to install 'pnmp' manually as described here, or will it be packaged by the Alpine dev? |
Beta Was this translation helpful? Give feedback.
-
What is the difference between both configuration ?
and
I have only the second option in my configuration file. |
Beta Was this translation helpful? Give feedback.
-
All the preparations for the 2.0.0 release have now been completed. After the 1 December release (1.42.0), the 2.0.0 branch will be merged in to the dev branch so users can start testing it. If no big blockers are found, 2.0.0 will be released on 3 January 2025. |
Beta Was this translation helpful? Give feedback.
-
This discussion contains a list of breaking changes for Zigbee2MQTT 2.0.0. 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
configuration.yaml
:In case you already have this in your
configuration.yaml
. The breaking changes annoted with: Only breaking when legacy is enabled can be ignored.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.homeassistant.legacy_triggers
setting). This means allsensor.*_action
andsensor.*_click
entities are removed. Use the MQTT device trigger instead.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
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
The new automatic configure update will automatically (re)move the settings on first 2.0.0 startup. Make sure to check the
data/migration-1.x.x-to-2.0.0.log
after updating. 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#3228Beta Was this translation helpful? Give feedback.
All reactions