From b82514368a3f4a86a7f64c3d3b0d5c809710ef11 Mon Sep 17 00:00:00 2001 From: "Willem-Jan L. van Rootselaar" Date: Sat, 8 Nov 2025 11:44:04 +0000 Subject: [PATCH 1/4] Add documentation for BSB-Lan hot water schedule action and examples --- source/_integrations/bsblan.markdown | 87 ++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) diff --git a/source/_integrations/bsblan.markdown b/source/_integrations/bsblan.markdown index d844b4b14f9f..0d0980cfe5e9 100644 --- a/source/_integrations/bsblan.markdown +++ b/source/_integrations/bsblan.markdown @@ -46,6 +46,93 @@ or using a passkey is supported. Use either one. - `climate` - `water heater` +## Actions + +The integration provides the following action. + +### Action `bsblan.set_hot_water_schedule` + +Sets the hot water heating schedule for your BSB-Lan device. Each day of the week can have one or more time periods when hot water heating should be active. + +- **Data attribute**: `device` + - **Description**: The BSB-Lan device to configure. + - **Required**: Yes +- **Data attribute**: `schedule` + - **Description**: A schedule object containing one or more day configurations. Each day accepts a string in the format `"HH:MM-HH:MM HH:MM-HH:MM"`. Multiple time periods can be specified, separated by spaces. Use 24-hour time format. Set a day to `null` to clear its schedule. Available days: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`. + - **Required**: Yes + +## Examples + +The following examples show how to use the BSB-Lan integration actions in Home Assistant automations. + +### Setting a weekday and weekend schedule + +This example sets different schedules for weekdays and weekends. + +```yaml +action: bsblan.set_hot_water_schedule +target: + device_id: abc123device456 +data: + schedule: + monday: "06:00-08:00 17:00-21:00" + tuesday: "06:00-08:00 17:00-21:00" + wednesday: "06:00-08:00 17:00-21:00" + thursday: "06:00-08:00 17:00-21:00" + friday: "06:00-08:00 17:00-21:00" + saturday: "08:00-22:00" + sunday: "08:00-22:00" +``` + +### Seasonal schedule automation + +This example automatically adjusts the hot water schedule based on the season. + +{% raw %} + +```yaml +automation: + - alias: "Set hot water schedule - winter" + triggers: + - trigger: state + entity_id: sensor.season + to: "winter" + actions: + - action: bsblan.set_hot_water_schedule + target: + device_id: "{{ device_id('water_heater.bsblan_hot_water') }}" + data: + schedule: + monday: "05:00-08:30 16:00-23:00" + tuesday: "05:00-08:30 16:00-23:00" + wednesday: "05:00-08:30 16:00-23:00" + thursday: "05:00-08:30 16:00-23:00" + friday: "05:00-08:30 16:00-23:00" + saturday: "07:00-23:00" + sunday: "07:00-23:00" + + - alias: "Set hot water schedule - summer" + triggers: + - trigger: state + entity_id: sensor.season + to: "summer" + actions: + - action: bsblan.set_hot_water_schedule + target: + device_id: "{{ device_id('water_heater.bsblan_hot_water') }}" + data: + schedule: + monday: "06:00-07:00 18:00-20:00" + tuesday: "06:00-07:00 18:00-20:00" + wednesday: "06:00-07:00 18:00-20:00" + thursday: "06:00-07:00 18:00-20:00" + friday: "06:00-07:00 18:00-20:00" + saturday: "08:00-21:00" + sunday: "08:00-21:00" +``` + +{% endraw %} + For more documentation of the BSBLan device, check the [manual](https://docs.bsb-lan.de). To see a more detailed listing of the reported systems which are successfully used with BSB-LAN, please follow the corresponding link: From 7b8a930c51ea38d07fb50cb6267eb66a04bf3b8b Mon Sep 17 00:00:00 2001 From: Willem-Jan van Rootselaar Date: Sun, 9 Nov 2025 13:17:32 +0100 Subject: [PATCH 2/4] Update bsblan.markdown Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- source/_integrations/bsblan.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/bsblan.markdown b/source/_integrations/bsblan.markdown index 0d0980cfe5e9..fec73098078e 100644 --- a/source/_integrations/bsblan.markdown +++ b/source/_integrations/bsblan.markdown @@ -54,8 +54,8 @@ The integration provides the following action. Sets the hot water heating schedule for your BSB-Lan device. Each day of the week can have one or more time periods when hot water heating should be active. -- **Data attribute**: `device` - - **Description**: The BSB-Lan device to configure. +- **Target**: `device_id` + - **Description**: The BSB-Lan device to configure. Use the `target` field with a `device_id` to specify which device you want to set the schedule for. - **Required**: Yes - **Data attribute**: `schedule` - **Description**: A schedule object containing one or more day configurations. Each day accepts a string in the format `"HH:MM-HH:MM HH:MM-HH:MM"`. Multiple time periods can be specified, separated by spaces. Use 24-hour time format. Set a day to `null` to clear its schedule. Available days: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`. From bd112183051a6aa60feaac610c9d1bd80389823d Mon Sep 17 00:00:00 2001 From: "Willem-Jan L. van Rootselaar" Date: Sun, 9 Nov 2025 18:22:29 +0000 Subject: [PATCH 3/4] Fix formatting of season triggers in BSB-Lan hot water schedule automation --- source/_integrations/bsblan.markdown | 38 ++++++++++++++-------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/source/_integrations/bsblan.markdown b/source/_integrations/bsblan.markdown index fec73098078e..1cd1bbdb27f3 100644 --- a/source/_integrations/bsblan.markdown +++ b/source/_integrations/bsblan.markdown @@ -96,7 +96,7 @@ automation: triggers: - trigger: state entity_id: sensor.season - to: "winter" + to: winter actions: - action: bsblan.set_hot_water_schedule target: @@ -111,24 +111,24 @@ automation: saturday: "07:00-23:00" sunday: "07:00-23:00" - - alias: "Set hot water schedule - summer" - triggers: - - trigger: state - entity_id: sensor.season - to: "summer" - actions: - - action: bsblan.set_hot_water_schedule - target: - device_id: "{{ device_id('water_heater.bsblan_hot_water') }}" - data: - schedule: - monday: "06:00-07:00 18:00-20:00" - tuesday: "06:00-07:00 18:00-20:00" - wednesday: "06:00-07:00 18:00-20:00" - thursday: "06:00-07:00 18:00-20:00" - friday: "06:00-07:00 18:00-20:00" - saturday: "08:00-21:00" - sunday: "08:00-21:00" + - alias: "Set hot water schedule - summer" + triggers: + - trigger: state + entity_id: sensor.season + to: summer + actions: + - action: bsblan.set_hot_water_schedule + target: + device_id: "{{ device_id('water_heater.bsblan_hot_water') }}" + data: + schedule: + monday: "06:00-07:00 18:00-20:00" + tuesday: "06:00-07:00 18:00-20:00" + wednesday: "06:00-07:00 18:00-20:00" + thursday: "06:00-07:00 18:00-20:00" + friday: "06:00-07:00 18:00-20:00" + saturday: "08:00-21:00" + sunday: "08:00-21:00" ``` {% endraw %} From 76bb1e39c5f2db232f56012febcbb1e24ea06ad5 Mon Sep 17 00:00:00 2001 From: "Willem-Jan L. van Rootselaar" Date: Tue, 11 Nov 2025 15:04:03 +0000 Subject: [PATCH 4/4] Update BSB-Lan documentation for clarity and consistency --- source/_integrations/bsblan.markdown | 145 +++++++++++++++++++++------ 1 file changed, 115 insertions(+), 30 deletions(-) diff --git a/source/_integrations/bsblan.markdown b/source/_integrations/bsblan.markdown index 1cd1bbdb27f3..bd4703718084 100644 --- a/source/_integrations/bsblan.markdown +++ b/source/_integrations/bsblan.markdown @@ -52,14 +52,30 @@ The integration provides the following action. ### Action `bsblan.set_hot_water_schedule` -Sets the hot water heating schedule for your BSB-Lan device. Each day of the week can have one or more time periods when hot water heating should be active. +Sets the hot water heating schedule for your BSB-Lan device. Each day of the week can have one or more time slots when hot water heating should be active. - **Target**: `device_id` - - **Description**: The BSB-Lan device to configure. Use the `target` field with a `device_id` to specify which device you want to set the schedule for. - - **Required**: Yes -- **Data attribute**: `schedule` - - **Description**: A schedule object containing one or more day configurations. Each day accepts a string in the format `"HH:MM-HH:MM HH:MM-HH:MM"`. Multiple time periods can be specified, separated by spaces. Use 24-hour time format. Set a day to `null` to clear its schedule. Available days: `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`. + - **Description**: The BSB-Lan device to configure. - **Required**: Yes +- **Data attributes**: + - **`monday_slots`**: List of time slots for Monday. Each slot contains `start_time` and `end_time`. + - **Optional**: Yes + - **`tuesday_slots`**: List of time slots for Tuesday. Each slot contains `start_time` and `end_time`. + - **Optional**: Yes + - **`wednesday_slots`**: List of time slots for Wednesday. Each slot contains `start_time` and `end_time`. + - **Optional**: Yes + - **`thursday_slots`**: List of time slots for Thursday. Each slot contains `start_time` and `end_time`. + - **Optional**: Yes + - **`friday_slots`**: List of time slots for Friday. Each slot contains `start_time` and `end_time`. + - **Optional**: Yes + - **`saturday_slots`**: List of time slots for Saturday. Each slot contains `start_time` and `end_time`. + - **Optional**: Yes + - **`sunday_slots`**: List of time slots for Sunday. Each slot contains `start_time` and `end_time`. + - **Optional**: Yes + - **`standard_values_slots`**: List of standard/default time slots. Each slot contains `start_time` and `end_time`. + - **Optional**: Yes + +Time slots are defined using time pickers for easy configuration without manual formatting. You only need to specify the days you want to configure. ## Examples @@ -67,21 +83,44 @@ The following examples show how to use the BSB-Lan integration actions in Home A ### Setting a weekday and weekend schedule -This example sets different schedules for weekdays and weekends. +This example sets different schedules for weekdays and weekends. Each day can have multiple time slots. ```yaml action: bsblan.set_hot_water_schedule target: device_id: abc123device456 data: - schedule: - monday: "06:00-08:00 17:00-21:00" - tuesday: "06:00-08:00 17:00-21:00" - wednesday: "06:00-08:00 17:00-21:00" - thursday: "06:00-08:00 17:00-21:00" - friday: "06:00-08:00 17:00-21:00" - saturday: "08:00-22:00" - sunday: "08:00-22:00" + monday_slots: + - start_time: "06:00:00" + end_time: "08:00:00" + - start_time: "17:00:00" + end_time: "21:00:00" + tuesday_slots: + - start_time: "06:00:00" + end_time: "08:00:00" + - start_time: "17:00:00" + end_time: "21:00:00" + wednesday_slots: + - start_time: "06:00:00" + end_time: "08:00:00" + - start_time: "17:00:00" + end_time: "21:00:00" + thursday_slots: + - start_time: "06:00:00" + end_time: "08:00:00" + - start_time: "17:00:00" + end_time: "21:00:00" + friday_slots: + - start_time: "06:00:00" + end_time: "08:00:00" + - start_time: "17:00:00" + end_time: "21:00:00" + saturday_slots: + - start_time: "08:00:00" + end_time: "22:00:00" + sunday_slots: + - start_time: "08:00:00" + end_time: "22:00:00" ``` ### Seasonal schedule automation @@ -102,14 +141,37 @@ automation: target: device_id: "{{ device_id('water_heater.bsblan_hot_water') }}" data: - schedule: - monday: "05:00-08:30 16:00-23:00" - tuesday: "05:00-08:30 16:00-23:00" - wednesday: "05:00-08:30 16:00-23:00" - thursday: "05:00-08:30 16:00-23:00" - friday: "05:00-08:30 16:00-23:00" - saturday: "07:00-23:00" - sunday: "07:00-23:00" + monday_slots: + - start_time: "05:00:00" + end_time: "08:30:00" + - start_time: "16:00:00" + end_time: "23:00:00" + tuesday_slots: + - start_time: "05:00:00" + end_time: "08:30:00" + - start_time: "16:00:00" + end_time: "23:00:00" + wednesday_slots: + - start_time: "05:00:00" + end_time: "08:30:00" + - start_time: "16:00:00" + end_time: "23:00:00" + thursday_slots: + - start_time: "05:00:00" + end_time: "08:30:00" + - start_time: "16:00:00" + end_time: "23:00:00" + friday_slots: + - start_time: "05:00:00" + end_time: "08:30:00" + - start_time: "16:00:00" + end_time: "23:00:00" + saturday_slots: + - start_time: "07:00:00" + end_time: "23:00:00" + sunday_slots: + - start_time: "07:00:00" + end_time: "23:00:00" - alias: "Set hot water schedule - summer" triggers: @@ -121,14 +183,37 @@ automation: target: device_id: "{{ device_id('water_heater.bsblan_hot_water') }}" data: - schedule: - monday: "06:00-07:00 18:00-20:00" - tuesday: "06:00-07:00 18:00-20:00" - wednesday: "06:00-07:00 18:00-20:00" - thursday: "06:00-07:00 18:00-20:00" - friday: "06:00-07:00 18:00-20:00" - saturday: "08:00-21:00" - sunday: "08:00-21:00" + monday_slots: + - start_time: "06:00:00" + end_time: "07:00:00" + - start_time: "18:00:00" + end_time: "20:00:00" + tuesday_slots: + - start_time: "06:00:00" + end_time: "07:00:00" + - start_time: "18:00:00" + end_time: "20:00:00" + wednesday_slots: + - start_time: "06:00:00" + end_time: "07:00:00" + - start_time: "18:00:00" + end_time: "20:00:00" + thursday_slots: + - start_time: "06:00:00" + end_time: "07:00:00" + - start_time: "18:00:00" + end_time: "20:00:00" + friday_slots: + - start_time: "06:00:00" + end_time: "07:00:00" + - start_time: "18:00:00" + end_time: "20:00:00" + saturday_slots: + - start_time: "08:00:00" + end_time: "21:00:00" + sunday_slots: + - start_time: "08:00:00" + end_time: "21:00:00" ``` {% endraw %}