Fröling P2 Kessel auslesen (Lambdatronic S3100)

User stellen ihre Haussteuerung vor

Moderator: Co-Administratoren

cityofsilence
Beiträge: 269
Registriert: 14.11.2018, 20:43
System: CCU
Wohnort: Bayern
Hat sich bedankt: 14 Mal
Danksagung erhalten: 17 Mal

Fröling P2 Kessel auslesen (Lambdatronic S3100)

Beitrag von cityofsilence » 14.04.2019, 11:24

Hallo Gemeinde,

ich möchte euch in diesem kleinen Tutorial beschreiben, wie ihr euren Fröling-Heizkessel mit 3100-Steuerung (z.B. Fröling FHG-Turbo 20kw) über die COM-Schnittstelle in das Homematic-System einbindet.
Nach langer Suche bin ich im mikrocontroller-Forum fündig geworden, denn für den P4 Kessel mit 3200-Steuerung geht es etwas einfacher da er bereits einen "echten COM-Anschluss" besitzt.

So nun auf geht´s

1.) welche Hardware wird benötigt ?

- Raspberry PI 3+ https://www.amazon.de/Raspberry-1373331 ... ers&sr=1-3 (ca.35€)
- microSDHC-Karte 16GB Class 10 https://www.amazon.de/SanDisk-Ultra-mic ... 153&sr=1-2 (ca.7€)
- Netzteil https://www.amazon.de/Aukru-Micro-USB-L ... ers&sr=1-5 (ca.10€)
- Nullmodemkabel https://www.amazon.de/InLine-12225-verg ... way&sr=8-5 (ca.10€ je nach Wunschlänge)
- RS232 Erweiterungsplatine https://www.conrad.de/de/p/rs232-erweit ... 37093.html (ca.10€)
- Jumper-Kabel female/female https://www.amazon.de/Aukru-20cm-female ... way&sr=8-6 (ca.4€)
- Gehäuse je nach Einsatzbereich wählbar (ca.6€ - 15€)

2.) Installation

- Raspberry Noobs downloaden https://www.raspberrypi.org/downloads/noobs/
- Win32 Disk Imager downloaden https://sourceforge.net/projects/win32diskimager/
- Erweiterungsplatine einbauen (Anleitung liegt bei)
- Raspberry Image auf SD-Karte schieben
- HDMI Kabel , Maus, Tastatur, Strom an den Raspi stecken und SD-Karte einschieben und los geht´s Noobs ist selbst erklärend fast wie Windows eine Step by Step installation :)
- Danach empfehle ich gleich den root-User zu konfigurieren und ein Passwort zu vergeben. In der Kommandozeile/LX-Terminal folgendes eingeben:

Code: Alles auswählen

sudo passwd root
danach wird man aufgefordert zwei mal das gewünschte Passwort einzugeben
Über Shutdown -> Logout mit dem Root-User anmelden
- Um den Raspberry Pi bequem per Remotedesktopverbindung von einem anderen Windows-PC aus zu konfigurieren, muss xrdp installiert werden.
Der Remoteserver VNC ist zwar integriert, der sich aber mit xrdp leider nicht verträgt. In dem Fall sollte man VNC entfernen, bevor man xrdp installiert.

Code: Alles auswählen

sudo apt-get purge realvnc-vnc-server
- Anschließend xrdp installieren:

Code: Alles auswählen

sudo apt-get install xrdp
- RS232 und Bluetooth mögen sich nicht besonders also schalten wir es einfach ab da es nicht menötigt wird !! Wichtig !!
Wir öffnen /boot/config.txt file mit

Code: Alles auswählen

sudo nano /boot/config.txt
und fügen am Ende folgenden Code ein

Code: Alles auswählen

# Disable Bluetooth
dtoverlay=pi3-disable-bt
Nun drücken wir "Alt+O" (speichern) dann "Enter" dann "Alt+X" (beenden)
gefolgt von den Befehlen

Code: Alles auswählen

sudo systemctl disable hciuart.service
sudo systemctl disable bluealsa.service
sudo systemctl disable bluetooth.service
- So nun bringen wir den Raspi noch auf den aktuellen Stand mit

Code: Alles auswählen

apt-get update
apt-get upgrade
apt-get dist-upgrade
rpi-update
- Gefolgt von einem Reboot

Code: Alles auswählen

reboot
- Soweit sollte nun alles bereit sein um zu Starten..... als nächstes laden wir uns die Fröling Software von
https://www.mikrocontroller.net/attachm ... rry_pi.zip
Ich habe sie ins home Verzeichnis des Benutzers root entpackt. Die enthaltene Readme Datei bitte lesen ist fast selbst erklärend :!:
- So nun gehts an das Nullmodemkabel ..... da die Heizung keinen "echten COM-Port" (Anschluss) besitzt habe ich die beiden Kabel-Enden mit einem Cutter geöffnet da wir ja nur 3 Kabel benötigen (RX,TX,GND) aber die Belegung so nicht sichtbar ist. Jetzt kommen die Jumper-Kabel zum Einsatz....
Wir öffnen den Deckel der Bedieneinheit der Heizung und sehen auf dem Mainboard den Bedienerweiterungsanschluss hier habe ich die female Jumper-Kabel auf die male-Anschlüsse gesteckt (Rx,Tx,GND) am anderen Ende der Jumper-Kabel je 1 male/male Stück gesteckt. Die jetzt fertigen Enden mit einem Lötkolben an je ein Kabel vom Nullmodemkabel gelötet (Farbe des Kabels merken). Das andere Kabelende die passenden Farben an den frei gelegten Stecker anlöten aber aufpassen !!!!!
Rx = 2<->3 = Tx
Tx = 3<->2 = Rx
GND = 5<->5 = GND
Die Steckerbelegung welcher PIN was ist findet ihr auf google zu genüge.....
Wichtig vor dem Anschluss an die Heizung Strom abstellen !!!
- So nun nachdem alles angeschlossen ist wechseln wir im root Verzeichniss in den Ordner des Loggers mit

Code: Alles auswählen

cd froeling_p3100_logger
gefolgt von

Code: Alles auswählen

./froeling_p3100_logger 3 5 60 1
um das Auslesen zu starten !
sollte nichts passieren dann müssen wir den seriellen Anschluss noch im Programmcode ändern hierzu bitte folgendes erledigen:
Die Datei (froeling_p3100_logger.c) öffnen und in Zeile 680 ca. sollte so geändert werden

Code: Alles auswählen

char *ComPort[] = {"/dev/ttyS0","/dev/ttyS1","/dev/ttyAMA0","/dev/ttyUSB0","/dev/ttyUSB1","/dev/ttyS3","/dev/ttyS4"};

das ganze speichern und nun ein Terminal Fenster in diesem Ordner öffnen und folgenden Befehl eingeben um ein neues File zu erstellen

Code: Alles auswählen

Makefile
nun sollte nach erfolgtem

Code: Alles auswählen

cd froeling_p3100_logger
gefolgt von

Code: Alles auswählen

./froeling_p3100_logger 3 5 60 1
im Terminal Fenster sich einiges tun .... wir haben es geschafft :D

Ich hoffe die Erklärung war halbwegs verständlich geschrieben .... für Fragen stehe ich natürlich gerne bereit !!

Wichtig wer seine Daten im Browser sehen möchte muss auf dem Raspi noch (Apache2, PHP) installieren alle erforderlichen Programme liegen im Logger-Verzeichnis bereits bei ! bei Fragen einfach melden

- Mit dem nachfolgende Script sende ich die Daten vom Raspi an die CCU

Code: Alles auswählen

#!/bin/bash

>/root/CCU/Rohdaten.txt
>/root/CCU/PufferOben.txt
>/root/CCU/PufferUnten.txt
>/root/CCU/KesselTemp.txt
>/root/CCU/BoilerTemp.txt
>/root/CCU/VorlaufTemp.txt
>/root/CCU/RaspiTemp.txt

sed "s/.* //"  /root/froeling_p3100_logger/actual_data.txt >> /root/CCU/Rohdaten.txt

sed -ne '17p' /root/CCU/Rohdaten.txt >> /root/CCU/PufferOben.txt
sed -ne '18p' /root/CCU/Rohdaten.txt >> /root/CCU/PufferUnten.txt
sed -ne '6p' /root/CCU/Rohdaten.txt >> /root/CCU/KesselTemp.txt
sed -ne '19p' /root/CCU/Rohdaten.txt >> /root/CCU/BoilerTemp.txt
sed -ne '22p' /root/CCU/Rohdaten.txt >> /root/CCU/VorlaufTemp.txt

sed "s/\(...\)$/.\1/" < /sys/class/thermal/thermal_zone0/temp >> /root/CCU/RaspiTemp.txt

PO=$(sed -ne '17p' /root/CCU/Rohdaten.txt)
PU=$(sed -ne '18p' /root/CCU/Rohdaten.txt)
KT=$(sed -ne '6p' /root/CCU/Rohdaten.txt)
BT=$(sed -ne '19p' /root/CCU/Rohdaten.txt)
VT=$(sed -ne '22p' /root/CCU/Rohdaten.txt)
RT=$(sed -ne '1p' /root/CCU/RaspiTemp.txt)



curl -s -k "http://192.168.xxx.xx:8181/rega.exe?x=dom.GetObject(14514).State(${PO})"
curl -s -k "http://192.168.xxx.xx:8181/rega.exe?x=dom.GetObject(14515).State(${PU})"
curl -s -k "http://192.168.xxx.xx:8181/rega.exe?x=dom.GetObject(14516).State(${BT})"
curl -s -k "http://192.168.xxx.xx:8181/rega.exe?x=dom.GetObject(14517).State(${VT})"
curl -s -k "http://192.168.xxx.xx:8181/rega.exe?x=dom.GetObject(14518).State(${KT})"
curl -s -k "http://192.168.xxx.xx:8181/rega.exe?x=dom.GetObject(14478).State(${RT})"

exit 0


Das ganze gesteuert über crontab alle 5 Minuten und schon sind alle mir wichtigen Werte der Heizung in der CCU. Anpassbar natürlich an Lust und Laune

So nachdem der Raspi damit nicht gerade gefordert ist (1% Last) und trozdem 5Watt Stromverbrauch hat habe ich ihn dazu genötigt nebenbei noch nach COINS zu schürfen um zumindest den Stromverbrauch wieder zu bekommen (es funktioniert relativ gut ca. 25Cent im Monat Ertrag) bei Fragen hierzu einfach melden.

Vielen Dank an alle hier im Forum für eure Hilfe bei meinen Problemen und Fragen ich hoffe ich kann hier etwas wieder zurück geben.
Gruß André

Red_D
Beiträge: 45
Registriert: 14.01.2017, 20:44
Hat sich bedankt: 1 Mal

Re: Fröling P2 Kessel auslesen (Lambdatronic S3100)

Beitrag von Red_D » 27.01.2020, 21:43

Hallo,

leider habe ich den thread erst jetzt gefunden. Ich benötige hilfe beim einrichten vom Raspberry. Er Komuniziert zwar mit der Anlage aber bekommt keine antworten oder kann sie nicht interpretieren. Auch legt er bei mir keine logfiles ab. kann mir da jemand helfen?
Das ist bereits der dritte anlauf mit der anlage sie in die homematic zu bekommen.

freundliche grüsse
Mike

dondaik
Beiträge: 12886
Registriert: 16.01.2009, 18:48
Wohnort: Steingaden
Hat sich bedankt: 1584 Mal
Danksagung erhalten: 221 Mal

Re: Fröling P2 Kessel auslesen (Lambdatronic S3100)

Beitrag von dondaik » 27.01.2020, 22:32

na, dann gilt wie immer :
aufzeigen was gemacht wurde und ggf bilder einstellen und logs zeigen.. usw usw .
sonst ist die antwort: die glaskugel sagt es wurde ein apfelkuchen gebacken :mrgreen:
sorry
-------
!!! der download der handbüchern auf den seiten von eq3 und das lesen der tips und tricks kann das hm-leben sehr erleichtern - das nutzen der suche nach schlagworten ebenso :mrgreen: !!!
wer schreibfehler findet darf sie behalten.

Red_D
Beiträge: 45
Registriert: 14.01.2017, 20:44
Hat sich bedankt: 1 Mal

Re: Fröling P2 Kessel auslesen (Lambdatronic S3100)

Beitrag von Red_D » 28.01.2020, 16:59

Also,
ich hab alles gemacht wie beschrieben. Ein Logfile gibt das Programm leider nicht aus. Auch wird die actual_data.txt nicht aktualisiert.
Stimmt da was mit den Rechten nicht für das ausführen des Programms?
Bei dem Script welches die Daten an die CCU übertragen soll komm ich auch nicht nach?!

hat jemand eine idee?

gruss Mike
Dateianhänge
Screenshot_20200128_165744_com.realvnc.viewer.android.jpg
Screenshot_20200128_165714_com.realvnc.viewer.android.jpg
Screenshot_20200128_165710_com.realvnc.viewer.android.jpg
Screenshot_20200128_165057_com.realvnc.viewer.android.jpg
Screenshot_20200128_165039_com.realvnc.viewer.android.jpg

Red_D
Beiträge: 45
Registriert: 14.01.2017, 20:44
Hat sich bedankt: 1 Mal

Re: Fröling P2 Kessel auslesen (Lambdatronic S3100)

Beitrag von Red_D » 29.01.2020, 19:29

kann mir keiner weiterhelfen?

cityofsilence
Beiträge: 269
Registriert: 14.11.2018, 20:43
System: CCU
Wohnort: Bayern
Hat sich bedankt: 14 Mal
Danksagung erhalten: 17 Mal

Re: Fröling P2 Kessel auslesen (Lambdatronic S3100)

Beitrag von cityofsilence » 08.02.2020, 07:52

Hallo,

aktuell habe ich diese Heizung nicht mehr am laufen aber soweit ich aus deinen Bildern entnehmen kann scheint offenbar ein Problem in deiner froeling_p3100_logger.c Datei vorzuliegen.
Öffne sie im nano Editor und gehe Zeile für Zeile durch.
Irgendwann stehen da die ganzen Werte die er aus dem Kessel erfahren möchte und wohin er sie schreiben möchte.
Oder du suchst in der Datei nach aktual Data txt.
Danach wieder makefile ausführen nicht vergessen.
Dann die .sh vorsichtshalber mit chmod +x ausführbar machen.
Bei mir habe ich damals alles als root installiert und auch alle Dateien im root Home Verzeichnis abgelegt war einfacher wegen den Rechten.
Ich hoffe die Tips bringen dich etwas weiter.
Wenn nicht einfach nochmals melden.
Die ids der ccu sind natürlich nicht passend dazu eine Variable in der ccu erstellen und dann auslesen welche id deine Variable hat.
In der Datei ändern und gut sollte es sein.

LG
Gruß André

cityofsilence
Beiträge: 269
Registriert: 14.11.2018, 20:43
System: CCU
Wohnort: Bayern
Hat sich bedankt: 14 Mal
Danksagung erhalten: 17 Mal

Re: Fröling P2 Kessel auslesen (Lambdatronic S3100)

Beitrag von cityofsilence » 08.02.2020, 07:59

Sozusagen jede .sh Datei ausführbar machen mit chmod +x .
Normalerweise schreibt der logger automatisch alle Werte in sein Home Verzeichnis wo auch die logger.sh Datei liegt.
Wenn die Zeile ca.650 stimmt mit deiner seriellen Eingabe deines Ports sollte es eigentlich klappen.
Wie gesagt wenn nicht einfach nochmals melden.
Gruß André

Red_D
Beiträge: 45
Registriert: 14.01.2017, 20:44
Hat sich bedankt: 1 Mal

Re: Fröling P2 Kessel auslesen (Lambdatronic S3100)

Beitrag von Red_D » 09.02.2020, 17:56

Also,
jetzt habe ich alles nochmal abgearbeitet als root. Das Ergebniss bleibt allerdings gleich. Ich benutze ein USB 2 Serial Adapter, welcher auch richtig vom Pi erkannt wurde. Kontrolliert mit "lsusb".
Irgendwie komm ich nicht weiter.
Woran könnte es noch liegen?

viele Grüssse Mike

cityofsilence
Beiträge: 269
Registriert: 14.11.2018, 20:43
System: CCU
Wohnort: Bayern
Hat sich bedankt: 14 Mal
Danksagung erhalten: 17 Mal

Re: Fröling P2 Kessel auslesen (Lambdatronic S3100)

Beitrag von cityofsilence » 10.02.2020, 11:01

Hallo,

das einzige was mir noch einfällt ist möglicherweise ein falscher Eintrag in der Zeile

Code: Alles auswählen

char *ComPort[] = {"/dev/ttyS0","/dev/ttyS1","/dev/ttyAMA0","/dev/ttyUSB0","/dev/ttyUSB1","/dev/ttyS3","/dev/ttyS4"};
Da ich wie beschrieben ein anderen seriellen Adapter benutzt habe musstest du auslesen als was er sich installiert hat vielleicht liegt hier der Hund begraben.
Oder die Pinbelegung RX / TX ist falsch evtl am Kessel nochmals gegen tauschen und testen.
Ich musste damals nur die besagte Zeile ändern und mein USB Port eintragen. Programm starten und nix ist passiert dann noch einmal Kabel an der Heizung getauscht und es hat funktioniert.

Wenn alles nix hilft vielleicht nochmals das Image neu aufsetzen und alles nochmals neu machen. Sofern Lust und Zeit vorhanden ist. Oder den beschriebenen seriellen Adapter besorgen für die paar Euro.

Hoffe ich konnte dir etwas weiter helfen wenn nicht einfach neue Fehler Posten versuche dann bei der Lösung gerne weiter zu helfen.

LG
Gruß André

cityofsilence
Beiträge: 269
Registriert: 14.11.2018, 20:43
System: CCU
Wohnort: Bayern
Hat sich bedankt: 14 Mal
Danksagung erhalten: 17 Mal

Re: Fröling P2 Kessel auslesen (Lambdatronic S3100)

Beitrag von cityofsilence » 10.02.2020, 11:04

Kannst du mal ein Bild machen was passiert wenn du den logger Startest.
Also nicht die .sh Datei sondern nur den logger im Terminal.
Vielen Dank
Gruß André

Antworten

Zurück zu „Projektvorstellungen“