I have now thanks to @ntalekt his post, it has put me on the correct path and I see where I had messed up.
Now the only thing I need assistance with is being able to change the speeds, I will see if I can figure it out on my free time or if @ntalekt can see if he can add speeds or not.
Here is my setup currently.
- When adding multiple devices for fans you will only need the first initial fan: then each device you may start off with - platform to have multiple fans added in your config yaml.
- I create these from the scripts under Home Assistants Settings Panel. I just create and name my Script as needed and then click the 3 dots at the top right and just edit the yaml if the UI is a bit confusing or you just want to copy & paste what I have provided.
Smart Tower Fan (H7100)
Config.yml
fan:
- platform: template
fans:
master_bedroom_fan:
friendly_name: "Master Bedroom Fan"
value_template: "{{ states('input_boolean.master_bedroomfan_state') }}"
preset_mode_template: "{{ states('input_select.master_bedroom_fan_mode') }}"
turn_on:
service: script.master_bedroom_fan_on
turn_off:
service: script.master_bedroom_fan_off
set_preset_mode:
service: script.master_bedroom_fan_mode
data:
master_bedroom_fan_mode: >
{% set mapper = {'Custom' : 2, 'Auto': 3, 'Sleep': 5, 'Nature': 6} %}
{{ mapper[preset_mode] }}
speed_count: 8
preset_modes:
- 'Custom'
- 'Auto'
- 'Sleep'
- 'Nature'
Scripts
Fan On
alias: Master Bedroom Fan On
sequence:
- service: rest_command.rest_govee_appliance
data:
device: ENTER_DEVICE_ID_HERE
model: H7100
cmd_name: turn
cmd_value: "on"
enabled: true
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 500
- service: input_boolean.turn_on
target:
entity_id: input_boolean.master_bedroom_fan_state
data: {}
mode: single
Fan Off
alias: Master Berdoom Off
sequence:
- service: rest_command.rest_govee_appliance
data:
device: ENTER_DEVICE_ID_HERE
model: H7100
cmd_name: turn
cmd_value: "off"
enabled: true
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 500
- service: input_boolean.turn_off
target:
entity_id: input_boolean.master_bedroom_fan_state
data: {}
- service: input_select.select_option
entity_id: input_select.master_bedroom_fan_mode
data:
option: "Off"
mode: single
Fan Mode
alias: Master Bedroom Fan Mode
sequence:
- service: input_select.select_option
entity_id: input_select.master_bedroom_fan_mode
data:
option: >-
{% set mapper = {2 : 'Custom', 3: 'Auto', 5: 'Sleep', 6: 'Nature'} %} {{
mapper[master_bedroom_fan_mode] }}
enabled: true
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 500
- service: rest_command.rest_govee_appliance
data:
device: ENTER_DEVICE_ID_HERE
model: H7100
cmd_name: mode
cmd_value: "{{ master_bedroom_fan_mode }}"
- service: input_boolean.turn_on
target:
entity_id: input_boolean.master_bedroom_fan_state
data: {}
mode: single
Helpers
Fan Mode
* Select Dropdown Option
* Name Helper (Verify that Entity ID matches same as your scripts and config.yml)
* Add Preset Mode Names (Including a Off option)
Fan State
* Select Toggle Option
* Name Helper (Verify that Entity ID matches same as your scripts and config.yml)
Tower Fan (H7101)
Config.yml
fan:
- platform: template
fans:
office_fan:
friendly_name: "Office Fan"
value_template: "{{ states('input_boolean.office_fan_state') }}"
preset_mode_template: "{{ states('input_select.office_fan_mode') }}"
turn_on:
service: script.office_fan_on
turn_off:
service: script.office_fan_off
set_preset_mode:
service: script.office_fan_mode
data:
office_fan_mode: >
{% set mapper = {'Custom' : 2, 'Auto': 3, 'Sleep': 5, 'Nature': 6} %}
{{ mapper[preset_mode] }}
speed_count: 8
preset_modes:
- 'Custom'
- 'Auto'
- 'Sleep'
- 'Nature'
Scripts
Fan On
alias: Office Fan On
sequence:
- service: rest_command.rest_govee_appliance
data:
device: ENTER_DEVICE_ID_HERE
model: H7101
cmd_name: turn
cmd_value: "on"
enabled: true
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 500
- service: input_boolean.turn_on
target:
entity_id: input_boolean.office_fan_state
data: {}
mode: single
Fan Off
alias: Office Fan Off
sequence:
- service: rest_command.rest_govee_appliance
data:
device: ENTER_DEVICE_ID_HERE
model: H7101
cmd_name: turn
cmd_value: "off"
enabled: true
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 500
- service: input_boolean.turn_off
target:
entity_id: input_boolean.office_fan_state
data: {}
- service: input_select.select_option
entity_id: input_select.office_fan_mode
data:
option: "Off"
mode: single
Fan Mode
alias: Office Fan Mode
sequence:
- service: input_select.select_option
entity_id: input_select.office_fan_mode
data:
option: >-
{% set mapper = {2 : 'Custom', 3: 'Auto', 5: 'Sleep', 6: 'Nature'} %} {{
mapper[office_fan_mode] }}
enabled: true
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 500
- service: rest_command.rest_govee_appliance
data:
device: ENTER_DEVICE_ID_HERE
model: H7101
cmd_name: mode
cmd_value: "{{ office_fan_mode }}"
- service: input_boolean.turn_on
target:
entity_id: input_boolean.office_fan_state
data: {}
mode: single
Helpers
Fan Mode
* Select Dropdown Option
* Name Helper (Verify that Entity ID matches same as your scripts and config.yml)
* Add Preset Mode Names (Including a Off option)
Fan State
* Select Toggle Option
* Name Helper (Verify that Entity ID matches same as your scripts and config.yml)
Air Purifier (H7121)
Config.yml
fan:
- platform: template
fans:
master_bedroom_air_purifier:
friendly_name: "Master Bedroom Air Purifier"
value_template: "{{ states('input_boolean.master_bedroom_air_purifier_state') }}"
preset_mode_template: "{{ states('input_select.master_bedroom_air_purifier_mode') }}"
turn_on:
service: script.master_bedroom_air_purifier_on
turn_off:
service: script.master_bedroom_air_purifier_off
set_preset_mode:
service: script.master_bedroom_air_purifier_mode
data:
master_bedroom_air_purifier_mode: >
{% set mapper = {'Low' : 1, 'Medium': 2, 'High': 3, 'Sleep': 16} %}
{{ mapper[preset_mode] }}
speed_count: 4
preset_modes:
- 'Low'
- 'Medium'
- 'High'
- 'Sleep'
Scripts
Fan On
alias: Master Bedroom Air Purifier On
sequence:
- service: rest_command.rest_govee_appliance
data:
device: ENTER_DEVICE_ID_HERE
model: H7121
cmd_name: turn
cmd_value: "on"
enabled: true
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 500
- service: input_boolean.turn_on
target:
entity_id: input_boolean.master_bedroom_air_purifier_state
data: {}
mode: single
Fan Off
alias: Master Bedroom Air Purifier Off
sequence:
- service: rest_command.rest_govee_appliance
data:
device: ENTER_DEVICE_ID_HERE
model: H7121
cmd_name: turn
cmd_value: "off"
enabled: true
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 500
- service: input_boolean.turn_off
target:
entity_id: input_boolean.master_bedroom_air_purifier_state
data: {}
- service: input_select.select_option
entity_id: input_select.master_bedroom_air_purifier_mode
data:
option: "Off"
mode: single
Fan Mode
alias: Master Bedroom Air Purifier Mode
sequence:
- service: input_select.select_option
entity_id: input_select.master_bedroom_air_purifier_mode
data:
option: >-
{% set mapper = {1 : 'Low', 2: 'Medium', 3: 'High', 16: 'Sleep'} %} {{
mapper[master_bedroom_air_purifier_mode] }}
enabled: true
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 500
- service: rest_command.rest_govee_appliance
data:
device: ENTER_DEVICE_ID_HERE
model: H7121
cmd_name: mode
cmd_value: "{{ master_bedroom_air_purifier_mode }}"
- service: input_boolean.turn_on
target:
entity_id: input_boolean.master_bedroom_air_purifier_state
data: {}
mode: single
Helpers
Fan Mode
* Select Dropdown Option
* Name Helper (Verify that Entity ID matches same as your scripts and config.yml)
* Add Preset Mode Names (Including a Off option)
Fan State
* Select Toggle Option
* Name Helper (Verify that Entity ID matches same as your scripts and config.yml)
Air Purifier (H7123)
Config.yml
fan:
- platform: template
fans:
office_air_purifier:
friendly_name: "Office Air Purifier"
value_template: "{{ states('input_boolean.office_air_purifier_state') }}"
preset_mode_template: "{{ states('input_select.office_air_purifier_mode') }}"
turn_on:
service: script.office_air_purifier_on
turn_off:
service: script.office_air_purifier_off
set_preset_mode:
service: script.office_air_purifier_mode
data:
office_air_purifier_mode: >
{% set mapper = {'Low' : 1, 'Medium': 2, 'High': 3, 'Auto': 4, 'Sleep': 5} %}
{{ mapper[preset_mode] }}
speed_count: 5
preset_modes:
- 'Low'
- 'Medium'
- 'High'
- 'Auto'
- 'Sleep'
Scripts
Fan On
alias: Office Air Purifier On
sequence:
- service: rest_command.rest_govee_appliance
data:
device: ENTER_DEVICE_ID_HERE
model: H7123
cmd_name: turn
cmd_value: "on"
enabled: true
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 500
- service: input_boolean.turn_on
target:
entity_id: input_boolean.office_air_purifier_state
data: {}
mode: single
Fan Off
alias: Office Air Purifier Off
sequence:
- service: rest_command.rest_govee_appliance
data:
device: ENTER_DEVICE_ID_HERE
model: H7123
cmd_name: turn
cmd_value: "off"
enabled: true
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 500
- service: input_boolean.turn_off
target:
entity_id: input_boolean.office_air_purifier_state
data: {}
- service: input_select.select_option
entity_id: input_select.office_air_purifier_mode
data:
option: "Off"
mode: single
Fan Mode
alias: Office Air Purifier Mode
sequence:
- service: input_select.select_option
entity_id: input_select.office_air_purifier_mode
data:
option: >-
{% set mapper = {1 : 'Low', 2: 'Medium', 3: 'High', 4: 'Auto', 5:
'Sleep'} %} {{ mapper[office_air_purifier_mode] }}
enabled: true
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 500
- service: rest_command.rest_govee_appliance
data:
device: ENTER_DEVICE_ID_HERE
model: H7123
cmd_name: mode
cmd_value: "{{ office_air_purifier_mode }}"
- service: input_boolean.turn_on
target:
entity_id: input_boolean.office_air_purifier_state
data: {}
mode: single
Helpers
Fan Mode
* Select Dropdown Option
* Name Helper (Verify that Entity ID matches same as your scripts and config.yml)
* Add Preset Mode Names (Including a Off option)
Fan State
* Select Toggle Option
* Name Helper (Verify that Entity ID matches same as your scripts and config.yml)
Humidifier (H7141)
Config.yml
fan:
- platform: template
fans:
master_bedroom_humidifier:
friendly_name: "Master Bedroom Humidifier"
value_template: "{{ states('input_boolean.master_bedroom_humidifier_state') }}"
preset_mode_template: "{{ states('input_select.master_bedroom_humidifier_mode') }}"
turn_on:
service: script.master_bedroom_humidifier_on
turn_off:
service: script.master_bedroom_humidifier_off
set_preset_mode:
service: script.master_bedroom_humidifier_mode
data:
master_bedroom_humidifier_mode: >
{% set mapper = {'Custom': 2, 'Auto': 3} %}
{{ mapper[preset_mode] }}
speed_count: 8
preset_modes:
- 'Custom'
- 'Auto'
Scripts
Fan On
alias: Master Bedroom Humidifier On
sequence:
- service: rest_command.rest_govee_appliance
data:
device: ENTER_DEVICE_ID_HERE
model: H7141
cmd_name: turn
cmd_value: "on"
enabled: true
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 500
- service: input_boolean.turn_on
target:
entity_id: input_boolean.master_bedroom_humidifier_state
data: {}
mode: single
Fan Off
alias: Master Bedroom Humidifier Off
sequence:
- service: rest_command.rest_govee_appliance
data:
device: ENTER_DEVICE_ID_HERE
model: H7141
cmd_name: turn
cmd_value: "off"
enabled: true
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 500
- service: input_boolean.turn_off
target:
entity_id: input_boolean.master_bedroom_humidifier_state
data: {}
- service: input_select.select_option
entity_id: input_select.master_bedroom_humidifier_mode
data:
option: "Off"
mode: single
Fan Mode
alias: Master Bedroom Humidifier Mode
sequence:
- service: input_select.select_option
entity_id: input_select.master_bedroom_humidifier_mode
data:
option: >-
{% set mapper = {2: 'Custom', 3: 'Auto'} %} {{
mapper[master_bedroom_humidifier_mode] }}
enabled: true
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 500
- service: rest_command.rest_govee_appliance
data:
device: ENTER_DEVICE_ID_HERE
model: H7141
cmd_name: mode
cmd_value: "{{ master_bedroom_humidifier_mode }}"
- service: input_boolean.turn_on
target:
entity_id: input_boolean.master_bedroom_humidifier_state
data: {}
mode: single
Helpers
Fan Mode
* Select Dropdown Option
* Name Helper (Verify that Entity ID matches same as your scripts and config.yml)
* Add Preset Mode Names (Including a Off option)
Fan State
* Select Toggle Option
* Name Helper (Verify that Entity ID matches same as your scripts and config.yml)
Any questions do let me know, right now I am confused on adding the speeds but will try taking a look or if anyone can assist please do. I will also add my other devices.