Thermostat Services
Hold
You can apply a hold using the heatmiserneo.hold_on
service. This can be used to target an entity, device or area and also accepts the following parameters:
hold_duration
- how long to hold the specified temperature. This is given in Home Assistant duration format (hh:mm e.g.hold_duration: 01:30
) and can go up to 99:59.hold_temperature
- sets the temperature to hold. Specified as an integer (e.g.hold_temperature: 20
).
If there is an existing hold on any device targeted by the service call, it is replaced by the new hold.
action: heatmiserneo.hold_on
data:
hold_duration:
hours: 0
minutes: 45
seconds: 0
hold_temperature: 21.5
target:
entity_id: climate.kitchen
Release Hold
You can release any existing hold on a NeoStat specified by entity, device or area. There are no other parameters.
action: heatmiserneo.hold_off
data: {}
target:
entity_id: climate.kitchen
Timeclock Services (NeoStats in TimeClock mode or NeoPlugs)
Hold
Setting a custom timer hold can be done using the heatmiserneo.timer_hold_on
service.
hold_duration
- how long to hold the specified temperature. This is given in Home Assistant duration format (hh:mm e.g.hold_duration: 01:30
) and can go up to 99:59.hold_state
- a boolean that specifies if the output should be held on or off (eg if a profile currently has the output on, it is possible to turn it off).
action: heatmiserneo.timer_hold_on
data:
hold_duration:
hours: 0
minutes: 45
seconds: 0
hold_state: true
target:
entity_id: select.hot_water
Note that an override can also be set by calling the built in select.select_option
service, but a default duration of 30 minutes is used instead:
action: select.select_option
data:
option: override_off
target:
entity_id: select.hot_water
Use override_off
or override_on
to set the hold off or on.
The TimeClock will automatically go back to Auto
once the duration has passed. But one can also use the select.select_option
service to end it early by setting the option to auto
(or standaby
). Note that NeoPlugs have additional options of manual_on
and manual_off
.
Hub Services
Away
You can control the away/holiday state of the hub (and all attached devices) using the heatmiserneo.set_away_mode
service. There are three general use cases:
- Turn off away/holiday mode
- Turn on away mode (with no end date)
- Turn on holiday mode (away with and end date)
You should target the NeoHub device itself or the Away entity of the hub. The end
parameter is optional. It should not be supplied if away
is false
, and it can optionally be supplied when away
is true
action: heatmiserneo.set_away_mode
data:
away: true
end: "2025-01-01 15:00:00"
target:
entity_id: binary_sensor.neohub_192_168_1_10_away
Profile Services
Rename Profile
Change the name of an existing profile using the heatmiserneo.rename_profile
action. You should target the NeoHub device itself or the Profile Format entity of the hub.
action: heatmiserneo.rename_profile
data:
old_name: Old Profile
new_name: New Profile
target:
entity_id: sensor.neohub_192_168_1_10_profile_format
Delete Profile
Delete an existing profile using the heatmiserneo.delete_profile
action. You should target the NeoHub device itself or the Profile Format entity of the hub. Note, if any devices are using the profile, they will be moved to PROFILE_0 (eg profile managed on the device itself).
action: heatmiserneo.delete_profile
data:
name: Profile Name
target:
entity_id: sensor.neohub_192_168_1_10_profile_format
Create/Update Profile
This action allows creating or updating a heating profile. There are three versions of it, depending on the profile format being used in the hub:
- For 24HR format (same levels every day) use
heatmiserneo.create_profile_one
- For 5/2 Day format (different levels for weekdays vs weekends) use
heatmiserneo.create_profile_two
- For 7 Day format (different levels every day) use
heatmiserneo.create_profile_seven
These have the following parameters in common:
- Name - The name of the profile to create or update
- Mode - Controls the operation mode. Options are:
create
- Create a new profile. Profile name must not already existupdate
- Updates an existing profile. The profile name must exist and the profile must be a heating profile (as opposed to a timer profile)upsert
- Update or create a profile. If the profile name already exists, it must be for a heating profile (as opposed to a timer profile)
- Times and Temperatures - Supply the times and temperatures for a particular weekday
- Times must be supplied in
HH:MM
24h format - Temperatures can be in 0.5 degree increments
- For 24HR mode, supply
sunday_times
andsunday_temperatures
- For 5/2 Day mode, additionally supply
monday_times
andmonday_temperatures
- For 7 Day mode, supply times and temperatures for every day of the week
- The maximum number of levels allowed is dependent on the hub configuration. It will be either 4 or 6. The sensor
sensor.neohub_192_168_1_10_profile_heating_levels
has the current configuration. You can supply less levels but not more
- Times must be supplied in
You should target the NeoHub device itself or the Profile Format entity of the hub.
action: heatmiserneo.create_profile_two
data:
name: Existing Profile
mode: upsert
monday_times:
- "06:45"
- "09:00"
- "17:00"
- "22:00"
monday_temperatures:
- 19.5
- 17
- 20.5
- 16
sunday_times:
- "06:45"
- "22:00"
sunday_temperatures:
- 19.5
- 16
target:
entity_id: sensor.neohub_192_168_1_10_profile_format
Create/Update Timer Profile
This action allows creating or updating a timer profile. There are three versions of it, depending on the profile format being used in the hub:
- For 24HR format (same levels every day) use
heatmiserneo.create_timer_profile_one
- For 5/2 Day format (different levels for weekdays vs weekends) use
heatmiserneo.create_timer_profile_two
- For 7 Day format (different levels every day) use
heatmiserneo.create_timer_profile_seven
These have the following parameters in common:
- Name - The name of the profile to create or update
- Mode - Controls the operation mode. Options are:
create
- Create a new profile. Profile name must not already existupdate
- Updates an existing profile. The profile name must exist and the profile must be a timer profile (as opposed to a heating profile)upsert
- Update or create a profile. If the profile name already exists, it must be for a timer profile (as opposed to a heating profile)
- On Times and Off Times - Supply the times to turn on and off
- Times must be supplied in
HH:MM
24h format - For 24HR mode, supply
sunday_on_times
andsunday_off_times
- For 5/2 Day mode, additionally supply
monday_on_times
andmonday_off_times
. Monday times will be used for weekdays and sunday times for weekends - For 7 Day mode, supply times and temperatures for every day of the week
- Unlike heating profiles, the maximum number of timer levels is always 4. You can supply less levels but not more
- Times must be supplied in
You should target the NeoHub device itself or the Profile Format entity of the hub.
action: heatmiserneo.create_timer_profile_two
data:
name: Existing Profile
mode: upsert
monday_on_times:
- "06:45"
- "09:00"
- "17:00"
- "22:00"
monday_off_times:
- "07:45"
- "10:30"
- "19:00"
- "01:00"
sunday_on_times:
- "06:45"
- "22:00"
sunday_off_times:
- "07:45"
- "01:00"
target:
entity_id: sensor.neohub_192_168_1_10_profile_format
Get Profile Definitions
Use this action to retrieve all profiles defined in the hub. It has one optional parameter:
- Friendly Mode - By default (or when set to false), the returned format closely matches the format of the create/update service calls, so it can be used to copy the format, make the necessary changes and then upload it using the relevant service. When set to true, the result is a bit easier to read.
You should target the NeoHub device itself or the Profile Format entity of the hub.
action: heatmiserneo.get_profile_definitions
data:
friendly_mode: false
target:
entity_id: sensor.neohub_192_168_1_10_profile_format
Get Device Profile Definition
This is very similar to the hub level service, but instead you can get the definition of the profile that a particular device is using. Target the device itself or the Active Profile entity of the device.
action: heatmiserneo.get_device_profile_definition
data:
friendly_mode: true
target:
entity_id: select.landing_active_profile