2022.12 - MQTT - jak się zabrać za dostosowanie do nowej wersji

Cześć,
Otworzyłem temat bo widziałem że w kilku miejsca są jakiś info ale w dalszym ciągu nie wiem co zrobić.
Pytanie:
Od czego zacząć aby nie zostać na 2022.11.5, mam starą konfigurację :frowning:

Przede wszystkim od dokumentacji, w poniższym linku masz cała gamę mqtt definiowaną w HA:

Dodatkowo w dość przystępny sposób wyjaśnia to tutorial:

Dawno temu to robiłem ale pamiętam, że nie trzeba przenosić wszystkiego na raz. Możesz zacząć od mniej ważnych encji i poćwiczyć. Mogę też wrzucić swój config.
Częściowo to już wrzuciłem - do końca to tego “includowania” nie czuję, więc jest jak jest.

Czyli jak dobrze zrozumiałem:

Teraz wygląda to tak:

# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:
# Text to speech
tts:
  - platform: google_translate
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
sensor:
  - platform: time_date
    display_options:
      - 'date_time_iso'
  - platform: systemmonitor
    resources:
      - type: disk_use_percent
        arg: '/'
      - type: memory_use_percent
      - type: processor_use
      - type: network_in
        arg: enp4s0
      - type: network_out
        arg: enp4s0
      - type: last_boot
      - type: swap_use_percent
  - platform: template
    sensors:
      dom_aktualna_moc:
        device_class: power
        friendly_name: "Dom Aktualna moc"
        value_template: >-
          {{ ((states('sensor.electricity_meter_power_active_phase_1')|float + states('sensor.electricity_meter_power_active_phase_2')|float + states('sensor.electricity_meter_power_active_phase_3')|float))|round(0) }}
        unit_of_measurement: "W"
  - platform: template #Ciśnienie wody 1,4 bar = 1100 analog range
    sensors:
      cisnienie_wody_hydrofornia:
        friendly_name: Ciśnienie Wody hydrofornia
        unit_of_measurement: "bar"
        value_template: "{{(1.4*(states('sensor.czujniki_piec_co_analog_a0')) | float (0) / 1100) | round (2) }}"
  - platform: template #Ciśnienie wody2 1019 hPa = 164 analog range
    sensors:
      cisnienie_wody_hydrofornia2:
        friendly_name: Ciśnienie Wody hydrofornia2
        unit_of_measurement: "hPa"
        value_template: "{{(1*(states('sensor.depth_sensor_2')) | float (0) / 3)| round (2) }}"    
  - platform: template #głebokość wody tara
    sensors:
      woda_glebokosc_garaz_tara:
        friendly_name: Woda głębokość 1 karcher tara
        unit_of_measurement: 'l'
        value_template: "{{ (-1|float(0)| round(0) + states('sensor.cisnienie_wody_hydrofornia2')|float(0)| round(2) - states('sensor.dom_pressure')|float(0)| round(2)) | round(1)*10 }}"
  - platform: template #głebokość wody #przeliczamy ciśnienie na %(205 hpa to full)
    sensors:
      woda_glebokosc_garaz: 
        friendly_name: Woda głębokość 1 karcher
        unit_of_measurement: "%"
        value_template: "{{(37*(states('sensor.depth_sensor_2')) | float (0) / 1) | round (0) }}"        
  - platform: template #głebokość wody tara
    sensors:
      woda_glebokosc_garaz_tara2:
        friendly_name: Woda głębokość 1 karcher tara2
        unit_of_measurement: 'l'
        value_template: "{{(3700*(states('sensor.depth_sensor_2')) | float (0) / 1) | round (0) }}"  
###### SofarSolarMQTT lokalnie ######
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Frequency_Grid_Hz"
    name: "SofarSolarMQTT_Frequency_Grid"
    unit_of_measurement: "Hz"
    device_class: power
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Aktualna_generowana_moc_kW"
    name: "SofarSolarMQTT_Aktualna_generowana_moc_kW"
    unit_of_measurement: "kW"
    device_class: power
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Napiecie_V_faza_R"
    name: "SofarSolarMQTT_Napiecie_V_faza_R"
    unit_of_measurement: "V"
    device_class: voltage
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Natezenie_A_faza_R"
    name: "SofarSolarMQTT_Natezenie_A_faza_R"
    unit_of_measurement: "A"
    device_class: current
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Napiecie_V_faza_S"
    name: "SofarSolarMQTT_Napiecie_V_faza_S"
    unit_of_measurement: "V"
    device_class: voltage
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Natezenie_A_faza_S"
    name: "SofarSolarMQTT_Natezenie_A_faza_S"
    unit_of_measurement: "A"
    device_class: current
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Napiecie_V_faza_T"
    name: "SofarSolarMQTT_Napiecie_V_faza_T"
    unit_of_measurement: "V"
    device_class: voltage
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Natezenie_A_faza_T"
    name: "SofarSolarMQTT_Natezenie_A_faza_T"
    unit_of_measurement: "A"
    device_class: current
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Napięcie_V_string1"
    name: "SofarSolarMQTT_Napięcie_V_string1"
    unit_of_measurement: "V"
    device_class: voltage
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Natezenie_A_string1"
    name: "SofarSolarMQTT_Natezenie_A_string1"
    unit_of_measurement: "A"
    device_class: current
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Moc_kW_string1"
    name: "SofarSolarMQTT_Moc_kW_string1"
    unit_of_measurement: "kW"
    device_class: power
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Wygenerowane_kW_Dzis"
    name: "SofarSolarMQTT_Wygenerowane_kW_Dzis"
    unit_of_measurement: "kWh"
    device_class: energy
    icon: mdi:counter
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Suma_wygenerowanych_kW"
    name: "SofarSolarMQTT_Suma_wygenerowanych_kW"
    unit_of_measurement: "kWh"
    device_class: energy
    icon: mdi:counter
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Temperatura_Radiatora"
    name: "SofarSolarMQTT_Temperatura_Radiatora"
    unit_of_measurement: "°C"
    device_class: temperature
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Temperatura_Inwertera"
    name: "SofarSolarMQTT_Temperatura_Inwertera"
    unit_of_measurement: "°C"
    device_class: temperature
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Rezystancja_izolacji"
    name: "SofarSolarMQTT_Rezystancja_izolacji"
    unit_of_measurement: "ohm"
binary_sensor:
  - platform: ping
    host: 192.168.1.121 #adres ip falownika
    name: Falownik_Sofar
    count: 7
    scan_interval: 30
utility_meter:
  pv_produkcja_sloneczna:
    name: Produkcja z energii słonecznej
    source: sensor.SofarSolarMQTT_wygenerowane_kw_dzis
    cycle: yearly
  pv_uzycie_z_sieci:
    name: Użycie energii z sieci
    source: sensor.SofarSolarMQTT_dzienne_uzycie_energii_z_sieci
    cycle: yearly
  pv_produkcja_do_sieci:
    name: Produkcja do sieci
    source: sensor.SofarSolarMQTT_dzienna_produkcja_do_sieci
    cycle: yearly
http:
 base_url: https://xxxxxxxxxxxxxxx.duckdns.org:8123
 ssl_certificate: /ssl/fullchain.pem
 ssl_key: /ssl/privkey.pem
recorder:
    purge_keep_days: 4
    purge_interval: 1
frontend:
  themes: !include_dir_merge_named themes
influxdb:
  host: xxxxxxxxxxxx
  port: 8086
  database: xxxxxxxxxxxx
  username: xxxxxxxxxxxx
  password: xxxxxxxxxxxxx
  max_retries: 3
  default_measurement: state 

I teraz muszę stowrzyć plik : mqtt_include.yaml wyciać to co jest do Sofara i przedytować na coś takiego.

sensor: !include /config/mqtt_sensors.yaml
  switch: !include /config/mqtt_switch.yaml
  climate: !include /config/mqtt_climate.yaml
  fan: !include /config/mqtt_fan.yaml

###### SofarSolarMQTT lokalnie ######

    state_topic: "SofarSolarMQTT/Frequency_Grid_Hz"
    name: "SofarSolarMQTT_Frequency_Grid"
    unit_of_measurement: "Hz"
    device_class: power

    state_topic: "SofarSolarMQTT/Aktualna_generowana_moc_kW"
    name: "SofarSolarMQTT_Aktualna_generowana_moc_kW"
    unit_of_measurement: "kW"
    device_class: power

    state_topic: "SofarSolarMQTT/Napiecie_V_faza_R"
    name: "SofarSolarMQTT_Napiecie_V_faza_R"
    unit_of_measurement: "V"
    device_class: voltage

    state_topic: "SofarSolarMQTT/Natezenie_A_faza_R"
    name: "SofarSolarMQTT_Natezenie_A_faza_R"
    unit_of_measurement: "A"
    device_class: current

    state_topic: "SofarSolarMQTT/Napiecie_V_faza_S"
    name: "SofarSolarMQTT_Napiecie_V_faza_S"
    unit_of_measurement: "V"
    device_class: voltage

    state_topic: "SofarSolarMQTT/Natezenie_A_faza_S"
    name: "SofarSolarMQTT_Natezenie_A_faza_S"
    unit_of_measurement: "A"
    device_class: current

    state_topic: "SofarSolarMQTT/Napiecie_V_faza_T"
    name: "SofarSolarMQTT_Napiecie_V_faza_T"
    unit_of_measurement: "V"
    device_class: voltage

    state_topic: "SofarSolarMQTT/Natezenie_A_faza_T"
    name: "SofarSolarMQTT_Natezenie_A_faza_T"
    unit_of_measurement: "A"
    device_class: current

    state_topic: "SofarSolarMQTT/Napięcie_V_string1"
    name: "SofarSolarMQTT_Napięcie_V_string1"
    unit_of_measurement: "V"
    device_class: voltage

    state_topic: "SofarSolarMQTT/Natezenie_A_string1"
    name: "SofarSolarMQTT_Natezenie_A_string1"
    unit_of_measurement: "A"
    device_class: current

    state_topic: "SofarSolarMQTT/Moc_kW_string1"
    name: "SofarSolarMQTT_Moc_kW_string1"
    unit_of_measurement: "kW"
    device_class: power

    state_topic: "SofarSolarMQTT/Wygenerowane_kW_Dzis"
    name: "SofarSolarMQTT_Wygenerowane_kW_Dzis"
    unit_of_measurement: "kWh"
    device_class: energy
    icon: mdi:counter

    state_topic: "SofarSolarMQTT/Suma_wygenerowanych_kW"
    name: "SofarSolarMQTT_Suma_wygenerowanych_kW"
    unit_of_measurement: "kWh"
    device_class: energy
    icon: mdi:counter

    state_topic: "SofarSolarMQTT/Temperatura_Radiatora"
    name: "SofarSolarMQTT_Temperatura_Radiatora"
    unit_of_measurement: "°C"
    device_class: temperature

    state_topic: "SofarSolarMQTT/Temperatura_Inwertera"
    name: "SofarSolarMQTT_Temperatura_Inwertera"
    unit_of_measurement: "°C"
    device_class: temperature

    state_topic: "SofarSolarMQTT/Rezystancja_izolacji"
    name: "SofarSolarMQTT_Rezystancja_izolacji"
    unit_of_measurement: "ohm" 

# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:
# Text to speech
tts:
  - platform: google_translate
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
sensor:
  - platform: time_date
    display_options:
      - 'date_time_iso'
  - platform: systemmonitor
    resources:
      - type: disk_use_percent
        arg: '/'
      - type: memory_use_percent
      - type: processor_use
      - type: network_in
        arg: enp4s0
      - type: network_out
        arg: enp4s0
      - type: last_boot
      - type: swap_use_percent
  - platform: template
    sensors:
      dom_aktualna_moc:
        device_class: power
        friendly_name: "Dom Aktualna moc"
        value_template: >-
          {{ ((states('sensor.electricity_meter_power_active_phase_1')|float + states('sensor.electricity_meter_power_active_phase_2')|float + states('sensor.electricity_meter_power_active_phase_3')|float))|round(0) }}
        unit_of_measurement: "W"
  - platform: template #Ciśnienie wody 1,4 bar = 1100 analog range
    sensors:
      cisnienie_wody_hydrofornia:
        friendly_name: Ciśnienie Wody hydrofornia
        unit_of_measurement: "bar"
        value_template: "{{(1.4*(states('sensor.czujniki_piec_co_analog_a0')) | float (0) / 1100) | round (2) }}"
  - platform: template #Ciśnienie wody2 1019 hPa = 164 analog range
    sensors:
      cisnienie_wody_hydrofornia2:
        friendly_name: Ciśnienie Wody hydrofornia2
        unit_of_measurement: "hPa"
        value_template: "{{(1*(states('sensor.depth_sensor_2')) | float (0) / 3)| round (2) }}"    
  - platform: template #głebokość wody tara
    sensors:
      woda_glebokosc_garaz_tara:
        friendly_name: Woda głębokość 1 karcher tara
        unit_of_measurement: 'l'
        value_template: "{{ (-1|float(0)| round(0) + states('sensor.cisnienie_wody_hydrofornia2')|float(0)| round(2) - states('sensor.dom_pressure')|float(0)| round(2)) | round(1)*10 }}"
  - platform: template #głebokość wody #przeliczamy ciśnienie na %(205 hpa to full)
    sensors:
      woda_glebokosc_garaz: 
        friendly_name: Woda głębokość 1 karcher
        unit_of_measurement: "%"
        value_template: "{{(37*(states('sensor.depth_sensor_2')) | float (0) / 1) | round (0) }}"        
  - platform: template #głebokość wody tara
    sensors:
      woda_glebokosc_garaz_tara2:
        friendly_name: Woda głębokość 1 karcher tara2
        unit_of_measurement: 'l'
        value_template: "{{(3700*(states('sensor.depth_sensor_2')) | float (0) / 1) | round (0) }}"  
###### SofarSolarMQTT lokalnie ######
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Frequency_Grid_Hz"
    name: "SofarSolarMQTT_Frequency_Grid"
    unit_of_measurement: "Hz"
    device_class: power
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Aktualna_generowana_moc_kW"
    name: "SofarSolarMQTT_Aktualna_generowana_moc_kW"
    unit_of_measurement: "kW"
    device_class: power
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Napiecie_V_faza_R"
    name: "SofarSolarMQTT_Napiecie_V_faza_R"
    unit_of_measurement: "V"
    device_class: voltage
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Natezenie_A_faza_R"
    name: "SofarSolarMQTT_Natezenie_A_faza_R"
    unit_of_measurement: "A"
    device_class: current
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Napiecie_V_faza_S"
    name: "SofarSolarMQTT_Napiecie_V_faza_S"
    unit_of_measurement: "V"
    device_class: voltage
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Natezenie_A_faza_S"
    name: "SofarSolarMQTT_Natezenie_A_faza_S"
    unit_of_measurement: "A"
    device_class: current
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Napiecie_V_faza_T"
    name: "SofarSolarMQTT_Napiecie_V_faza_T"
    unit_of_measurement: "V"
    device_class: voltage
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Natezenie_A_faza_T"
    name: "SofarSolarMQTT_Natezenie_A_faza_T"
    unit_of_measurement: "A"
    device_class: current
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Napięcie_V_string1"
    name: "SofarSolarMQTT_Napięcie_V_string1"
    unit_of_measurement: "V"
    device_class: voltage
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Natezenie_A_string1"
    name: "SofarSolarMQTT_Natezenie_A_string1"
    unit_of_measurement: "A"
    device_class: current
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Moc_kW_string1"
    name: "SofarSolarMQTT_Moc_kW_string1"
    unit_of_measurement: "kW"
    device_class: power
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Wygenerowane_kW_Dzis"
    name: "SofarSolarMQTT_Wygenerowane_kW_Dzis"
    unit_of_measurement: "kWh"
    device_class: energy
    icon: mdi:counter
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Suma_wygenerowanych_kW"
    name: "SofarSolarMQTT_Suma_wygenerowanych_kW"
    unit_of_measurement: "kWh"
    device_class: energy
    icon: mdi:counter
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Temperatura_Radiatora"
    name: "SofarSolarMQTT_Temperatura_Radiatora"
    unit_of_measurement: "°C"
    device_class: temperature
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Temperatura_Inwertera"
    name: "SofarSolarMQTT_Temperatura_Inwertera"
    unit_of_measurement: "°C"
    device_class: temperature
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Rezystancja_izolacji"
    name: "SofarSolarMQTT_Rezystancja_izolacji"
    unit_of_measurement: "ohm"
binary_sensor:
  - platform: ping
    host: 192.168.1.121 #adres ip falownika
    name: Falownik_Sofar
    count: 7
    scan_interval: 30
utility_meter:
  pv_produkcja_sloneczna:
    name: Produkcja z energii słonecznej
    source: sensor.SofarSolarMQTT_wygenerowane_kw_dzis
    cycle: yearly
  pv_uzycie_z_sieci:
    name: Użycie energii z sieci
    source: sensor.SofarSolarMQTT_dzienne_uzycie_energii_z_sieci
    cycle: yearly
  pv_produkcja_do_sieci:
    name: Produkcja do sieci
    source: sensor.SofarSolarMQTT_dzienna_produkcja_do_sieci
    cycle: yearly
http:
 base_url: https://xxxxxxxxxxxxxxxx.duckdns.org:8123
 ssl_certificate: /ssl/fullchain.pem
 ssl_key: /ssl/privkey.pem
recorder:
    purge_keep_days: 4
    purge_interval: 1
frontend:
  themes: !include_dir_merge_named themes
influxdb:
  host: xxxxxxxxxx
  port: 8086
  database: xxxxxxxxxxxx
  username: homeassistant
  password: xxxxxxxxxxxxxx
  max_retries: 3
  default_measurement: state

A do głownego dodać to i powinno działać. Dzięki za pomoc.

# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:
# Text to speech
tts:
  - platform: google_translate
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
sensor:
  - platform: time_date
    display_options:
      - 'date_time_iso'
  - platform: systemmonitor
    resources:
      - type: disk_use_percent
        arg: '/'
      - type: memory_use_percent
      - type: processor_use
      - type: network_in
        arg: enp4s0
      - type: network_out
        arg: enp4s0
      - type: last_boot
      - type: swap_use_percent
  - platform: template
    sensors:
      dom_aktualna_moc:
        device_class: power
        friendly_name: "Dom Aktualna moc"
        value_template: >-
          {{ ((states('sensor.electricity_meter_power_active_phase_1')|float + states('sensor.electricity_meter_power_active_phase_2')|float + states('sensor.electricity_meter_power_active_phase_3')|float))|round(0) }}
        unit_of_measurement: "W"
  - platform: template #Ciśnienie wody 1,4 bar = 1100 analog range
    sensors:
      cisnienie_wody_hydrofornia:
        friendly_name: Ciśnienie Wody hydrofornia
        unit_of_measurement: "bar"
        value_template: "{{(1.4*(states('sensor.czujniki_piec_co_analog_a0')) | float (0) / 1100) | round (2) }}"
  - platform: template #Ciśnienie wody2 1019 hPa = 164 analog range
    sensors:
      cisnienie_wody_hydrofornia2:
        friendly_name: Ciśnienie Wody hydrofornia2
        unit_of_measurement: "hPa"
        value_template: "{{(1*(states('sensor.depth_sensor_2')) | float (0) / 3)| round (2) }}"    
  - platform: template #głebokość wody tara
    sensors:
      woda_glebokosc_garaz_tara:
        friendly_name: Woda głębokość 1 karcher tara
        unit_of_measurement: 'l'
        value_template: "{{ (-1|float(0)| round(0) + states('sensor.cisnienie_wody_hydrofornia2')|float(0)| round(2) - states('sensor.dom_pressure')|float(0)| round(2)) | round(1)*10 }}"
  - platform: template #głebokość wody #przeliczamy ciśnienie na %(205 hpa to full)
    sensors:
      woda_glebokosc_garaz: 
        friendly_name: Woda głębokość 1 karcher
        unit_of_measurement: "%"
        value_template: "{{(37*(states('sensor.depth_sensor_2')) | float (0) / 1) | round (0) }}"        
  - platform: template #głebokość wody tara
    sensors:
      woda_glebokosc_garaz_tara2:
        friendly_name: Woda głębokość 1 karcher tara2
        unit_of_measurement: 'l'
        value_template: "{{(3700*(states('sensor.depth_sensor_2')) | float (0) / 1) | round (0) }}"  
###### SofarSolarMQTT lokalnie ######
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Frequency_Grid_Hz"
    name: "SofarSolarMQTT_Frequency_Grid"
    unit_of_measurement: "Hz"
    device_class: power
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Aktualna_generowana_moc_kW"
    name: "SofarSolarMQTT_Aktualna_generowana_moc_kW"
    unit_of_measurement: "kW"
    device_class: power
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Napiecie_V_faza_R"
    name: "SofarSolarMQTT_Napiecie_V_faza_R"
    unit_of_measurement: "V"
    device_class: voltage
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Natezenie_A_faza_R"
    name: "SofarSolarMQTT_Natezenie_A_faza_R"
    unit_of_measurement: "A"
    device_class: current
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Napiecie_V_faza_S"
    name: "SofarSolarMQTT_Napiecie_V_faza_S"
    unit_of_measurement: "V"
    device_class: voltage
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Natezenie_A_faza_S"
    name: "SofarSolarMQTT_Natezenie_A_faza_S"
    unit_of_measurement: "A"
    device_class: current
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Napiecie_V_faza_T"
    name: "SofarSolarMQTT_Napiecie_V_faza_T"
    unit_of_measurement: "V"
    device_class: voltage
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Natezenie_A_faza_T"
    name: "SofarSolarMQTT_Natezenie_A_faza_T"
    unit_of_measurement: "A"
    device_class: current
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Napięcie_V_string1"
    name: "SofarSolarMQTT_Napięcie_V_string1"
    unit_of_measurement: "V"
    device_class: voltage
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Natezenie_A_string1"
    name: "SofarSolarMQTT_Natezenie_A_string1"
    unit_of_measurement: "A"
    device_class: current
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Moc_kW_string1"
    name: "SofarSolarMQTT_Moc_kW_string1"
    unit_of_measurement: "kW"
    device_class: power
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Wygenerowane_kW_Dzis"
    name: "SofarSolarMQTT_Wygenerowane_kW_Dzis"
    unit_of_measurement: "kWh"
    device_class: energy
    icon: mdi:counter
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Suma_wygenerowanych_kW"
    name: "SofarSolarMQTT_Suma_wygenerowanych_kW"
    unit_of_measurement: "kWh"
    device_class: energy
    icon: mdi:counter
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Temperatura_Radiatora"
    name: "SofarSolarMQTT_Temperatura_Radiatora"
    unit_of_measurement: "°C"
    device_class: temperature
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Temperatura_Inwertera"
    name: "SofarSolarMQTT_Temperatura_Inwertera"
    unit_of_measurement: "°C"
    device_class: temperature
  - platform: mqtt
    state_topic: "SofarSolarMQTT/Rezystancja_izolacji"
    name: "SofarSolarMQTT_Rezystancja_izolacji"
    unit_of_measurement: "ohm"
binary_sensor:
  - platform: ping
    host: 192.168.1.121 #adres ip falownika
    name: Falownik_Sofar
    count: 7
    scan_interval: 30
utility_meter:
  pv_produkcja_sloneczna:
    name: Produkcja z energii słonecznej
    source: sensor.SofarSolarMQTT_wygenerowane_kw_dzis
    cycle: yearly
  pv_uzycie_z_sieci:
    name: Użycie energii z sieci
    source: sensor.SofarSolarMQTT_dzienne_uzycie_energii_z_sieci
    cycle: yearly
  pv_produkcja_do_sieci:
    name: Produkcja do sieci
    source: sensor.SofarSolarMQTT_dzienna_produkcja_do_sieci
    cycle: yearly
http:
 base_url: https://xxxxxxxxxxx.duckdns.org:8123
 ssl_certificate: /ssl/fullchain.pem
 ssl_key: /ssl/privkey.pem
recorder:
    purge_keep_days: 4
    purge_interval: 1
frontend:
  themes: !include_dir_merge_named themes
influxdb:
  host: xxxxxxxxxxxx
  port: 8086
  database: xxxxxxxxxxxx
  username: xxxxxxxxxxxx
  password: xxxxxxxxxxxxxxxxx
  max_retries: 3
  default_measurement: state

Wszystkie encje z platformy mqtt - nie tylko sofar (jeśli takie są).
Z tym podziałem na typy to nie jest obowiązkowo - po prostu tak sobie wymyśliłem.
Nie potrafię teraz uzasadnić, ale to pozwoliło mi przenosić cząstkowo.
Ktoś inny może podać inny podział.