feat!: remove non-functional Zigbee room enrichment#757
Merged
CFenner merged 2 commits intoopenviess:masterfrom May 8, 2026
Merged
feat!: remove non-functional Zigbee room enrichment#757CFenner merged 2 commits intoopenviess:masterfrom
CFenner merged 2 commits intoopenviess:masterfrom
Conversation
The RoomControl-driven Zigbee enrichment introduced in openviess#743 does not work in practice: the rooms.{id}.actors mapping that drives buildActorRoomMap() is not returned by the API for end users, so the enrichment is silently no-op and the lib has no reliable path to associate physical Zigbee devices with rooms. Removes the enrichment plumbing and reverts RoomSensor to direct sensor reads (device.sensors.temperature, device.sensors.humidity). RoomControl itself stays for direct per-room access. BREAKING CHANGE: RoomSensor no longer exposes hybrid getters that required RoomControl context (getRoomName, getRoomType, getCondensationRisk, getOperatingState*, getNormal/Reduced/Comfort HeatingTemperature, getManualTillNextSchedule*, getSchedule). Use the corresponding RoomControl methods with a room_id directly.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The RoomControl-driven Zigbee enrichment introduced in #743 does not work in practice: the
rooms.{id}.actorsmapping that drivesbuildActorRoomMap()is not returned by the API for end users, so the enrichment is silently no-op and the lib has no reliable path to associate physical Zigbee devices with rooms.This PR removes the enrichment plumbing and reverts
RoomSensorto direct sensor reads (device.sensors.temperature,device.sensors.humidity).RoomControlitself stays — it still works for direct per-room access (getRoomTemperature(room_id),getRoomHumidity(room_id), etc.).Changes
PyViCare.__enrichZigbeeDevices()and its call in__loadInstallationsRoomControl.buildActorRoomMap()PyViCareDeviceConfig.setRoomControlEnrichment(),_room_control/_room_idfields, and the enrichment branch inasRoomSensorRoomSensorto directdevice.sensors.*access (drop hybrid getters that depended on enrichment)test_RoomControl.pyNet: -253 / +3 LoC, full suite 725 passed.
Breaking change
RoomSensorno longer exposes the hybrid getters that requiredRoomControlcontext:getRoomName,getRoomType,getCondensationRisk,getOperatingStateLevel,getOperatingStateDemand,getNormalHeatingTemperature,getReducedHeatingTemperature,getComfortHeatingTemperature,setNormal/Reduced/ComfortHeatingTemperature,getManualTillNextScheduleActive,activate/deactivateManualTillNextSchedule,getSchedule. Use the correspondingRoomControlmethods with aroom_iddirectly.Follow-up
A future PR could expose RoomControl data via a different integration pattern (virtual room entities or similar). That work is independent of this revert.