Skip to content

Expose Bosch RM230Z weekly schedule#12508

Merged
Koenkk merged 1 commit into
Koenkk:masterfrom
MaxRink:bosch-rm230z-weekly-schedule
Jun 23, 2026
Merged

Expose Bosch RM230Z weekly schedule#12508
Koenkk merged 1 commit into
Koenkk:masterfrom
MaxRink:bosch-rm230z-weekly-schedule

Conversation

@MaxRink

@MaxRink MaxRink commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Summary

  • expose standard Zigbee thermostat weekly schedule controls for Bosch BTH-RM230Z (Room thermostat II 230V)
  • keep the shared Bosch RM thermostat helper opt-in so the battery RM model remains unchanged
  • use a Bosch-specific snake_case weekly schedule expose while keeping the toZigbee converter compatible with existing camelCase payloads
  • add regression coverage for RM230Z schedule exposure and configure-time schedule capability reads

Context

The Bosch RM230Z manual describes automatic room control through a schedule. The existing converter already exposes the Bosch private operating_mode value schedule, but did not expose the standard ZCL weekly schedule payloads needed to inspect or write the actual schedule.

Related prior work in #9662 covered other private Bosch thermostat attributes; I did not find schedule support implemented there.

The generic thermostat weekly schedule expose currently uses camelCase properties that fail the repository expose naming check, so this PR leaves the shared helper untouched and adds an opt-in Bosch expose using transition_time and heat_setpoint. The converter accepts both the new snake_case keys and the existing camelCase keys for compatibility.

Validation

  • PATH="/opt/homebrew/opt/node@24/bin:$PATH" npx pnpm@10.12.1 exec vitest run test/checks.test.ts test/bosch.test.ts test/toZigbee.test.ts --config ./test/vitest.config.mts
  • PATH="/opt/homebrew/opt/node@24/bin:$PATH" npx pnpm@10.12.1 run check
  • PATH="/opt/homebrew/opt/node@24/bin:$PATH" npx pnpm@10.12.1 run build
  • PATH="/opt/homebrew/opt/node@24/bin:$PATH" npx pnpm@10.12.1 test

Combined live validation on my Home Assistant instance

@MaxRink MaxRink marked this pull request as draft June 22, 2026 20:16
@MaxRink MaxRink force-pushed the bosch-rm230z-weekly-schedule branch from 3dd7b75 to 6cd501d Compare June 22, 2026 20:17
@MaxRink MaxRink marked this pull request as ready for review June 22, 2026 20:20
@MaxRink MaxRink force-pushed the bosch-rm230z-weekly-schedule branch from f3e254d to 1834bc5 Compare June 22, 2026 20:33
@MaxRink MaxRink marked this pull request as draft June 23, 2026 11:02
@MaxRink MaxRink marked this pull request as ready for review June 23, 2026 13:47
@Koenkk Koenkk merged commit 401ae06 into Koenkk:master Jun 23, 2026
4 checks passed
@Koenkk

Koenkk commented Jun 23, 2026

Copy link
Copy Markdown
Owner

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants