### Clone GitHub Repository Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Installation Use this command to clone the Wiser Home Assistant Platform repository to your server. This is the first step for manual installation. ```bash git clone https://github.com/asantaga/wiserHomeAssistantPlatform.git ``` -------------------------------- ### Get Schedule (Climate Entity, With Filename) Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Outputs the schedule from a Wiser climate entity to a specified filename. Allows for custom file locations and names. ```yaml service: wiser.get_schedule data: entity_id: climate.wiser_kitchen filename: /config/kitchen.yaml ``` -------------------------------- ### Example Heating Schedule (Mixed Special and Specific Days) Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Schedules This YAML demonstrates a flexible heating schedule configuration that combines 'Weekdays' and 'Weekends' with specific overrides for 'Tuesday'. This allows for general settings with exceptions for particular days. ```yaml Name: Test Room Description: Schedule for Test Room Type: Heating Weekdays: - Time: 07:30 Temp: 21.5 - Time: 08:30 Temp: 15 - Time: 16:30 Temp: 20 - Time: 22:30 Temp: 15 Weekends: - Time: 07:00 Temp: 19 - Time: 10:00 Temp: 17 - Time: 16:00 Temp: 20.5 - Time: 23:00 Temp: 15 Tuesday: - Time: 08:00 Temp: 21.5 - Time: 20:00 Temp: 18.0 ``` -------------------------------- ### Boost Hot Water (Single Hub) Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Turns on hot water for a specified duration, overriding schedules. This example is for a single Wiser hub. ```yaml service: wiser.boost_hotwater data: time_period: 60 ``` -------------------------------- ### Get Schedule (Climate Entity, No Filename) Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Outputs the schedule from a Wiser climate entity to a default file path (/config/schedules/). Useful for backing up or modifying schedules. ```yaml service: wiser.get_schedule data: entity_id: climate.wiser_kitchen ``` -------------------------------- ### Example Heating Schedule (Weekdays/Weekends) Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Schedules This YAML defines a heating schedule using special day names 'Weekdays' and 'Weekends' for simplified configuration. It specifies temperature setpoints for different times applicable to these periods. ```yaml Name: Test Room Description: Schedule for Test Room Type: Heating Weekdays: - Time: 07:30 Temp: 21.5 - Time: 08:30 Temp: 15 - Time: 16:30 Temp: 20 - Time: 22:30 Temp: 15 Weekends: - Time: 07:00 Temp: 19 - Time: 10:00 Temp: 17 - Time: 16:00 Temp: 20.5 - Time: 23:00 Temp: 15 ``` -------------------------------- ### Boost Hot Water (Multiple Hubs) Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Turns on hot water for a specified duration, overriding schedules. This example specifies the hub to use when multiple Wiser hubs are configured. ```yaml service: wiser.boost_hotwater data: time_period: 60 hub: WiserHeatXXXXXX ``` -------------------------------- ### Example OnOff Schedule (Hot Water/Smart Plugs) Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Schedules This YAML defines an 'OnOff' schedule for devices like hot water or smart plugs. It uses 'Time' and 'State' keys to specify when the device should turn On or Off, applicable to 'Weekdays', 'Weekends', and specific days like 'Tuesday'. ```yaml Name: Hot Water Description: Schedule for Hot Water Type: OnOff Weekdays: - Time: 06:30 State: On - Time: 10:30 State: Off - Time: 16:30 State: On - Time: 22:30 State: Off Weekends: - Time: 06:30 State: On - Time: 10:30 State: Off - Time: 16:30 State: On - Time: 22:30 State: Off Tuesday: - Time: 08:00 State: On - Time: 20:00 State: Off ``` -------------------------------- ### Wiser Device Trigger for Started Heating Event Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Events-&-Triggers Configure this trigger to activate an automation when a specific room begins heating. Verify the device_id, domain, entity_id, and type match your setup. ```yaml trigger: - platform: device device_id: a45b40d19af72fe76bb5f3c195c24737 domain: wiser entity_id: climate.wiser_kitchen type: started_heating ``` -------------------------------- ### Example Heating Schedule (Individual Days) Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Schedules This YAML structure defines a heating schedule for a room, specifying temperature setpoints for different times on individual days of the week. It serves as a template for creating or retrieving schedule files. ```yaml Name: Dining Room Description: Schedule for Dining Room Type: Heating Monday: - Time: 07:30 Temp: 21 - Time: 08:30 Temp: 15 - Time: 16:30 Temp: 20 - Time: 22:30 Temp: 15 Tuesday: - Time: 07:30 Temp: 21 - Time: 08:30 Temp: 15 - Time: 16:30 Temp: 20 - Time: 22:30 Temp: 15 Wednesday: - Time: 07:30 Temp: 21 - Time: 08:30 Temp: 15 - Time: 16:30 Temp: 20 - Time: 22:30 Temp: 15 Thursday: - Time: 07:30 Temp: 21 - Time: 08:30 Temp: 15 - Time: 16:30 Temp: 20 - Time: 22:30 Temp: 15 Friday: - Time: 07:30 Temp: 21 - Time: 08:30 Temp: 15 - Time: 16:30 Temp: 20 - Time: 22:30 Temp: 15 Saturday: - Time: 07:00 Temp: 19 - Time: 10:00 Temp: 17 - Time: 16:00 Temp: 20 - Time: 23:00 Temp: 15 Sunday: - Time: 08:30 Temp: 21 ``` -------------------------------- ### Get Schedule (Non-Climate Entity, No Filename) Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Outputs the schedule from a non-climate Wiser entity (e.g., smart plug, hot water) to a default file path. Useful for managing schedules for various device types. ```yaml service: wiser.get_schedule data: entity_id: select.wiser_hot_water_mode ``` -------------------------------- ### Get Schedule (Multiple Climate Entities) Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Outputs schedules from multiple Wiser climate entities to separate default files. Useful for managing schedules across multiple rooms simultaneously. ```yaml service: wiser.get_schedule data: entity_id: - climate.wiser_dining_room - climate.wiser_kitchen - climate.wiser_lounge ``` -------------------------------- ### Get Schedule (Non-Climate Entity, With Filename) Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Outputs the schedule from a non-climate Wiser entity to a specified filename. Enables custom schedule file management for devices like smart plugs or hot water controllers. ```yaml service: wiser.get_schedule data: entity_id: select.wiser_hot_water_mode filename: /config/hw.yaml ``` -------------------------------- ### Set Climate Schedule from File Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Loads a YAML-formatted schedule into a Wiser climate entity from a specified file path. Ensure the file exists and is correctly formatted. ```yaml service: wiser.set_schedule data: entity_id: climate.wiser_kitchen filename: /config/kitchen.yaml ``` -------------------------------- ### Set Non-Climate Schedule from File Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Loads a YAML-formatted schedule into a Wiser non-climate entity (e.g., smart plugs, hot water, lights, shutters) from a specified file path. Ensure the file exists and is correctly formatted. ```yaml service: wiser.set_schedule data: entity_id: select.wiser_hot_water_mode filename: /config/hw.yaml ``` -------------------------------- ### Get Multiple Wiser Schedules Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Schedules Use the `wiser.get_schedule` service to retrieve multiple schedules at once. If no filename is provided, schedules are saved based on a predefined naming structure. ```yaml service: wiser.get_schedule data: entity_id: - climate.wiser_dining_room - climate.wiser_kitchen - climate.wiser_lounge ``` -------------------------------- ### Set Select Options for Modes Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Use this service to set options for dropdown select lists, such as modes for hot water, smart plugs, lights, and shutters (EU hubs only). The entity target must be a Wiser select entity for mode, and available options include 'Manual' or 'Auto'. ```yaml select.select_option ``` -------------------------------- ### Boost Heating to Specific Temperature Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Sets the heating to a specific target temperature for a set duration. Requires a time period and target temperature. ```yaml service: wiser.boost_heating data: time_period: 60 temperature: 22 target: entity_id: climate.wiser_kitchen ``` -------------------------------- ### Set Heating Schedule with All Day and Templating Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Sets a heating schedule for a climate entity using a YAML string, defining settings for 'All' day with templated and fixed values. Ensure templated values render correctly. ```yaml service: wiser.set_schedule_from_string data: entity_id: climate.wiser_bedroom schedule: | Type: Heating All: - Time: {{ as_timestamp(strptime(states('input_datetime.wakeup'),"%H:%M:%S")) | timestamp_custom("%H:%M") }} Temp: 16.0 - Time: '22:30' Temp: {{ 2 * 8 + 3 }} ``` -------------------------------- ### Fire Event When Room Monitoring Temp Sensors Change Reading Automation Source: https://github.com/asantaga/wiserhomeassistantplatform/blob/master/recipes/manage_temps_v2.md Use this automation to trigger an event when a temperature sensor's reading changes. Ensure your Wiser climate entities and temperature sensors are in the same Home Assistant area. Adjust `temp_sensor_integration`, `temp_sensor_prefix`, and `temp_sensor_suffix` variables to match your specific sensor setup. ```yaml alias: Fire Event When Room Monitoring Temp Sensors Change Reading description: '' trigger: - platform: event event_type: state_changed variables: temp_sensor: '{{trigger.event.data.entity_id}}' condition: - condition: template value_template: |- {% if temp_sensor in integration_entities(temp_sensor_integration) and temp_sensor.startswith(temp_sensor_prefix) and temp_sensor.endswith(temp_sensor_suffix) %} True {% endif %} action: - event: external_temp_sensor_changed event_data: entity_id: '{{temp_sensor}}' old_temp: '{{trigger.event.data.old_state.state}}' new_temp: '{{trigger.event.data.new_state.state}}' trigger_variables: temp_sensor_integration: zha temp_sensor_prefix: sensor.lumi temp_sensor_suffix: temperature mode: queued max: 25 ``` -------------------------------- ### Wiser Boost Automation with External Temp Sensor Source: https://github.com/asantaga/wiserhomeassistantplatform/blob/master/recipes/manage_temps.md This automation uses an external temperature sensor to manage Wiser heating. It triggers on state changes of ZHA temperature sensors starting with 'sensor.lumi' and ending with 'temperature'. It then checks for a corresponding Wiser climate entity in the same area and adjusts heating based on the temperature difference between the schedule and the sensor reading. The boost duration and temperature delta are calculated dynamically. A logbook entry is created to record the boost action. ```yaml alias: Adjust Wiser Boost for Ext Temp Sensor Heat Management description: Uses External Temp Sensor To Achieve Target Temp in Room trigger: - platform: event event_type: state_changed condition: - condition: and conditions: - condition: template value_template: |- {% if trigger.event.data.entity_id in integration_entities('zha') and trigger.event.data.entity_id.startswith('sensor.lumi') and trigger.event.data.entity_id.endswith('temperature') %} True {% endif %} - condition: template value_template: |- {% set trigger_entity = trigger.event.data.entity_id %} {# find corresponding room climate sensor #} {% for wiser_climate in area_entities(area_name(trigger_entity)) if wiser_climate.startswith('climate.') and wiser_climate in integration_entities('wiser') %} {% if loop.first %} {% set sensor_temp = states(trigger_entity)|float %} {% set schedule_temp = state_attr(wiser_climate, 'current_schedule_temp')|float %} {% if ( (schedule_temp - sensor_temp) > 0.5 and not state_attr(wiser_climate, 'is_heating') and not state_attr(wiser_climate, 'is_boosted') ) or ( (schedule_temp - sensor_temp) < 0.5 and state_attr(wiser_climate, 'is_boosted') ) %} True {% endif %} {% endif %} {% endfor %} action: - service: wiser.boost_heating data_template: entity_id: >- {% set sensor = trigger.event.data.entity_id %} {% for wiser_climate in area_entities(area_name(sensor)) if wiser_climate.startswith('climate.') and wiser_climate in integration_entities('wiser') %} {% if loop.first %}{{wiser_climate}}{% endif %} {% endfor %} time_period: >- {% set sensor = trigger.event.data.entity_id %} {% for wiser_climate in area_entities(area_name(sensor)) if wiser_climate.startswith('climate.') and wiser_climate in integration_entities('wiser') %} {% if loop.first %} {% set sensor_temp = states(sensor)|float %} {% set schedule_temp = state_attr(wiser_climate, 'current_schedule_temp')|float %} {% set delta = (schedule_temp - sensor_temp)|round(1) %} {% if delta < 0.5 %} 0 {% else %} 30 {% endif %} {% endif %} {% endfor %} temperature_delta: >- {% set sensor = trigger.event.data.entity_id %} {% for wiser_climate in area_entities(area_name(sensor)) if wiser_climate.startswith('climate.') and wiser_climate in integration_entities('wiser') %} {% if loop.first %} {% set sensor_temp = states(sensor)|float %} {% set schedule_temp = state_attr(wiser_climate, 'current_schedule_temp')|float %} {% set delta = (schedule_temp - sensor_temp)|round(1) %} {% if delta < 0.5 %} {% set delta = 0 %} {% endif %} {% set boost_delta = (((delta * 1.5) * 2 )|round(0)/2) %} {{boost_delta}} {% endif %} {% endfor %} - service: logbook.log data_template: name: Wiser Temp Boost by Ext Sensor message: |- {% set sensor = trigger.event.data.entity_id %} {% for wiser_climate in area_entities(area_name(sensor)) if wiser_climate.startswith('climate.') and wiser_climate in integration_entities('wiser') %} {% if loop.first %} {% set sensor_temp = states(sensor)|float %} {% set schedule_temp = state_attr(wiser_climate, 'current_schedule_temp')|float %} {% set delta = (schedule_temp - sensor_temp)|round(1) %} Sensor Temp - {{sensor_temp}}°C, Schedule Temp - {{schedule_temp}}°C, {% if delta < 0.5 %} Boost Cancelled {% else %} {% set boost_delta = (((delta * 1.5) * 2 )|round(0)/2)|round(1) %} Boosted By {{boost_delta}}°C {% endif %} {% endif %} {% endfor %} entity_id: |- {% set sensor = trigger.event.data.entity_id %} {% for wiser_climate in area_entities(area_name(sensor)) if wiser_climate.startswith('climate.') and wiser_climate in integration_entities('wiser') %} {% if loop.first %} {{wiser_climate}} {% endif %} {% endfor %} domain: wiser mode: queued max: 10 ``` -------------------------------- ### Set Schedule from File Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Sets a Wiser schedule from a specified YAML file. This allows for easy restoration or application of predefined schedules. ```APIDOC ## wiser.set_schedule_from_file ### Description Sets a Wiser schedule from a specified YAML file. This service allows you to load a previously saved or prepared schedule into your Wiser system. ### Method POST ### Endpoint /api/services/wiser/set_schedule_from_file ### Parameters #### Path Parameters - None #### Query Parameters - None #### Request Body - **entity_id** (string) - Required - The entity ID of the room or device for which to set the schedule. - **filename** (string) - Required - The path to the YAML file containing the schedule data. ### Request Example ```json { "entity_id": "climate.wiser_kitchen", "filename": "/config/schedules/kitchen_schedule.yaml" } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation message. #### Response Example ```json { "message": "Schedule set from file successfully." } ``` ``` -------------------------------- ### Set Schedule From String Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Sets a schedule directly from a YAML formatted string. This service is useful for dynamic schedule creation, especially when using templates. The string must adhere to the YAML schedule format, with specific requirements for times, temperatures, states, and levels. ```APIDOC ## wiser.set_schedule_from_string ### Description Sets a schedule directly from a YAML formatted string. This service is useful for dynamic schedule creation, especially when using templates. The string must adhere to the YAML schedule format, with specific requirements for times, temperatures, states, and levels. ### Method POST ### Endpoint /wiser/set_schedule_from_string ### Parameters #### Request Body - **entity_id** (string) - Required - The entity to set the schedule for. Can be a climate entity or a mode select entity for smart plugs, hot water, lights, or shutters. - **schedule** (string) - Required - A YAML formatted string representing the schedule. Supports templating for times, temperatures, states, and levels. Ensure times render to HH:MM, temps to floats, states to 'On' or 'Off', and levels to integers. Enclose 'On'/'Off' and times in quotes if using templates to avoid conversion issues. ``` -------------------------------- ### Template Switch for Wiser Boost and Auto Modes Source: https://github.com/asantaga/wiserhomeassistantplatform/blob/master/recipes/linking_3rd_party_sensors_to_wiser_heating.md Create a template switch to manage the Wiser heating. The 'turn_on' action calls the 'wiser.boost_heating' service, and the 'turn_off' action sets the Wiser climate entity to 'auto' mode. Configure service data including entity ID, boost duration, and temperature. ```yaml switch: - platform: template switches: switch_t_cucina: turn_on: service: wiser.boost_heating data: entity_id: climate.wiser_soggiorno time_period: 30 temperature: 21 temperature_delta: 1 turn_off: service: climate.set_hvac_mode data: entity_id: climate.wiser_soggiorno hvac_mode: "auto" ``` -------------------------------- ### Set Schedule for Multiple Entities Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Schedules Use the `set_schedule` service to apply a schedule file to multiple Wiser entities simultaneously. Ensure the `entity_id` list and `filename` are correctly specified. ```yaml service: wiser.set_schedule data: entity_id: - climate.wiser_dining_room - climate.wiser_kitchen - climate.wiser_lounge filename: config/schedules/summer_schedule.yaml ``` -------------------------------- ### Set Heating Schedule from String with Templating Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Sets a heating schedule for a climate entity using a YAML string. Supports templating for time and temperature values. Ensure templated values render correctly to HH:MM and float formats respectively. ```yaml service: wiser.set_schedule_from_string data: entity_id: climate.wiser_living_room schedule: | Type: Heating Weekdays: - Time: {{ as_timestamp(strptime(states('input_datetime.wakeup'), "%H:%M:%S")) | timestamp_custom("%H:%M") }} Temp: 16.0 Weekends: - Time: {{ as_timestamp(strptime(states('input_datetime.wakeup'), "%H:%M:%S")) | timestamp_custom("%H:%M") }} Temp: {{ 2 * 8 + 1 }} ``` -------------------------------- ### Checkout Git Branch Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Installation Switch to the desired branch (master for stable, dev for development) after cloning the repository. This ensures you are working with the correct version of the code. ```bash git checkout master ``` ```bash git checkout dev ``` -------------------------------- ### Set Schedule from String Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Sets a Wiser schedule directly from a YAML formatted string. Useful for dynamic schedule setting within automations. ```APIDOC ## wiser.set_schedule_from_string ### Description Sets a Wiser schedule using a YAML formatted string. This is useful for dynamically creating or modifying schedules within automations. ### Method POST ### Endpoint /api/services/wiser/set_schedule_from_string ### Parameters #### Path Parameters - None #### Query Parameters - None #### Request Body - **entity_id** (string) - Required - The entity ID of the room or device for which to set the schedule. - **schedule_yaml** (string) - Required - A string containing the schedule in YAML format. ### Request Example ```json { "entity_id": "climate.wiser_lounge", "schedule_yaml": "schedule:\n - Monday:\n - time: '07:00'\n temperature: 20\n - time: '09:00'\n temperature: 17\n - Tuesday:\n - time: '07:00'\n temperature: 20\n - time: '09:00'\n temperature: 17" } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation message. #### Response Example ```json { "message": "Schedule set from string successfully." } ``` ``` -------------------------------- ### Press Button Services Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services This service is used to trigger button actions like boosting heating or hot water, and canceling overrides. The entity target must be a Wiser button. ```yaml button.press ``` -------------------------------- ### Wiser Event Listener for Boosted Event with Action Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Events-&-Triggers This automation listens for any 'boosted' event from Wiser devices. It extracts the entity ID of the room and caps its target temperature if it exceeds a defined limit. Requires 'wiser_event' to be enabled and configured. ```yaml alias: Cap Boost Temperature description: Listens for boost event and caps to max target temp if above that trigger: - platform: event event_type: wiser_event event_data: type: boosted variables: cap_temp: 23.5 room: "{{trigger.event.data.entity_id}}" target_temp: "{{state_attr(trigger.event.data.entity_id, 'temperature')}}" condition: - condition: template value_template: |- {% if target_temp|float > cap_temp %} True {% endif %} action: - service: climate.set_temperature data: temperature: "{{cap_temp}}" target: entity_id: "{{room}}" mode: queued max: 10 ``` -------------------------------- ### Configure Generic Thermostat for Wiser Integration Source: https://github.com/asantaga/wiserhomeassistantplatform/blob/master/recipes/linking_3rd_party_sensors_to_wiser_heating.md Define a generic thermostat in configuration.yaml to control a switch that commands Wiser. Link it to a third-party temperature sensor for target temperature readings. Ensure min/max temperatures, tolerances, and initial HVAC mode are set appropriately. ```yaml climate: - platform: generic_thermostat name: cucina heater: switch.switch_t_cucina target_sensor: sensor.t_cucina_temperature min_temp: 5 max_temp: 30 ac_mode: false target_temp: 20 cold_tolerance: 0.3 hot_tolerance: 0 initial_hvac_mode: "heat" ``` -------------------------------- ### Control Climate HVAC Mode, Preset, and Temperature Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Use these services to manage climate control settings like HVAC mode, preset modes, and target temperatures. Ensure the entity target is a Wiser climate entity. For `set_preset_mode`, the value must match options in the climate card's more info dialog. ```yaml climate.set_hvac_mode climate.set_preset_mode climate.set_temperature climate.turn_on / climate.turn_off ``` -------------------------------- ### Set Device Mode Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Sets the operating mode (Auto or Manual) for smartplugs, hot water, lights, or shutters. This is similar to the built-in `select.select_option` service but provides UI helpers. ```APIDOC ## wiser.set_device_mode ### Description Sets the mode of a smartplug, hot water, lights, or shutters between 'Auto' (follow schedule) and 'Manual' (do not follow schedule). ### Method POST ### Endpoint /api/services/wiser/set_device_mode ### Parameters #### Path Parameters - None #### Query Parameters - None #### Request Body - **entity_id** (string) - Required - The entity ID of the device to set the mode for (e.g., `select.wiser_smartplug1_mode`). - **mode** (string) - Required - The desired mode: 'Auto' or 'Manual'. ### Request Example ```json { "entity_id": "select.wiser_smartplug1_mode", "mode": "Auto" } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation message. #### Response Example ```json { "message": "Device mode set successfully." } ``` ``` -------------------------------- ### Set OnOff Schedule from String with Templating Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Sets an OnOff schedule for a device (e.g., hot water) using a YAML string. Supports templating for time values and requires 'On' or 'Off' states to be quoted. Ensure templated time values render to HH:MM format. ```yaml service: wiser.set_schedule_from_string data: entity_id: select.wiser_hot_water schedule: | Type: OnOff All: - Time: {{ as_timestamp(strptime(states('input_datetime.wakeup'),"%H:%M:%S")) | timestamp_custom("%H:%M") }} State: 'On' - Time: '22:30' State: 'Off' ``` -------------------------------- ### Set Schedule from File Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Loads a schedule into the Wiser hub from a YAML formatted file. This service can be used in automations to apply different schedules based on the time of year or other conditions. It supports various entity types including climate, smart plugs, hot water, lights, and shutters. ```APIDOC ## wiser.set_schedule ### Description Loads a schedule into the Wiser hub from a YAML formatted file. This service can be used in automations to apply different schedules based on the time of year or other conditions. It supports various entity types including climate, smart plugs, hot water, lights, and shutters. ### Method POST ### Endpoint /wiser/set_schedule ### Parameters #### Request Body - **entity_id** (string or list of strings) - Required - The entity or list of entities to set the schedule for. Can be a climate entity or a mode select entity for smart plugs, hot water, lights, or shutters. - **filename** (string) - Required - The full path to the YAML file containing the schedule, e.g., `/config/schedules/kitchen.yaml`. ``` -------------------------------- ### Light Services (EU hub only) Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Services for controlling light entities, including dimmable and non-dimmable lights. The entity target should be a wiser light. Dimmable lights support the brightness parameter. ```APIDOC ## Light Services (EU hub only) ### Description Services for controlling light entities, including dimmable and non-dimmable lights. ### Entity Target - Entity target should be a wiser light. ### Service Details - `light.turn_on`: Turns the light on. Dimmable lights support the `brightness` parameter. - `light.turn_off`: Turns the light off. - `light.toggle`: Toggles the light state. ``` -------------------------------- ### Copy Schedule Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Copies an existing schedule from one entity to another. Both the source and destination entities must already have schedules assigned and must be of the same type (e.g., climate to climate, smart plug to smart plug). Entities must also belong to the same Wiser hub. ```APIDOC ## wiser.copy_schedule ### Description Copies an existing schedule from one entity to another. Both the source and destination entities must already have schedules assigned and must be of the same type (e.g., climate to climate, smart plug to smart plug). Entities must also belong to the same Wiser hub. ### Method POST ### Endpoint /wiser/copy_schedule ### Parameters #### Request Body - **entity_id** (string) - Required - The source entity from which to copy the schedule. Must be a climate entity or a mode select entity. - **to_entity_id** (string) - Required - The destination entity to which the schedule will be copied. Must be a climate entity or a mode select entity of the same type as `entity_id`. ``` -------------------------------- ### History Stats Sensor for This Week's Heating Source: https://github.com/asantaga/wiserhomeassistantplatform/blob/master/recipes/collection_of_sensors.md This sensor aggregates the total heating time for the current week. It requires the binary sensor to be configured. ```yaml - platform: history_stats name: Heating Flur On this Week entity_id: binary_sensor.heating_flur state: 'on' type: time start: "{{ as_timestamp( now().replace(hour=0).replace(minute=0).replace(second=0) ) - now().weekday() * 86400 }}" end: "{{ now() }}" ``` -------------------------------- ### Climate Services Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Services for controlling climate entities, including setting HVAC mode, preset mode, target temperature, and turning the climate on or off. The entity target should be a wiser climate entity. For `set_preset_mode`, the preset value must match the options in the climate card's more info dialog. ```APIDOC ## Climate Services ### Description Services for controlling climate entities, including setting HVAC mode, preset mode, target temperature, and turning the climate on or off. ### Entity Target - Entity target should be a wiser climate entity. ### Service Details - `climate.set_hvac_mode`: Sets the HVAC mode. - `climate.set_preset_mode`: Sets the preset mode. The preset value must match the options in the climate card's more info dialog. - `climate.set_temperature`: Sets the target temperature. - `climate.turn_on`: Turns the climate entity on. - `climate.turn_off`: Turns the climate entity off. ``` -------------------------------- ### Boost Heating by Temperature Delta Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Boosts heating by increasing the current room temperature by a specified delta for a set duration. Requires a time period and temperature delta. ```yaml service: wiser.boost_heating data: time_period: 60 temperature_delta: 2 target: entity_id: climate.wiser_kitchen ``` -------------------------------- ### Select Services Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Services for controlling select entities, used for setting options in dropdown lists for modes like hot water, smart plugs, and shutters. The entity target should be a wiser select entity for mode. Supported options are 'Manual' or 'Auto'. ```APIDOC ## Select Services ### Description Services for controlling select entities, used for setting options in dropdown lists for modes like hot water, smart plugs, and shutters. ### Entity Target - Entity target should be a wiser select entity for mode. ### Service Details - `select.select_option`: Sets the selected option. The options for all mode selections are 'Manual' or 'Auto'. ``` -------------------------------- ### Set Opentherm Parameter Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Sets a specific Opentherm parameter for the Wiser hub. Use with caution as the effects of changing these parameters are not fully known. ```APIDOC ## Set Opentherm Parameter ### Description Sets a specific Opentherm parameter for the Wiser hub. Use with caution as the effects of changing these parameters are not fully known. ### Method Not specified (assumed to be a service call within a home automation system) ### Parameters #### Data Parameters - **Endpoint** (string) - Optional - The parent parameter if the target parameter is nested. For example, `preDefinedRemoteBoilerParameters`. - **Parameter** (string) - Required - The name of the parameter to change. - **Value** (any) - Required - The new value to set for the parameter. - **Hub** (string) - Optional - The specific hub to send the command to, if multiple hubs are configured. ``` -------------------------------- ### Control Cover Devices (EU Hub Only) Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services These services manage Wiser cover devices such as blinds, allowing them to be opened, closed, stopped, or have their position set. The entity target must be a Wiser cover. ```yaml cover.open_cover cover.close_cover cover.set_cover_position cover.stop_cover ``` -------------------------------- ### Control Light Devices (EU Hub Only) Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Services for controlling Wiser light entities, including turning them on/off and toggling. Dimmable lights also support a brightness parameter. The entity target must be a Wiser light. ```yaml light.turn_on light.turn_off light.toggle ``` -------------------------------- ### Set Opentherm Parameter Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Sets a specific Opentherm parameter for a Wiser system. This is for advanced configuration of Opentherm compatible boilers. ```APIDOC ## wiser.set_opentherm_parameter ### Description Sets a specific Opentherm parameter for a Wiser system. This service is intended for advanced configuration of Opentherm compatible boilers connected to the Wiser system. ### Method POST ### Endpoint /api/services/wiser/set_opentherm_parameter ### Parameters #### Path Parameters - None #### Query Parameters - None #### Request Body - **parameter** (string) - Required - The name of the Opentherm parameter to set (e.g., 'OT Maximum Modulation Level'). - **value** (any) - Required - The value to set for the specified parameter. The type depends on the parameter. ### Request Example ```json { "parameter": "OT Maximum Modulation Level", "value": 80 } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation message. #### Response Example ```json { "message": "Opentherm parameter set successfully." } ``` ``` -------------------------------- ### Boost Heating Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Services Boosts heating by increasing the temperature by a delta or setting a specific target temperature for a defined period. Requires a duration and either a temperature delta or a target temperature. ```APIDOC ## wiser.boost_heating ### Description Boosts heating by either increasing the temperature by a specified delta or setting a specific target temperature for a defined period. ### Method POST ### Endpoint /api/services/wiser/boost_heating ### Parameters #### Path Parameters - None #### Query Parameters - None #### Request Body - **time_period** (integer) - Required - The duration in minutes for the boost. - **temperature_delta** (float) - Optional - The amount to increase the temperature by. - **temperature** (float) - Optional - The target temperature to set. ### Request Example 1) Boost by temperature delta: ```json { "entity_id": "climate.wiser_kitchen", "time_period": 60, "temperature_delta": 2 } ``` 2) Boost to a target temperature: ```json { "entity_id": "climate.wiser_kitchen", "time_period": 60, "temperature": 22 } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation message. #### Response Example ```json { "message": "Heating boosted successfully." } ``` ``` -------------------------------- ### Add Wiser Zigbee Network Card Resource (YAML Mode) Source: https://github.com/asantaga/wiserhomeassistantplatform/wiki/Custom-Cards For Lovelace dashboards configured with YAML, manually add the resource entry for the Wiser Zigbee Network Card. ```yaml - url: /wiser/wiser-zigbee-card.js type: module ```