Package: pysolarfocus
pysolarfocusPython client forSolarfocusecomanager-touchvia Modbus TCPTable of ContentsAboutSupported Solarfocus Software and HardwareHow ToInstallationBasic ExampleHandling multiple componentsConveniently set modesAPI-Version specificationChangelog of API-VersionsAboutPython client library to interact with heating systems ofSolarfocus(ecomanager-touch) via Modbus TCP. This library has been developed for the integration intoHome-Assistantvia acustom integration, but can be used indepdently.WarningUse with caution, in case of doubt check with Solarfocus or your installer if a feature / functionality (e.g. cooling) is supported by your installation to avoid damages to your heating system or the building.Supported Solarfocus Software and HardwareSoftwareImportantThis integration has been tested with Solarfocus ecomanager-touchversion23.020.Supported versions:21.140-23.020. Features added in later versions are not yet supported.The ecomanager-touchModbus TCP specification can be foundhere.HardwareThe ecomanager-touchcan integrate the following heating systemsVampairheat pumpsTherminnatorbiomass boilersEcotoplight/ Ecotopzerobiomass boilersOctoplusbiomass boilersPellettopbiomass boilersComponentsSupportedHeating Circuit 1 - 8 (Heizkreis):white_check_mark:Buffer 1 - 4 (Puffer):white_check_mark:Solar (Solar):white_check_mark:Boiler 1 - 4 (Boiler):white_check_mark:Heat Pump (Wärmepumpe):white_check_mark:Biomass Boiler (Kessel):white_check_mark:Fresh Water Module 1 - 4 (Frischwassermodul):white_check_mark:How ToInstallation$ pip3 install pysolarfocusBasic ExamplefrompysolarfocusimportSolarfocusAPI,Systems,ApiVersions# Create the Solarfocus API clientsolarfocus=SolarfocusAPI(ip="solarfocus",# adapt IP-Addresssystem=Systems.VAMPAIR,# for biomass boiler change to Systems.THERMINATOR / ECOTOPapi_version=ApiVersions.V_23_020)# select Solarfocus versionsolarfocus.connect()# Fetch the valuessolarfocus.update()# Print the valuesprint(solarfocus)print(solarfocus.heating_circuits[0])Output:--------------------------------------------------
SolarfocusAPI, v3.6.4
--------------------------------------------------
+ API Version: 23.020
+ System: Vampair
+ Components:
  + Heat pump: True
  + Biomass boiler: False
  + Heating circuit: 1
  + Buffer: 1
  + Boiler: 1
  + Fresh water module: 1
  + Solar: False
  + Photovoltaic: False
--------------------------------------------------


============
HeatingCircuit
============
---Input:
supply_temperature| raw:258 scaled:25.8
room_temperature| raw:222 scaled:22.2
humidity| raw:480 scaled:48.0
limit_thermostat| raw:1 scaled:1
circulator_pump| raw:1 scaled:1
mixer_valve| raw:34 scaled:34
state| raw:12 scaled:12
---Holding:
target_supply_temperature | raw:0 scaled:0.0
cooling | raw:0 scaled:0
mode | raw:0 scaled:0
target_room_temperatur | raw:0 scaled:0.0
indoor_temperatur_external | raw:222 scaled:22.2
indoor_humidity_external | raw:480 scaled:48.0Handling multiple componentsSolarfocus systems allow the use of multiple heating circuits, buffers, boilers, and fresh water modules. The api can be configured to interact with multiple components.# Create the Solarfocus API client with 2 Heating Circuitssolarfocus=SolarfocusAPI(ip="[Your-IP]",heating_circuit_count=2,system=Systems.VAMPAIR)# Connect to the heating systemsolarfocus.connect()# Update all heating circuitssolarfocus.update_heating()# Update only the first heating circuitsolarfocus.heating_circuits[0].update()# Print the first heating circuitprint(solarfocus.heating_circuits[0])# Set the temperature of the first heating circuit to 30°Csolarfocus.heating_circuits[0].indoor_temperatur_external.set_unscaled_value(30)# Write the value to the heating systemsolarfocus.heating_circuits[0].indoor_temperatur_external.commit()Convenitently set modesControl the heating system by setting modes using the provided classes# Without convenience methodsolarfocus.heating_circuits[0].mode.set_unscaled_value(0)solarfocus.heating_circuits[0].mode.commit()# RECOMMENDED: Uitilizing convenience methods for modessolarfocus.set_heating_circuit_mode(0,HeatingCircuitMode.ALWAYS_ON)API-Version specificationBy default, the integration uses API-Version21.140. If your system is newer, you can specify
the version by using theapi_versionparameter.solarfocus=SolarfocusAPI(ip="[Your-IP]",system=Systems.VAMPAIR,api_version=ApiVersions.V_23_020)You can find the API-Version displayed in the header of the screen of your Solarfocus system:Changelog of API-VersionsNoteThe API-Version of Solarfocus is independent of the versions of this library. Below list refers to to
the Solarfocus versions. Seereleasesfor the changelog
of this library.23.020Add fresh water module state.23.010Add biomass boiler pellet statistics.22.090Add biomass boiler sweep function control.Allow input of external buffer values.