Paradigma SystaComfort II anyone?

Hey guys,
have you been successful in retrieving meaningful data out of your systacomfort ii? I am wondering because the data format sent to the paradigma portal is different with every new software version. I was not able to get meaningful data out of the string being sent, also by using the perl script from above link is providing strange numbers (negative values). I would be very much interested if someone had the same issues and was able to adjust the existing script or even better inventing it from zero?

it’s been around three years since I got the Perl script running and it has been very stable since. I can remember that I spent some time cross-checking the values and trying to find out their meaning. For example, I think the original author of the script didn’t have a solar collector, so there was some work on this end.
I updated the Paradigma software one or two times since 2015 and it didn’t have any effect on the script output. When it comes to reading out data from SystaComfort I would stick with the script and not reinvent the wheel.
High on my list is (still) to emulate the protocol of the s-touch app so you can change the heating program automatically from openhab. Hoping for a long productive winter night…

Hi Beluga,
that sounds great. Let me share my setup to better understand if there are major differences in the HW/SW setup.
I spent many hours in debugging without a success,

Software Version: V1.20 22.10.15
Hardware: 1.4
Basis System: V0.28

It would be very interesting if this is equal to your system.
Looking forward hearing back from you.

the s-touch App reports as follows:

  • Software Version: 1.22 22.2.16
  • Hardware: unknown
  • Basis-System: V0.30

Doesn’t look like much of a difference.

That looks promising. As of now I have only seen older HW Versions where the Script was successfully collecting Data. Would it be possible that you share your modified Perl Script ?

I’m actually using the original script version 0.0.5 without any changes. My “work” with the script was more about deciding which data to extract for further processing. No magic.

Which problems exactly are you facing? Is the script producing output? PNGs?

thats funny. when I use the original 0.0.5 file shows the follwing, and no PNGs are written.
16:54 TAG 70
16:54 TAG 70

When I comment line 128 (# return 0 unless $a[16] == 0x68; # we’re only interested in the actual data)
PNG´s are created with strange values… shows:
16:57 -1000061109-1973199161999999999999999999999999-776404246-870094243-1190985427-141470632399999999-12544700879999-19820176549999-665464525-12696890-136863549599999999-444992273999999999999-1488694493-230576894-1776717899999999999999999-7249723149999-2055770140-160013066099999999-154598872799999999999999999999999999999999-2084320186-665986283-20750173719999-1440656179-709298255-3812534149999-11657710009999999999999999-578775699999999-1813307140-811634831-1445172693-629813113-186698066-260143200999999999999-1649750427-1703356167-263664760-2726585239999-1256769652-12728662099999-2134769380999999999999-2306817379999-1972393211-107239671399999999-9478067679999-1157911698-2066890465-1470930701-787878152-566889706-1304488361-1118974623-163494734599999999-11576775709999-9217240109999-1438828447-21147124639999-1689480145-9413165869999999999999999-1785456013-10832721379999-18167200119999-10362198469999-2576828059999-8459436579999-155494940-132564175-58356546899999999-1329092115-1399759129-694788018-15106409989999-2075084698-10599931409999-2108935989-189060594899999999-4312387569999-115511522-3162262059999999999999999-16803078349999-150016478499999999-79410125299999999-662903090-837622477-33531628899999999-1054853442-259921387-191487642399999999-17508535669999-581035861-649566643-1336980603-1491004608-936962199-2282415569999-14095313639999999999999999-1974364080-6625905399999-20958417779999-8904611169999-1691118942-16354707319999-2341886369999-124808388499999999-1045640711-595321200-1000394815-192890967-3312175969999-851999306-13930308009999-1420845589999999999999-1025219555-161307072999999999-20865146449999999999999999-1875276789-126673754599999999-1379843737-732346286999999999999-496209949-1142957417-2705832629999-2083669472-2072003016-1291083259999-1540483050-19472744579999-12954574129999-1502102985-114732610999999999999-58465244899999999999999999999999999999999-1487283063
16:58 TAG 70

I tried figuring out what is so different on my sytem compared to others, but did not succeed. I am really wondering about the strange high and nagative values.what the hack is going on :slight_smile:

Did you eventually update the counter offset ($CounterOffset = 0x3FBF;) or line 128 in your script?

Hm, my line 128 says something else and the return statement you uncommented has a different condition:

return 0 unless $a[16] == 0x01;

Where have you downloaded the script from? Mine is from here:

yip I used the server from this ftp share. I did it once more still with the same resul - too bad.

I am not sure if my rasperry running the dhcp server as well the script sends the correct answers back to the systacomfort…
Looking at the interface at the heating the screen says:

Statsus Systa Web: keine Verbindung

when I connect the sytacomfort directly with my router it says “verbunden”.
May I ask you to check what the status of your system says ? This would give me an idea that somthing is not correct with my setup…
thanks a million in advance.

Status SystaWeb: nicht aktiviert

I don’t understand how your file can be different from mine, when we have the same source.

thanks beluga for this info. Apparently the systaweb info on the interface is notof any importance.

I am wondering why its not working here, because others having a lower version it seems to work, and yours is slightly newer…and also works. what is the magic on my setup…

I am not sure if an additional component might screw up the script, that is the only thing I could imagine.

Let me shortly share what is my Hardware setup connected to the Systacomfort II:

  • SystaExpresso II (Frischwasserregler)
  • SystaSolar Aqua II (Solarregler)
  • Paradigma Gassbrennwert System

I did disconnect the SystaExpresso from power to exclude this as the gulity part. without sucess…
I also did download the original scripts from vdr portal…again without any modications to it. Running the script only updates the file with always the same TAG entry. No jpgs are written …
Running a tcpdump I can see traffic every 1 min being sent from systacomfort. for now I am almost lost.

Have you read through the entire thread of the VDR-Portal where the script was originally posted? Page 11 ff. looks pretty much like your situation:

Thank you very much Beluga for all your input and ideas.

I went through the entire blog and tried every single change……I have the odd feeling that the data sent from my systacomfort II to paradigma is somehow encrypted.

I have tried verifying all the packets being sent and they are looking completely different to any examples posted in the forum.

Packets 8-55 are always the same (not 8-15 as in the script), after packet 55 the mystery begins. No chance to validate a meaningful pattern on the data being sent.

It’s a pity that I can not get the data from my heating system without paying the manufacture.

I had the heating system connected for a year to systaweb but it’s not worth spending that much money for my own data.

short update, after I can check now on the portal from paradigma, systaweb is telling me that the communication is encrypted which underlines why the nice script can not retrieve meaningful data.
For all out there, this is my config - apparently encrypted, not sure why its not for “belugas” system which is a little newer…

Software Version: V1.20 22.10.15
Hardware: 1.4
Basis System: V0.28

so short,

Hi, still looking for a way to let Openhab switch heating programs? It’s been a long summer :wink: but I got it working now. Currently, I can switch between two heating programs using a little Java program that emulates the S-Touch App.

This is just to check if there is sufficient interest in this topic to publish and document this.

Hi, I’m not the OP, but I’m also interested in a way to control my SystaComfort II. Switching heating programs would be very nice! I’d also like to remotely adjust hot water temperature (tap water, not heating) and hot water circulation times.
If you have any insights or solutions that would be awesome!

best regards

Hi Ben, what’s an “OP”? :slight_smile:
Since this thread got flooded with slightly off-topic posts, I started a new one here: Paradigma Heating Program Change

I guess I’ll have to do some more explanations, but I didn’t want to go through the work before anyone raised interest. More to come.

Hi Beluga,

OP means “Original Poster”, the person who startet the topic/thread/discussion. I just wanted to make clear I’m not him/her because this discussion has so few participants. Thank you for the link to the new thread, I’ll have a look!


Hi, just to follow up a few years later, I have started a project to add a REST API for the Paradigma SystaComfort. GitHub - beep-projects/SystaPi: Adding a REST API to Paradigma SystaComfort units
With that it should be easy to integrate it into OpenHAB.


I made a video about that topic. Unfortunately it’s in German but maybe it‘s still helpful for someone. Maybe with English subtitles.

openHAB3 (deutsch) Modbus Binding am Beispiel SystaComfort 2 von Paradigma