Hargassner heating integration

Hey everyone,

I can confirm the integration works with 2023.1.1 :wink:

I have just updated to the latest release, Integration failed but restarted hassio one more time and it worked out well

Thank you!

Yes indeed, a couple of months ago I already updated the code to prepare for the changes in 2022.12 that lead to entities disappearing or not working anymore. If you have these issues, please download the latest code and restart HA, it should work just fine!

Hi together,
before my last firmware update from V14.0l to V14.0m5 (9 days ago) everything was fine (2023.4).
Maybe somebody can help.

Thank you!

Infos → Problem → Info → new msgformat

One of the Problems:
Logger: homeassistant.helpers.integration_platform
Source: loader.py:796
First occurred: 25. April 2023 um 09:54:58 (9 occurrences)
Last logged: 25. April 2023 um 20:53:14

Unexpected error importing nano_pk/media_source.py
Unexpected error importing nano_pk/intent.py
Unexpected error importing nano_pk/group.py
Unexpected error importing nano_pk/hardware.py
Unexpected error importing nano_pk/energy.py
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/helpers/integration_platform.py”, line 50, in _async_process_single_integration_platform_component
platform = integration.get_platform(platform_name)
File “/usr/src/homeassistant/homeassistant/loader.py”, line 779, in get_platform
cache[full_name] = self._import_platform(platform_name)
File “/usr/src/homeassistant/homeassistant/loader.py”, line 796, in _import_platform
return importlib.import_module(f"{self.pkg_path}.{platform_name}")
File “/usr/local/lib/python3.10/importlib/init.py”, line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “”, line 1050, in _gcd_import
File “”, line 1027, in _find_and_load
File “”, line 1004, in _find_and_load_unlocked
ModuleNotFoundError: No module named ‘custom_components.nano_pk-main.diagnostics’

Extract from Logging:
2023-04-17_13:28:26 KD=Hargassner
2023-04-17_13:28:26 KT=Nano.2(.3) 6 Plus
2023-04-17_13:28:26 SW=V14.0HAR.n6
2023-04-17_13:28:26 HW=V1.1.5
2023-04-17_13:28:26 UPDATEDATE=17.04.2023 07:50
2023-04-17_13:28:26 UPDATE=V14.0m5

New msgformat (10k oneliner):

Hi @GNMPFT,

you are the first one to report in with firmware V14.0m5, it is not supported yet. In order to change that, could you follow the steps in the docs and send me the DAQ file?

Cheers, Tobias

Hi Tobias,
thank you for your feedback. The file is ready but, I’m new in the forum and dont know how to send directly to you. :thinking:

Hi Tobias. Thank you for this. I am trying to get this to work with my Hargassner “HV20” which is on a much older firmware (V10.2d1) and a “Holzscheit” System and not a Pellet one. Nevertheless, it has a touch screen and IP, I enabled logging in the SD Card and got the format:

However, Homeassistant does not show any values. What can I do?

I have a Hargassner Internet Gateway and the App but it would be great to have the values in HA as well.

Thanks
Philip

siehe https://github.com/TheRealKillaruna/nano_pk/issues/9

Hi @ all, since today morning there are no entitys in my HA from Nano-PK, theyÂŽre all gone.

The thing is, there where no updates today morning or any other changes in de configuration, i have no idea, how can that be, the IP is also still the same.

Hi Philip,
I also have HV20 and try to integrate it in HA. Does your configuration.yaml work with this integration? I already get following error while checking configuration.yaml: Component error: nano_pk - Exception importing custom_components.nano_pk
Do you have an internet gateway?

Thanks and best regards
Martin

Hi @all,

i found an easy way for getting all information of hargassner heating without an integration. I have tested it for my HV20 and it works now since a few weeks without any problems. I have an internet gateway, don’t know if it also works without gateway, but i think so if your heating is connected to your network.
Hargassner is sending all information via telnet in your home network. You can read this information via TCP Sensor and telnet port 23. Here is an example for one Sensor in Yaml Configuration.

sensor:
  - platform: tcp
    host: 192.168.XXX.XX
    port: 23
    name: Puffertemperatur_oben
    scan_interval: 60
    payload: ""
    unit_of_measurement: "°C"
    value_template: '{{ value.split(" ") [4] }}'

For the number in the value template use the number of the Channel ID (from DAQ-File) and add 1. In the example above the channel ID from “Puffertemperatur_oben” is 3 therefore i used [4] in the value template.

Regards
Martin

Hello,
I have nano_pk model V14.0n3 . My integrations works well from february to the last week, with a custom msgformat. Now, no datas will recording (perharps since a HA update, i dont’ know). I can read datas with a python script.

  host: 192.168.1.116
  msgformat : "<DAQPRJ><ANALOG><CHANNEL id='0' name='ZK' dop='0'/><CHANNEL id='1' name='O2' unit='%'/><CHANNEL id='2' name='O2soll' unit='%'/><CHANNEL id='3' name='TK' unit='°C'/><CHANNEL id='4' name='TKsoll' unit='°C' dop='0'/><CHANNEL id='5' name='TRL' unit='°C'/><CHANNEL id='6' name='TRLsoll' unit='°C' dop='0'/><CHANNEL id='7' name='Spreizung' unit='°C'/><CHANNEL id='8' name='TRG' unit='°C'/><CHANNEL id='9' name='SZist' unit='%' dop='0'/><CHANNEL id='10' name='SZsoll' unit='%'/><CHANNEL id='11' name='TPo' unit='°C'/><CHANNEL id='12' name='TPm' unit='°C'/><CHANNEL id='13' name='TPu' unit='°C'/><CHANNEL id='14' name='Puff FĂŒllgrad' unit='%' dop='0'/><CHANNEL id='15' name='Puffer_soll oben' unit='°C' dop='0'/><CHANNEL id='16' name='Puffer_soll unten' unit='°C' dop='0'/><CHANNEL id='17' name='PuffZustand' dop='0'/><CHANNEL id='18' name='Höchste Anf' dop='0'/><CHANNEL id='19' name='TFW' unit='°C' dop='0'/><CHANNEL id='20' name='Leistung' unit='%' dop='0'/><CHANNEL id='21' name='ESsoll' unit='%'/><CHANNEL id='22' name='min.Leist.TRG' unit='%'/><CHANNEL id='23' name='max.Leist.TRG' unit='%'/><CHANNEL id='24' name='max.Leist.Fuell' unit='%'/><CHANNEL id='25' name='max.Leist.TPO' unit='%'/><CHANNEL id='26' name='ESRegler' unit='%' dop='0'/><CHANNEL id='27' name='Regler K'/><CHANNEL id='28' name='KeBrstScale' unit='%' dop='0'/><CHANNEL id='29' name='Programm' dop='0'/><CHANNEL id='30' name='Störungs Nr' dop='0'/><CHANNEL id='31' name='I Es' unit='mA' dop='0'/><CHANNEL id='32' name='I Ra' unit='mA' dop='0'/><CHANNEL id='33' name='I Aa' unit='mA' dop='0'/><CHANNEL id='34' name='I Sr' unit='mA' dop='0'/><CHANNEL id='35' name='I Rein' unit='mA' dop='0'/><CHANNEL id='36' name='LZ ES seit FĂŒll.' unit='Min' dop='0'/><CHANNEL id='37' name='LZ ES seit Ent.' unit='Min' dop='0'/><CHANNEL id='38' name='Anzahl Entasch.' dop='0'/><CHANNEL id='39' name='Anzahl SR Beweg.' dop='0'/><CHANNEL id='40' name='Lagerstand' unit='kg' dop='0'/><CHANNEL id='41' name='VerbrauchszĂ€hler' unit='kg' dop='0'/><CHANNEL id='42' name='Heiz P Lambda' unit='W' dop='2'/><CHANNEL id='43' name='Heiz U Lambda' unit='V' dop='2'/><CHANNEL id='44' name='Heiz I Lambda' unit='mA' dop='0'/><CHANNEL id='45' name='U_Lambda' unit='mV'/><CHANNEL id='46' name='U Netzteil' unit='mV' dop='0'/><CHANNEL id='47' name='T SpĂŒlung' unit='°C'/><CHANNEL id='48' name='BRT' unit='°C'/><CHANNEL id='49' name='Tplat' unit='°C' dop='0'/><CHANNEL id='50' name='TVG' unit='°C'/><CHANNEL id='51' name='TVG2' unit='°C'/><CHANNEL id='52' name='AIN17' unit='V'/><CHANNEL id='53' name='Taus' unit='°C'/><CHANNEL id='54' name='TA Gem.' unit='°C'/><CHANNEL id='55' name='Ext.HK Soll' unit='°C' dop='0'/><CHANNEL id='56' name='TVL_A' unit='°C'/><CHANNEL id='57' name='TVLs_A' unit='°C' dop='0'/><CHANNEL id='58' name='TRA_A' unit='°C'/><CHANNEL id='59' name='TRs_A' unit='°C'/><CHANNEL id='60' name='HKZustand_A' dop='0'/><CHANNEL id='61' name='FRA Zustand' dop='0'/><CHANNEL id='62' name='TVL_1' unit='°C'/><CHANNEL id='63' name='TVLs_1' unit='°C' dop='0'/><CHANNEL id='64' name='TRA_1' unit='°C'/><CHANNEL id='65' name='TRs_1' unit='°C'/><CHANNEL id='66' name='HKZustand_1' dop='0'/><CHANNEL id='67' name='FR1 Zustand' dop='0'/><CHANNEL id='68' name='TVL_2' unit='°C'/><CHANNEL id='69' name='TVLs_2' unit='°C' dop='0'/><CHANNEL id='70' name='TRA_2' unit='°C'/><CHANNEL id='71' name='TRs_2' unit='°C'/><CHANNEL id='72' name='HKZustand_2' dop='0'/><CHANNEL id='73' name='FR2 Zustand' dop='0'/><CHANNEL id='74' name='TVL_B' unit='°C'/><CHANNEL id='75' name='TVLs_B' unit='°C' dop='0'/><CHANNEL id='76' name='TRA_B' unit='°C'/><CHANNEL id='77' name='TRs_B' unit='°C'/><CHANNEL id='78' name='HKZustand_B' dop='0'/><CHANNEL id='79' name='FRB Zustand' dop='0'/><CHANNEL id='80' name='TBA' unit='°C'/><CHANNEL id='81' name='TBs_A' unit='°C' dop='0'/><CHANNEL id='82' name='TB1' unit='°C'/><CHANNEL id='83' name='TBs_1' unit='°C' dop='0'/><CHANNEL id='84' name='BoiZustand_1' dop='0'/><CHANNEL id='85' name='TBB' unit='°C'/><CHANNEL id='86' name='TBs_B' unit='°C' dop='0'/><CHANNEL id='87' name='HKR Anf' unit='°C'/><CHANNEL id='88' name='Anf. HKR0' unit='°C' dop='0'/><CHANNEL id='89' name='Anf. HKR1' unit='°C' dop='0'/><CHANNEL id='90' name='Anf. HKR2' unit='°C' dop='0'/><CHANNEL id='91' name='Anf. HKR3' unit='°C' dop='0'/><CHANNEL id='92' name='Anf. HKR4' unit='°C' dop='0'/><CHANNEL id='93' name='Anf. HKR5' unit='°C' dop='0'/><CHANNEL id='94' name='Anf. HKR6' unit='°C' dop='0'/><CHANNEL id='95' name='Anf. HKR7' unit='°C' dop='0'/><CHANNEL id='96' name='Anf. HKR8' unit='°C' dop='0'/><CHANNEL id='97' name='Anf. HKR9' unit='°C' dop='0'/><CHANNEL id='98' name='Anf. HKR10' unit='°C' dop='0'/><CHANNEL id='99' name='Anf. HKR11' unit='°C' dop='0'/><CHANNEL id='100' name='Anf. HKR12' unit='°C' dop='0'/><CHANNEL id='101' name='Anf. HKR13' unit='°C' dop='0'/><CHANNEL id='102' name='Anf. HKR14' unit='°C' dop='0'/><CHANNEL id='103' name='Anf. HKR15' unit='°C' dop='0'/></ANALOG><DIGITAL><CHANNEL id='0' bit='0' name='Störung'/><CHANNEL id='0' bit='1' name='Stb'/><CHANNEL id='0' bit='2' name='Fuellstand'/><CHANNEL id='0' bit='3' name='RLP/PuffP'/><CHANNEL id='0' bit='4' name='RLm_auf'/><CHANNEL id='0' bit='5' name='RLm_zu'/><CHANNEL id='0' bit='10' name='WS freig.'/><CHANNEL id='0' bit='11' name='Akt. Code'/><CHANNEL id='0' bit='14' name='FW Freig.'/><CHANNEL id='0' bit='15' name='gFlP'/><CHANNEL id='0' bit='16' name='gFlM auf'/><CHANNEL id='0' bit='17' name='gFlM zu'/><CHANNEL id='0' bit='18' name='gFl2P'/><CHANNEL id='0' bit='19' name='gFl2M auf'/><CHANNEL id='0' bit='20' name='gFl2M zu'/><CHANNEL id='1' bit='0' name='L Heiz.'/><CHANNEL id='1' bit='1' name='Z Heiz.'/><CHANNEL id='1' bit='2' name='Z Geb.'/><CHANNEL id='1' bit='3' name='AA Run'/><CHANNEL id='1' bit='4' name='AA Dir'/><CHANNEL id='1' bit='5' name='ES Run'/><CHANNEL id='1' bit='6' name='ES Dir'/><CHANNEL id='1' bit='7' name='AS Saug'/><CHANNEL id='1' bit='8' name='AS RA Run'/><CHANNEL id='1' bit='9' name='AS RA Dir'/><CHANNEL id='1' bit='10' name='Rein En'/><CHANNEL id='1' bit='11' name='Rein Run'/><CHANNEL id='1' bit='12' name='Es Rein Endl'/><CHANNEL id='1' bit='13' name='sAS Anf FĂŒll'/><CHANNEL id='2' bit='0' name='HKPA'/><CHANNEL id='2' bit='1' name='MAA'/><CHANNEL id='2' bit='2' name='MAZ'/><CHANNEL id='2' bit='3' name='HKP1'/><CHANNEL id='2' bit='4' name='M1A'/><CHANNEL id='2' bit='5' name='M1Z'/><CHANNEL id='2' bit='6' name='HKP2'/><CHANNEL id='2' bit='7' name='M2A'/><CHANNEL id='2' bit='8' name='M2Z'/><CHANNEL id='2' bit='9' name='HKP3'/><CHANNEL id='2' bit='10' name='M3A'/><CHANNEL id='2' bit='11' name='M3Z'/><CHANNEL id='2' bit='12' name='HKP4'/><CHANNEL id='2' bit='13' name='M4A'/><CHANNEL id='2' bit='14' name='M4Z'/><CHANNEL id='2' bit='15' name='HKP5'/><CHANNEL id='2' bit='16' name='M5A'/><CHANNEL id='2' bit='17' name='M5Z'/><CHANNEL id='2' bit='18' name='HKP6'/><CHANNEL id='2' bit='19' name='M6A'/><CHANNEL id='2' bit='20' name='M6Z'/><CHANNEL id='2' bit='21' name='HKPB'/><CHANNEL id='2' bit='22' name='MBA'/><CHANNEL id='2' bit='23' name='MBZ'/><CHANNEL id='3' bit='0' name='BPA'/><CHANNEL id='3' bit='1' name='BP1'/><CHANNEL id='3' bit='2' name='BP2'/><CHANNEL id='3' bit='3' name='BP3'/><CHANNEL id='3' bit='4' name='BPB'/><CHANNEL id='3' bit='5' name='BZPA'/><CHANNEL id='3' bit='6' name='BZP1'/><CHANNEL id='3' bit='7' name='BZP2'/><CHANNEL id='3' bit='8' name='BZP3'/><CHANNEL id='3' bit='9' name='BZPB'/><CHANNEL id='4' bit='0' name='Aschebox'/><CHANNEL id='4' bit='1' name='Netztrafo'/><CHANNEL id='4' bit='2' name='Netzrelais'/><CHANNEL id='4' bit='4' name='Lagerraum'/><CHANNEL id='4' bit='6' name='FLP'/><CHANNEL id='4' bit='8' name='ATW'/><CHANNEL id='4' bit='9' name='Entasch gesp.'/><CHANNEL id='4' bit='13' name='HKV'/><CHANNEL id='4' bit='14' name='SpĂŒlung Aktiv'/><CHANNEL id='6' bit='0' name='EHK Anf'/><CHANNEL id='6' bit='2' name='EHK Anf2'/><CHANNEL id='6' bit='3' name='EHK Anf3'/><CHANNEL id='6' bit='4' name='EHKP'/><CHANNEL id='6' bit='6' name='EHKP2'/><CHANNEL id='6' bit='7' name='EHKP3'/><CHANNEL id='6' bit='8' name='KASK1 MinLeist'/><CHANNEL id='6' bit='9' name='KASK2 MinLeist'/><CHANNEL id='6' bit='10' name='KASK3 MinLeist'/><CHANNEL id='6' bit='11' name='KASK4 MinLeist'/><CHANNEL id='6' bit='12' name='KASK1 MaxLeist'/><CHANNEL id='6' bit='13' name='KASK2 MaxLeist'/><CHANNEL id='6' bit='14' name='KASK3 MaxLeist'/><CHANNEL id='6' bit='15' name='KASK4 MaxLeist'/><CHANNEL id='6' bit='16' name='KASK1 Run'/><CHANNEL id='6' bit='17' name='KASK2 Run'/><CHANNEL id='6' bit='18' name='KASK3 Run'/><CHANNEL id='6' bit='19' name='KASK4 Run'/><CHANNEL id='6' bit='20' name='KASK1 OK'/><CHANNEL id='6' bit='21' name='KASK2 OK'/><CHANNEL id='6' bit='22' name='KASK3 OK'/><CHANNEL id='6' bit='23' name='KASK4 OK'/><CHANNEL id='6' bit='24' name='Kask KWK Out'/><CHANNEL id='6' bit='25' name='Kask FW Out'/><CHANNEL id='6' bit='26' name='KASK KWK OK'/><CHANNEL id='6' bit='27' name='KASK FW OK'/><CHANNEL id='7' bit='0' name='DReg P2'/><CHANNEL id='7' bit='1' name='DReg P3'/><CHANNEL id='7' bit='2' name='DReg Mi auf'/><CHANNEL id='7' bit='3' name='DReg Mi zu'/><CHANNEL id='7' bit='5' name='DReg2 P2'/><CHANNEL id='7' bit='6' name='DReg2 Mi auf'/><CHANNEL id='7' bit='7' name='DReg2 Mi zu'/><CHANNEL id='7' bit='9' name='DReg3 P2'/><CHANNEL id='7' bit='10' name='DReg3 P3'/><CHANNEL id='7' bit='11' name='DReg3 Mi auf'/><CHANNEL id='7' bit='12' name='DReg3 Mi zu'/></DIGITAL></DAQPRJ>"
  devicename: Nano-PK
  parameters: FULL
  language: EN 

HA log says : ------------------------------------

ValueError: Sensor sensor.nano_pk_boiler_state has device class 'None', state class 'measurement' unit 'None' and suggested precision 'None' thus indicating it has a numeric value; however, it has the non-numeric value: 'Off' (<class 'str'>)

Telnet : -------------------------------------

Trying 192.168.1.116...
Connected to 192.168.1.116.
Escape character is '^]'.
pm 1 1.2 7.5 25.1 0 26.5 35 9 30.9 0 0 120 120 120 100 0 0 0 0 125 0 0 30 100 100 100 56 88.2 100 2 0 9 3 0 0 0 0 0 0 1136 0 955 0.00 0.00 -4 50.7 24081 140.0 106.3 28 -20.0 -20.0 0.0 22.0 21.6 0 -20.0 0 20.0 20.0 0 1 21.4 0 20.0 20.0 0 1 21.7 0 20.0 20.0 0 4 -20.0 0 20.0 20.0 0 1 -20.0 0 58.6 0 0 -20.0 0 0.0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 1 0 0 0

Any idea how to debug this ?

Thanks,

Regards,

Steve

Hi @S.Albrecht,
this happened with the latest HA update. Apparently, there were some changes about how sensors are handled. I will look into this in the next days and hopefully fix it soon. If anybody is looking into this earlier, please let me know your findings.
Cheers, Tobias

1 Like

Thanks. If you are looking a tester, i’m here.

I have just uploaded a fix for the sensor problems to Github. Everything now works as it should again for me. Please update your integrations and let me know in case you still encounter any issues.

After the changes you uploaded, I get a different but similar error:

homeassistant-homeassistant-1  | ValueError: Sensor sensor.nano_pk_stb has device class 'None', state class 'measurement' unit '' and suggested precision 'None' thus indicating it has a numeric value; however, it has the non-numeric value: 'True' (<class 'str'>)

Hi @niklasarnitz, what is that sensor supposed to show? It’s not part of the standard set, is it? Do you use the full set? I have to admit I haven’t tested that, and probably need to apply the same fixes to the non-numerical sensors in there


Thanks for your fix, it’s a other message now.

ValueError: Sensor sensor.nano_pk_boiler_state has a unit of measurement and thus indicating it has a numeric value; however, it has the non-numeric device class: enum
2023-06-23 19:26:52.829 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up nano_pk platform for sensor

Hi there,
I have the same error as STEVE:

2023-06-29 18:37:36.873 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up nano_pk platform for sensor
ValueError: Sensor sensor.nano_pk_boiler_state has a unit of measurement and thus indicating it has a numeric value; however, it has the non-numeric device class: enum

Bei mir der selbe Fehler Code.

I have no parameters or states are all set to unknown with the Home Assistant Version 2023.6.3, Supervisor 2023.06.4 and Operating System 10.3?
Have been using it since 2022 and haven’t changed anything. The last sensor.py is installed. Please help?