[NEW] Solvis Heating Devices Integraion

Hi everyone,
I stumbled across few threads, that have a Solvis Ben or Solvis Max (central heating). I now added an integration for the newer SC3 controll. If you can please test and report. Let me know, what you think.

LarsK1/hass_solvis_control: Solvis Control Integration for HomeAssistant (github.com)

Thanks for your feedback!

Addition:
since the Modbus integration doesn’t delivery to much data, I’m currently trying to reverse-engineer the SolvisPortal, which is based on GraphQL…

1 Like

Hi Lars,

Thx for this integration. Any luck on reverse engineering part of the solvis website?

Hi,
sorry for the late reply. Yes I do have a working code, but didn’t had time to create a home assistent plugin yet.

That sounds amazing, thank you for your time, you invested in that!
I am also highly interested in the portal part! If you don’t have time to bake it into a plugin, can you maybe at least push it to GitHub?
I tried to make sense of the portal, but my knowledge was simply too small and I gave up due to a lack of time.

Here you go:
it’s not working to bad. But it’s not a plugin for HA
LarsK1/solvis_remote_control

Hi,
I used the great work from GollmerSt, who has written an application, that transfers the values via MQTT.
SolvisSmartHomeServer
Attention: description in german.

As there ist no HA autodiscovery implemented, I configured all entities manually in a YAML.
If anyone is interrested, I can share my code the reduce the massive effort for others.
Joerg

Which system do you have? I have a Ben Max SC3, and I would like to get that code if possible. I’ve been working with the Modbus code, but most of the time, it doesn’t work as expected.”

I do have a SolvisMax6.

sensor:
  - name: "I1:Anlagentyp"
    state_topic: "SolvisSmartHomeServer/mySolvis/I1:Anlagentyp/data"
    unique_id: "I1:Anlagentyp"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "I2:Systemnummer"
    state_topic: "SolvisSmartHomeServer/mySolvis/I2:Systemnummer/data"
    unique_id: "I2:Systemnummer"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "S01:Warmwasserpuffer"
    state_topic: "SolvisSmartHomeServer/mySolvis/S01:Warmwasserpuffer/data"
    suggested_display_precision: 1
    unit_of_measurement: "°C"
    unique_id: "S01:Warmwasserpuffer"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "S02:Warmwassertemperatur"
    state_topic: "SolvisSmartHomeServer/mySolvis/S02:Warmwassertemperatur/data"
    suggested_display_precision: 1
    unit_of_measurement: "°C"
    unique_id: "S02:Warmwassertemperatur"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "S03:Speicherreferenztemperatur"
    state_topic: "SolvisSmartHomeServer/mySolvis/S03:Speicherreferenztemperatur/data"
    suggested_display_precision: 1
    unit_of_measurement: "°C"
    unique_id: "S03:Speicherreferenztemperatur"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "S04:Heizungspuffertemperatur_oben"
    state_topic: "SolvisSmartHomeServer/mySolvis/S04:Heizungspuffertemperatur_oben/data"
    suggested_display_precision: 1
    unit_of_measurement: "°C"
    unique_id: "S04:Heizungspuffertemperatur_oben"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "S05:Solarvorlauftemperatur"
    state_topic: "SolvisSmartHomeServer/mySolvis/S05:Solarvorlauftemperatur/data"
    suggested_display_precision: 1
    unit_of_measurement: "°C"
    unique_id: "S05:Solarvorlauftemperatur"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "S06:Solarruecklauftemperatur"
    state_topic: "SolvisSmartHomeServer/mySolvis/S06:Solarruecklauftemperatur/data"
    suggested_display_precision: 1
    unit_of_measurement: "°C"
    unique_id: "S06:Solarruecklauftemperatur"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "S07:Solardruck"
    state_topic: "SolvisSmartHomeServer/mySolvis/S07:Solardruck/data"
    suggested_display_precision: 1
    unique_id: "S07:Solardruck"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "S08:Solarkollektortemperatur"
    state_topic: "SolvisSmartHomeServer/mySolvis/S08:Solarkollektortemperatur/data"
    suggested_display_precision: 1
    unit_of_measurement: "°C"
    unique_id: "S08:Solarkollektortemperatur"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "S09:Heizungspuffertemperatur_unten"
    state_topic: "SolvisSmartHomeServer/mySolvis/S09:Heizungspuffertemperatur_unten/data"
    suggested_display_precision: 1
    unit_of_measurement: "°C"
    unique_id: "S09:Heizungspuffertemperatur_unten"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "S10:Aussentemperatur"
    state_topic: "SolvisSmartHomeServer/mySolvis/S10:Aussentemperatur/data"
    suggested_display_precision: 1
    unit_of_measurement: "°C"
    unique_id: "S10:Aussentemperatur"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "S11:ZirkulationRuecklauftemperatur"
    state_topic: "SolvisSmartHomeServer/mySolvis/S11:ZirkulationRuecklauftemperatur/data"
    suggested_display_precision: 1
    unit_of_measurement: "°C"
    unique_id: "S11:ZirkulationRuecklauftemperatur"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "S12:Vorlauftemperatur_HK1"
    state_topic: "SolvisSmartHomeServer/mySolvis/S12:Vorlauftemperatur_HK1/data"
    suggested_display_precision: 1
    unit_of_measurement: "°C"
    unique_id: "S12:Vorlauftemperatur_HK1"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "S13:Vorlauftemperatur_HK2"
    state_topic: "SolvisSmartHomeServer/mySolvis/S13:Vorlauftemperatur_HK2/data"
    suggested_display_precision: 1
    unit_of_measurement: "°C"
    unique_id: "S13:Vorlauftemperatur_HK2"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "S17:Durchfluss_Solarpanel"
    state_topic: "SolvisSmartHomeServer/mySolvis/S17:Durchfluss_Solarpanel/data"
    suggested_display_precision: 1
    unit_of_measurement: "l/h"
    unique_id: "S17:Durchfluss_Solarpanel"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "S18:Durchfluss_Warmwasserzirkulation"
    state_topic: "SolvisSmartHomeServer/mySolvis/S18:Durchfluss_Warmwasserzirkulation/data"
    suggested_display_precision: 1
    unit_of_measurement: "l/h"
    unique_id: "S18:Durchfluss_Warmwasserzirkulation"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "RF1:Raumfuehler_HK1"
    state_topic: "SolvisSmartHomeServer/mySolvis/RF1:Raumfuehler_HK1/data"
    suggested_display_precision: 1
    unit_of_measurement: "°C"
    unique_id: "RF1:Raumfuehler_HK1"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "A01:Pumpe_Solar"
    state_topic: "SolvisSmartHomeServer/mySolvis/A01:Pumpe_Solar/data"
    unique_id: "A01:Pumpe_Solar"
    unit_of_measurement: "%"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "A02:Pumpe_Warmwasser"
    state_topic: "SolvisSmartHomeServer/mySolvis/A02:Pumpe_Warmwasser/data"
    unique_id: "A02:Pumpe_Warmwasser"
    unit_of_measurement: "%"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "A03:Pumpe_HK1"
    state_topic: "SolvisSmartHomeServer/mySolvis/A03:Pumpe_HK1/data"
    unique_id: "A03:Pumpe_HK1"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "A05:Pumpe_Warmwasserzirkulation"
    state_topic: "SolvisSmartHomeServer/mySolvis/A05:Pumpe_Warmwasserzirkulation/data"
    unique_id: "A05:Pumpe_Warmwasserzirkulation"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "A08:Mischer_HK1_auf"
    state_topic: "SolvisSmartHomeServer/mySolvis/A08:Mischer_HK1_auf/data"
    unique_id: "A08:Mischer_HK1_auf"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "A09:Mischer_HK1_zu"
    state_topic: "SolvisSmartHomeServer/mySolvis/A09:Mischer_HK1_zu/data"
    unique_id: "A09:Mischer_HK1_zu"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "A12:Brenner"
    state_topic: "SolvisSmartHomeServer/mySolvis/A12:Brenner/data"
    unique_id: "A12:Brenner"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "A14:Entstoerung"
    state_topic: "SolvisSmartHomeServer/mySolvis/A14:Entstoerung/data"
    unique_id: "A14:Entstoerung"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "SE:Solarertrag_kWh"
    state_topic: "SolvisSmartHomeServer/mySolvis/SE:Solarertrag_kWh/data"
    unique_id: "SE:Solarertrag_kWh"
    unit_of_measurement: "kWh"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "SL:Solarleistung_kW"
    state_topic: "SolvisSmartHomeServer/mySolvis/SL:Solarleistung_kW/data"
    unique_id: "SL:Solarleistung_kW"
    unit_of_measurement: "kW"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "X01:BrennerStarts"
    state_topic: "SolvisSmartHomeServer/mySolvis/X01:BrennerStarts/data"
    unique_id: "X01:BrennerStarts"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "X02:BrennerLaufzeit_s"
    state_topic: "SolvisSmartHomeServer/mySolvis/X02:BrennerLaufzeit_s/data"
    unique_id: "X02:BrennerLaufzeit_s"
    unit_of_measurement: "s"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "X05:BrennerStatus"
    state_topic: "SolvisSmartHomeServer/mySolvis/X05:BrennerStatus/data"
    unique_id: "X05:BrennerStatus"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "X06:UhrzeitSolvis"
    state_topic: "SolvisSmartHomeServer/mySolvis/X06:UhrzeitSolvis/data"
    unique_id: "X06:UhrzeitSolvis"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "X07:MischerPosition0_HK1"
    state_topic: "SolvisSmartHomeServer/mySolvis/X07:MischerPosition0_HK1/data"
    unique_id: "X07:MischerPosition0_HK1"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "X09:LaufzeitSolarpumpe_s"
    state_topic: "SolvisSmartHomeServer/mySolvis/X09:LaufzeitSolarpumpe_s/data"
    unique_id: "X09:LaufzeitSolarpumpe_s"
    unit_of_measurement: "s"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "C01:StartsBrenner"
    state_topic: "SolvisSmartHomeServer/mySolvis/C01:StartsBrenner/data"
    unique_id: "C01:StartsBrenner"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "C02:LaufzeitBrenner"
    state_topic: "SolvisSmartHomeServer/mySolvis/C02:LaufzeitBrenner/data"
    unique_id: "C02:LaufzeitBrenner"
    unit_of_measurement: "h"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "C05:WassertemperaturSoll"
    state_topic: "SolvisSmartHomeServer/mySolvis/C05:WassertemperaturSoll/data"
    suggested_display_precision: 1
    unit_of_measurement: "°C"
    unique_id: "C05:WassertemperaturSoll"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "C06:Anlagenmodus_HK1"
    state_topic: "SolvisSmartHomeServer/mySolvis/C06:Anlagenmodus_HK1/data"
    unique_id: "C06:Anlagenmodus_HK1"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "C07:Tagestemperatur_HK1"
    state_topic: "SolvisSmartHomeServer/mySolvis/C07:Tagestemperatur_HK1/data"
    suggested_display_precision: 1
    unit_of_measurement: "°C"
    unique_id: "C07:Tagestemperatur_HK1"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "C08:Nachttemperatur_HK1"
    state_topic: "SolvisSmartHomeServer/mySolvis/C08:Nachttemperatur_HK1/data"
    suggested_display_precision: 1
    unit_of_measurement: "°C"
    unique_id: "C08:Nachttemperatur_HK1"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "C09:TemperaturFeineinstellung_HK1"
    state_topic: "SolvisSmartHomeServer/mySolvis/C09:TemperaturFeineinstellung_HK1/data"
    suggested_display_precision: 1
    unique_id: "C09:TemperaturFeineinstellung_HK1"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "C10:Raumeinfluss_HK1"
    state_topic: "SolvisSmartHomeServer/mySolvis/C10:Raumeinfluss_HK1/data"
    suggested_display_precision: 1
    unit_of_measurement: "%"
    unique_id: "C10:Raumeinfluss_HK1"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "C11:Vorlauf_Soll_HK1"
    state_topic: "SolvisSmartHomeServer/mySolvis/C11:Vorlauf_Soll_HK1/data"
    suggested_display_precision: 1
    unit_of_measurement: "°C"
    unique_id: "C11:Vorlauf_Soll_HK1"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "C24:LaufzeitSolarpumpe"
    state_topic: "SolvisSmartHomeServer/mySolvis/C24:LaufzeitSolarpumpe/data"
    suggested_display_precision: 1
    unit_of_measurement: "h"
    unique_id: "C24:LaufzeitSolarpumpe"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "C26:Warmwasserzirkulation_Puls"
    state_topic: "SolvisSmartHomeServer/mySolvis/C26:Warmwasserzirkulation_Puls/data"
    unique_id: "C26:Warmwasserzirkulation_Puls"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "C27:Warmwasserzirkulation_Zeit"
    state_topic: "SolvisSmartHomeServer/mySolvis/C27:Warmwasserzirkulation_Zeit/data"
#    suggested_display_precision: 1
    unique_id: "C27:Warmwasserzirkulation_Zeit"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "C28:WW_Pumpe_Min_Laufzeit"
    state_topic: "SolvisSmartHomeServer/mySolvis/C28:WW_Pumpe_Min_Laufzeit/data"
    suggested_display_precision: 1
    unit_of_measurement: "s"
    unique_id: "C28:WW_Pumpe_Min_Laufzeit"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "C29:BetriebsartVT_HK1"
    state_topic: "SolvisSmartHomeServer/mySolvis/C29:BetriebsartVT_HK1/data"
    suggested_display_precision: 1
    unique_id: "C29:BetriebsartVT_HK1"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "C30:Steilheit_HK1"
    state_topic: "SolvisSmartHomeServer/mySolvis/C30:Steilheit_HK1/data"
    suggested_display_precision: 1
    unique_id: "C30:Steilheit_HK1"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "C31:Fix_Vorlauf_Tag_HK1"
    state_topic: "SolvisSmartHomeServer/mySolvis/C31:Fix_Vorlauf_Tag_HK1/data"
    suggested_display_precision: 1
    unit_of_measurement: "°C"
    unique_id: "C31:Fix_Vorlauf_Tag_HK1"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "C32:Fix_Vorlauf_Absenk_HK1"
    state_topic: "SolvisSmartHomeServer/mySolvis/C32:Fix_Vorlauf_Absenk_HK1/data"
    suggested_display_precision: 1
    unit_of_measurement: "°C"
    unique_id: "C32:Fix_Vorlauf_Absenk_HK1"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"
  - name: "C33:Min_Vorlauf_Temp_HK1"
    state_topic: "SolvisSmartHomeServer/mySolvis/C33:Min_Vorlauf_Temp_HK1/data"
    suggested_display_precision: 1
    unit_of_measurement: "°C"
    unique_id: "C33:Min_Vorlauf_Temp_HK1"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"

switch:
  - name: "C04:WarmwasserPumpe"
    command_topic: "SolvisSmartHomeServer/mySolvis/C04:WarmwasserPumpe/cmnd"
    state_topic: "SolvisSmartHomeServer/mySolvis/C04:WarmwasserPumpe/data"
    unique_id: "C04:WarmwasserPumpe"
    device:
      name: "SolvisMax6"
      manufacturer: "Solvis"
      model: "SolvisMax6"
      identifiers:
        - "26"

Works great.
If you want to control the Solvis, you can also add the command topics for the appropriate entities.

Have fun
Joerg