Thanks for your reply @waako . I had solved the issues a while ago, there were 2 thngs I had to fix:
- As you say the unique ID was different
- I also had to enable a setting in the Yutaki unit to permit external control. System Configuration > General > Central Operation > Contol Type: selected Full (was previously Local)
For anyone interested here are my dashboad views, created using Mushroom cards, Mini-graph and Apex Charts:

Also posting a sample of my yaml files - note I am using Modbus type Climate for the Yutaki. Hopefully this will be of use to others on this thread - most of the work is not my own and I give credit to other users here who have shared generously.
modbus.yaml
### HITACHI YUTAKI MODBUS START ###
- name: "yutaki"
type: tcp
host: 192.168.1.69
port: 502
retry_on_empty: true
delay: 3
message_wait_milliseconds: 30
climates:
- name: "Yutaki swimming pool"
unique_id: yutaki_swimming_pool
address: 1083
target_temp_register: 1029
max_temp: 35
min_temp: 24
scale: 1
temp_step: 1
hvac_mode_register:
address: 1028
values:
state_heat: 1
state_off: 0
write_registers: true
- name: "Yutaki house C2"
unique_id: yutaki_house_c2
address: 1073
target_temp_register: 1022
max_temp: 25
min_temp: 16
scale: 0.1
precision: 1
temp_step: 0.5
hvac_mode_register:
address: 1013
values:
state_heat: 1
state_off: 0
write_registers: true
- name: "Yutaki DHW"
unique_id: yutaki_dhw
address: 1080
target_temp_register: 1025
max_temp: 46
min_temp: 38
scale: 1
precision: 0
temp_step: 1
hvac_mode_register:
address: 1024
values:
state_heat: 1
state_off: 0
write_registers: true
- name: "Yutaki annexe C1"
unique_id: yutaki_annexe_c1
address: 1061
target_temp_register: 1011
max_temp: 25
min_temp: 16
scale: 0.1
precision: 1
temp_step: 0.5
hvac_mode_register:
address: 1002
values:
state_heat: 1
state_off: 0
write_registers: true
switches:
## GENERAL and SYSTEM ##
- name: "Yutaki system run/stop"
unique_id: yutaki_1000_system_on_off
address: 1000
write_type: holding
command_on: 1
command_off: 0
verify:
input_type: holding
address: 1050
state_on: 1
state_off: 0
## DHW ##
- name: "Yutaki DHW boost"
unique_id: yutaki_1026_dhw_boost_on_off
address: 1026
write_type: holding
command_on: 1
command_off: 0
verify:
input_type: holding
address: 1078
state_on: 1
state_off: 0
- name: "Yutaki DHW demand mode"
unique_id: yutaki_1027_demand_mode
address: 1027
write_type: holding
command_on: 1
command_off: 0
verify:
input_type: holding
address: 1079
state_on: 1
state_off: 0
## CIRCUIT1 / C1 / ANNEXE ##
- name: "Yutaki annexe ECO/Comfort"
unique_id: yutaki_1007_eco_comfort_mode
address: 1007
write_type: holding
command_on: 1
command_off: 0
verify:
input_type: holding
address: 1057
state_on: 1
state_off: 0
## CIRCUIT2 / C2 / MAIN HOUSE ##
- name: "Yutaki house ECO/Comfort"
unique_id: yutaki_1018_eco_comfort_mode
address: 1018
write_type: holding
command_on: 1
command_off: 0
verify:
input_type: holding
address: 1069
state_on: 1
state_off: 0
## SWIMMING POOL ##
sensors:
## GENERAL and SYSTEM ##
- name: yutaki_1090_unit_operational_status
address: 1090
- name: yutaki_1091_temp_outdoor
unique_id: yutaki_1091_temp_outdoor
unit_of_measurement: '°C'
device_class: temperature
state_class: measurement
address: 1091
- name: yutaki_1092_temp_water_in
unique_id: yutaki_1092_temp_water_in
unit_of_measurement: '°C'
device_class: temperature
state_class: measurement
address: 1092
- name: yutaki_1093_temp_water_out
unique_id: yutaki_1093_temp_water_out
unit_of_measurement: '°C'
device_class: temperature
state_class: measurement
address: 1093
- name: yutaki_1094_hlink_status
unique_id: yutaki_1094_hlink_status
address: 1094
- name: yutaki_1200_temp_water_out_hp
unique_id: yutaki_1200_temp_water_out_hp
unit_of_measurement: '°C'
device_class: temperature
state_class: measurement
address: 1200
- name: yutaki_1201_temp_outdoor_average
unique_id: yutaki_1201_temp_outdoor_average
unit_of_measurement: '°C'
device_class: temperature
state_class: measurement
address: 1201
- name: yutaki_1206_temp_gas
unique_id: yutaki_1206_temp_gas
unit_of_measurement: '°C'
device_class: temperature
state_class: measurement
address: 1206
- name: yutaki_1207_temp_liquid
unique_id: yutaki_1207_temp_liquid
unit_of_measurement: '°C'
device_class: temperature
state_class: measurement
address: 1207
- name: yutaki_1208_temp_gas_discharge
unique_id: yutaki_1208_temp_gas_discharge
unit_of_measurement: '°C'
device_class: temperature
state_class: measurement
address: 1208
- name: yutaki_1209_temp_evaporation
unique_id: yutaki_1209_temp_evaporation
unit_of_measurement: '°C'
device_class: temperature
state_class: measurement
address: 1209
- name: yutaki_1210_expansion_valve_open_indoor
unique_id: yutaki_1210_expansion_valve_open_indoor
unit_of_measurement: '%'
state_class: measurement
scan_interval: 5
address: 1210
- name: yutaki_1211_expansion_valve_open_outdoor
unique_id: yutaki_1211_expansion_valve_open_outdoor
unit_of_measurement: '%'
scan_interval: 5
state_class: measurement
address: 1211
- name: yutaki_1212_inverter_frequency
unique_id: yutaki_1212_inverter_frequency
unit_of_measurement: Hz
scan_interval: 5
state_class: measurement
address: 1212
- name: yutaki_1213_cause_stoppage
unique_id: yutaki_1213_cause_stoppage
address: 1213
- name: yutaki_1214_compressor_active_current
unique_id: yutaki_1214_compressor_active_current
unit_of_measurement: A
state_class: measurement
address: 1214
- name: yutaki_1217_defrost
unique_id: yutaki_1217_defrost
address: 1217
- name: yutaki_1219_water_temp_setting
unique_id: yutaki_1219_water_temp_setting
unit_of_measurement: '°C'
address: 1219
- name: yutaki_1220_water_flow
unique_id: yutaki_1220_water_flow
unit_of_measurement: m3/h
state_class: measurement
scale: 0.1
precision: 2
address: 1220
- name: yutaki_1221_water_pump_speed
unique_id: yutaki_1221_water_pump_speed
unit_of_measurement: '%'
state_class: measurement
address: 1221
- name: yutaki_1223_alarm_number
unique_id: yutaki_1223_alarm_number
address: 1223
## OUTDOOR UNIT / COOLANT ##
- name: yutaki_1224_r134a_discharge_temp
unique_id: yutaki_1224_r134a_discharge_temp
unit_of_measurement: '°C'
state_class: measurement
address: 1224
- name: yutaki_1225_r134a_suction_temp
unique_id: yutaki_1225_r134a_suction_temp
unit_of_measurement: '°C'
address: 1225
- name: yutaki_1226_r134a_discharge_pressure
unique_id: yutaki_1226_r134a_discharge_pressure
unit_of_measurement: bar
state_class: measurement
scale: 0.1
precision: 1
address: 1226
- name: yutaki_1227_r134a_section_pressure
unique_id: yutaki_1227_r134a_section_pressure
unit_of_measurement: bar
device_class: pressure
state_class: measurement
scale: 0.1
precision: 1
address: 1227
- name: yutaki_1228_r134a_compressor_frequency
unique_id: yutaki_1228_r134a_compressor_frequency
unit_of_measurement: Hz
device_class: frequency
state_class: measurement
address: 1228
- name: yutaki_1229_r134a_expansion_valve_2_indoor_open
unique_id: yutaki_1229_r134a_expansion_valve_2_indoor_open
unit_of_measurement: '%'
state_class: measurement
address: 1229
## DHW ##
- name: yutaki_1076_dhw_on_off_status
unique_id: yutaki_1076_dhw_on_off_status
address: 1076
- name: yutaki_1077_dhw_set_temp
unique_id: yutaki_1077_dhw_set_temp
unit_of_measurement: '°C'
device_class: temperature
state_class: measurement
address: 1077
- name: yutaki_1078_dhw_boost_status
unique_id: yutaki_1078_dhw_boost_status
address: 1078
- name: yutaki_1079_dhw_demand_mode
unique_id: yutaki_1079_dhw_demand_mode
address: 1079
- name: yutaki_1080_dhw_temp
unique_id: yutaki_1080_dhw_temp
unit_of_measurement: '°C'
device_class: temperature
state_class: measurement
address: 1080
## CIRCUIT1 / C1 / ANNEXE ##
- name: yutaki_1057_c1_mode_eco_comfort
unique_id: yutaki_1057_c1_mode_eco_comfort
address: 1057
- name: yutaki_1060_c1_set_temp_room_thermostat
unique_id: yutaki_1060_c1_set_temp_room_thermostat
unit_of_measurement: '°C'
device_class: temperature
state_class: measurement
scale: 0.1
precision: 1
address: 1060
- name: yutaki_1061_c1_temp_room_thermostat
unique_id: yutaki_1061_c1_temp_room_thermostat
unit_of_measurement: '°C'
device_class: temperature
state_class: measurement
scale: 0.1
precision: 1
address: 1061
- name: yutaki_1052_c1_run_stop
unique_id: yutaki_1052_c1_run_stop
address: 1052
## CIRCUIT2 / C2 / MAIN HOUSE ##
- name: yutaki_1069_c2_mode_eco_comfort
unique_id: yutaki_1069_c2_mode_eco_comfort
address: 1069
- name: yutaki_1072_c2_set_temp_thermostat
unique_id: yutaki_1072_c2_set_temp_thermostat
unit_of_measurement: '°C'
device_class: temperature
state_class: measurement
scale: 0.1
precision: 1
address: 1072
- name: yutaki_1073_c2_temp_room_thermostat
unique_id: yutaki_1073_c2_temp_room_thermostat
unit_of_measurement: '°C'
device_class: temperature
state_class: measurement
scale: 0.1
precision: 1
address: 1073
- name: yutaki_1064_c2_run_stop
unique_id: yutaki_1064_c2_run_stop
address: 1064
## SWIMMING POOL ##
- name: yutaki_1081_swp_run_stop_status
unique_id: yutaki_1081_swp_run_stop_status
address: 1081
- name: yutaki_1082_swp_set_temp_thermostat
unique_id: yutaki_1082_swp_set_temp_thermostat
unit_of_measurement: '°C'
device_class: temperature
state_class: measurement
precision: 0
address: 1082
- name: yutaki_1083_swp_temp_thermostat
unique_id: yutaki_1083_swp_temp_thermostat
unit_of_measurement: '°C'
device_class: temperature
state_class: measurement
precision: 0
address: 1083
### HITACHI YUTAKI MODBUS END ###
template.yaml
### HITACHI YUTAKI TEMPLATE STARTS ###
- select:
- name: "yutaki mode heat cool"
unique_id: 'yutaki_mode_heat_cool'
state: >-
{{ iif(
states('sensor.yutaki_1051_unit_mode') not in ('unavailable', 'unknown'),
(state_attr('select.yutaki_mode_heat_cool','options')[(states('sensor.yutaki_1051_unit_mode')|int(0))]),
(state_attr('select.yutaki_mode_heat_cool','options')[0])
)
}}
options: "{{ ['Cool','Heat','Auto'] }}"
select_option:
- service: modbus.write_register
data:
hub: yutaki
address: 1001
value: >-
{{ (state_attr('select.yutaki_mode_heat_cool','options').index(option))|int(0)}}
- sensor:
- name: 'Yutaki DHW temp upper' # assumes SWP sensor is at top of DHW tank
unique_id: yutaki_dhw_upper_temp_derived
unit_of_measurement: '°C'
device_class: temperature
state_class: measurement
state: >-
{{
( states("sensor.yutaki_1083_swp_temp_thermostat") | float
+ ( states("sensor.yutaki_1083_swp_temp_thermostat") | float
- states("sensor.yutaki_1073_c2_temp_room_thermostat") | float ) * 0.4 ) | int
}}
### HITACHI YUTAKI TEMPLATE ENDS ###
Hot Water control dashboard
square: false
type: grid
cards:
- type: custom:mushroom-template-card
primary: HOT WATER
secondary: Hitachi ASHP
icon: mdi:water-boiler
badge_icon: ''
badge_color: red
layout: horizontal
fill_container: false
icon_color: red
multiline_secondary: false
tap_action:
action: none
- type: horizontal-stack
cards:
- type: custom:mini-graph-card
lower_bound: 20
align_state: right
font_size: 44
height: 200
entities:
- entity: sensor.yutaki_dhw_upper_temp_derived
name: top
color: red
show_state: true
smoothing: false
- entity: sensor.yutaki_1080_dhw_temp
name: lower
color: orange
- entity: sensor.yutaki_1076_dhw_on_off_status
y_axis: secondary
show_line: false
smoothing: false
color: pink
show:
state: true
legend: false
name: false
icon: false
header: false
animate: false
- type: custom:mushroom-climate-card
entity: climate.yutaki_dhw
show_temperature_control: true
hvac_modes: []
collapsible_controls: false
tap_action:
action: toggle
fill_container: false
icon: mdi:water-thermometer
primary_info: state
secondary_info: last-changed
layout: vertical
- type: horizontal-stack
cards:
- type: custom:mushroom-entity-card
entity: switch.yutaki_1026_dhw_boost_on_off
name: Boost
icon_color: accent
fill_container: false
tap_action:
action: toggle
secondary_info: state
layout: horizontal
- type: custom:mushroom-entity-card
entity: switch.yutaki_1027_demand_mode
name: High mode
tap_action:
action: toggle
layout: horizontal
- type: history-graph
entities:
- entity: sensor.yutaki_1076_dhw_on_off_status
columns: 1
Circuit 2 control dashboard
square: false
type: grid
cards:
- type: custom:mushroom-template-card
primary: MAIN HOUSE HEATING
secondary: Hitachi ASHP
icon: mdi:radiator
badge_icon: ''
badge_color: ''
layout: horizontal
fill_container: false
icon_color: orange
multiline_secondary: false
tap_action:
action: none
- type: horizontal-stack
cards:
- type: custom:mini-graph-card
lower_bound: ~20
upper_bound: ~26
align_state: right
font_size: 44
height: 200
entities:
- entity: sensor.yutaki_1073_c2_temp_room_thermostat
- entity: sensor.yutaki_1072_c2_set_temp_thermostat
show_line: false
smoothing: false
- entity: sensor.yutaki_1064_c2_run_stop
y_axis: secondary
show_line: false
smoothing: false
color: pink
show:
state: true
legend: false
name: false
icon: false
header: false
animate: false
- type: vertical-stack
cards:
- type: custom:mushroom-climate-card
entity: climate.yutaki_house_c2
icon: mdi:home-thermometer
name: Switch
show_temperature_control: true
primary_info: none
tap_action:
action: toggle
layout: horizontal
secondary_info: none
- type: custom:mushroom-entity-card
entity: switch.yutaki_1018_eco_comfort_mode
tap_action:
action: toggle
name: Comfort/Eco
- type: history-graph
entities:
- entity: sensor.yutaki_1064_c2_run_stop
columns: 1
master controls dashboard
type: vertical-stack
cards:
- type: custom:mushroom-template-card
primary: MASTER CONTROLS
secondary: Hitachi ASHP
icon: mdi:heat-pump
badge_icon: ''
badge_color: red
layout: horizontal
fill_container: false
icon_color: orange
multiline_secondary: false
tap_action:
action: none
- type: horizontal-stack
cards:
- type: custom:mushroom-entity-card
entity: switch.yutaki_1000_system_on_off
icon_color: accent
layout: horizontal
name: Master on/off
tap_action:
action: more-info
- type: custom:mushroom-entity-card
entity: select.yutaki_mode_heat_cool
icon_color: primary
name: Heat / cool
- type: history-graph
entities:
- entity: sensor.hitachi_operation_status
- entity: sun.sun
- type: custom:mushroom-title-card
title: ''
subtitle: |-
0.Off 11.Alarm
COOL 1.DemdOff 2.ThermOff 3.ThermOn
HEAT 4.DemdOff 5.ThermOff 6.ThermOn
DHW 7.OFF 8.ON
SWP 9.OFF 10.ON
title_tap_action:
action: none
Hot water graph
type: custom:apexcharts-card
graph_span: 24h
header:
show: true
title: DHW
show_states: true
colorize_states: true
series:
- entity: sensor.yutaki_dhw_upper_temp_derived
name: DHW-upper
yaxis_id: temp
color: red
curve: smooth
stroke_width: 4
- entity: sensor.yutaki_1083_swp_temp_thermostat
name: SWP
yaxis_id: temp
color: '#b0bec5'
curve: smooth
stroke_width: 1
- entity: sensor.yutaki_1080_dhw_temp
name: DHW-lower
yaxis_id: temp
type: line
color: orange
curve: smooth
stroke_width: 4
- entity: sensor.yutaki_1214_compressor_active_current
name: Current
yaxis_id: amps
type: area
stroke_width: 0
fill_raw: last
curve: stepline
color: '#00b8d4'
opacity: 0.3
yaxis:
- id: temp
show: true
min: 10
apex_config:
forceNiceScale: true
decimals: 0
- id: amps
opposite: true
min: 2
max: ~7
apex_config:
forceNiceScale: true
decimals: 0
apex_config:
tooltip:
x:
format: HH:mm
legend:
show: false
chart:
zoom:
type: x
enabled: true
autoScaleYaxis: zoom
zoomedArea:
fill:
color: '#90CAF9'
opacity: 0.4
toolbar:
show: true
autoSelected: zoom
tools:
zoom: true
zoomin: true
zoomout: true
pan: true
reset: true
download: false
Longer term I am hoping to build additional optimisations around control the Yutaki plus my other electrical devices and solar PV panels - still a LONG way away though.