Hello Guys, ok let me share what I have done and what is working for me. I am not a super expert on Homeassistant so please allow if something is not perfect .
My Setup
I am using 2 AKL ( subbrand of AOKOL , same type ) heatpumps
No 1: 18KW , called mainly AKL18 in my code , serving underfloor heating and hot water
No 2: 30KW , called mainly AKL30 in my code , serving radiators
Both heat pumps are connected via wifi to the Gizwits Cloud and I can see them both in the Gitzwits App on my phone … that’s the rough setup you need
In Addition I use some real sensors (tasmota ) toget the different temperature and a circulation pump ( just all optional)
Here is my code , so feel free to dig into it
#read data from heat pump:
# Rest commands to control heatpump
rest_command:
#
# Set temperature of underfloor heating AKL18
#
my_request_setfb:
url: http://euapi.gizwits.com/app/control/7km2OAtRRzVxkDPGoqXjnt
method: POST
headers:
X-Gizwits-Application-Id: "927bb7757be0465d87bc2dd05adbc02e"
X-Gizwits-User-token: "{{ states('sensor.akl_login_token') }}"
payload: '{"attrs":{"set_temperature_hot": {{ states("sensor.fb_sollwert") }} }}'
content_type: 'application/json; charset=utf-8'
verify_ssl: true
#
# Set power on/off state of AKL18
#
my_request_setfbpower:
url: http://euapi.gizwits.com/app/control/7km2OAtRRzVxkDPGoqXjnt
method: POST
headers:
X-Gizwits-Application-Id: "927bb7757be0465d87bc2dd05adbc02e"
X-Gizwits-User-token: "{{ states('sensor.akl_login_token') }}"
payload: '{"attrs":{"power": {{ states("input_text.akl18_power_helper") }} }}'
content_type: 'application/json; charset=utf-8'
verify_ssl: true
#
# Set mode state (chineese combinations) of AKL18
#
my_request_setfbmode:
url: http://euapi.gizwits.com/app/control/7km2OAtRRzVxkDPGoqXjnt
method: POST
headers:
X-Gizwits-Application-Id: "927bb7757be0465d87bc2dd05adbc02e"
X-Gizwits-User-token: "{{ states('sensor.akl_login_token') }}"
payload: '{"attrs":{"mode": {{ states("input_text.akl18_mode_helper") }} }}'
content_type: 'application/json; charset=utf-8'
verify_ssl: true
#
# Set temperature of radiators heating AKL30
#
my_request_sethk:
url: http://euapi.gizwits.com/app/control/sHEJbq43vTZFkRNenXSoKI
method: POST
headers:
X-Gizwits-Application-Id: "927bb7757be0465d87bc2dd05adbc02e"
X-Gizwits-User-token: "{{ states('sensor.akl_login_token') }}"
payload: '{"attrs":{"set_temperature_hot": {{ states("sensor.hk_sollwert") }} }}'
content_type: 'application/json; charset=utf-8'
verify_ssl: true
#
# Set power on/off state of AKL30
#
my_request_sethkpower:
url: http://euapi.gizwits.com/app/control/sHEJbq43vTZFkRNenXSoKI
method: POST
headers:
X-Gizwits-Application-Id: "927bb7757be0465d87bc2dd05adbc02e"
X-Gizwits-User-token: "{{ states('sensor.akl_login_token') }}"
payload: '{"attrs":{"power": {{ states("input_text.akl30_power_helper") }} }}'
content_type: 'application/json; charset=utf-8'
verify_ssl: true
#
# Set mode state (chineese combinations) of AKL30
#
my_request_sethkmode:
url: http://euapi.gizwits.com/app/control/sHEJbq43vTZFkRNenXSoKI
method: POST
headers:
X-Gizwits-Application-Id: "927bb7757be0465d87bc2dd05adbc02e"
X-Gizwits-User-token: "{{ states('sensor.akl_login_token') }}"
payload: '{"attrs":{"mode": {{ states("input_text.akl30_mode_helper") }} }}'
content_type: 'application/json; charset=utf-8'
verify_ssl: true
#
# Read out Status of AKL18
#
my_request_get_akl18:
url: https://euapi.gizwits.com/app/devdata/7km2OAtRRzVxkDPGoqXjnt/latest
headers:
Content-Type: application/json
X-Gizwits-Application-Id: "927bb7757be0465d87bc2dd05adbc02e"
X-Gizwits-User-token: "{{ states('sensor.akl_login_token') }}"
method: GET
verify_ssl: true
#
# Read out status of AKL30
#
my_request_get_akl30:
url: https://euapi.gizwits.com/app/devdata/sHEJbq43vTZFkRNenXSoKI/latest
headers:
Content-Type: application/json
X-Gizwits-Application-Id: "927bb7757be0465d87bc2dd05adbc02e"
X-Gizwits-User-token: "{{ states('sensor.akl_login_token') }}"
method: GET
verify_ssl: true
rest:
#
# Cloud login der AKL Gitzwis connection
# UID User Token für weitere Aktionen
#
#
- resource: https://euapi.gizwits.com/app/login
headers:
Content-Type: application/json
X-Gizwits-Application-Id: "927bb7757be0465d87bc2dd05adbc02e"
method: POST
payload: '{ "username": "mygitzwitsaccount", "password": "xxxmypasswordxxx", "lang": "en" }'
scan_interval: 172000
sensor:
- name: akl_login
unique_id: aklconnectgizwits
value_template: "{% if value_json.expire_at > 0%} online {% else %} offline {%endif%}"
#value_template: "{{ value_json.token }}"
json_attributes_path: "$.attr"
json_attributes:
- token
- uid
- expire_at
- name: akl_login_token
unique_id: akllogin123456
value_template: "{{value_json.token}}"
- name: akl_login_uid
unique_id: akllogin123457
value_template: "{{value_json.uid}}"
- name: akl_login_expire_at
unique_id: akllogin1234568
value_template: "{{value_json.expire_at}}"
#
# Here its a bit tricky
# You have to use eg. postman to readout the ID of your heatpump in my case for 18KW it is "7km2OAtRRzVxkDPGoqXjnt"
# I did not automate it because its unique and not changing, same for my 30KW
# resource: https://euapi.gizwits.com/app/devdata/7km2OAtRRzVxkDPGoqXjnt/latest
#
sensor:
- platform: rest
name: akl18_status
unique_id: akl18
scan_interval: 5
resource: https://euapi.gizwits.com/app/devdata/7km2OAtRRzVxkDPGoqXjnt/latest
headers:
Content-Type: application/json
X-Gizwits-Application-Id: "927bb7757be0465d87bc2dd05adbc02e"
X-Gizwits-User-token: "{{ states('sensor.akl_login_token') }}"
method: GET
value_template: "{% if value_json.attr.set_temperature_hot > 0%} online {% else %} offline {%endif%}"
json_attributes_path: "$.attr"
json_attributes:
- high_pressure
- exhaust_temperature
- delay_time_on
- power_consumption
- fset849
- fset848
- tube_mid_temperature
- fset841
- fset840
- fset843
- fset842
- fset845
- fset844
- fset847
- fset846
- liquid_tube_temperature
- inhalation_temperature
- fset893
- L05
- condensate_pipe_temperature
- L02
- electronic_expansion_valve2
- fset857
- fset854
- electronic_expansion_valve1
- fset852
- fset853
- fset850
- fset851
- number_of_external_units
- fset858
- fset859
- low_pressure_temperature
- fset895
- run_frequency
- P01
- P06
- P09
- outlet_water_temperature
- H06
- H05
- fset877
- F05
- F04
- fset821
- F06
- F01
- fset826
- F03
- fset824
- fset829
- fset828
- F09
- outlet_water_temperature_user
- b02
- fset901
- mode
- set_temperature_cold
- ability
- power
- y03
- drive_DC_bus_voltage
- drive_input_voltage
- fset825
- fset830
- fset831
- fset832
- fset833
- fset834
- fset835
- fset836
- fset837
- fset838
- fset839
- F10
- temperature
- fan_speed_1
- fan_speed_2
- external_software_version
- tube_temperature
- J03
- drive_compressor_phase_current
- low_pressure
- rate_of_work
- E32
- external_parameter_version
- fset809
- fset808
- water_tank_temperature
- fset805
- fset804
- fset807
- fset806
- fset801
- fset800
- fset803
- fset802
- fset885
- fset884
- fset887
- fset886
- fset881
- fset880
- fset883
- fset882
- high_pressure_temperature
- fset889
- fset888
- type
- energy_efficiency
- fset905
- defrost
- fset818
- fset819
- L12
- fset812
- fset813
- fset810
- fset811
- fset816
- fset817
- fset814
- fset815
- fset892
- fset823
- fset890
- fset891
- fset896
- fset897
- fset894
- fset822
- fset898
- fset899
- set_temperature_hot_water
- b01
- fset874
- b03
- fset820
- b05
- b04
- b07
- b06
- b09
- fset827
- return_water_temperature
- A01
- economizer_inlet_temperature
- ERR00
- ERR01
- F02
- fset871
- fset872
- drive_input_current
- A11
- fset869
- fset868
- fset867
- fset866
- fset865
- fset864
- fset863
- fset862
- fset861
- fset860
- b10
- E06
- fset900
- discharge
- C04
- set_temperature_hot
- C07
- fset904
- fset856
- A08
- fset878
- fset879
- fset902
- fset903
- A02
- fset875
- fset876
- economizer_outlet_temperature
- fset870
- A07
- A04
- fset873
- fset855
- platform: template
sensors:
akl18_outlet_water_temperature:
friendly_name: "Vorlauftemperatur"
unit_of_measurement: '°C'
value_template: "{{ state_attr('sensor.akl18_status', 'outlet_water_temperature') | int }}"
akl18_return_water_temperature:
friendly_name: "Rücklauftemperatur"
unit_of_measurement: '°C'
value_template: "{{ state_attr('sensor.akl18_status', 'return_water_temperature') | int }}"
akl18_return_water_tank_temperature:
friendly_name: "Warmwassetspeicher"
unit_of_measurement: '°C'
value_template: "{{ state_attr('sensor.akl18_status', 'liquid_tube_temperature') | int }}"
akl18_ambient_temperature:
friendly_name: "Aussentemperatur"
unit_of_measurement: '°C'
value_template: "{{ state_attr('sensor.akl18_status', 'temperature') | int }}"
akl18_run_frequency:
friendly_name: "Frequenz"
unit_of_measurement: 'Hz'
value_template: "{{ state_attr('sensor.akl18_status', 'run_frequency') | int }}"
akl18_run_current:
friendly_name: "Run Current"
unit_of_measurement: 'A'
value_template: "{{ state_attr('sensor.akl18_status', 'drive_compressor_phase_current') | int }}"
akl18_drive_current:
friendly_name: "Drive Current"
unit_of_measurement: 'A'
value_template: "{{ state_attr('sensor.akl18_status', 'drive_input_current') | int }}"
akl18_set_temperature_hot_water:
friendly_name: "set temperature hot water"
unit_of_measurement: '°C'
value_template: "{{ state_attr('sensor.akl18_status', 'set_temperature_hot_water') | int }}"
akl18_set_temperature_hot:
friendly_name: "set temperature hot"
unit_of_measurement: '°C'
value_template: "{{ state_attr('sensor.akl18_status', 'set_temperature_hot') | int }}"
akl18_power:
friendly_name: "Zustand"
unit_of_measurement: ''
value_template: "{{ state_attr('sensor.akl18_status', 'power') | int }}"
akl18_mode:
friendly_name: "Betriebsmodus"
value_template: "{{ state_attr('sensor.akl18_status', 'mode') }}"
akl18_error_f01:
friendly_name: "Error F01"
unit_of_measurement: ''
value_template: "{{ state_attr('sensor.akl18_status', 'F01') | int }}"
akl18_error_f02:
friendly_name: "Error F02"
unit_of_measurement: ''
value_template: "{{ state_attr('sensor.akl18_status', 'F02') | int }}"
akl18_error_f03:
friendly_name: "Error F03"
unit_of_measurement: ''
value_template: "{{ state_attr('sensor.akl18_status', 'F03') | int }}"
akl18_error_f04:
friendly_name: "Error F04"
unit_of_measurement: ''
value_template: "{{ state_attr('sensor.akl18_status', 'F04') | int }}"
akl18_error_f05:
friendly_name: "Error F05"
unit_of_measurement: ''
value_template: "{{ state_attr('sensor.akl18_status', 'F05') | int }}"
akl18_error_f06:
friendly_name: "Error F06"
unit_of_measurement: ''
value_template: "{{ state_attr('sensor.akl18_status', 'F06') | int }}"
akl18_error_f09:
friendly_name: "Error F09"
unit_of_measurement: ''
value_template: "{{ state_attr('sensor.akl18_status', 'F09') | int }}"
akl18_error_f10:
friendly_name: "Error F10"
unit_of_measurement: ''
value_template: "{{ state_attr('sensor.akl18_status', 'F10') | int }}"
akl18_error:
friendly_name: "ERR"
value_template: "
{{ state_attr('sensor.akl18_status', 'F01') | int }}
{{ state_attr('sensor.akl18_status', 'F02') | int }}
{{ state_attr('sensor.akl18_status', 'F03') | int }}
{{ state_attr('sensor.akl18_status', 'F04') | int }}
{{ state_attr('sensor.akl18_status', 'F05') | int }}
{{ state_attr('sensor.akl18_status', 'F06') | int }}
{{ state_attr('sensor.akl18_status', 'F09') | int }}
{{ state_attr('sensor.akl18_status', 'F10') | int }}
"
- platform: rest
name: akl30_status
unique_id: akl30
scan_interval: 5
resource: https://euapi.gizwits.com/app/devdata/sHEJbq43vTZFkRNenXSoKI/latest
headers:
Content-Type: application/json
X-Gizwits-Application-Id: "927bb7757be0465d87bc2dd05adbc02e"
X-Gizwits-User-token: "{{ states('sensor.akl_login_token') }}"
method: GET
value_template: "{% if value_json.attr.set_temperature_hot > 0%} online {% else %} offline {%endif%}"
json_attributes_path: "$.attr"
json_attributes:
- high_pressure
- exhaust_temperature
- delay_time_on
- power_consumption
- fset849
- fset848
- tube_mid_temperature
- fset841
- fset840
- fset843
- fset842
- fset845
- fset844
- fset847
- fset846
- liquid_tube_temperature
- inhalation_temperature
- fset893
- L05
- condensate_pipe_temperature
- L02
- electronic_expansion_valve2
- fset857
- fset854
- electronic_expansion_valve1
- fset852
- fset853
- fset850
- fset851
- number_of_external_units
- fset858
- fset859
- low_pressure_temperature
- fset895
- run_frequency
- P01
- P06
- P09
- outlet_water_temperature
- H06
- H05
- fset877
- F05
- F04
- fset821
- F06
- F01
- fset826
- F03
- fset824
- fset829
- fset828
- F09
- outlet_water_temperature_user
- b02
- fset901
- mode
- set_temperature_cold
- ability
- power
- y03
- drive_DC_bus_voltage
- drive_input_voltage
- fset825
- fset830
- fset831
- fset832
- fset833
- fset834
- fset835
- fset836
- fset837
- fset838
- fset839
- F10
- temperature
- fan_speed_1
- fan_speed_2
- external_software_version
- tube_temperature
- J03
- drive_compressor_phase_current
- low_pressure
- rate_of_work
- E32
- external_parameter_version
- fset809
- fset808
- water_tank_temperature
- fset805
- fset804
- fset807
- fset806
- fset801
- fset800
- fset803
- fset802
- fset885
- fset884
- fset887
- fset886
- fset881
- fset880
- fset883
- fset882
- high_pressure_temperature
- fset889
- fset888
- type
- energy_efficiency
- fset905
- defrost
- fset818
- fset819
- L12
- fset812
- fset813
- fset810
- fset811
- fset816
- fset817
- fset814
- fset815
- fset892
- fset823
- fset890
- fset891
- fset896
- fset897
- fset894
- fset822
- fset898
- fset899
- set_temperature_hot_water
- b01
- fset874
- b03
- fset820
- b05
- b04
- b07
- b06
- b09
- fset827
- return_water_temperature
- A01
- economizer_inlet_temperature
- ERR00
- ERR01
- F02
- fset871
- fset872
- drive_input_current
- A11
- fset869
- fset868
- fset867
- fset866
- fset865
- fset864
- fset863
- fset862
- fset861
- fset860
- b10
- E06
- fset900
- discharge
- C04
- set_temperature_hot
- C07
- fset904
- fset856
- A08
- fset878
- fset879
- fset902
- fset903
- A02
- fset875
- fset876
- economizer_outlet_temperature
- fset870
- A07
- A04
- fset873
- fset855
- platform: template
sensors:
akl30_outlet_water_temperature:
friendly_name: "Vorlauftemperatur"
unit_of_measurement: '°C'
value_template: "{{ state_attr('sensor.akl30_status', 'outlet_water_temperature') | int }}"
akl30_return_water_temperature:
friendly_name: "Rücklauftemperatur"
unit_of_measurement: '°C'
value_template: "{{ state_attr('sensor.akl30_status', 'return_water_temperature') | int }}"
akl30_return_water_tank_temperature:
friendly_name: "Warmwassetspeicher"
unit_of_measurement: '°C'
value_template: "{{ state_attr('sensor.akl30_status', 'liquid_tube_temperature') | int }}"
akl30_ambient_temperature:
friendly_name: "Aussentemperatur"
unit_of_measurement: '°C'
value_template: "{{ state_attr('sensor.akl30_status', 'temperature') | int }}"
akl30_run_frequency:
friendly_name: "Frequenz"
unit_of_measurement: 'Hz'
value_template: "{{ state_attr('sensor.akl30_status', 'run_frequency') | int }}"
akl30_run_current:
friendly_name: "Run Current"
unit_of_measurement: 'A'
value_template: "{{ state_attr('sensor.akl30_status', 'drive_compressor_phase_current') | int }}"
akl30_drive_current:
friendly_name: "Drive Current"
unit_of_measurement: 'A'
value_template: "{{ state_attr('sensor.akl30_status', 'drive_input_current') | int }}"
akl30_set_temperature_hot_water:
friendly_name: "set temperature hot water"
unit_of_measurement: '°C'
value_template: "{{ state_attr('sensor.akl30_status', 'set_temperature_hot_water') | int }}"
akl30_set_temperature_hot:
friendly_name: "set temperature hot"
unit_of_measurement: '°C'
value_template: "{{ state_attr('sensor.akl30_status', 'set_temperature_hot') | int }}"
akl30_power:
friendly_name: "Zustand"
unit_of_measurement: ''
value_template: "{{ state_attr('sensor.akl30_status', 'power') | int }}"
akl30_mode:
friendly_name: "Betriebsmodus"
value_template: "{{ state_attr('sensor.akl30_status', 'mode') }}"
akl30_error_f01:
friendly_name: "Error F01"
unit_of_measurement: ''
value_template: "{{ state_attr('sensor.akl30_status', 'F01') | int }}"
akl30_error_f02:
friendly_name: "Error F02"
unit_of_measurement: ''
value_template: "{{ state_attr('sensor.akl30_status', 'F02') | int }}"
akl30_error_f03:
friendly_name: "Error F03"
unit_of_measurement: ''
value_template: "{{ state_attr('sensor.akl30_status', 'F03') | int }}"
akl30_error_f04:
friendly_name: "Error F04"
unit_of_measurement: ''
value_template: "{{ state_attr('sensor.akl30_status', 'F04') | int }}"
akl30_error_f05:
friendly_name: "Error F05"
unit_of_measurement: ''
value_template: "{{ state_attr('sensor.akl30_status', 'F05') | int }}"
akl30_error_f06:
friendly_name: "Error F06"
unit_of_measurement: ''
value_template: "{{ state_attr('sensor.akl30_status', 'F06') | int }}"
akl30_error_f09:
friendly_name: "Error F09"
unit_of_measurement: ''
value_template: "{{ state_attr('sensor.akl30_status', 'F09') | int }}"
akl30_error_f10:
friendly_name: "Error F10"
unit_of_measurement: ''
value_template: "{{ state_attr('sensor.akl30_status', 'F10') | int }}"
akl30_error:
friendly_name: "ERR"
value_template: "
{{ state_attr('sensor.akl30_status', 'F01') | int }}
{{ state_attr('sensor.akl30_status', 'F02') | int }}
{{ state_attr('sensor.akl30_status', 'F03') | int }}
{{ state_attr('sensor.akl30_status', 'F04') | int }}
{{ state_attr('sensor.akl30_status', 'F05') | int }}
{{ state_attr('sensor.akl30_status', 'F06') | int }}
{{ state_attr('sensor.akl30_status', 'F09') | int }}
{{ state_attr('sensor.akl30_status', 'F10') | int }}
"
Now the Climate / Thermostat part
# Setup the thermostat and climate control
# eg.tas_technikraum_xxxxx_temperature are seperate sensors from AKL , using real measurement of various temperatures
climate:
- platform: generic_thermostat
unique_id: HKFB0001
name: Fussbodenheizung
heater: input_boolean.climate1dummyswitch #switch.tas_gartenhaus_2_gartenhaus_heizung_2
target_sensor: sensor.tas_technikraum_ds18b20_2_temperature
min_temp: 24
max_temp: 35
target_temp: 25
hot_tolerance: 1
initial_hvac_mode: "off"
away_temp: 16
precision: 1
ac_mode: false
cold_tolerance: 1
- platform: generic_thermostat
unique_id: HKWW0001
name: Warmwasserheizung
heater: input_boolean.climate2dummyswitch
target_sensor: sensor.tas_technikraum_ds18b20_1_temperature
min_temp: 40
max_temp: 55
target_temp: 50
hot_tolerance: 1
initial_hvac_mode: "off"
away_temp: 16
precision: 1
ac_mode: false
cold_tolerance: 1
- platform: generic_thermostat
unique_id: HKHK0001
name: Heizkoerperheizung
heater: input_boolean.climate3dummyswitch
target_sensor: sensor.tas_technikraum_ds18b20_3_temperature
min_temp: 30
max_temp: 45
target_temp: 35
hot_tolerance: 1
initial_hvac_mode: "off"
away_temp: 16
precision: 1
ac_mode: false
cold_tolerance: 1
#### get the status of each
sensor:
- platform: template
sensors:
fb_sollwert:
value_template: "{{ state_attr('climate.fussbodenheizung', 'temperature') }}"
- platform: template
sensors:
fb_status:
value_template: "{{states('climate.fussbodenheizung')}}"
- platform: template
sensors:
ww_sollwert:
value_template: "{{ state_attr('climate.warmwasserheizung', 'temperature') }}"
- platform: template
sensors:
ww_status:
value_template: "{{states('climate.warmwasserheizung')}}"
- platform: template
sensors:
hk_sollwert:
value_template: "{{ state_attr('climate.heizkoerperheizung', 'temperature') }}"
- platform: template
sensors:
hk_status:
value_template: "{{states('climate.heizkoerperheizung')}}"
And Finally soem related automations
#
# Time scheduled switching of circulation pump for hot water
#
- id: '1730476655851'
alias: Steuerung Zirkulationspumpe
description: ''
triggers:
- at: 05:00:00
trigger: time
- at: 07:00:00
trigger: time
- at: 09:00:00
trigger: time
- at: '11:00:00'
trigger: time
- at: '13:00:00'
trigger: time
- at: '15:00:00'
trigger: time
- at: '17:00:00'
trigger: time
- at: '19:00:00'
trigger: time
conditions:
- condition: time
after: 04:00:00
before: '21:00:00'
weekday:
- mon
- tue
- wed
- thu
- fri
- sat
- sun
actions:
- sequence:
- type: turn_on
device_id: cf093374112a6398b3e5a6c647e591dc
entity_id: 06f0fd36ce0af7a6b5c36e010be85476
domain: switch
- delay:
hours: 0
minutes: 15
seconds: 0
milliseconds: 0
- type: turn_off
device_id: cf093374112a6398b3e5a6c647e591dc
entity_id: 06f0fd36ce0af7a6b5c36e010be85476
domain: switch
mode: single
#
# preload status to helper for use with climate control
#
- id: '1730817080913'
alias: AKLTokenID
description: AKLTokenID Beschreibung
trigger:
- platform: state
entity_id:
- sensor.akl_login
- platform: homeassistant
event: start
condition: []
action:
- action: input_text.set_value
target:
entity_id: input_text.aokol_helfer
data:
value: '{{ states(''sensor.akl_login'') }}'
mode: single
#
# Update the mode setting ( I used only the for me necessary state: 制热+热水 state: 制热
# background climate control is heat or off ... AKL is using mode and power in combination
#
- id: '1731826380455'
alias: Climate_Update_Mode_Fussbodenheizung_From_AKL
description: ''
trigger:
- platform: state
entity_id:
- sensor.akl18_set_temperature_hot
- platform: state
entity_id:
- sensor.akl18_mode
- platform: state
entity_id:
- sensor.akl18_power
- platform: homeassistant
event: start
condition: []
action:
- action: climate.set_temperature
metadata: {}
data:
temperature: '{{states(''sensor.akl18_set_temperature_hot'')}}'
target:
entity_id: climate.fussbodenheizung
- if:
- condition: and
conditions:
- condition: state
entity_id: sensor.akl18_power
state: '1'
- condition: or
conditions:
- condition: state
entity_id: sensor.akl18_mode
state: 制热+热水
- condition: state
entity_id: sensor.akl18_mode
state: 制热
then:
- action: climate.set_hvac_mode
metadata: {}
data:
hvac_mode: heat