Forum: Haus & Smart Home Hargassner Pelletheizung Betriebsdatenerfassung


von Andi lll (Gast)


Lesenswert?

Hallo,
Ist nicht ganz der selbe String. Nach dem Protokoll von Dreamcatcher
hätte ich eine Software fertig gehabt.
SG

von Andi lll (Gast)


Lesenswert?

Hallo Zusammen,

Bezgl. dem errechnen des Pelletsverbauch hätte ich noch ein Frage. Ich 
hoffe
Hugo schaut hier noch ab und zu vorbei.
Sie haben geschrieben :

Die Förderrate der Einschubschnecke ist in % der Zeit angegeben.
Im 10s Intervall wird bei mir eingeschoben, z.B. 30% heißt 3s Einschub,
7s Pause.

Lief da die Fördereinschubschnecke echte 3 Sek. lang durch?

Ich habe mal bei meiner Heizung überprüft wie das abläuft mit dem 
Einschub.
Auch wenn ich FS-Rate 40% habe läuft die Schnecke nur so an die 1 Sek.
sollte dann ja eigtl. 4Sek. lang sein, oder?

Bei mir werden auch alle 10Sek. die Pellets eingeschoben.
Meine Einschub Fördermenge ist laut Handbuch 9,3kg/h.
BTW: bei mir ist doch die FS-Rate im Pakett 14.(keine Ahnung wo ich 
damals hingeschaut hab :)

SG Andi

von Standy (Gast)


Lesenswert?

Hallo,
gibt's denn die Software von Hogi irgendwo für den üblichen AVM FritzBox 
IP-Raum von 192.168.178.xxx ?  Wäre sehr dankbar, Hogi scheint ja selbst 
nicht erreichbar zu sein
Andreas

von Hugo Pack (Gast)


Lesenswert?

Hallo Andi,

>Die Förderrate der Einschubschnecke ist in % der Zeit angegeben.
>Im 10s Intervall wird bei mir eingeschoben, z.B. 30% heißt 3s Einschub,
>7s Pause.

>Lief da die Fördereinschubschnecke echte 3 Sek. lang durch?

ja tatsächlich, und bei 70% auch echte 7s / 3s Pause.

Gruß, Hugo

von hengi-m (Gast)


Lesenswert?

Hallo Pelletsheizer,
Das mit dem raspberry möchte ich auch so machen.
Mit welchem Programm ist den Skript geschrieben?
Ist das immer noch Pearl?
Danke hengi-m

von mazzdh (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,
ich würde ebenfalls gerne die Daten einer Hargassner-Pelletheizung 
loggen. Es ist eine ältere Anlage (2003), Typ WTH mit 55 kW und Lambda 
Hatronic Steuerung.
Habe diesen Thread jetzt fast komplett durchgelesen, bin aber leider 
noch unsicher wie das ganze jetzt wirklich funktioniert oder 
funktionieren kann.
Ich bin mir nicht mal sicher ob die Lambda-Hatronic eine 
RS232-Schnittstelle hat, von der hier die Rede ist.
Könnte mir jemand kurz beschreiben welches Equipment und welche Software 
nötig ist um die Daten des Hargassner zu erfassen und ob dies ohne all 
zu viel Vorkenntnisse möglich ist? Zeit mich in die Materie 
einzuarbeiten hätte ich..
Hier noch ein Foto der Platine (allerdings noch mit Schutzplatten 
davor).

Vielen Dank und viele Grüße
Matthias

von Andi (Gast)


Lesenswert?

Hallo Matthias,

Schwer zu sehen ob hier eine Schnittstelle verfügbar ist auf deiner 
Platine.
Mach mal die Schutzplatten ab. Vielleicht sieht man dann was.
Andi

von Reiser (Gast)


Lesenswert?

Hallo Matthias,
Eine RS-232 Schnittstele erkennst Du daran, daß sie 9 Buchsen hat  und 
eine Trapezförmige Form. Die Form ähnelt einem VGA-Anschluß, das ist der 
Anschluß des Monitors an einem älteren PC.
Hoffe das  hilft etwas.
Grüße
Roger

von Hugo Pack (Gast)


Lesenswert?

Hallo Reiser,

das ist bei Hargassner nicht unbedingt der Fall.
Hier ein Bild vom HSV, es ist eine RJ45, aber keine Netzwerkbuchse.
http://www.mikrocontroller.net/attachment/preview/63274.jpg

Belegung:
RJ45 <---> RS232
Pin 6 <---> Pin2
Pin 8 <---> Pin5

Gruß, Hugo

von Hugo Pack (Gast)


Lesenswert?

Hallo Reiser,

hier ist das Bild von Christian Schlappinger besser
http://www.mikrocontroller.net/attachment/preview/63274/page_snapshots/001.png

Gruß, Hugo

von Reiser Roger (Gast)


Lesenswert?

Hallo Lieber Hugo,

danke für den Tipp. Ich hoffe das hilft auch Matthias, denn dem wollte 
ich helfen die Com-Schnittstelle der Hargassner Heizung zu finden. Wenn 
es eine RJ-45 Buchse ist, dann benötigt er ein Adapterkabel.
Hargasssner ist nicht gerade sehr kommunikativ, was die Schnittstellen 
betrifft. Anfragen dort, werden mit "Nicht-Beantworten" beantwortet.
Gruß
Roger

von Hugo Pack (Gast)


Lesenswert?

Hallo Roger,

es gibt wohl bei älteren Geräten auch einen 10-pol. Pfostenstecker als 
Serielle.
Am besten einmal diesen ganzen Thread durchsuchen.

Gruß, Hugo

von Reiser Roger (Gast)


Lesenswert?

Hallo Hugo,
danke für Deine Mühe, aber ich brauche die info zum seriellen Port 
nicht, da ich mittlerweile einen Touch-Controller habe, der die daten 
per LAN-Schnittstelle ins Netzwerk postet.

Grüße
Roger

von Pelletheizer (Gast)


Lesenswert?

Halle Roger,
darf ich fragen, was die Umrüstung auf 'Touch' gekostet hat und ob es 
problemlos funktionierte?

Vielen Dank,
Jürgen

von Reiser Roger (Gast)


Lesenswert?

Hallo Jürgen,

ich habe eine 15KV Anlage und der Umbau hat ca. € 1000,00 gekostet. Der 
Umbau dauerte etwa 4 Stunden. Habe ich aber von Hargassner durchführen 
lassen. Ob das ein Standardpreis war kann ich nicht sagen. Bei mir war 
die ursprüngliche Platine defekt und ich hatte diese auf Garantie 
getauscht bekommen, da die Heizung unter Wartung steht. Ich habe mich 
aber dann für das Touch entschieden, da hier wesentlich mehr Info und 
auch übersichtlicher bereits an der Heizung zur Verfügung stehen. Es 
musste die komplette Platine getauscht werden. aber anschließend 
funktionierte alles einwandfrei.

Gruß
Roger

von Pelletheizer (Gast)


Lesenswert?

Super, Danke für die Info.
Ich überlege mir den Umbau auch, weil es ja von Hargassner seit letzter 
Woche eine (Android/Iphone) App gibt. Und die sieht richtig gut aus, 
geht aber nur mit der Touchsteuerung...
Die zusätzlich notwendige Hardware kostet nochmal ca. 100 Euro.

Viele Grüße,
Jürgen

von mazzdh (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

entschuldigt die späte Rückmeldung - ich hatte gar nicht gemerkt, dass 
es hier doch noch rege Diskussionen zu den verschiedenen Platinen gibt 
;-) Vielen Dank für die Rückmeldungen!

Was Roger schreibt kann ich nur bestätigen - von Hargassner kann man 
keine Hilfe erwarten...

Bei meiner Platine handelt es sich glaube ich um eine ziemlich alte 
Version auf der weder ein RJ45-Anschluss noch 10-Pin-Pfosten-Stecker 
vorhanden sind (siehe Fotos). Otti (der auch hier im Thread unterwegs 
war/ist) hatte jedoch die Idee "ein Flachbandkabel mit 4 Pfostensteckern 
anzufertigen um von dort aus die Daten anzuzapfen". Bin mal gespannt was 
daraus wird und ob das funktioniert.

Viele Grüße
Matthias

von mazzdh (Gast)


Lesenswert?

Hallo zusammen,

bei mir klappt es jetzt endlich auch geklappt die Daten des Hargassner 
zu erfassen. Und das trotz ziemlich alter Lambda-Hatronic die überhaupt 
keine Schnittstelle vorgesehen hat (weder RS232, noch RJ-45). Habe mir 
jedoch ein entsprechendes Kabel gebastelt und dann war die 
Vorgehensweise identisch wie bei Otti damals.

Danke nochmal an die Leute hier im Thread und besonders an Otti!

Viele Grüße
Matthias

von bingo (Gast)


Lesenswert?

Hallo,

ich habe auch eine Hargassner Heizung mit Lamdatronic und wäre sehr an 
eurer Lösung interessiert mazzdh und otti.
Was/Wie bekommt ihr die Informationen aus der Heizung?
Ist dies nun RS232 oder I2C?

Für eure Hilfe/Informationen wäre ich dankbar.

Vielen Dank schon mal und einen schönen Abend noch.

bingo

von mazzdh (Gast)


Lesenswert?

Hallo Bingo,

die Schnittstelle ist RS232.
Falls du noch Informationen brauchst kannst du mir mailen: 
mazzdh@gmail.com

Viele Grüße

von Bernd Wurst (Gast)


Lesenswert?

Ich habe auch eine Hargassner-Heizung (Hackschnitzelanlage WTH-110) und 
möchte die Betriebsdaten erfassen. Da ich grade noch so die alte Anlage 
ohne Netzwerkanschluss erwischt habe (wir gingen im September in 
Betrieb), war hierfür Basteln angesagt.

Auch durch diesen Blog-post (übrigens einer von sehr, sehr wenigen im 
weiten Internet) habe ich Mut gefasst, das zu versuchen.

Da ich später auch Störungen in unseren Wohnhäusern erkennen sollte und 
auch die Betriebsdaten der Wohnhäuser abgreifen möchte, habe ich mich 
zunächst am CAN-Bus-Interface versucht. Meine bisherigen Ergebnisse habe 
ich in meinem Blog erfasst: 
https://www.bwurst.org/archives/219-Betriebsdaten-einer-Hargassner-Hackschnitzelheizung-erfassen.html

Mein Code (Python für Raspberry-Pi) liegt auf github unter 
https://github.com/bwurst/hargassner-monitor

Ich danke allen die in diesem Thread ihre Erkenntnisse veröffentlicht 
haben!

von Robert M. (dino75195)



Lesenswert?

!!Benutzen der folgenden Informationen auf eigenen Gefahr!!

Hallo zusammen,

hab mir eine Heizungsvisualisierung für eine Hargassner Heizung HSV22 
Touch gebaut.
Webseite zur Pelletheizung HSV22
https://www.hargassner.at/pelletheizung-heizkessel-HSV_9-22kW.html

Ich bin kein Programmierer, das Script hat sicherlich noch 
Verbesserungspotenzial.

Die Daten Kesseltemperatur, HK1 ist, HK1 soll, Außentemperatur, 
Boilertemperatur, Raumtemperatur, Puffertemperatur und der 
Pelletverbrauch
werden auf einer Webseite als Zahlen und per Grafik dargestellt.
Als Grundgerüst habe ich das Perl Script von Pelletheizer verwendet.
Vielen Dank an Pelletheizer für die Veröffentlichung des Scripts und 
vielen Dank an alle, die sich bei diesem Thema so reinhängen!


Anbei die Informationen zum Projekt:

Hardware:

Raspberry Pi 2 Model B Made in UK - Neuste Generation - (2015) + 
Exclusives Gehäuse (Black Slim Edition) Case
Rydges SpeedPower® High-Quality PC Netzteil 2A
Transcend TS32GUSDHC10E Class 10 Extreme-Speed microSDHC 32GB 
Speicherkarte
Preis ca. 80 Euro


Installierte Software:

Ubuntu installiert Ubuntu MATE 15.04 Beta
Version MATE Desktop Environment 1.8.2

rrdtool installiert
apt-get install librrds-perl rrdtool


Datenbank heizung.rrd angelegt

Quellcode
rrdtool create heizung.rrd --start 1254815700 --step 300 
DS:kessel:GAUGE:600:U:U DS:aussen:GAUGE:600:U:U DS:hk1ist:GAUGE:600:U:U 
DS:hk1soll:GAUGE:600:U:U DS:boiler:GAUGE:600:U:U DS:raum:GAUGE:600:U:U 
DS:foerder:GAUGE:600:U:U DS:puffer:GAUGE:600:U:U RRA:AVERAGE:0.5:1:288 
RRA:AVERAGE:0.5:3:10080 RRA:AVERAGE:0.5:12:8640

Alte Anleitung unter
Beitrag "Re: Hargassner Pelletheizung Betriebsdatenerfassung"


FTP Server installiert: vsftpd
http://wiki.ubuntuusers.de/vsftpd

Apache2 installiert.

Script Status.pl angepasst und unter /home/heizung/Heizung abgelegt.
Das Script liest Heizungsdaten die regelmässig per Telnet auf die 
Festplatte geschrieben werden ein

Die Daten liegen unter /home/Heizung/heizung.log im folgenden Format

So sieht der neue Datensatz der HSV22 Toch aus (Stand Mitte 2015)
pm 1 1.3 8.5 33 0 33 27 25 52 120 120 52 120 58 0 25 -20 0 20 -20 0 23 
140 0 0 25 20 57 0 -20 -20 0 0 20 20 -20 0 -20 -20 0 0 20 20 -20 0 20 20 
20 20 20 20 20 0 0 53 82 0 0 0 0 0 0 50 0 0 0 0 0 0 0 0 0 4 0 0 0 0 0 0 
0 0 1 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 532 4628 1 1 1 1 1 1 1 0 0 0 0 38 
115 0 909 2961 0 0 0 0 0 0 0 0 0 0 0 0 0.0 109.1 0.0 0.0 0.0 -20 0 4 -3 
20.0 24.6 20.0 20.0 20.0 20.0 20.0 0003 0000 0000 0000 0000 0010 0000 
0000


Das Script erzeugt eine HTML Datei mit Grafik (Tagesübersicht) mit 
Temperaturdaten.

wie z.B. hier
http://www.404-not-found.de/status.html
(Webseite von Pelletheizer)

In der ZIP Datei hab ich eine Beispieldatei abgelegt.
Das Script findet ihr im Anhang mit der benötigten Ordnerstruktur.

Damit die Daten ausgelesen werden, müssen noch folgenden Befehle in der 
crontab -e eingetragen werden.
Bitte denkt an das Anpassen der IP Adresse. Eventuell müssen die Pfade 
an eure Umgebung angepasst werden.
Ich habe es nur unter dem User zum laufen bekommen, unter Root läuft es 
bei mir nicht.

# Statusabfrage jede Minute >> /home... ist zur Diagnose, kann später 
weg gelassen werden!
*/1   * * perl /home/heizung/Heizung/Status.pl >> 
/home/heizung/Heizung/status.log
# Abfrage der Heizungsdaten per netcat (nc) IP der Heizung noch 
eintragen!
*/1   * * nc -d -q 10 192.168.xxx.xxx 23 > 
/home/heizung/Heizung/Heizung.log

# Pelletverbrauch jeden Tag um 00:01 zurücksetzen auf 0
1 0   * cp 
/home/heizung/Heizung/Pelletverbrauch/pelletverbrauchtagleer.txt 
/home/heizung/Heizung/Pelletverbrauch/pelletverbrauchtag.txt
# Pelletverbrauch jeden ersten im Monat um 00:01 zurücksetzen auf 0
1 0 1   cp 
/home/heizung/Heizung/Pelletverbrauch/pelletverbrauchmonatleer.txt 
/home/heizung/Heizung/Pelletverbrauch/pelletverbrauchmonat.txt


Viel Spaß mit den aktuellen Daten der Heizung.
Falls noch jemand Ideen hat wie man das Ganze verbessern kann, bitte 
melden.

Ich finde es sehr schade, dass die Firma Hargassner nicht selbst die 
Möglichkeit bietet diese Informationen zur Verfügung zu stellen...
Ich hoffe in der Richtung tut sich auch noch etwas.

Gruß Robert

!!Benutzen der Informationen auf eigenen Gefahr!!

von SolarPellet (Gast)


Lesenswert?

Hi zusammen,

klasse Arbeit die Ihr hier geleistet habt. Das hat meinen Ergeiz geweckt 
mich hier einzubringen.
Nur ich scheitere gerade schon ganz vorne. Ich habe eine Hargassner Nano 
Pelletskessel.
Und wo findet man bei dieser eine LAN-Schnittstelle oder eine serielle 
Schnittstelle?
Kann jemand helfen?

Danke und Gruß
Gert aka SolarPellet

von SolarPellet (Gast)


Lesenswert?

ok --- habs gefunden
neben dem display ist eine Abdeckung, die sich abziehen läßt
darunter ist eine RJ45 Buchse und ein SD-Card Slot (sieht zumindest aufs 
erste so aus)

An die RJ45 habe ich ein  LAN Kabel angechlossen und siehe da ...
per http://ip-der-heizung:23 bekomme ich alle 500ms (?)

pm 1 1.2 7.5 50 0 46 -1 1 47 -20 43 47 51 32 0 28 -20 0 20 -20 0 40 26 
40 26 20 20 56 0 -20 -20 0 0 20 20 -20 0 -20 -20 0 0 20 20 -20 0 20 16 
16 20 20 20 20 0.0 0 93 34 0.0 0 3 3 0 0 51 0 0 0 0 0 0 0 0 0 4 0 0 0 0 
0 0 0 0 2 72 70 0 3 3 0 0 0 0 0 0 0 0 2 0 0 85 374 1 1 1 1 1 1 1 0 0 0 
40 26 25 0 99 5365 0 0 0 0 0 0 0 0 0 0 0 0 4.9 116.6 0.0 0.0 0.0 -20 0 4 
-4 20.0 20.0 20.0 20.0 20.0 20.0 20.0 0 0 0 0 0 0 0 0 0 0 0.0 512 347 
7.2 360 0.4 83.2 347.1 112 14.3 87.8 048B 0000 0000 0000 4000 0170 0000 
0000


So nun gehts ans auswerten - gibt es eine vollständige 
Parameterbeschreibung irgendwo?

Gibt es eigentlich noch irgendwo im Inneren der Anlage eine weitere RJ45 
- wäre günstiger für die Verkabelung :-)

Danke und Gruß
Gert aka SolarPellet

von SolarPellet (Gast)


Lesenswert?

und am Display von innen ist eine mit Ethernet beschriftete Buchse - ist 
abegedeckt mit einer Plastikkappe - habs noch nicht ausprobiert, wird 
aber wohl das gleiche sein wie vorne  .....

Gert aka SolarPellet

von Benedikt Hopfgartner (Gast)


Lesenswert?

Hallo Solarpellet,

also bei meiner HSV Classic 14 mit TouchPanel aus 2013 ist das so.
Die RJ45 Buchse auf der Rückseite ist gleichwertig.
Habe auch im Sommer das Kabel von der Front auf die Rückseite verlegt.
Wegen der Zuordnung:
Da ist es wohl so das die Datenzuordnung von Anlage zu Anlage immer 
wieder anders ist.
Wie ich sehe liefert deine Anlage auch keine Kommastelle bei den 
Temperaturen.
Nach Softwareupdate waren die Komma-Stellen bei den Temperaturen 
verschwunden.

Gruß
Benedikt

von SolarPellet (Gast)


Lesenswert?

Benedikt H. schrieb:
> Dafür kann man jetzt die IP-Adresse einstellen.
>
> Schöne Grüße
> Benedikt


Hi Benedikt,

du schreibst weier oben, dass man die IP-Adresse einstellen kann. Wie 
machst du das bei deinem Kessel. ich habe eine Hargassner Nano.

Danke und Gruß
Gert aka SolarPellet

von Steffen K. (steffen190)


Lesenswert?

Hallo zusammen,

Da ich selbst im Besitz einer Rennergy Pelletsanlage bin, die Baugleich 
mit den Hargassner Systemen ist, lese ich hier schon eine weile 
aufmerksam mit.

Die Jungs von Rennergy scheinen mir etwas aufgeschlossener und versuchen 
wenigstens eine Lösung zu finden.

Da meine Anlage noch kein Touch Panel besitzt bleibt mir nur der Can Bus 
oder die Serielle Schnittstelle.
Hargassner bietet doch eine externe Seriell to Modbus RTU Lösung an, 
deren Beschreibung selbst auch ganz ordentlich ist.
In der Beschreibung zu finden sind zum einen Analoge Werte zum lesen als 
auch digitale zum lesen und schreiben.
Wäre es denn nicht möglich solch ein Gerät zu beschaffen und die RS232 
Schnittstelle mit zu loggen???

Gruß
Steffen

von Alexander G. (alexanderg)


Lesenswert?

Hallo,

Erst mal vielen Dank für die tolle Pionierarbeit die hier geleistet 
wurde!

Dank eurer Hilfe konnte ich endlich meine Hargassner HSV 12-15 
Pelletheizung in mein Netzwerk integrieren.

Ich habe dazu einen Raspberry Pi zusammen mit einem RS232-USB Konverter 
verwendet, was dank der hier gefundenen Angaben nahezu auf Anhieb 
geklappt hat!

Meine Anlage, welche 2012 installiert wurde, hat die Epromversion 4.3ea.

Sie spuckt auf der seriellen Schnittstelle (X1) im Sekundentakt diverse 
Daten aus, die in etwa so aussehen:
1
tm 2016-03-07 09:26:27
2
pm 10 18.3 60 89 3.6 3.2 39.8 140.0 40.9 0.0 60 125 0 50 100.0 100.0 0 0.0 0.0 0.0 0 10.6 0 66 57 140 140 140.0 140.0 0.0 0.0 100.0 100.0 140 140 140.0 140.0 0.0 0.0 100.0 100.0 140 0.00 0.00 0.0 0.00 0.00 0.00 140.00 0 0 0 202 218 234 250 200 216 232 248 1 6 200 1 0 0 0 0 0 0 0 0 0 0 0 0 10 11 0 8b ffff 900 900 0
Zwischendurch kommen immer mal wieder "Spezial"-Meldungen in der Art:
1
z 09:07:19 Kessel Schieberost Init
2
z 09:07:19 Rost Check zu
3
z 09:07:22 Rost aus
4
z 09:07:22 Gluterhaltung
5
z 22:00:01 Kessel Aus
Kennt hier jemand die gesamte Liste der möglichen Meldungen?
Vor allem würde mich interessieren, ob es eine Meldung gibt, wenn die 
Ascheschublade voll ist und wie diese exakt lautet.

Vielleicht weiss ja jemand, wie dieser Zustand (Ascheschublade voll) von 
der Heizung gemessen wird bzw. wie man diesen simulieren könnte?

Ich bin gerade dabei ein Python-Programm zu schreiben bzw. das von Bernd 
Wurst anzupassen, das mich bei entsprechenden Meldungen per Email 
benachrichtigt.

von Hugo Pack (Gast)


Lesenswert?

Hallo Alexander Grein,

weiter oben hatte ich einmal Statuswerte und Meldungen veröffentlicht.
Beitrag "Re: Hargassner Pelletheizung Betriebsdatenerfassung"
Ob die so bei neuen Anlagen noch gültig sind ...?

Der Zustand "Aschelade voll" wird soviel ich weiß, über die
Stromaufnahme des Linearmotors für den Schieberost detektiert.
Der Schieberost hat eine "Verteilerklappe", und bei voller Aschelade
ist der Schub-Widerstand der Klappe in der Asche entsprechend.

Gruß, Hugo

von Stefan L. (slindi)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

zuerst auch von mir herzlichen Dank für die erarbeiteten Infos hier!
Ich lese diesen Thread schon seit Jahren mit, konnte mich aber bis jetzt 
noch nicht überwinden das Auslesen der Heizung anzugehen, was ich jetzt 
ändern möchte.

Ich habe eine WTH45 Hackschnitzelheizung mit einer Lambda Hatronic. Da 
die Heizung im Sommer 2013 erweitert wurde, wurden die Steuerplatinen 
ausgetauscht auf die V5.1d mit einer RJ45 PC-Schnittstelle.

Ein Bild der Steuerplatine mit der PC-Schnittstelle ist angehängt.

Da ich bis jetzt keinerlei Erfahrung mit RS232 habe, möchte ich vorab 
gerne nochmals die richtige Pinbelegung erfragen.
Im Beitrag Beitrag "Re: Hargassner Pelletheizung Betriebsdatenerfassung" sind ja 
zwei verschiedene Möglichkeiten angegeben, welche ist nun die richtige?
Kann ich das vorab irgendwie messen?

Und eine weitere Frage zur Verkabelung:
Muss/soll/darf die Schirmung des Sub-D 9 Steckers mit der Schirmung des 
RJ45 Steckers verbunden werden?

Besten Dank schonmal im Voraus!

Ich wünsche noch einen schönen Restsonntag,
Grüße Stefan

von Hugo Pack (Gast)


Lesenswert?

Hallo,

die Belegung in diesem Beitrag:
Beitrag "Re: Hargassner Pelletheizung Betriebsdatenerfassung"

Wichtig, Zählfolge für die Pin-Nr. LAN-Stecker beachten!

Die Schirmung vom Lan-Stecker ausgehend schirmt die Leitung ausreichend.
Besser nicht auf den Metallkragen des SUB-D aufschalten.
Könnte Symptome wie "Brummschleifen" bei Audio Leitungen erzeugen.
Bei mir funktioniert das ohne Schirm-Durchschaltung.

Gruß, Hugo

von Stefan L. (slindi)


Lesenswert?

Hallo,

hab mich am WE mal ans Werk gemacht.

Folgende Pinbelegung hat auf Anhieb funktioniert:
RJ45 <---> RS232
Pin 6 <---> Pin2
Pin 8 <---> Pin5

In folgendem Beitrag ist eine Zeichnung eines Haico-Kabels ersichtlich:
http://www.haustechnikdialog.de/Forum/t/16721/Guntamatic-BMK?page=2
(Die Steuerung von Hargassner scheint ja wie bei Guntamatic von Haico zu 
sein)

Dort ist auch Pin 3 (Sub-D Stecker) mit Pin 5 (RJ45 Stecker) verbunden.
Hab ich jetzt mal nicht gemacht, scheint aber ein Indiz zu sein, dass 
man da wohl auch schreiben und nicht nur lesen kann...

Schöne Grüße,
Stefan

von Johannes W. (jowa921)


Lesenswert?

Auch von mir vielen Dank, für die umfangreiche und tolle Arbeit.
Da ich im Gegensatz zu vielen Anderen einen Vergaser mein Eigen nenne, 
würde ich mich freuen, wenn mich jemand bei der Anpassung des ganzen 
unterstützen könnte.

(Teil-)Ergebnisse werden natürlich auch hier veröffentlicht.

Vielen Dank im Vorraus

von Andi B. (andi_b2)


Lesenswert?

Johannes W. schrieb:
> Da ich im Gegensatz zu vielen Anderen einen Vergaser mein Eigen nenne

Meinst du einen wie den MV-35/49? Dann guck mal hier 
Beitrag "Re: Hargassner / Rennergy Touchtronic Netzwerkanbindung/Visualisierung"

von Johannes W. (jowa921)


Lesenswert?

Andi B. schrieb:
> Johannes W. schrieb:
>> Da ich im Gegensatz zu vielen Anderen einen Vergaser mein Eigen nenne
>
> Meinst du einen wie den MV-35/49? Dann guck mal hier
> Beitrag "Re: Hargassner / Rennergy Touchtronic Netzwerkanbindung/Visualisierung"

Ja, genau so einen meine ich. Nur, daß meiner HV30 heißt, und ich vom 
mitdenken und nachvollziehen mit dem anderen Thema nicht so ganz mit 
kam.

Was ich an dieser Vorlage allerdings gferne verändert hätte, mich aber 
(noch) nicht ausreichend mit auskenne, war, daß ich alle Parameter ohne 
zu filtern speichern wollte, und den Namen des jeweiligen Parameter bei 
der Ausgabe anzeige. Vorher könnten die gerne unter so unverfänglichen 
Größen wie PM001, PM002 etc. laufen.

Ich hoffe, daß damit auch die Anpassung einfacher wird, falls ein Update 
des Kessels die ganzen Parameter wieder durcheinander schmeißt, 
beziehungsweise wäre es vielleicht auch auf andere Kessel/Steuerungen 
leichter anpassbar, oder?

von Simon P. (simon84)


Lesenswert?

Hallo alle,

ich wollte mich erstmal für die gesammelten und geteilten Informationen 
in diesem Thread bedanken!

Habe selber nun auch eine HSV12, eine ältere Variante.

Ich werde diese auch zum Datalogging mit einem RPi anbinden, möchte 
dabei aber zusätzliche Werte der Verteilung wie z.B. die 
Rücklauftemperatur aller Heizkreise mitprotokollieren.

Ausserdem habe ich vor, die Heizung fernzusteuern, da das Haus nicht 
ständig bewohnt ist.

Da die Firmware und Software zu alt ist für die Hargassner eigene 
Software und mir der Ansatz mit dem CAN-Debugging des Display bzw. FR25 
zu kompliziert ist, scheint mir am einfachsten dazu den 
Außentemperatursensorwert zu verändern, somit kann ich direkt die 
Heizkurve beeinflussen ohne Programmiereinstellungen vornehmen zu 
müssen.

Der Programmwahlschalter "Auto, Hand, Aus, Boiler" wären zwar auch eine 
Option aber zu unflexibel.

Ich denke es ist besser man "provoziert" ein "AUS bzw. Boiler" per 
A-Temp Anhebung über die Heizung Aus über die (per Standard glaube +16 
Grad Celsius) Temperaturschwelle und einen Volllastbetrieb zum Aufheizen 
(z.B. 1-2 Stunden bevor ich ins Haus komme) über eine Simulation der 
Auslegungstemperatur (z.B. -16 Grad)

Der Fühler ist ein PT1000, also wäre -15 Grad irgendwo bei ca. 940 Ohm 
und +20 Grad irgendwo bei ca 1075 Ohm, das sollte leicht zu bauen sein.

Ich werde hier weiter berichten!

Viele Gruesse,

Simon

von Stefan L. (slindi)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich möchte mich auch nochmals recht herzlich für die Informationen in 
diesem Thread bedanken.
Das Datalogging über den Raspberry Pi funktioniert bei mir nun seit 
einigen Monaten sehr zufriedenstellend. Durch die aufgezeichneten Daten 
konnte ich nun einige Parameter der Heizung so verändern, dass die 
Heizung nun wesentlich besser läuft (weniger Starts und längere 
Laufzeiten, keine "Einbrüche" der Boilertemperaturen,...)

Da mir als Linux-Neuling die eine oder andere Vorlage hier sehr geholfen 
hat, stelle ich im Anhang nun auch mein Script "leseHeizung.sh" zur 
Verfügung.

Das ganze läuft in einer Endlosschleife und hat folgende Funktionen:
# Schreiben der wichtigsten Daten alle 5min in eine sqlite3-Datenbank
# Schreiben der (gekürzten) Datenmeldung alle 5min in eine Datei
# Schreiben der (gekürzten) Datenmeldung bei folgenden Ereignissen:
  Änderung Kesselzustand, Änderung Boiler(pumpen)zustände
# Schreiben der Statusmeldungen (beginnend mit "z") in Datei
  Dies funktioniert allerdings nicht ganz zuverlässig,
  ca. die die Hälfte der Meldungen werden verschluckt.
  Wird daher bald rauskommentiert werden, zum Beginn des Dataloggings
  (Ermittlung Kesselzustand,...) allerdings trotzdem ganz hilfreich.
# Mitschreiben von Kesselstart, Kessellaufzeit und Entaschungen pro Tag
  (in eine eigene Datei)


Zusätzlich protokolliere ich noch mittels günstiger 1-wire DS18B20 
Sensoren die Rücklauftemperatur sowie über 5 außen angebrachte Sensoren 
die Puffertemperaturen mit.
Ebenfalls wieder in eine Datei bzw. in die gleiche sqlite3 DB 
geschrieben.


Vielleicht hilft es ja dem einen oder anderen, und falls irgendwas davon 
gar zu umständlich programmiert ist, bin ich für Tipps jederzeit offen.

Lg,
sLindi

von Simon P. (simon84)


Lesenswert?

So, habe heute auch dank der Anleitung meine Maschine angeschlossen.
Ich habe auch eine sehr alte Version Hargassner mit Version 2.0t

Die Kontaktleisten X1 und X2 auf der Steuerplatine scheinen direkt wie 
RS232 am 9-poligen SUB D aufgelegt zu sein.

5 ist Masse und 2/3 ist RX/TX

Ich konnte es noch nicht 100% testen, aber es sieht so aus als ob man 
auch Befehle senden kann, nicht nur Daten loggen.

Es werden auch nicht nur die Datensätze mit z bzw. pm geschrieben, 
sondern
die Kommunikation vermutlich für das Display/Bedieneinheit.

Nach jedem dieser Datensätze schickt die Einheit einen Carriage Return, 
deshalb sieht man das im Terminal nicht so gut. Wenn man diese gegen 
Zeilenumbrüche ersetzt, wird es relativ klar:


1o409130011200005
2u1003b
2u0511e
1o409130011200005
#f
2u0511e
6u0000000000000000b
1o409130011200005
2u0700e
pm 9 9.3 59 111 -6.1 -6.2 40 53 42 50 49 272 29 59 -18.5 -33.0 84 0.0 
0.0 0.0 37 9.0 22 86 34 30 91 40 6b 9 0 0 0

Aufgefallen ist mir auch, dass ab und zu ein Datensatz mit "#f" 
geschickt wird.


Was passiert wenn man Knöpfe auf dem Bedienteil drückt habe ich noch 
nicht raus, werde ich aber auch durchtesten, vermute dass man so die 
ganze Anlage steuern kann wie am Display selbst.

Auch ein Auslesen des EPROM (vermutlich disassemble fähige daten 
vorhanden) wird wohl helfen rauszufinden wie die Botschaften 
zusammengesetzt sind.

Ich halte euch auf dem Laufenden :)

von Simon P. (simon84)


Lesenswert?

Mittlerweile habe ich ab und zu das Problem, dass mein Python Programm 
ab und zu abgeschnittene "pm" Nachrichten bekommt, diese hören dann 
mitten im Datensatz auf. Muss nochmal genau nachforschen ob das von der 
Heizung kommt oder evtl. etwas mit dem Interface oder Software zu tun 
hat.

In der Zwischenzeit habe ich mir mal die 10 bei mir häufigsten kurzen 
Botschaften zwischen den "pm" oder "am" Meldungen angeschaut.

1o009130011200001
7u0000000000000000c
6u0000000000000000b
1o409130011200005
2u0f10e
1o00913001100000f
2u050f2
2u1013c
2u100ed
2u1007f

Die Prüfsummen Berechnung scheint wie folgt zu sein:

1o:

Beispiel 1o009131020d00004

Prüfsumme = Letzte Hex Stelle der Quersumme der 14 Datenpositionen
Bei der Berechnung ersetzen: a=1, b=2, c=3, d=4, e=5, f=6


2u

Beispiel 2u100ed

Prüfsumme = Letzte Hex Stelle der Quersumme der 4 Datenpositionen + 0x07
Bei der Berechnung ersetzen: a=1, b=2, c=3, d=4, e=5, f=6

6u:

Beispiel 6u0000000000000000b

Prüfsumme = Letzte Hex Stelle der Quersumme der 16 Datenpositionen + 
0x0B
Bei der Berechnung ersetzen: a=1, b=2, c=3, d=4, e=5, f=6

7u:

Beispiel 7u0000000000000000c

Prüfsumme = Letzte Hex Stelle der Quersumme der 16 Datenpositionen + 
0x0C
Bei der Berechnung ersetzen: a=1, b=2, c=3, d=4, e=5, f=6

von Simon P. (simon84)


Lesenswert?

Danke dem Dokument "Hargassner_HSV-xx_Datensaetze" konnte ich viele 
Felder schon zuordnen ! Vielen Dank an den Ersteller !!!

Ich habe die Botschaften welche mit "1o" starten noch etwas weiter 
beobachtet.

Sie scheinen mir aufgrund meiner Analyse wie folgt aufgebaut zu sein:

Prefix: "1o"

Bytes 1 und 2: Einschubschnecke Status
Entspricht Feld 28 in "pm" Zeile

Beobachtete Werte / Beispieldatensatz

0c / 1o0c1130000100009
08 / 1o08113000010000e
48 / 1o489130011e00000
40 / 1o409130011e00008
04 / 1o04113000010000a
03 / 1o031130000100009
01 / 1o011130000100007
00 / 1o009130011e00004

Bytes 3 und 4: unbekannt ?!?

Entspricht Feld 27 in "pm" Zeile
Beobachtete Werte / Beispieldatensatz

10 / 1o001030000100005
91 / 1o009130011e00004
d1 / 1o00d130031400000
d5 / 1o00d530031400004
11 / 1o001130000100006

Bytes 5 und 6: unbekannt ?!?
Entspricht Feld 26 in "pm" Zeile
Beobachtete Werte / Beispieldatensatz

30 / 1o009130011e00004
31 / 1o009131011e00005
32 / 1o009132011e00006
34 / 1o009134011e00008
35 / 1o00913502190000e
36 / 1o009136011e0000a
38 / 1o001138011200001
70 / 1o009170011e00008
72 / 1o009172011e0000a
74 / 1o009174011e0000c
75 / 1o009175011800000
76 / 1o009176011e0000e


Bytes 7-14: Unbekannt ?!?
8 Byte Register
Beobachtete Werte / Beispieldatensatz

011e0000 / 1o000913011e00004
01120000 / 1o009130011200001
02190000 / 1o009130021900009
00010000 / 1o001130000100006
01180000 / 1o009130011800007
01100000 / 1o00913001100000f
02110000 / 1o009130021100001
03090000 / 1o009130030900009
03140000 / 1o009130031400005
020d0000 / 1o009130020d00003
03180000 / 1o009130031800009
030c0000 / 1o009130030c00003
04040000 / 1o409130040400009
03070000 / 1o009130030700007
04080000 / 1o009130040800009
00000000 / 1o00913000000000d
01000000 / 1o00913001000000e


Folgende Felder in den "pm" Nachrichten sind mir leider noch immer 
unbekannt, falls jemand einen Tip hat: 12, 15-16, 24-27, 29-33

Folgende Werte konnte ich dort beobachten:

Feld 12: Immer 272 oder 273, Verteilung ca 55% 273, ca 45% 272
Feld 15: Wert war zuvor fest -18.5, seit Neustart immer 9999.9 
(Temperatur?)
Feld 16: Wert war zuvor fest -33.0, seit Neustart immer 9999.9 
(Temperatur?)
Feld 24: Werte zwischen 79 und 92, Werte zwischen 81 und 84 am 
häufigsten. (Prozentangabe? Evtl etwas mit Luftzufuhr? Meine im 
erweiterten Infomenue haeufig diese Werte gesehen zu haben)
Feld 25: Werte zwischen 15 und 88, Werte zwischen 23 und 27 am 
häufigsten. (Prozentangabe?)
Feld 26: Werte: 30 (über 90%), 31, 32, 34, 35, 36, 38, 70, 72, 74, 75, 
76), Scheint eher ein Kombinationswert aus digitalen Schaltpositionen zu 
sein. Evtl. Mischer oder Pumpen Status?
Feld 27: D5, D1, 91, 55, 51, 11, 10 (Meistens 91 gefolgt von 11). 
Scheint ebenfalls eher ein Status/Schaltwert zu sein
Feld 29: FB, F9, EB, E9, 7B, 79, 6B, 69, 2B (Meist 6B, gefolgt von 7B 
und 69) dito
Feld 30: Wert ist IMMER 9
Feld 31: Wert ist IMMER 0
Feld 32: Wert ist IMMER 0
Feld 33: Wert ist IMMER 0


Werde am WE versuchen den EPROM auszulesen und mit 
Disassembler/Hexeditor anzuschauen, evtl. gibt es dort noch weitere 
Hinweise.

von Vincent W. (farik)


Lesenswert?

Ich habe jetzt hier gelesen, dass man auch auf Pelletheizungen umrüsten 
kann: https://www.effizienzhaus-online.de/umruestung-auf-pelletheizung 
habt ihr da auch schon Expertise? Bin da jetzt noch nicht so tief drin 
und wollte fragen, wie arg man sich da einarbeiten muss, um da so tief 
drin zu sein.

von Alexander Grein (Gast)


Lesenswert?

Falsche Rubrik, bitte bei Werbung posten!

von Martin D. (martin_d760)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe ein Problem auf meine Rennergy Heizung (Hargassner OEM) 
zuzugreifen.

*Ich bekomme weder mit minicom, head, cat, etc. eine Ausgabe geliefert.*

Woran könnte das liegen?

Mein Setup:
- raspberry pi mit raspian (aktuell)
- USB auf DB9 Kabel (siehe hier: 
https://www.amazon.de/gp/product/B01N1625DE/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1)
- Ich habe den oberen der beiden RJ45 Ports auf der Platine genommen 
(siehe angehängtes Bild)
- FTDI treiber wird laut dmesg auf /dev/ttyUSB1 erkannt (siehe unten)
- Einstellung auf 19200 Baud mit 8N1 (siehe unten)

Bisher erfolglose Maßnahmen:
- reboot vom raspberry pi
- reboot von der Heizung
- Anschluss am unterer RJ45 Steckdose
- Verändern der Baud-Rate
1
stty -a -F /dev/ttyUSB1
2
speed 19200 baud; rows 0; columns 0; line = 0;
3
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
4
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
5
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 5;
6
-parenb -parodd -cmspar cs8 hupcl -cstopb cread clocal -crtscts
7
ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff
8
-iuclc -ixany -imaxbel -iutf8
9
-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
10
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt
11
-echoctl -echoke

1
dmesg | grep tty
2
[    0.000000] Kernel command line: 8250.nr_uarts=0 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708_fb.fbswap=1 vc_mem.mem_base=0x3dc00000 vc_mem.mem_size=0x3f000000  dwc_otg.lpm_enable=0 console=ttyS0,115200 console=tty1 root=PARTUUID=da925869-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles
3
[    0.000345] console [tty1] enabled
4
[    0.751605] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 87, base_baud = 0) is a PL011 rev2
5
[    5.049998] usb 1-1.2: FTDI USB Serial Device converter now attached to ttyUSB0
6
[79734.814374] usb 1-1.5: FTDI USB Serial Device converter now attached to ttyUSB1

Letzterer ist das neue Kabel. Das andere ist ein funktionierender RF 
Sender.

: Bearbeitet durch User
von Alexander Grein (Gast)


Lesenswert?

Bist du dir sicher, dass das verwendete Kabel die richtige Belegung auf 
der RJ-45 Seite hat?

von Pelletheizer (Gast)


Lesenswert?

Das passt nicht:
Kabel:  RJ-45 DTE Pinouts RTS(1), DTR(2), TXD (3), GND(4), GND(5), RXD 
(6), DSR(7), CTS(8)

Anlage:Es sind Pin 8 - GND und Pin 6 - TX. Jetzt rauschen auch hier die 
Daten

Grüße,
Jürgen

von Martin D. (martin_d760)


Lesenswert?

Pelletheizer schrieb:
> Das passt nicht:
> Kabel:  RJ-45 DTE Pinouts RTS(1), DTR(2), TXD (3), GND(4), GND(5), RXD
> (6), DSR(7), CTS(8)
>
> Anlage:Es sind Pin 8 - GND und Pin 6 - TX. Jetzt rauschen auch hier die
> Daten
>
> Grüße,
> Jürgen

Hi Jürgen,

Also Pin 3 auf 6 und 4 auf 8?

von Pelletheizer (Gast)


Lesenswert?

Hi,
Pin 6 Anlage (TX) auf Pin 4 (RX) Kabel.

Grüße,
Jürgen

von Martin D. (martin_d760)


Lesenswert?

Hi Jürgen,

bist du dir sicher?

Layout des Kabels: RJ-45 DTE Pinouts RTS(1), DTR(2), TXD (3), GND(4), 
GND(5), RXD (6), DSR(7), CTS(8)

Das heißt Pin 6 (TX) der Anlage muss ich mit Pin 6 (RX) des Kabels 
verbinden.
Und Pin 8 (GND) der Anlage mit Pin 4/5?? (GND) des Kabels verbinden?

von Pelletheizer (Gast)


Lesenswert?

Sorry. Ja.
TX der Anlage muss auf RX vom Kabel

von Martin D. (martin_d760)


Lesenswert?

Hi,

interessanterweise musste ich TX mit TX verbinden. Macht keinen Sinn, 
aber hat geholfen.

Danke euch alle für eure Hilfe. Nach fünf Jahren (und ohne wesentliche 
Grundkenntnisse) habe ich mich an dieses Projekt gewagt und freue mich 
nun über das Ergebnis :-)

von Simon P. (simon84)


Lesenswert?

Martin D. schrieb:
> Hi,
>
> interessanterweise musste ich TX mit TX verbinden. Macht keinen Sinn,
> aber hat geholfen.
>
> Danke euch alle für eure Hilfe. Nach fünf Jahren (und ohne wesentliche
> Grundkenntnisse) habe ich mich an dieses Projekt gewagt und freue mich
> nun über das Ergebnis :-)


Das kann sein, wenn intern RX/TX getauscht wird. Früher nannte man sowas 
Nullmodemkabel, das kann aber natürlich auch irgendwo auf dem Chip 
selbst passieren. Mittlerweile sind diese RS232 USB Adapter ja so 
funktionsreich, dass man Firmware flashen und alles mögliche einstellen 
kann.

Ich werde auf jeden Fall diesen Herbst/Winter auch noch mal das EPROM 
auslesen und durch den Disassembler und Hexeditor laufen lassen und 
schauen ob ich etwas rausbekomme in Richtung TX, also Befehle zu 
schicken.

Eine gewisse Fernsteuerung der Heizung zumindest in Richtung 
An/Aus/Boilerbetrieb wäre doch schon sehr cool :)

von Martin D. (martin_d760)


Lesenswert?

Hi Jürgen,

blöde Frage: Kann man heute schon den aktuellen Lagerstand an Pellets 
aus der Heizung auslesen? Ist die Zahl Teil des Outputs?

VG
Martin

von Pelletheizer (Gast)


Lesenswert?

Bei meiner Firmware nicht. Aber ich meine, irgendwo habe ich schon mal 
den Verbrauch gesehen. Da könnte man dann auf den Lagerstand 
rückschliesen.

Grüße, Jürgen

von A.N.Other (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen.

Für die Anbindung an Modbus - Netzwerke bietet der Heizungsbauer einen 
Zwischenkonverter an.
In der Beschreibung ist die Pinbelegung des RJ45 Steckers beschrieben,
hoffe das hilft weiter:

MfG

von Martin D. (martin_d760)


Lesenswert?

Das klingt interessant - wo liegt der Vorteil von Modbus in diesem Fall?

von A.N.Other (Gast)


Lesenswert?

Man könnte mehrere Kessel koppeln über ModBus.

Weiters ist es die einzige offizielle Lösung mit diesem 
Zwischenkonverter zur Anbindung an Steuerungen etc.

Das Gerät kostet aber auch fast Tausend €.

Dafür sind in der Beschreibung dann auch die ganzen Parameter (ModBus 
Read/Write Coils) genau beschrieben und aufgelistet für die 
verschiedenen Kesseltypen.
Leider gibt´s diese Liste für die RS232 nicht :(

von 0x90 (Gast)


Lesenswert?

Habe heute noch etwas weiter geschaut, die "Intelligenz" scheint wohl im 
Bedienteil zu sein. Die Hauptplatine unten ist wohl "nur" die 
elektrische Steuerung.

Wenn ich das richtig gesehen habe ist oben ein 8051 verbaut 
(TS80C32X2-MCB), und das EPROM ist ein 290F010.

Ich habe das ROM gelesen, es gibt wohl 4x32KB Blöcke, der erste Block 
sind wohl die Daten (Strings usw.), die anderen 3 Blöcke sind wohl der 
Code. (Evtl. sind das die 3 Betriebsmodi Hand, Boiler, Auto ?)

Werde aber nicht ganz schlau draus, habe es schon mit 8051 Maschinencode 
verglichen, das scheint aber auch nicht so ganz zu passen.

Es gibt auf der Platine noch einen anderen beschrifteten Baustein. Werde 
mir das noch bisschen genauer anschauen, evtl. kriegt man ja dann etwas 
raus, was bei einer offenen Integration/Fernsteuerung helfen könnte.

von A.N.Other (Gast)


Lesenswert?

Habe meinen Kessel jetzt lt. Belegung aus der Hargassner Doku 
angeschlossen und siehe da - Im Sekundentakt wandern jetzt die 
Heizungsdaten zur SPS.

Bei mir sind es 107 Parameter/Datensätze die Übertragen werden.
Durch Langzeit-Aufzeichung der Datensätze (Kennung pm) und Meldungen 
(Kennung z) habe ich den Kesselstatus herausgefunden - dieser liegt am 
Parametersatz 43.
Aussentemperatur und Puffertemperatur habe ich ebenfalls entschlüsselt, 
aber die Statusmeldungen (Bitcodierte Statusmeldungen - "Digitalwerte") 
habe ich noch nicht rausfinden können wo die genau liegen...
Hat hier jemand Erfahrungen wie man die am einfachsten analysiert?

von A.N.Other (Gast)


Angehängte Dateien:

Lesenswert?

Hier nochmal eine Datenliste für Heizkessel mit 155 Datensätzen
Vlt hilft sie dem einen oder anderen weiter.

von Martin D. (martin_d760)


Lesenswert?

Sehe ich das richtig? Ist mit „Lagerraum“ nun tatsächlich die Menge an 
Bestand von Holzpellets gemeint?
Das wäre ja genial!
Auch der Status der Ascheschublade wäre klasse.

Dankeschön!

von A.N.Other (Gast)


Lesenswert?

Hallo,

ob und welche Statusmeldungen dann bei den jeweiligen Kesseltypen 
verwendet / aktiv sind kann ich nicht sagen.

Das ist nur der Auszug der Daten die im Seriellen Übertragungsprotokoll 
aufgelegt sind.
- Das Protokoll dürfte sich allen Anschein nach alle paar Jahre 
erweitern,
waren es 2006 noch rund 40 Datenpunkte, sind es mittlerweile schon 155 
oder sogar noch mehr... dieser Stand dürfte ca aus 2015/2016 sein.

von mmquattro (Gast)


Lesenswert?

Hi,
lese schon seit geraumer Zeit im Hintergrund mit, und bin begeistert was 
ihr alles herausgefunden habt.
Mich würde interessieren, ob es einen OPC Server gibt, der diese 
einfachen dauen im seriellen Format in ein für eine Visualisierung 
verständliches Format konvertiert.


Für Anregungen bedanke ich mich schon jetzt bei jedem einzelnen
MFG
MM

von Karsten (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

angeregt durch Eure Beiträge hab ich mir ein shellscript gebastelt.
Meine Anlage ist eine Hargassner Pelletheizung HSV classic Baujahr 2015
mit Touchdisplay und Internet Gateway.
In lokalen LAN erscheinen nach der installation (DHCP) 2 Netzwerkkarten

1, HARGASSNERIGW
2, HSV1

auf der Karte mit dem Bios Name HSV1 ist der telnetport offen
und liefert alle halbe Sekunde, die hier so schön beschriebene
Zeichenkette.

Ich habe mich dafür entschlossen das alles in eine
csv Datei alle 5 Minten zu sicher und dann die Auswertung in excel zu
machen.
Dazu benutze ich einen so und so schon vorhandenen Orange Pi.
Ich denke mal , das ganze würde auch auf einen NAS gut laufen.

In Anhang habe ich mal das Shell Script und die Log CSV Datei
von Gestern zu Heute getan.
Nebenbei gesagt, ist die Zeichenkette schon wieder länger
als das letzte mal Hier beschieben.

Mit Besten Gruß Karsten

von Christian (Gast)


Lesenswert?

Hallo,
vielen Dank an alle die hier ihre Erfahrungen zur Verfügung gestellt 
habe. Dadurch konnte ich nun erfolgreich den Datensatz der über Telnet 
kommt auswerten.

Ich habe allerdings nich eine Frage. Wie kann ich die Digitaldaten 
auslesen, also sowas wie Mischerstellung oder Pumpe AN?
Kommen die auch über den telnet Datensatz?

von Michael L. (michaelhs11)


Lesenswert?

Hallo zusammen,

ich habe seit kurzem unsere HSV 12-22 SMS 2.0t (BJ 2005) über seriell 
angeschlossen an eine raspberry pi 3 mit usb2serial

HSV     DB9
Pin4 -> Pin5 (GND)
Pin3 -> Pin2 (RXD)
19200 8N1
andere pins geben nichts aus od nur unbrauchbar

output is nur wie folgt (ohne dem unixtimestamp:)
keine pm od tm zeilen
hat das schon wer gehabt / gesehen ?


1516293627:2uff03
1516293627:1i116b04
1516293627:2u0562c60f631906
1516293627:1i116b04
1516293627:2u07bd6a0e66c504
1516293627:1i117b05
1516293627:2u10abc8127e6904
1516293627:1i117b05
1516293627:2u06d44b03b8a30c
1516293628:2uff03
1516293628:1i116b04
1516293628:2uff03
1516293628:1i116b04
1516293628:2u0f630c1362b80f

lg
 michael

von XXX (Gast)


Lesenswert?

ja das passt, musst diese meldungen ignorieren. das sind nur binaere 
schalterwerte. hatten die alten firmwares wohl so. hatte ich glaube 
schon mal was dazu geschrieben.

von Michael L. (michaelhs11)


Lesenswert?

Hallo XXX

Danke für die Antwort

es gibt aber leider gar keine "pm" od "tm" zeilen

wenn dazu wer einen tip hat was ich noch probieren kann

lg
 michael

von Simon (Gast)


Lesenswert?

Bist du dir 100% sicher ? Die U Zeilen mal komplett filtern.

Das Ding schickt teilweise nur einen CR ohne LF und überschreibt so die 
Zeile wieder

Am besten mal alle CR als CRLF interpretieren dann schaut es ganz anders 
aus

von Michael L. (michaelhs11)


Lesenswert?

Hallo Simon

habs schon mit vershiedenen tools probiert (cat,mobaxterm,dd,putty)
immer nur 1i und 2u - ca 780k zeilen ( ca 9h)
# dd if=/dev/ttyUSB0 bs=20 count=10 | hexdump -cx
dd: warning: partial read (4 bytes); suggest iflag=fullblock
0000000   b   0   3  \n   2   u   f   f   0   3  \n   1   i   1   0   7
0000000    3062    0a33    7532    6666    3330    310a    3169    3730
0000010   b   0   4  \n   2   u   1   0   6   5   d   8   1   4   d   4
0000010    3062    0a34    7532    3031    3536    3864    3431    3464
0000020   4   b   0   2  \n   1   i   1   0   7   b   0   4  \n   2   u
0000020    6234    3230    310a    3169    3730    3062    0a34    7532
0000030   0   f   6   3   3   8   1   2   7   e   7   a   0   8  \n   1
0000030    6630    3336    3833    3231    6537    6137    3830    310a
0000040   i   1   0   6   b   0   3  \n   2   u   0   2   a   f   9   d
0000040    3169    3630    3062    0a33    7532    3230    6661    6439
0000050   1   1   7   c   6   e   0   4  \n   2   u   f   f   0   3  \n
0000050    3131    6337    6536    3430    320a    6675    3066    0a33
0+10 records in
0+10 records out

# dd if=/dev/ttyUSB0 bs=20 count=10
2u10abd709ac5e0d
dd: warning: partial read (17 bytes); suggest iflag=fullblock
2uff03
1i117b05
2u1362bb02afa001
1i117b05
2u14d4480ac14a0a
2uff03
1i117b05
2u0f635510acb40b
1i117b05
0+10 records in
0+10 records out
118 bytes (118 B) copied, 0.334424 s, 0.4 kB/s

lg

 michael

von fb (Gast)


Angehängte Dateien:

Lesenswert?

Analog-Regler FR25-2.0 mit Temperatur-Fühler

Hallo,

kennt sich jemand mit dem Gerät näher aus oder hat gar einen Schaltplan?

Seit einiger Zeit sehe ich in meinen Diagrammen, daß die dort gemessene 
Raumtemperatur um über 1°C zu hoch angezeigt wird. Verglichen mit 
mehreren guten Thermometern am selben Ort. Dadurch wird natürlich nicht 
auf die gewünschte Raumtemperatur hochgeregelt.
Durch Verstellen des Drehknopfes könnte ich das natürlich leicht 
ausgleichen. Nur schränke ich damit den Plus-Regelbereich des 
Drehknopfes ein und irgendwie geht es mir gegen den Strich.
Schön wäre wenn man mit R8 nachjustieren könnte. Weiß da jemand was?
Danke!

Grüße, Franz

von Mike (Gast)


Lesenswert?

Ich weiß, dass dieser Thread schon älter ist. Ich kämpfe aber mit einem 
Problem das hierzu passt.
Ich bekam diese Woche ein FW-Update für den HSV12-15 auf die Version 
4.3h. Der Kessel ist BJ2008.
Seit dem Update passt die Parameterzuordnung nicht mehr. Ich bin 
vorallem an den Stati der Heizkreise (offen, geschlossen) interessiert. 
Ebenso interessiert mich die Laufzeit der Einschubschnecke. Diese hatte 
ich bisher einfach mitgezählt. Das hat ca. 10 Jahre lang sehr gut 
funktioniert. Dadurch habe ich mir Verbrauchsstatistiken erstellt.
Leider kann ich keine aktuelle Parameterzuordnung finden, welche auch 
auf meine empfangene Daten passt.
Ich mache das über einen Raspberry-PI über die serielle Kommunikation. 
Die hier genannten Parmeterzuordnungen über die IP-Schnittstelle stimmt 
nicht mit meinen empfangenen Daten überein. Empfangen tu ich 99 
Parameter.
Wäre toll wenn ich die Parameterzuordnung irgendwo her bekommen kann. 
Bei Hargassner habe ich da wenig hoffnung, das hat damals schon nicht 
funktioniert --> die wollen ihre Produkte für Datenaufzeichnung 
verkaufen.

von Johannes (Gast)


Lesenswert?

Steck eine leere sd Karte in den Slot, lass den Kessel Protokoll 
schreiben, und du hast, was du brauchst.
So war das zumindest bei mir.
Die Alternative ist verschiedene Momentaufnahmen vom Display und dem RPi 
zu vergleichen.

Viel Erfolg!

von Mike (Gast)


Lesenswert?

Meine Anlage ist schon etwas älter und hat keinen SD-Karten-Slot.

von Martin D (Gast)


Lesenswert?

Ich finde es so schade, dass ich den einzigen Wert, der mich 
interessiert, nicht auslesen kann, nämlich den Füllstand des 
Pelletlagers. Dafür würde ich sogar etwas zahlen.

von Simon P. (simon84)


Lesenswert?

Ich könnte bei Bedarf die alte Firmware aus meiner Anlage noch mal 
auslesen, gehe mal davon aus, dass die auf dem EPROM steht.

Wurde bei dir die Platine auch getauscht, für Upgrade auf "App" 
Steuerung? Das ist laut Hargassner ja auch möglich.

von Mike (Gast)


Lesenswert?

Bei mir wurde 'nur' das Eprom getauscht. Rest ist wie gehabt.

von Martin Z. (koffein)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

hier mal meine Erfahrungen bisher. Wir haben eine HSV15-22
Platine: Hargassner Steuerung Type HSV 15; I/O Platine 13.0 sp-pe/bu2701

Auf der Platine befindet sich nur eine Wannenbuchse, durch 
herumprobieren mit dem oszi hab ich folgende Belegung, anbei, ermittelt.
Mittels einen gewöhnlichen USB-RS232 konverter hab ich die Tx Daten 
sichtbar gemacht. 19200 baud,8N2.

Bei etwa 20 Minuten Laufzeit erhalte ich kontinuierlich Daten die wie 
folgend sichtbar sind. In einer Sekunde werden 7 Doppelzeilen (2uXXX und 
1iXXX) gesendet, folgender output entspricht also in etwa 1500ms:

2u01ffff12825103
1i117b05
2u10b89700c60a0c
1i106b03
2u0f668711710305
1i106b03
2u04ffff09c2ef0c
1i107b04
2u1068ae07c04701
1i106b03
2u0566c502b1500a
1i106b03
2u06d6b60f668a0a
1i107b04
2u1068be1366b605
1i106b03
2u14d6aa0e73cf00
1i106b03
2u0affff03c47809
1i106b03
2u0f66861068d600
1i106b03

Ich habe etwas mit der Analyse der Daten beschäftigt. Die 1i Zeile 
wechselt immer mit der 2u Zeile.

Der erste Teil beginnt immer mit "2u", offenbar stimmen meine Daten mit 
dem Kollegen Simon (Simon P. (simon84), siehe Beitrag oben vom 
25.01.2017 19:36). Die Prüfziffer am Schluss dürfte bei mir auch so 
stimmen.

Zitat Simon:"Prüfsumme = Letzte Hex Stelle der Quersumme der 14 
Datenpositionen
Bei der Berechnung ersetzen: a=1, b=2, c=3, d=4, e=5, f=6"

2u01ffff12825103

--> Berechne Summe von "01ffff1282510"; Summe = 44(dez) = 2C(hex) --> 
modulo 16 = C --> stimmt somit für die erste Zeile.

Bei den 1i Daten dürfte der Offset nicht wie bei Simon 0x07 sein, 
sondern 0xA; Wenn ich die 10 addiere stimmts wieder (für ein paar Werte, 
habs nicht für alle Daten verifiziert)

Bei 5747 "1iXXXXX" Daten, die in ca. 20 Minuten angefallen sind hab ich 
eine Analyse gemacht, das Ergebnis wie folgt:

XXXXX    Anzahl
06b03    3195
16b04    1388
07b04     805
17b05     359

Hier sieht mann nun, dass die Annahme vom Offset mit 0xA stimmt.

Analyse der 2uXX Werte:

XX count von gleichen Elementen/Anzahl Elemente absolut, ggf. die 
Häufigsten mit count
00 200/216, ziemlich gleichverteilt
01 130/221, 2u01ffff0affff09    40x, darunter etwas verteilter;
02 186/221, 2u02b14e0affff0e    6, 2u02b1520affff0c    6, 
2u02b1530affff0d    4;
03 199/217,
04 122/224, 2u04ffff0affff0c    32
05 444/574,
06 425/574,
07 189/217
08 118/216, 2u08ffff0affff00    40;
09 29/32
10 1119/1246, 2u1068d808ffff02    9, 2u1068cc01ffff05    4
11 32/32
12 31/32, 2u12825201ffff04    2
13 144/192
14 255/287
0A 21/32
0B 32/32
0F 990/1149



--> 2u10 sind mit 1246 ziemlich oft. Eine Auswertung davon zeigt dass 
die bits 4-6 der Strom der Einschubschnecke sein könnte. Es ergibt sich 
ein Rechteckmuster mit 104 als Low Wert.

2u05 und 2u06 erscheint exakt gleich oft. Es zeigt sich ebenso dass nach 
einem 2u06 immer ein 2u05 folgt. Eine Analyse der Bits darin wiederum 
zeigte, dass in den Bits 6-8 Entropie steckt, also was anderes wie 
konstante Daten. Meine Folgerung daraus ist, dass diese beiden Zeilen 
eventuell zusammengehören können:

2u06d6e50f66d007
2u0566ee0affff0b

mal schauen...

von Dieter (Gast)


Lesenswert?

Martin Z. schrieb:
>
>
1
> 2u01ffff12825103
2
> 1i117b05
3
> 2u10b89700c60a0c
4
> 1i106b03
5
> 2u0f668711710305
6
> 1i106b03
7
> 2u04ffff09c2ef0c
8
> 1i107b04
9
> 2u1068ae07c04701
10
> 1i106b03
11
> 2u0566c502b1500a
12
> 1i106b03
13
> 2u06d6b60f668a0a
14
> 1i107b04
15
> 2u1068be1366b605
16
> 1i106b03
17
> 2u14d6aa0e73cf00
18
> 1i106b03
19
> 2u0affff03c47809
20
> 1i106b03
21
> 2u0f66861068d600
22
> 1i106b03
23
>

Kann es sein dass es sich hier um die Kommunikation mit den AT89C2051 
auf der I/O Platine handelt?

Ich habe hier eine I/O Platine zur Reparatur (HSV 9-22, Classic 9-60, 
I/O 23.3), allerdings ohne den Steuerrechner mit dem Display und Tasten. 
Die Belegung von Rx und GND von Deinem Bild passt bei dieser Platine zu 
den dortigen Steckern X3 und X4 (ebenfalls 10-polig). Die AT89C2051 auf 
der Platine sind für die Ein- und Ausgänge der Platine zuständig.

Die drei AT89C2051 sind zusammen auf ein Rx - Tx Paar geschalten (die Tx 
Pins über Dioden). Wenn ich versuchshalber die obigen Kommandos mit 
19200 Baud schicke bekomme ich eine Antwort, die LEDs an den AT89C2051 
blinken und teilweise schalten Relais.

Ich werde mir das noch genauer ansehen. Du könntest schauen was am Pin 
gegenüber Rx passiert, bei meiner I/O Platine werden dort die Kommandos 
vom Steuerrechner empfangen (Rx.

von Dieter (Gast)


Lesenswert?

Zu dem Offset bei der Prüfsumme, der ergibt sich aus den ersten beiden 
Zeichen des Datensatz (Summe der 4 MSB, davon die 4 MSB), als Beispiel:
1
1i : ASCII 0x31 0x69  -> 0x1 + 0x9 = 0x0A -> 10
2
3
1o : ASCII 0x31 0x6F  -> 0x1 + 0xF = 0x10 ->  0
4
5
1u : ASCII 0x31 0x75  -> 0x1 + 0x5 = 0x06 ->  6
6
7
6u : ASCII 0x36 0x75  -> 0x6 + 0x5 = 0x0B -> 11

Mit "1o" werden bei meiner I/O Platine die Ausgänge geschalten, je nach 
gesetzten Bits in den Daten.

von Dieter (Gast)


Lesenswert?

Und nochmal zu der Prüfsumme bei der Kommunikation mit der I/O Platine: 
Die letzte Stelle ist einfach nur die untersten 4 Bits der Summe über 
die ASCII Codes der davor stehenden Zeichen. Dann kann man in der 
Berechnung auch das Ersetzen bei A..F weg lassen, ebenso den Offset.

von Simon P. (simon84)


Lesenswert?

Ich habe lange nichts mehr an dem Thema gemacht, aber bin auch fest der 
Meinung, dass der Prefix u und o eine Rolle spielt, ein Teil kommt 
definitiv von der Kommunikation mit dem Display/Tastenfeld und ein 
anderer Teil ist die aus der Steuerung resultierende Kommunikation mit 
der Hauptplatine, Ansteuerung von Ventilen etc.

Habe ich damals nicht besonders damit beschäftigt, da mir in erster 
Linie die Messdaten wichtig waren und nicht angepasste Aktionen 
auszulösen etc.

Finde das Thema aber weiterhin super und wenn jemand was braucht, kann 
ich gerne auch an meiner Anlage (leider aktuell ausser Betrieb) 
anschliessen, testen usw.

von Dieter (Gast)


Lesenswert?

Wie schon geschrieben, ich habe hier im moment nur die I/O Platine.

Mit den dort verbauten drei AT89C2051 kann ich kommunizieren, was ich 
bisher gesehen habe (vereinfacht ohne Daten):
1
"1o" Kommando: Ausgänge schalten, als Antwort kommt "1i" mit dem Status der digitalen Eingänge.
2
3
"1i" Kommando: Abfrage der digitalen Eingänge, als Antwort kommt "1i" mit dem Status der digitalen Eingänge.
4
5
"2u" Kommando: Abfrage der analogen Eingänge, als Antwort kommt "2u" mit den Werten der analogen Eingänge.

Ich denke die Nummer vor dem Kommando addressiert den AT89C2051, die 
drei AT89C2051 auf dieser I/O Platine sind parallel an die Rx - Tx 
Verbindung zur Anzeigeeinheit angeschlossen.

Es gibt noch weitere Kommandos, diese sind aber vermutlich nicht für den 
normalen Betrieb, z.B. "2e" um den I2C EEPROM zu lesen. Dort stehen 
vermutlich die Kalibrationsdaten für die analogen Eingänge (der I2C 
EEPROM ist an dem AT89C2051 angeschlossen der die analogen Eingänge 
bedient).

Ich bekomme eventuell irgendwann noch die dazugehörige Anzeigeeinheit, 
dann kann ich mir genauer ansehen wie die Kommunikation mit der I/O 
Platine aussieht.

von Martin Z. (koffein)


Lesenswert?

Hallo Leute,
vielen Dank Dieter und Simon für die Antworten!

Tatsächlich war es der falsche Pin, dachte nicht dass es da mehrere 
Kanäle gibt.

Ich hab jetzt den Pin links daneben (in meinem Bild direkt über GND) 
genommen und jetzt kommen tatsächlich die brauchbaren Daten an:

1o009110020d00001
2u1004c
1o009110020d00001
2u020aa
7u0000000000000000c
1o009110020d00001
2u1007f
1o009110020d00001
2u0f030
pm 9 10.0 71 111 -0.5 -0.2 65 272 64 0 49 271 24 70 18.7 9999.9 0 0.0 
0.0 0.0 59 10 91 0 7b 9 0 0 0

Jetzt macht das ganze Sinn und ich kann mit den Daten was anfangen.

Bei uns geht die Heizung öfters auf Störung 26 "Zündzeit überschritten" 
und wir bekommen das indirekt über den kalten Vorlauf mit. Somit kann es 
durchaus vorkommen dass der Fehler erst nach ein paar Stunden quitiert 
werden kann.

Ich suche nach einer einfachen Möglichkeit bei Störung gewisse Personen 
zu informieren. Whatsapp/email was auch immer. Ich hab sowas mal mit 
push Benachrichtigungen probiert, bin daran gescheitert, weil diese an 
nur EIN Endgerät gesendet werden konnte; Außerdem benötigt man wieder 
eine App extra für jeden usw. Hab damals einen kleinen µC mit WLAN-Modul 
verbunden, Plan wäre, dass dies an die Störungsklemmen der Heizung 
angeschlossen wird. Störung --> µC bootet --> verbindet mit WLAN --> 
push

Eine Störlampe mit akustischer Begleitung wäre vermutlich die einfachste 
Methode. ;)

Aber auch zum analysieren warum die Störung 26 manchmal kommt wärs 
interessant, vor allem was davor passiert. Wie oft die Heizung von 
Gluterhaltung auf AUS geht usw. Kondensator des Förderschneckenmotors 
wurde erneuert, weil der Motor manchmal in die falsche Richtung lief.

von Dieter (Gast)


Lesenswert?

Martin Z. schrieb:
>
> Tatsächlich war es der falsche Pin, dachte nicht dass es da mehrere
> Kanäle gibt.
>

Du hast die Daten auf der Tx Leitung der I/O Platine in Deinem ersten 
Versuch gelesen, also die Antwort der I/O Platine auf die Kommandos.

Jetzt liesst Du die Daten, die zur I/O Platine geschickt werden 
(Kommandos) bzw. die Ausgaben zur Erfassung der Betriebsdaten.

von Dieter (Gast)


Lesenswert?

Zur Kommunikation mit der I/O Platine eine Ergänzung da das Einlesen der 
analogen Eingänge nicht ganz offensichtlich ist:
1
"2u" Kommando: Abfrage der analogen Eingänge, als Antwort kommt "2u" mit den Werten der analogen Eingänge.
2
3
Es können zwei Eingänge auf einmal abgefragt werden, die Nummer der beiden Eingänge steht im  Kommando.
4
5
Beispiel (ohne die Prüfsumme): "2u020a" -> Eingang 2 und Eingang 10 (0x0A)
6
7
Als Antwort kommt dann beispielsweise (ohne die Prüfsumme und eine Füll-Stelle): "2u0268ae0ac047" mit dem Wert 0x68AE für Eingang 2 und 0xC047 für Eingang 10 (0x0A).

von Rupert S. (rupert)


Angehängte Dateien:

Lesenswert?

Hallo Kollegen mit Hargassner-Kesseln.
Ich habe seit 3 Jahren einen NANO-PK (zuvor 20 Jahre einen umgerüsteten 
Hargassner Hackschnitzel-Kessel) und versuche seither mit Hargassner und 
dem SW-Entwickler Hainzl-Industriesysteme

1. den Datenstrom dokumentiert zu bekommen, dessen Geheimhaltung 
unverständlich ist, da über Modbus, KNX oder Loxone ohnedies alles 
aufgeschlüsselt ist.
2. Den Kessel mit dem externen Befehl "ext. Heizkreis" sofort zu starten 
und nicht erst, wenn die obere Kesseltemperatur so weit gefallen ist, 
das der Kessel zündet. Bis zu diesem Zeitpunkt sinkt nämlich die 
Vorlauftemperatur unter das Soll und der Kessel braucht über 45 min, bis 
er diese Puffer-Temperatur wieder erreicht hat.
3. Den Kessel-Betriebszustand extern zu ändern (z.B.: AUTO >> AUS, oder 
AUS >> AUTO)
4. Verbesserung des Hargassner-Gateways - Den habe ich sofort wieder 
entfernt, weil mann ihn nicht einer fixen IP zuteilen konnte (nur DHCP) 
und dieser aber FTP für den Service benötigt. Somit erfüllt er die 
Richtlinien im LAN nicht und kann die Firewall über den NANO-Kessel 
umgehen.

Das ist der Datenstrom, den ich intern für meine Heizungssteuerung 
bereits verwende.
1
pm 7 11.4 9 68.3 70 82.5 26 27 30 21.1 9 2 7 0 0 5 5 68.9 -20 68.8 -20 42.2 69 67.2 65 39 119.4 83.1 85 25 0 0 22 40 0 3100 8.00 13.54 591 6 3 70 85 30 11 0 15426 10739 2 0 -20 0 20 20 0 1 140 0 20 20 0 1 140 0 20 20 0 1 -20 0 20 20 0 1 -20 0 20 20 0 1 -20 0 20 20 0 1 -20 0 20 20 0 1 -20 0 0 68.5 0 0 -20 0 0 -20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 140 -20 -20 -20 -20 -20 24174 -20 0 0 -20 0 20 20 0 20 1 0003 0001 0000 2000 0000 0160 0000 0000

Mittels Reverse-engineering habe ich folgendes ermittelt:
siehe "zuweisung_der_Daten_Nano.txt"
was aktuell ausreichend ist, um den Kessel in die bestehende 
Heizungsanlage zu integrieren.

Um den Kessel zu starten habe ich vom Kundendienst Hargassner den Tipp 
erhalten, mittels Relais den OBEREN Temperaturfühler (Klemme 68,69) 
parallel zur "Anforderung externer Heizkreis" (Klemme 14-15) mit 10kOhm 
parallel
 zu schalten und dem Kessel eine Puffertemperatur von 52°C 
vorzutäuschen, obwohl er bei 72°C steht.
Das ist meiner Ansicht nach jedoch sehr heikel, da der Kessel längst 
90°C haben kann, aber glaubt, dass es nur 60°C sind (dies habe ich dem 
Serviceteam mitgeteilt und warte auf Antwort).
Deshalb hätte ich es gerne mit dem mittleren Temp-Fühler gelöst 
(Bild2.jpg), da dieser auch für das Heizwasser relevant ist und nicht 
wie der obere, der die Temp. für die Warmwasseraufbereitung anzeigt.

Mit dem Bild übersicht.png zeige ich euch, wofür die Daten in meiner 
Software angewendet werden.

Vielleicht hat jemand ebenfalls daran gearbeitet und für mich wäre es 
von bedeutung, dass ich
1. den Betriebszustand "AUS" auf "AUTO" u. umgekehrt ändern kann und
2. den Kessel zünde, sobald extern das Kommando den Bedarf befiehlt.

lg
Rupert

von Simon P. (simon84)


Lesenswert?

Rupert S. schrieb:
> weil mann ihn nicht einer fixen IP zuteilen konnte (nur DHCP)
> und dieser aber FTP für den Service benötigt.

Das ist in der Regel ein sehr leicht lösbares Problem.
MAC Adresse notieren, im DHCP Server (z.B. im Router) eintragen so dass 
dieser MAC immer die gleiche IP zugewiesen wird.
De-Facto hast du damit eine feste IP für das Gerät.

Haben wir bei sehr vielen Lösungen im Einsatz, z.B. SBC für VoIP 
Telefonie etc.

von Rupert S. (rupert)


Lesenswert?

Hallo Simon.
Habe ich natürlich auf meiner ASA gemacht.
1
dhcpd reserve-address 192.168.101.4 0050.418d.622b inside
Nachdem aber FTP und HTTP für den Gateway Intern/Extern freigeschaltet 
werden muss, und ich nicht (noch immer nicht) weiß, was die NANO alles 
anstellen könnte, habe ich entschieden, dass das Gateway im 
Firmennetzwerk nicht eingesetzt wird. Die NANO darf in unserem LAN nicht 
einmal HTTP, und FTP nur bis zum Heizcomputer - that's it.

von Mario Lang (Gast)



Lesenswert?

Hallo

ich habe mir die letzten Tage diesen und den andren Thread bzgl. 
Hargassner Touchsteuerung durchgelesen 
(Beitrag "Hargassner / Rennergy Touchtronic Netzwerkanbindung/Visualisierung")

Es sind viele Ideen und Anregungen dabei von denen ich mir ein paar 
abgeschaut habe und jetzt mitten in der Umsetzung bin welche ich euch 
nicht vorenthalten will.

nun zu den Fakten:

Heizung ist eine Hargassner ECO HK40 Hackgut Bj. 2015

Win 10 Server auf dem alles läuft

- Die Werte vom Kessel werden durch ein Shell-Script (WSL) abgerufen, 
formatiert und in eine csv-Datei geschrieben (160 Werte)

- Auf dem Server läuft ein Apache2 Webserver mit PHP 7.4 mit dem ich die 
csv auswerte und die Daten anzeigen lasse, siehe Bilder. Die ist nur der 
erste Testentwurf den ich über die Feiertage erstellt hab. Die Optik 
wird natürlich noch aufgehübscht mit Kessel und Pufferbild.
Der Blau-Rote Farbverlauf sowie der grüne Balken passen sich der 
Pufferladung an.
- weiters habe ich mich für ein Grafanadiagramm entschieden welches die 
wichtigsten Werte, ebenfalls aus der csv, ähnlich dem Kessel-Display 
anzeigt.

ich werde euch am laufenden halten

lg
Mario

von Mario Lang (Gast)


Angehängte Dateien:

Lesenswert?

etwas aufgehübscht, aber noch nicht fertig

weitere Info folgt

von Mario Lang (Gast)



Lesenswert?

ein paar Bilder zum update

von Rupert S. (rupert)


Lesenswert?

Hallo.

Weiß jemand,welche Kommandos erforderlich sind, um den Kessel NANO PK 
remote auszuschalten, bzw. zwischen "Auto" und "Aus" umzustellen?
Ich kann zwar den Datenstrom auslesen, und die darin enthaltenen Daten 
auswerten, kann aber nicht dahingehend eingreifen, dass ich den Kessel 
abschalte, wenn meine PV aufgrund der Sonnenprognose über den Heizstab 
den Pufferspeicher aufheizen wird.
Ich verbrenne unnötig Pellets und speise unnötig Strom ins Netz.

lg Rupert

von Le (oleri)


Lesenswert?

Hallo Zusammen,

Ich hoffe nach solch einer langen Zeit, liest hier noch jemand der 
ursprünglichen Themenersteller mit ...

Endlich fühle ich mich bereit ein wenig mit Home/Datenauswertung zu 
investieren. Habe die besagte HSV14 und auch die ursprünglich 
beschriebene Schnittstelle und mir ein Passendes Kabel von RJ45 auf 
Seriell gebaut.

Laptop dran, via eines USB/RS232 wandlers, HyperTerminal dran, alles 
tutti, Daten kommen im beschriebenen Datesatzformat.

Jetzt sollen die Daten allerdings per ESP32 abgegriffen und per MQTT an 
mein Homeassistant geschickt werden. Alles klar, hingesetzt und passend 
gemacht.

Voller Vorfreude an die Schnittstelle per RS232/TTL Wandler, 
Entäuschung, der RS232/TTL Wandler emfpängt keine Daten, erkenntlich an 
der RX LED die sich auf diesem befindet und normalerweise bei Empfang am 
RS232 Port, leuchtet. Diese bleibt dunkel.

Probiere ich das ganze aber mit dem PC über Hyperterm und besagtem 
PC->USB/RS232->RS232/TTL->ESP wandlerstrecke geht alles, daten kommen 
LED Blink.

Woran kann das liegen, was ist denn hier im Signal der unterschied?
Bitte um Tipps und Hinweise wo das Problem herkommen und wie ich es 
lösen könnte. Danke vorab :-)

von Le (oleri)


Lesenswert?

hat sich erledigt! Bitte letzten Post ignorieren.

von Marcel E. (marcel_e717)


Lesenswert?

Hallo, ich habe eine Haus mit einer HSV 22 übernommen und würde diese 
gerne mit einem raspi Loggen und im Idealfall fernsteuern.

Gibt es eventuell eine Beschreibung incl. Der nötigen Protokolle etc, 
ich bin aber noch blutiger Anfänger will aber schon lange
Mal einen Raspi  oder ähnliches aufsetzen und nutzen.
LAN im Heizungskeller wäre kein Problem.

Danke Gruß Marcel

von Rupert S. (rupert)


Lesenswert?

Servus Marcel.
Sobald du die IP-Adresse über Port 21 abfragst, empfängst du den 
Datenstrom. Dieser ist weitgehend entschlüsselt (findest du in diesem 
Thread)
Wie du diese Daten dann aufbereitesn kannst, findest du ebenfalls hier.
Musst halt Zeit investieren, denn die Suche ist manchmal mühsam :)

: Bearbeitet durch User
von Daniel (impal)


Lesenswert?

Hallo Leute,
ich habe einen Hargassner HSV22 aus dem Jahre 2010.
2013 habe ich mir aus der Hoffnung heraus die Software gekauft, dass ich 
den Ofen im "Netzwerk" betreiben kann und mit den ganzen Pc´s ihn 
abrufen kann. Dies war leider nicht der Fall und ich habe das ganze 
Projekt dann nur mehr temporär betrachtet und vorangetrieben. Da es 
"leichter" war zum Ofen zu gehen und ihn direkt zu bedienen bzw. 
abzulesen. Nun aber könnte mittels einer alter Siemens Steuerung wieder 
fahrt in das Projekt kommen und ich wollte das Programm für "meinen" 
Programmierer installieren und ihn das Programm soweit zu Verfügung 
stellen wie er es brauchen kann. Leider finde ich hierzu den Code nicht 
mehr. Hat viell. einer mal das Programm gekauft, nutzt es nicht mehr und 
könnte mir den Code viell. zur Verfügung stellen?
Ein Anruf beim Hargassner Kundendienst ist leider mehr schlecht als 
recht wie ich lernen durfte!
Klar hatte ich auch schon an eine Umrüstung vom alten auf den neuen 
Touch gedacht, diese Idee verging mir aber wie ich den Preis für eine 
Umrüstung erfuhr. Und somit "never touch a running system".
Danke euch im voraus
mfg
Daniel

von Rupert S. (rupert)


Angehängte Dateien:

Lesenswert?

Servus Daniel.

Ich weiß nicht, ob dir meine Routine weiterhilft, aber ich lese den 
Datenstrom aus und teile ihn dann auf meine Bedürfnisse auf.

Wie du richtig anmerks, ist der Support von Hargassner mehr als dürftig.
Ich sprach bei Hargassner mit einem Herrn Zeilinger (11.3.2021).

Die Software in den Hargassner-Kesseln hat die Fa. Hainzl in Linz 
programmiert - Ansprechpartner war Herr K. Hofbauer - die mir den 
Datenstrom ebenfalls nicht kommentieren wollte.
Ob es den Herrn, oder die Programmierung durch die Fa. Hainzl nocht 
gibt, kann ich dir nicht sagen - ich habe das Thema abgeschlossen, da 
ich alle erforderlichen Daten über Reverse-Engineering ermittelt habe.

Hier der Code meiner Software in Delphi:
1
procedure THauptformular.NANO_Daten_vom_Kessel(Owner: TObject);
2
var
3
   Lagerstand: Integer;
4
   Stand_Letzte_Lieferung: Integer;
5
6
   T_oben,T_Diff1,T_mitte:Integer;
7
   Datensatz: String;
8
   i,Pos1,Pos2: Integer;
9
10
   had_a_message : Boolean;
11
   Temperatur_aussen_NANO: double;
12
13
const
14
  color1: TColor = clred; //rot
15
  color2: TColor = $002AD1FF; //gelb;
16
  color3: TColor = $002AD1FF;   //gelb;
17
  color4: TColor = $00CC4E14;   // Blau
18
19
begin
20
  had_a_message:= False;
21
  Memo6.clear;
22
23
  try
24
    NANOFTP.Connect();
25
  except
26
    had_a_message := True;
27
    Status_NANO.caption:='keine Verbindung';
28
    Status_NANO.color:=clRed;
29
  end;
30
31
  If Not had_a_message Then begin
32
    Status_NANO.caption:='OK - verbunden';
33
    Status_NANO.color:=clRed;
34
    Status_NANO.caption:='Download der aktuellen Daten';
35
    Status_NANO.color:=$004080FF;
36
    try
37
      Datensatz:=NANOFTP.ReadLn;
38
      Memo6.Text:= Datensatz;
39
      Memo6.Refresh;
40
      NANOFTP.Disconnect();
41
    except
42
      had_a_message := True;
43
      Status_NANO.caption:='Fehler beim Downloaden';
44
      Status_NANO.color:=clRed;
45
    end;
46
47
    If Not had_a_message Then begin
48
      Datensatz:= StringReplace(Datensatz, '.', ',', [rfReplaceAll]);
49
50
      Status_NANO.Caption:='Daten sind geladen';
51
      Status_NANO.color:=clLime;
52
      Status_NANO.refresh;
53
54
 // Datensatz in das Array schreiben
55
      Pos2:=1;
56
      try
57
        for i:=1 to 150 do begin
58
          Pos1:=pos(' ', Copy(Datensatz, Pos2, Length(Datensatz)));
59
          if Copy(Datensatz, Pos2, Pos1-1) = ' ' then NANO_Daten[i,2]:= '0'
60
          else begin
61
            Pos1:=pos(' ', Copy(Datensatz, Pos2, Length(Datensatz)));
62
            NANO_Daten[i,2]:= Copy(Datensatz, Pos2, Pos1-1);   // Aufteilen in Teilstrings
63
//            StringReplace(NANO_Daten[i,2], ',', '.', [rfReplaceAll]);
64
            Pos2:=Pos2+Pos1;
65
          end;
66
        end;
67
      except
68
        had_a_message := True;
69
        Status_NANO.caption:='Fehler Aufteilung der Daten';
70
        Status_NANO.color:=clRed;
71
      end; //try
72
    end; //If Not had_a_message
73
  end; //If Not had_a_message
74
75
  if not had_a_message then try
76
    // aktuelle Verbrauchswerte eintragen
77
 //   Pelletsverbrauch:= Gesamtlieferung +Lageroffset-strtoint(NANO_Daten[49,2])-strtoint(Pelletslieferung.Caption);
78
79
    Pelletsverbrauch_Kessel:= strtoint(NANO_Daten[49,2]);
80
81
    Pelletsverbrauch:= Pelletsverbrauch_Kessel - Datentabellen.Pellets.FieldByName('StandKessel').Asinteger;
82
//   if not Startflag then begin
83
    // eintragen in die Datenbank
84
    Datentabellen.Pellets.Last;
85
    Datentabellen.Pellets.Edit;
86
    Datentabellen.Pellets.FieldByName('Verbrauch').AsInteger:=Pelletsverbrauch;
87
    Datentabellen.Pellets.Post;
88
89
    // Auslesen Verbrauchsdaten aus der Datenbank
90
    Datentabellen.Pellets.Last;
91
    Stand_Letzte_Lieferung:= Datentabellen.Pellets.FieldByName('kg').Asinteger+ Datentabellen.Pellets.FieldByName('Rest').Asinteger;
92
    Datentabellen.Pellets.FieldByName('Verbrauch').AsInteger;
93
  //  Lagerstand:= Gesamtlieferung + Pelletsverbrauch + Lageroffset;
94
  //  Lagerstand:= Gesamtlieferung + Alter_Pelletsverbrauch + Lageroffset + Pelletsverbrauch;
95
 //  end;
96
    Lagerstand:= Stand_Letzte_Lieferung - Pelletsverbrauch - Lageroffset;
97
 
98
//    Temperatur_aussen_NANO:=runden(strtofloat(NANO_Daten[17,2])*1.6025,1);
99
    Temperatur_aussen_NANO:=runden(strtofloat(NANO_Daten[17,2]),1);
100
    Thermometer.position:=trunc(Temperatur_aussen_NANO*1.6025)+36;
101
    Thermometer.Refresh;
102
103
104
    label_akt_verbrauch.caption:= 'Verbrauch seit '+chr(10)+Lieferung_am.Caption+chr(10)+' ' + inttostr(Pelletsverbrauch)+' kg';
105
    Label_Kesselzustand.caption:= ' ' + NANO_Kesselzustand[strtoint(NANO_Daten[2,2]),2];
106
    Label_Kesselzustand1.caption:=Label_Kesselzustand.caption;
107
    Label_Kesselzustand2.caption:=Label_Kesselzustand.caption;
108
    Label_Kesselzustand.Left:=Label_Left_Pos(Label_Kesselzustand,574); // 97 ergibt sich aus der halben Länge plus Position left (52)
109
    Label_Kesselzustand1.Left:=Label_Left_Pos(Label_Kesselzustand1,301); // 301 ergibt sich aus der halben Länge 20 plus Position left (281)
110
    Label_Kesselzustand2.Left:=Label_Left_Pos(Label_Kesselzustand2,165); // 301 ergibt sich aus der halben Länge 20 plus Position left (281)
111
112
    Label103.caption:=              ' ' + NANO_Daten[7,2]+' °C ';   // Rauchgas
113
    Label104.caption:=              ' ' + NANO_Daten[5,2]+' °C ';   // Kesseltemperatur
114
    Label106.caption:=              ' ' + NANO_Daten[19,2]+' °C ';  //Puffer oben
115
    Label107.caption:=              ' ' + NANO_Daten[21,2]+' °C ';  // Puffer mitte
116
    Label108.caption:=              ' ' + NANO_Daten[23,2]+' °C ';  // Puffer unten
117
    Label109.caption:=              ' ' + floattostr(Temperatur_aussen_NANO)+' °C '; // Temp Aussen
118
    Label112.caption:=              ' ' + Ist_B25.caption+'C '; // Warmwasser
119
    Label111.caption:=              ' ' + Ist_B26.caption+'C '; // Vorlauf Zentral
120
    Label113.caption:=              ' ' + Ist_B27.caption+'C '; // Rücklauf Zentral
121
    Label110.caption:=              ' ' + Ist_B28.caption+'C '; // Vorlauf OG Boden
122
    Label115.caption:=              ' ' + Ist_B28.caption+'C '; // Vorlauf Wand/Boden Altbau
123
    Label_Gesamtverbrauch.caption:= ' Gesamtverbrauch' +chr(10) + inttostr(Pelletsverbrauch_Kessel) +' kg '+chr(10)+chr(13)+'lt. Anlage';
124
    Label116.caption:=              ' ' + NANO_Daten[3,2]+' O2';  // O2 ist
125
    Label_Lagerstand.caption:=      ' Lagerstand'+chr(10) + floattostr(Lagerstand)+' kg';
126
    Label118.caption:=              ' ' + NANO_Daten[37,2]+' mal'; // Schieberostbewegungen
127
    Label119.caption:=              ' ' + Ist_B30.caption+'C '; // Pufferausgang
128
    Label120.caption:=              ' ' + NANO_Daten[4,2]+' O2 '; // O2 soll
129
    Label121.caption:=              ' ' + NANO_Daten[9,2]+' '; // Saugzug
130
    Label122.caption:=              ' ' + NANO_Daten[11,2]+' '; // Fördermenge
131
    Label123.caption:=              ' ' + NANO_Daten[44,2]+' %'; // Befüllgrad
132
    Brennleistung.caption:=              ' ' + NANO_Daten[10,2]+' %'; // Brennraumleistung
133
    Brennleistung1.caption:=Brennleistung.caption;  // Brennraumleistung Hauptanzeige
134
    Brennleistung2.caption:=Brennleistung.caption;  // Brennraumleistung Hauptanzeige
135
    Label125.caption:=              ' ' + NANO_Daten[25,2]+' °C '; // Rücklauftemperatur ist
136
    Label126.caption:=              ' ' + NANO_Daten[26,2]+' °C '; // Rücklauftemperatur soll
137
138
139
// Pufferfarbe anpassen
140
//    T_Diff1:=0;
141
    T_oben:=trunc(StrToFloat(NANO_Daten[19,2]));
142
    T_mitte:=trunc(StrToFloat(NANO_Daten[21,2]));
143
    T_Diff1:=(T_oben-T_mitte)*4;
144
//    If T_Diff1 < 104
145
    if T_Diff1=0 then T_Diff1:=170;
146
147
    Pufferfarbe_malen(Pufferfarbe.Canvas, 208, 68, 0, T_Diff1,color1, color2); // von oben
148
    Pufferfarbe_malen(Pufferfarbe.Canvas, 208, 68, T_Diff1,208-T_Diff1, color3, color4); // nach unten
149
150
151
 // Kesselflamme aktualisieren
152
    if (strtoint(NANO_Kesselzustand[strtoint(NANO_Daten[2,2]),1]) >= 3) and
153
       (Strtoint(NANO_Kesselzustand[strtoint(NANO_Daten[2,2]),1]) <= 8) then
154
    begin
155
      Flamme_NANO.Visible:=TRUE;
156
      Flamme_NANO.Animate:=TRUE;
157
      Kessel_ist_aus:=false;
158
    end else Begin
159
      Flamme_NANO.Visible:=false;
160
      Flamme_NANO.Animate:=false;
161
      Kessel_ist_aus:=true;
162
    end;
163
 // Rauch animation aktualisieren
164
165
    if (strtoint(NANO_Kesselzustand[strtoint(NANO_Daten[2,2]),1]) = 7) then
166
      Schornsteinrauch.visible:=True
167
    else
168
      Schornsteinrauch.visible:=false;
169
170
    if not had_a_message then begin
171
      Status_DL.caption:='Daten aktualisiert';
172
      Status_DL.color:=clLime;
173
    end;
174
  except
175
      Status_DL.caption:='Fehler Datenaufteilung';
176
      Status_DL.color:=clLime;
177
  end;
178
  had_a_message:=false;
179
end;

von Simon P. (simon84)


Lesenswert?

Vielen lieben Dank für die weitergehende Analyse ! Das hilft allen 
Besitzern mit der alten Steuerung sehr

: Bearbeitet durch User
von Daniel (impal)


Lesenswert?

Hallo,
danke für die rasche und ausführliche Antwort. Ich habe noch mit einem 
langjährigen Servicetechniker gesprochen, dieser verwies mich noch auf 
eine Dame die mir hoffentlich noch so einen Code generieren kann (die 
alten Hasen sind halt doch die Besten!). Ebenfalls habe ich parallel 
meine Fühler zur Firma Hainzl ausgestreckt. Ja den Herrn gibt es noch, 
telefoniert habe ich allerdings noch nicht mit ihm. Sollten alle Hebel 
ins nichts greifen, komme ich gerne auf deine Antwort zurück und 
schreibe meine Erkentnisse später rein. Danke nochmals.
mfg
Daniel

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.