Kostal Smart Energy Meter Integration

I would strongly suggest you to check HACS and SunSpec integration

I started using them instead of manual configuration. You can create additional sensors with helper function if needed (to sum output etc).

I have an error with the following code:

- name: L1_powerpos_ksem #power sent to grid on L1
  slave: 1
  device_class: power
  state_class: measurement
  unit_of_measurement: W
  scale: 0.1
  address: 40
  scan_interval: 10
  count: 2
  input_type: holding
  data_type: uint64

- name: L1_powerneg_ksem #power taken to grid on L1
  slave: 1
  device_class: power
  state_class: measurement
  unit_of_measurement: W
  scale: 0.1
  address: 42
  scan_interval: 10
  count: 2
  input_type: holding
  data_type: uint64

- name: L2_powerpos_ksem #power sent to grid on L2
  slave: 1
  device_class: power
  state_class: measurement
  unit_of_measurement: W
  scale: 0.1
  address: 80
  scan_interval: 10
  count: 2
  input_type: holding
  data_type: uint64

- name: L2_powerneg_ksem #power taken from grid on L2
  slave: 1
  device_class: power
  state_class: measurement
  unit_of_measurement: W
  scale: 0.1
  address: 82
  scan_interval: 10
  count: 2 
  input_type: holding
  data_type: uint64

- name: L3_powerpos_ksem #power sent to grid on L3
  slave: 1
  device_class: power
  state_class: measurement
  unit_of_measurement: W
  scale: 0.1
  address: 120
  scan_interval: 10
  count: 2
  input_type: holding
  data_type: uint64

- name: L3_powerneg_ksem #power taken from grid on L3
  slave: 1
  device_class: power
  state_class: measurement
  unit_of_measurement: W
  scale: 0.1
  address: 122
  scan_interval: 10
  count: 2
  input_type: holding
  data_type: uint64

Error:
Konfigurationswarnungen

Invalid config for ‘modbus’ at configuration.yaml, line 149: L1_powerpos_ksem: count illegal with data_type: uint64 ‘modbus->0->sensors->6’, got {‘name’: ‘L1_powerpos_ksem’, ‘slave’: 1, ‘device_class’: ‘power’, ‘state_class’: ‘measurement’, ‘unit_of_measurement’: ‘W’, ‘scale’: 0.1, ‘address’: 40, ‘scan_interval’: 10, ‘count’: 2, ‘input_type’: ‘holding’, ‘data_type’: ‘uint64’}

Invalid config for ‘modbus’ at configuration.yaml, line 161: L1_powerneg_ksem: count illegal with data_type: uint64 ‘modbus->0->sensors->7’, got {‘name’: ‘L1_powerneg_ksem’, ‘slave’: 1, ‘device_class’: ‘power’, ‘state_class’: ‘measurement’, ‘unit_of_measurement’: ‘W’, ‘scale’: 0.1, ‘address’: 42, ‘scan_interval’: 10, ‘count’: 2, ‘input_type’: ‘holding’, ‘data_type’: ‘uint64’}

Invalid config for ‘modbus’ at configuration.yaml, line 173: L2_powerpos_ksem: count illegal with data_type: uint64 ‘modbus->0->sensors->8’, got {‘name’: ‘L2_powerpos_ksem’, ‘slave’: 1, ‘device_class’: ‘power’, ‘state_class’: ‘measurement’, ‘unit_of_measurement’: ‘W’, ‘scale’: 0.1, ‘address’: 80, ‘scan_interval’: 10, ‘count’: 2, ‘input_type’: ‘holding’, ‘data_type’: ‘uint64’}

Invalid config for ‘modbus’ at configuration.yaml, line 185: L2_powerneg_ksem: count illegal with data_type: uint64 ‘modbus->0->sensors->9’, got {‘name’: ‘L2_powerneg_ksem’, ‘slave’: 1, ‘device_class’: ‘power’, ‘state_class’: ‘measurement’, ‘unit_of_measurement’: ‘W’, ‘scale’: 0.1, ‘address’: 82, ‘scan_interval’: 10, ‘count’: 2, ‘input_type’: ‘holding’, ‘data_type’: ‘uint64’}

Invalid config for ‘modbus’ at configuration.yaml, line 197: L3_powerpos_ksem: count illegal with data_type: uint64 ‘modbus->0->sensors->10’, got {‘name’: ‘L3_powerpos_ksem’, ‘slave’: 1, ‘device_class’: ‘power’, ‘state_class’: ‘measurement’, ‘unit_of_measurement’: ‘W’, ‘scale’: 0.1, ‘address’: 120, ‘scan_interval’: 10, ‘count’: 2, ‘input_type’: ‘holding’, ‘data_type’: ‘uint64’}

Invalid config for ‘modbus’ at configuration.yaml, line 209: L3_powerneg_ksem: count illegal with data_type: uint64 ‘modbus->0->sensors->11’, got {‘name’: ‘L3_powerneg_ksem’, ‘slave’: 1, ‘device_class’: ‘power’, ‘state_class’: ‘measurement’, ‘unit_of_measurement’: ‘W’, ‘scale’: 0.1, ‘address’: 122, ‘scan_interval’: 10, ‘count’: 2, ‘input_type’: ‘holding’, ‘data_type’: ‘uint64’}

My data:

modbus:

  • name: KSEM
    type: tcp
    host: 192.168.17x.xx
    port: 502
    sensors:
    • name: netzbezug_leistung_ksem
      slave: 1
      device_class: power
      state_class: measurement
      unit_of_measurement: W
      scale: 0.1
      address: 0
      scan_interval: 10
      slave_count: 2
      input_type: holding
      data_type: uint32

Where is the error?
The code was at the top of this page.

Thanks for help.

Moin,

just have a look above. :slight_smile:
Remove the “count” lines from your yaml and it should work.

Ben

@lhac5vet

Can you share the content of the 3 files to us?

Hi NemoN,
Yes, of course. Here they are:

ksem_reg_internal_Energy.yaml

- name: "KSEM Total Active Energy from Grid" # Active energy+
  unique_id: kostal_ksem_total_active_energy_from_grid
  address: 512
  slave: 1
  device_class: energy
  state_class: total_increasing
  unit_of_measurement: Wh
  input_type: holding
  data_type: uint64
  precision: 2
  scale: 0.1
  scan_interval: 10
- name: "KSEM Total Active Energy to Grid" # Active energy-
  unique_id: kostal_ksem_total_active_energy_to_grid
  address: 516
  slave: 1
  device_class: energy
  state_class: total_increasing
  unit_of_measurement: Wh
  input_type: holding
  data_type: int64
  precision: 2
  scale: 0.1
  scan_interval: 10"
- name: "KSEM Total Reactive Energy from Grid" # Reactive energy+
  unique_id: kostal_ksem_total_reactive_energy_from_grid
  address: 520
  slave: 1
  device_class: reactive_power
  state_class: measurement
  unit_of_measurement: var
  input_type: holding
  data_type: uint64
  precision: 2
  scale: 0.1
  scan_interval: 60
- name: "KSEM Total Reactive Energy to Grid" # Reactive energy-
  unique_id: kostal_ksem_total_reactive_energy_to_grid
  address: 524
  slave: 1
  device_class: reactive_power
  state_class: measurement
  unit_of_measurement: var
  input_type: holding
  data_type: int64
  precision: 2
  scale: 0.1
  scan_interval: 60
- name: "KSEM Total Apparent Energy from Grid" # Apparent energy+
  unique_id: kostal_ksem_total_apparent_energy_from_grid
  address: 544
  slave: 1
  device_class: apparent_power
  state_class: measurement
  unit_of_measurement: VA
  input_type: holding
  data_type: uint64
  precision: 2
  scale: 0.1
  scan_interval: 60
- name: "KSEM Total Apparent Energy to Grid" # Apparent energy-
  unique_id: kostal_ksem_total_apparent_energy_to_grid
  address: 548
  slave: 1
  device_class: apparent_power
  state_class: measurement
  unit_of_measurement: VA
  input_type: holding
  data_type: int64
  precision: 2
  scale: 0.1
  scan_interval: 60

- name: "KSEM Active Energy from Grid (L1)" # Active energy+ (L1)
  unique_id: kostal_ksem_active_energy_from_grid_L1
  address: 592
  slave: 1
  device_class: energy
  state_class: total_increasing
  input_type: holding
  data_type: uint64
  unit_of_measurement: kWh
  scale: 0.0001
  precision: 2
  scan_interval: 10
- name: "KSEM Active Energy to Grid (L1)" # Active energy- (L1)
  unique_id: kostal_ksem_active_energy_to_grid_L1
  address: 596
  slave: 1
  device_class: energy
  state_class: total_increasing
  input_type: holding
  data_type: uint64
  unit_of_measurement: kWh
  scale: 0.0001
  scan_interval: 10
- name: "KSEM Reactive Energy from Grid (L1)" # Reactive energy+ (L1)
  unique_id: kostal_ksem_reactive_energy_from_grid_L1
  address: 600
  slave: 1
  device_class: reactive_power
  state_class: measurement
  input_type: holding
  data_type: uint64
  unit_of_measurement: var
  scale: 0.1
  scan_interval: 10
- name: "KSEM Reactive Energy to Grid (L1)" # Reactive energy- (L1)
  unique_id: kostal_ksem_reactive_energy_to_grid_L1
  address: 604
  slave: 1
  device_class: reactive_power
  state_class: measurement
  input_type: holding
  data_type: uint64
  unit_of_measurement: var
  scale: 0.1
  scan_interval: 10
- name: "KSEM Apparent Energy from Grid (L1)" # Apparent energy+ (L1)
  unique_id: kostal_ksem_apparent_energy_from_grid_L1
  address: 624
  slave: 1
  device_class: apparent_power
  state_class: measurement
  input_type: holding
  data_type: uint64
  unit_of_measurement: VA
  scale: 0.1
  scan_interval: 10
- name: "KSEM Apparent Energy to Grid (L1)" # Apparent energy- (L1)
  unique_id: kostal_ksem_apparent_energy_to_grid_L1
  address: 628
  slave: 1
  device_class: apparent_power
  state_class: measurement
  input_type: holding
  data_type: uint64
  unit_of_measurement: VA
  scale: 0.1
  scan_interval: 10

- name: "KSEM Active Energy from Grid (L2)" # Active energy+ (L2)
  unique_id: kostal_ksem_active_energy_from_grid_L2
  address: 672
  slave: 1
  device_class: energy
  state_class: total_increasing
  input_type: holding
  data_type: uint64
  unit_of_measurement: kWh
  scale: 0.0001
  scan_interval: 10
- name: "KSEM Active Energy to Grid (L2)" # Active energy- (L2)
  unique_id: kostal_ksem_active_energy_to_grid_L2
  address: 676
  slave: 1
  device_class: energy
  state_class: total_increasing
  input_type: holding
  data_type: uint64
  unit_of_measurement: kWh
  scale: 0.0001
  scan_interval: 10
- name: "KSEM Reactive Energy from Grid (L2)" # Reactive energy+ (L2)
  unique_id: kostal_ksem_reactive_energy_from_grid_L2
  address: 680
  slave: 1
  device_class: reactive_power
  state_class: measurement
  input_type: holding
  data_type: uint64
  unit_of_measurement: var
  scale: 0.1
  scan_interval: 10
- name: "KSEM Reactive Energy to Grid (L2)" # Reactive energy- (L2)
  unique_id: kostal_ksem_reactive_energy_to_grid_L2
  address: 684
  slave: 1
  device_class: reactive_power
  state_class: measurement
  input_type: holding
  data_type: uint64
  unit_of_measurement: var
  scale: 0.1
  scan_interval: 10
- name: "KSEM Apparent Energy from Grid (L2)" # Apparent energy+ (L2)
  unique_id: kostal_ksem_apparent_energy_from_grid_L2
  address: 704
  slave: 1
  device_class: apparent_power
  state_class: measurement
  unit_of_measurement: VA
  input_type: holding
  data_type: uint64
  scale: 0.1
  scan_interval: 10
- name: "KSEM Apparent Energy to Grid (L2)" # Apparent energy- (L2)
  unique_id: kostal_ksem_apparent_energy_to_grid_L2
  address: 708
  slave: 1
  device_class: apparent_power
  state_class: measurement
  unit_of_measurement: VA
  input_type: holding
  data_type: uint64
  scale: 0.1
  scan_interval: 10

- name: "KSEM Active Energy from Grid (L3)" # Active energy+ (L3)
  unique_id: kostal_ksem_active_energy_from_grid_L3
  address: 752
  slave: 1
  device_class: energy
  state_class: total_increasing
  input_type: holding
  data_type: uint64
  unit_of_measurement: kWh
  scale: 0.0001
  scan_interval: 10
- name: "KSEM Active Energy to Grid (L3)" # Active energy- (L3)
  unique_id: kostal_ksem_active_energy_to_grid_L3
  address: 756
  slave: 1
  device_class: energy
  state_class: total_increasing
  input_type: holding
  data_type: uint64
  unit_of_measurement: kWh
  scale: 0.0001
  scan_interval: 10
- name: "KSEM Reactive Energy from Grid (L3)" # Reactive energy+ (L3)
  unique_id: kostal_ksem_reactive_energy_from_grid_L3
  address: 760
  slave: 1
  device_class: reactive_power
  state_class: measurement
  unit_of_measurement: var
  input_type: holding
  data_type: uint64
  scale: 0.1
  scan_interval: 10
- name: "KSEM Reactive Energy to Grid (L3)" # Reactive energy- (L3)
  unique_id: kostal_ksem_reactive_energy_to_grid_L3
  address: 764
  slave: 1
  device_class: reactive_power
  state_class: measurement
  input_type: holding
  data_type: uint64
  unit_of_measurement: var
  scale: 0.1
  scan_interval: 10
- name: "KSEM Apparent Energy from Grid (L3)" # Apparent energy+ (L3)
  unique_id: kostal_ksem_apparent_energy_from_grid_L3
  address: 784
  slave: 1
  device_class: apparent_power
  state_class: measurement
  input_type: holding
  data_type: uint64
  unit_of_measurement: VA
  scale: 0.1
  scan_interval: 10
- name: "KSEM Apparent Energy to Grid (L3)" # Apparent energy- (L3)
  unique_id: kostal_ksem_apparent_energy_to_grid_L3
  address: 788
  slave: 1
  device_class: apparent_power
  state_class: measurement
  input_type: holding
  data_type: uint64
  unit_of_measurement: VA
  scale: 0.1
  scan_interval: 10

ksem_reg_internal_Instantaneous.yaml

- name: "KSEM Active Power from Grid" # Active power+
  unique_id: kostal_ksem_active_power_from_grid
  address: 0
  slave: 1
  device_class: power
  state_class: measurement
  unit_of_measurement: W
  scale: 0.1
  scan_interval: 10
  input_type: holding
  data_type: uint32
- name: "KSEM Active Power to Grid" # Active power-
  unique_id: kostal_ksem_active_power_to_grid
  address: 2
  slave: 1
  device_class: power
  state_class: measurement
  unit_of_measurement: W
  scale: 0.1
  scan_interval: 10
  input_type: holding
  data_type: uint32
- name: "KSEM Reactive Power from Grid" # Reactive power+
  unique_id: kostal_ksem_reactive_power_from_grid
  address: 4
  slave: 1
  device_class: reactive_power
  state_class: measurement
  unit_of_measurement: var
  scale: 0.1
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Reactive Power to Grid" # Reactive power-
  unique_id: kostal_ksem_reactive_power_to_grid
  address: 6
  slave: 1
  device_class: reactive_power
  state_class: measurement
  unit_of_measurement: var
  scale: 0.1
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Apparent Power from Grid" # Apparent power+
  unique_id: kostal_ksem_apparent_power_from_grid
  address: 16
  slave: 1
  device_class: apparent_power
  state_class: measurement
  unit_of_measurement: VA
  scale: 0.1
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Apparent Power to Grid" # Apparent power-
  unique_id: kostal_ksem_apparent_power_to_grid
  address: 18
  slave: 1
  device_class: apparent_power
  state_class: measurement
  unit_of_measurement: VA
  scale: 0.1
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Power Factor" # Power factor
  unique_id: kostal_ksem_power_factor
  address: 24
  slave: 1
  device_class: power_factor
  state_class: measurement
  unit_of_measurement: "%"
  scale: 0.1
  scan_interval: 60
  input_type: holding
  data_type: int32
- name: "KSEM Supply Frequency" # Supply frequency
  unique_id: kostal_ksem_supply_frequency
  address: 26
  slave: 1
  device_class: frequency
  state_class: measurement
  unit_of_measurement: Hz
  scale: 0.001
  scan_interval: 60
  input_type: holding
  data_type: uint32

- name: "KSEM Active Power from Grid (L1)" # Active power+ (L1)
  unique_id: kostal_ksem_active_power_from_grid_L1
  address: 40
  slave: 1
  device_class: power
  state_class: measurement
  unit_of_measurement: kW
  scale: 0.0001
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Active Power to Grid (L1)" # Active power- (L1)
  unique_id: kostal_ksem_active_power_to_grid_L1
  address: 42
  slave: 1
  device_class: power
  state_class: measurement
  unit_of_measurement: kW
  scale: 0.0001
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Reactive Power from Grid (L1)" # Reactive power+ (L1)
  unique_id: kostal_ksem_reactive_power_from_grid_L1
  address: 44
  slave: 1
  device_class: reactive_power
  state_class: measurement
  unit_of_measurement: var
  scale: 0.0001
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Reactive Power to Grid (L1)" # Reactive power- (L1)
  unique_id: kostal_ksem_reactive_power_to_grid_L1
  address: 46
  slave: 1
  device_class: reactive_power
  state_class: measurement
  unit_of_measurement: var
  scale: 0.0001
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Apparent Power from Grid (L1)" # Apparent power+ (L1)
  unique_id: kostal_ksem_apparent_power_from_grid_L1
  address: 56
  slave: 1
  device_class: apparent_power
  state_class: measurement
  unit_of_measurement: VA
  scale: 0.1
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Apparent Power to Grid (L1)" # Apparent power- (L1)
  unique_id: kostal_ksem_apparent_power_to_grid_L1
  address: 58
  slave: 1
  device_class: apparent_power
  state_class: measurement
  unit_of_measurement: VA
  scale: 0.1
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Current (L1)" # Current (L1)
  unique_id: kostal_ksem_Current_L1
  address: 60
  slave: 1
  device_class: current
  state_class: measurement
  unit_of_measurement: A
  scale: 0.001
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Voltage (L1)" # Voltage (L1)
  unique_id: kostal_ksem_Voltage_L1
  address: 62
  slave: 1
  device_class: voltage
  state_class: measurement
  unit_of_measurement: V
  scale: 0.001
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Power Factor (L1)" # Power factor (L1)
  unique_id: kostal_ksem_power_factor_L1
  address: 64
  slave: 1
  device_class: power_factor
  state_class: measurement
  unit_of_measurement: "%"
  scale: 0.1
  scan_interval: 60
  input_type: holding
  data_type: int32

- name: "KSEM Active Power from Grid (L2)" # Active power+ (L2)
  unique_id: kostal_ksem_active_power_from_grid_L2
  address: 80
  slave: 1
  device_class: power
  state_class: measurement
  unit_of_measurement: kW
  scale: 0.0001
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Active Power to Grid (L2)" # Active power- (L2)
  unique_id: kostal_ksem_active_power_to_grid_L2
  address: 82
  slave: 1
  device_class: power
  state_class: measurement
  unit_of_measurement: kW
  scale: 0.0001
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Reactive Power from Grid (L2)" # Reactive power+ (L2)
  unique_id: kostal_ksem_reactive_power_from_grid_L2
  address: 84
  slave: 1
  device_class: reactive_power
  state_class: measurement
  unit_of_measurement: var
  scale: 0.1
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Reactive Power to Grid (L2)" # Reactive power- (L2)
  unique_id: kostal_ksem_reactive_power_to_grid_L2
  address: 86
  slave: 1
  device_class: reactive_power
  state_class: measurement
  unit_of_measurement: var
  scale: 0.1
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Apparent Power from Grid (L2)" # Apparent power+ (L2)
  unique_id: kostal_ksem_apparent_power_from_grid_L2
  address: 96
  slave: 1
  device_class: apparent_power
  state_class: measurement
  unit_of_measurement: VA
  scale: 0.1
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Apparent Power to Grid (L2)" # Apparent power- (L2)
  unique_id: kostal_ksem_apparent_power_to_grid_L2
  address: 98
  slave: 1
  device_class: apparent_power
  state_class: measurement
  unit_of_measurement: VA
  scale: 0.1
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Current (L2)" # Current (L2)
  unique_id: kostal_ksem_Current_L2
  address: 100
  slave: 1
  device_class: current
  state_class: measurement
  unit_of_measurement: A
  scale: 0.001
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Voltage (L2)" # Voltage (L2)
  unique_id: kostal_ksem_Voltage_L2
  address: 102
  slave: 1
  device_class: voltage
  state_class: measurement
  unit_of_measurement: V
  scale: 0.001
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Power Factor (L2)" # Power factor (L2)
  unique_id: kostal_ksem_power_factor_L2
  address: 104
  slave: 1
  device_class: power_factor
  state_class: measurement
  unit_of_measurement: "%"
  scale: 0.1
  scan_interval: 60
  input_type: holding
  data_type: int32

- name: "KSEM Active Power from Grid (L3)" # Active power+ (L3)
  unique_id: kostal_ksem_active_power_from_grid_L3
  address: 120
  slave: 1
  device_class: power
  state_class: measurement
  unit_of_measurement: kW
  scale: 0.0001
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Active Power to Grid (L3)" # Active power- (L3)
  unique_id: kostal_ksem_active_power_to_grid_L3
  address: 122
  slave: 1
  device_class: power
  state_class: measurement
  unit_of_measurement: kW
  scale: 0.0001
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Reactive Power from Grid (L3)" # Reactive power+ (L3)
  unique_id: kostal_ksem_reactive_power_from_grid_L3
  address: 124
  slave: 1
  device_class: reactive_power
  state_class: measurement
  unit_of_measurement: var
  scale: 0.1
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Reactive Power to Grid (L3)" # Reactive power- (L3)
  unique_id: kostal_ksem_reactive_power_to_grid_L3
  address: 126
  slave: 1
  device_class: reactive_power
  state_class: measurement
  unit_of_measurement: var
  scale: 0.1
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Apparent Power from Grid (L3)" # Apparent power+ (L3)
  unique_id: kostal_ksem_apparent_power_from_grid_L3
  address: 136
  slave: 1
  device_class: apparent_power
  state_class: measurement
  unit_of_measurement: VA
  scale: 0.1
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Apparent Power to Grid (L3)" # Apparent power- (L3)
  unique_id: kostal_ksem_apparent_power_to_grid_L3
  address: 138
  slave: 1
  device_class: apparent_power
  state_class: measurement
  unit_of_measurement: VA
  scale: 0.1
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Current (L3)" # Current (L3)
  unique_id: kostal_ksem_Current_L3
  address: 140
  slave: 1
  device_class: current
  state_class: measurement
  unit_of_measurement: A
  scale: 0.001
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Voltage (L3)" # Voltage (L3)
  unique_id: kostal_ksem_Voltage_L3
  address: 142
  slave: 1
  device_class: voltage
  state_class: measurement
  unit_of_measurement: V
  scale: 0.001
  scan_interval: 60
  input_type: holding
  data_type: uint32
- name: "KSEM Power Factor (L3)" # Power factor (L3)
  unique_id: kostal_ksem_power_factor_L3
  address: 144
  slave: 1
  device_class: power_factor
  state_class: measurement
  unit_of_measurement: "%"
  scale: 0.1
  scan_interval: 60
  input_type: holding
  data_type: int32

- name: "KSEM Minimum Active Power to Grid" # (Minimum active power+)*3
  unique_id: kostal_ksem_minimum_active_power_from_grid_L3
  address: 146
  slave: 1
  device_class: power
  state_class: measurement
  unit_of_measurement: W
  scale: 0.3
  scan_interval: 60
  input_type: holding
  data_type: uint32

ksem_reg_Sunspec.yaml

- name: Total_exported_realenergy_ksem #Total Exported Real Energy
  unique_id: ksem_tot_energy_exported
  slave: 1
  device_class: energy
  state_class: total_increasing
  unit_of_measurement: kWh
  scale: 0.001
  address: 40107
  scan_interval: 10
  #      count: 2
  input_type: holding
  data_type: int32

- name: Total_imported_realenergy_ksem #Total Imported Real Energy
  unique_id: ksem_tot_energy_imported
  slave: 1
  device_class: energy
  state_class: total_increasing
  unit_of_measurement: kWh
  scale: 0.001
  address: 40115
  scan_interval: 10
  #      count: 2
  input_type: holding
  data_type: int32

I have created a subfolder “modbus” including those 3 YAML and used a “include” in the configuration.yaml:

- name: "KSEM" #can be anything you want
  type: tcp #modbus over tcp
  host: 192.168.1.105 #insert your KSEM ip address
  port: 502 #insert your KSEM port, eg "port: 502"
  sensors: !include_dir_merge_list modbus/

Hope its help.
Laurent

1 Like

great :+1:


Hello
when I paste this file into yaml.config I get this error maybe they can help me Thanks

Thanks Indiakiloecho!

It seems Kostal is not on the list of certified manufactures (source: Certified Registry - SunSpec Alliance).

Did you manage to include the Kostal KSEM with this HACS integration? I tried but without success.

Thanks!