Forum: Haus & Smart Home Hargassner / Rennergy Touchtronic Netzwerkanbindung/Visualisierung


von Dieter M. (stromer70)


Lesenswert?

Hallo,
ich habe jetzt die neueste Stückholzheizung von Hargassner HSV30 (fast 
Baugleich mit Rennergy) mit dem tollen Touchdisplay Touchtronic.
Das Teil hat Netzwerkanschluss und Speicherkarten, aber
anscheinend gibt es nach Hersteller noch null 
Kommunikationsmöglichkeiten mit Netzwerk oder allgemein nach außen.
Ich würde gerne eine Visualisierung im Wohnraum der Heizung haben, ob 
über meine Fritzbox (IP) oder über Seriell, oder über meinen eim ganzen 
Haus verlegten EIB-BUS. Für den EIB habe ich auch ein Touchdisplay und 
auch ein IP-Gateway vom EIB auf das Netzwerk.
Ich komm einfach nicht weiter.
Hersteller vertrösten mich auf später und sagen TCP/IP-Schnittstelle ist 
nur für Service-Techniker zum Firmware-Upgrade und nicht für den Kunden.
Das darf nicht wahr sein.
Leider hab ich auch keinen Service-Code um tiefer in die Steuerung 
eingreifen zu können.

Kann mir da jemand weiterhelfen ?????

Vielen Dank im vorraus ;-))

von Christoph Reuthner (Gast)


Lesenswert?

Hallo Dieter,
Wir haben seit 3 Tagen den Rennergy RSP20.
Es gibt von Hargassner/Rennergy ein Digitaldisplay mit Anzeige der 
Puffertemperaturen unf Temperaturfühler und Anpassungsmöglichkeit für 
den Wohnraum. Heißt FR35 oder FR40.

http://hargassner.websline-cms113.com/wcms/binary/Server.dll?Article?ID=521&Session=1-znWQBaPn-0-86321201246072323&Via=Nav

 Hilft/passt das?

Viele Grüße,
Christoph

von Edi L. (edi_l)


Lesenswert?

Hallo miteinander

Ich bin ebenfalls seit kurzem Besitzer der neuen Touch-Tronic. Die FR-35 
oder FR-40 sind bestimmt ein interessanter Ansatz. Aber die Steuerung 
ans Netzwerk anschliessen wäre schon idealer. Wenn ich z.B. an einen 
Fernzugriff denke. Ich bin mir fast sicher, dass diese 
Netzwerkschnittstelle mehr Daten ausspuckt, als upload und download der 
Parameter.

Falls jemand neue / weitere Informationen dazu hat, wäre ich sehr 
interessiert. Dieter, evt. könnte ich dir bei deinem letzten Satz 
weiterhelfen.

Besten Dank und Gruss
Edi

von Hogy (Gast)


Lesenswert?

Hallo zusammen,

Seit rund 15 Tagen läuft bei uns ein niegelnagel neuer Hargassner HV40
Scheitholzvergaser.
Bislang sind wir absolut zufrieden.

Scheinbar gibt es in Sachen Steuerung sehr viel neues.
Denn es sind zwei funktionierende LAN Anschlüsse (1 Extern und 1 Intern)
vorhanden. Die Heizung ist somit ans Hausinterne LAN angeschlossen und
bezieht seine IP-Adresse per DHCP wie es sich gehört.
Kurz ein Portscan auf die IP-Adresse losgelassen und siehe da... die
Daten kommen über Telnetport im 500ms Tackt.
Über Windows cmd "telnet 192.168.1.20 -f test.csv" werden die Daten
in die Datei "aktueller Pfad\test.csv" weggeschrieben und sehen dann wie 
folgt aus.
::::::::::::::::::::::::::::::::::::
pm 36.8 35.0 2.2 61.7 36.5 34.9 10.0 41.2 120.0 60.0 60.0 62.5 41.0 0.0
21.0 20.0 99 100 0 0 0.0 0 2 0.0 54.2 0.0 0.0 80.0 -20.0 -20.0 -9.0 -9.0 
22.0 0.0 0.0 20.0 20.0 -20.0 -20.0 -9.0 -9.0 -20.0 0.0 0.0 20.0 20.0 0 
25.5 38.3 44 -20.0 -20.0 -20.0 0.0 0.0 0.0 0.0 22.0 64.0 10.2 0.0 0.0 
0.0 0.00 0.00 0.00 0.00 0002 0003 0000 0000 0000 0000 0000 0000
::::::::::::::::::::::::::::::::::::

Nun hab ich eine Anforderung...
Ich möchte im Prinzip "nur" die aktuelle Temperaturen im
Browser anzeigen.
Also es brauch nur ein Datensatz im 1Min. Intervall ausgelesen und in 
ein HTML geschrieben werden.
Also ähnlich wie hier bereits gepoastet 
"http://khf.homedns.org/heizung/cgi-bin/HgMon.py";.

Hat jemand von euch Chracks eine Idee, wie ich das realisieren kann?

Desweiteren hoff ich, dass der ein oder Andere mit meinen bereits 
erlangten Kenntnissen weiter kommt.

Schonmal Merci und Grüße,
Hogy

von Dieter (Gast)


Lesenswert?

Welches ist die Interne Schnitstelle ??
Ist es die mit GSM-Beschriftung ??

Haben dann beide Schnittstellen die gleiche Adresse ?
Kann ich beide benutzen, oder nur entweder oder ?

gruss
dieter

von Hogy (Gast)


Lesenswert?

Die LAN Schnittstelle/n sind nicht auf der Hauptplatine zu finden!!!
Also ist es auch nicht die GSM.

An der touchtronik Schaltung (Display) ist auf der linken Seite eine 
Kunststoffabdeckung die sich nach Oben aufklappen lässt. Dahinter 
befindet sich ein SD-Kartenslott zur Langzeitdatenspeicherung. Darunter 
befindet sich der "externe" LAN Anschluss.
Der Interne ist etwas schwieriger zu finden. Denn der befindet sich auf 
der Rückseite des Displays. In der Buchse steckte bei mir ein 
Kunstoffpinöpsel (Stöpsel) welcher erst abgezogen werden muss.

Wenn der interne LAN Stecker verwendet wird, dann leutet die Kontroll 
LED an dem vorderen Anschluss. Daraus schließ ich, dass beide genau die 
selben sind.
Die Annahme wird durch eine mögliche IP-Adresse bestätigt.
Also... tut euch was gutes und steuert NIE beide gleichzeitig an. Ihr 
würdet quasi einen LAN "Kurzschluss" erzeugen.

Ich habe lediglich den internen verwendet.

von Benni (Gast)


Lesenswert?

Hi,

@Hogi
Du musst erstmal schauen, dass du die Werte immer aktuell und an selber 
Stelle in dieser test.csv stehen hast. Dann könntest du mit einer .bat 
(batch) Datei diese Werte regelmäßig auslesen lassen und daraus eine 
html bauen lassen. Es geht aber schöner. Ich glaube mit php kann man 
auch andere Dateien auswerten und dann diese Werte anzeigen lassen.

Ich hoffe du hast Zugriff auf das System wo das Python Script (.py) 
liegt. Denn, wenn du jemand findest der Python kann, kann er dir sicher 
die Pelletheizungsanzeige so erweitern, dass das Script die Werte aus 
der test.csv ausliest und dort beim Aufruf per Browser mit anzeigen 
kann. Das finde ich persönlich die schönste Lösung alles beisammen zu 
haben.

Grüße
ein Fachinformatiker :)

von Hogy (Gast)


Angehängte Dateien:

Lesenswert?

Hallo @All,

danke schonmal für die Anregungen!
Habe mich kurzer Hand endschlossen das Ganze etwas flexiebler zu 
gestallten.
Daraus ist nun ein kleinen Win-Prog entstanden, welches als Client und 
als Server fungieren "kann" (siehe Screenshot im Anhang).
Das ist einer der ersten Entwürfe.
Ist Zustand des Progs:
- Es liest auf Knopfdruck "Start" einen Datensatz aus dem Strom aus
- Schreibt diesen mit Kommastellen (nicht Punkt wie im Strom) und mit 
";" getrennt in eine frei definierbare Datei
- Daten werden je nach zugehörigkeit der Funktion zugeordnet (Beispiel: 
27% Pufferfüllung oder 28°C Heizung Vorlauftemp uvm.)
- Bei einigen Werten macht ein Statusbalken Sinn (oder auch nicht)

Was noch kommen wird:
- Das periodische auslesen (periode frei wählbar) und somit kann es als 
Serverprogrämmchen dienen
- Der relevante Datensatz soll nicht "nur" in einer Datei, sonder auch 
in einer SQL Datenbank landen
- Grafische interaktion. Beispiel: Die Farben wie beim Puffer sollen von 
der Pufferladung beeinflusst werden
- Sobald die Daten in einer SQL Datenbank stehen, ist es nur noch ein 
Klaks, diese auch über eine Homepage zur Verfügung zu stellen. Und das 
sogar im Verlauf. Ich denk dabei an PHP.

Soweit so gut.
Mein Installatör hat schon Interesse an dem Prog angemeldet :)


Grüße,
Hogy

von Dieter M. (stromer70)


Lesenswert?

Hallo Hogy,

das Prog sieht doch schon mal ganz toll aus.
Und wenn du diese geplanten Features auch noch einbaust,
dann ist das ein Knaller.

Das ist doch genau das was wir wollen !!!!!

Da würde ich doch auch gleich Bedarf anmelden so wie dein 
Installateur.;-)

Gruss

dieter

von Lutz Pleuter (Gast)


Lesenswert?

@Hogy: Das sieht ja echt gut aus. Da bin ich natürlich auch dran 
interesiert und meine Frau auch.

Ich, weil mich der Zustand der Heizung interessiert und meine Frau, weil 
ich dann nicht immer aus dem Wohnzimmer rausrenne, um zu gucken.

Wir haben jetz seit einer Woche eine HSV30 von Hargassner und ich bin 
bin nach wie vor fasziniert.

Also wie gesagt, wenn ihr da was Funktionierendes hinbekommt bin ich 
sehr interessiert.

Viele Grüße
Lutz

von Edi (Gast)


Lesenswert?

Hallo Hogy

Super, gratuliere zu deinem Tool. Ich selber habe den Thread aktiv 
mitverfolgt. Halte mich im Moment aber im Moment (mangels Zeit) bewusst 
etwas zurück. Ich hatte ähnliches vor, nur dass ich gleich alles in PHP 
realisiere und es dann auf einem Webserver läuft, ohne DB Anbindung. Je 
nach Schnittstelle könnte ich dir aber ab mitte Dezember bis anf. Jahr 
behilflich sein, ein PHP Tool aufzubauen.

Gruss
Edi

von stromer70 (Gast)


Lesenswert?

Hallo Hogy,

gibst du das Programm auch raus ??

gruss
dieter

von Hogy (Gast)


Lesenswert?

Hallo @All

Sorry dass ich mich so lange nicht mehr gemeldet hab.
Leider ist in letzter Zeit nicht soooo viel an dem Tool geschehen.
Ich warte noch auf eine "kleine" Schleife im Prog, wobei mir ein 
Arbeitskollege behilflich ist. Die Schleife soll aber nichts anderes 
machen, wie die Daten automatisch, periodisch zu aktualisieren.

Wer von euch hat denn die Voraussetzungen für das Tool bereits?
- Heizung am internen LAN angeschlossen
- eine IP-Adresse ist per DHCP der Heizung zugewiesen

Wer die Voraussetzungen hat, müsste mir nur die IP-Adresse der Heizung 
nennen. Denn die verbau ich fest im Prog.

Dann ist noch die Frage offen, ob bei allen Steuerungen der gleiche 
Kanal auch die gleichen Daten enthält. Das werden wir aber zusammen 
rausfinden müssen :)

Also... bitte bei Interesse einfach eine eMail an djhogy@web.de mit 
Inhalt der IP-Adresse eurer Heizung geschrieben und ich stell euch das 
Prog zur Verfügung.

Grüße,
Hogy

von Hogy (Gast)


Lesenswert?

Hi @ALL

es haben sich bereits einige gemeldet, die meine SW haben möchten.
Bei den meisten hat es auch einwandfrei funktioniert.

Mit jedem Einsatz und Feedback erweiterte und somit verbessere ich das 
Tool.

Grüße,
Hogy

von Sepp (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Hogy,

ich zeichne meine Werte auch auf und schreibe diese anschliessend in 
eine MySQL Datenbank. Danach erfolgt eine php-Abfrage  und eine 
Darstellung der Werte über  "jpgraph" - siehe Anhang. Ich würde meine 
Werte in der Datenbank zusätzlich noch gerne so darstellen wie in deinem 
Programm.  Daher würde mich interessieren, wie du deine Grafik erstellt 
hast - also dein Haus mit den Heizungskomponenten, ist das ein PNG 
welches ich auch HTML basiert einbinden könnte?

Danke
Sepp

von Andi B. (Gast)


Angehängte Dateien:

Lesenswert?

Eine Kurzbeschreibung der einzelnen Werte steht in den DAQ Datenfiles 
die man per HTTP runterladen kann oder auch über Parameter speichern auf 
eine SD-Card schreiben kann. Das sollte helfen die restlichen Parameter 
zu identifizieren. Bei meinem MV-35 sieht's so aus wie im Anhang.

von Lutz Pleuter (Gast)


Lesenswert?

Also erstmal meine große Hochachtung vor Euch Programmierern. Ist schon 
toll, was ihr da auf die Beine stellt.

Ich bin jetzt seit ein paar Wochen in relativ regem Austausch mit Hogy, 
da ich sein Programm sehr intensiv nutze und mir so den Weg über den Hof 
im Morgenmantel sparen kann bzw. demnächst aus dem Urlaub meinen Vater 
bei der Betreuung meiner Heizung ferntelefonisch unterstützen kann.

Ich bin mit dem Tool äußerst zufrieden, fände eine Lösung die Sepp 
vorschlägt, mit grafischen Datenstromdarstellung kombiniert mit der 
Werteübersicht natürlich den Oberknaller.

Ich bin gespannt wo die Reise da noch hingeht.

Danke Hogy und ihr anderen

Liebe Grüße
Lutz

von Hogy (Gast)


Lesenswert?

Hallo Lutz,

vielen Dank für deine sehr willkommene Unterstützung!

Was die grafische Analyse angeht, bin ich bereits dran.
Die Daten von auch deiner Heizung werden doch schon von meinem Webserver 
erfasst.
Lediglich die Auswertung fehlt noch. Dazu bin ich nur noch nicht 
gekommen.

Zudem wird es eine für jede Heizung, die bei mir registriert ist, eine 
kleine Webpage im IPhone-Style mit den wichtigsten Infos der jeweiligen 
Heizung geben. So hat dann jeder auch Mobil übers IPhone bzw. 
Internetfähigem Handy den Zugriff auf die 5 Min. aktuellen Daten seiner 
Heizung.
Aber auch das brauch noch etwas Zeit.
Für beide Punkte bitte ich noch um Geduld!!

Weitere Anregungen und Interessierte sind willkommen.

Grüße,
Hogy

von Dieter M. (stromer70)


Lesenswert?

hallo hogy,
nun endlich hat auch meine Stückholzheizung ein Netzwerkkabel bekommen.
Die IP-Adresse ist             : 192.168.178.59
Das Def.Gateway ist der Router : 192.168.178.1

Wäre dir sehr dankbar für deinen hier schon oft hochgelobte Software.

gruss

dieter

von Hogy (Gast)


Lesenswert?

Hallo Dieter,

für ALLE :)
Habe von Dieter eine Mail an djhogy@web.de mit den benötigten Daten 
(IP-Adresse und Bezeichung des Brenners) bekommen.
Daraufhin hat er meine SW gerne bekommen.

Grüße,
Hogy

von Muhlai (Gast)


Lesenswert?

Hallo Hogy.

Habe da mal eine Frage. Ich schicke Dir eine E-Mail zum Problem.

von Alfred (Gast)


Lesenswert?

Hallo zusammen,

wir haben seit Juni einen HV40 und ich bin sehr an dem Progamm 
interessiert. Programmieren kann ich nicht, deshalb kann ich leider 
nicht zur Weiterentwicklung beitragen.
Nachdem die IP-Adresse des HV40 fest in das Programm eingebaut wird, 
habe ich eine Frage:
Gibt es eine Möglichkeit, dem HV eine feste IP-Adresse zuzuordnen?
Die IP-Adresse wird dem HV in meinem Fall von einer FritzBox zugewiesen. 
Bin mir nicht sicher, ob die FritzBox immer wieder die gleiche IP 
zuordnet. Was ist, wenn ich eine neue Software auf die FritzBox lade 
oder einen anderen Router verwende?
Ich kann mir vorstellen, daß man übers Service-Menü die Adresse auch 
fest einstellen könnte, aber dazu fehlt mir der Code.

Viele Grüße
Alfred

von Hogy (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Alfred,

erstmal danke für dein Interesse.
Du brauchst kein Entwickler oder Programmierer zu sein um mir bei der 
Verbesserung/Weiterentwicklung des Programms zu helfen!
Lediglich deine Erfahrungen und dein konstruktives Mitwirken wird 
benötigt.

Grattulation zum HV40. Genau den hab ich auch :) Und bin nach wie vor 
überzeugt!

Nein, bei der Steuerung hab auch ich noch keine Möglichkeit gefunden um 
die IP-Adresse vor zu geben. Ist aber auch nicht weiter schlimm. Denn 
jeder Router, DHCP-Server und auch FrixBox hat die Möglichkeit einem 
Netzwerkdevice eine belibige IP-Adresse für ein Netzwerkdevice fest vor 
zu geben.
Wenn du das eingestellt hast, dann wird der Heizung IMMER die 
vorgegebene IP-Adresse zugewiesen.
Bei einem Softwareupdate oder einem anderen Router ist es somit 
zwingend, der Heizung wieder die gleiche IP zu geben.

Dass über das Servicemenü die IP-Adresse auch fest vergeben werden kann, 
glaub ich auch. Aber mir geht es wie dir. Ich hab nicht alle 
Zugangscodes.
Weis die jemand?
Installatörebene ist "33" (Kann man der Anleitung entnehmen)

Nach wie vor gild...
Wer meine SW möchte, soll einfach eine eMail an "djhogy@web.de" 
schreiben.
Wegen SPAM in Betreff "Heizung" oder "Touchtronic-Steuerung".
Inhalt der Mail:
- IP-Adresse der Heizung (oder URL und Port welcher auf 23 verweist)
- Hersteller und Bezeichnung der Heizung


Hab meinem Beitrag aktuelle Bilder meines Tools beigefügt.


Grüße an alle,
Hogy

von Andi B. (Gast)


Lesenswert?

> Nein, bei der Steuerung hab auch ich noch keine Möglichkeit gefunden um
> die IP-Adresse vor zu geben. Ist aber auch nicht weiter schlimm. Denn
> jeder Router, DHCP-Server und auch FrixBox hat die Möglichkeit einem
> Netzwerkdevice eine belibige IP-Adresse für ein Netzwerkdevice fest vor
> zu geben.
Bei meinem MV-35 kann man das im Servicemenü machen. Aber dafür geben 
die den Code nicht her.... Da müßte der Servicetechniker her.

Hab schon überlegt zu versuchen die Parameter über SD-Card oder 
Webinterface runter-/raufzuladen. Aber erstens hat der SD-Card Export 
einen bug - er schreibt nur die ersten 4kB - und zweitens ist es mir zu 
gefährlich. Auch bin ich nicht sicher, ob es überhaupt gehen würde. Aber 
wenn sich wer anderer mal traut...

Haben eure HV-xx Steuerungen überhaupt den mini http server drinnen?

von stromer (Gast)


Lesenswert?

Schick mir mal ne email auf meyer.dieter@online.de
das mit der festen ip bekommen wir hin
gruss
dieter

von stromer (Gast)


Lesenswert?

Was meinst du mit minni http genau?
Parameter up und down... ?
Zeilenbasiert...

von Andi B. (Gast)


Lesenswert?

stromer schrieb:
> Was meinst du mit minni http genau?
> Parameter up und down... ?

Kap. 4
Parameter und Datenaufzeichnung
Das Speichern der Kessel- und Verbrennungsdaten erfolgt im Speicher der 
Steuerung. Zusätzlich können die Daten auf die eingesteckte SD- Karte 
gespeichert werden. Display-Einstellungen Paramterdownload
SD
Datenaufzeichnung
SD
......

http://IpDerSteuerung/ -->

Hargassner Hackgut und Pelletsheizungen
--> Parameter download
--> Parameter upload
--> Parameterliste im CSV Format
--> Liste Nandfiles

von Der Holzheizer (Gast)


Lesenswert?

Hallo,
ich habe einen HV 50 in Betrieb und hätte natürlich auch Interesse an 
der Visualisierung.
Wie läuft das denn ab wenn ich die IP Adresse habe?

von Holger H. (hogy)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

da ich der Masse an Anfragen nicht gerecht werden kann und das Programm 
in der Form keine Erweiterungen zulässt, habe ich mich entschieden das 
Programm hier zum Download zu stellen.

Ich werde mich auf ein neues Projekt stürzen.
Ich möchte die Daten der Heizung in eine Datenbank schreiben und dann 
via php/sql/http auf einer Homepage präsentieren.
Das Potential dürfte jedem klar sein.

Aber nun zurück zu dem downloadbaren Programm...
Das Programm ist ausschließlich für Variante 1 geeignet.
Voraussetzungen:
- Heizungssteuerung ist am LAN angeschlossen und hat die IP-Adresse 
192.168.1.100
- PC auf dem das Prog. ausgeführt wird, benötigt .NET

Wie man die IP-Adresse fest der Heizung zuweisen kann, besprecht ihr am 
besten in diesem Forum.
Einfachste ist, dem Router zu sagen, dass er der Heizung die IP geben 
soll.
Es gibt aber noch weitere Möglichkeiten.

Also, ich wünsch euch viel Spaß mit dem Prog.

Schöne Grüße,
Hogy

von Matze (Gast)


Lesenswert?

Hallo!

Da mein Haus alt und nicht vernetzt ist, werde ich meinen Hargassner 
HV30 vorerst nicht an LAN anschließen können. Wobei PowerLine ja noch 
eine Alternative darstellen würde. Vielleicht später.
Dennoch hab ich ja die Möglichkeit, die Daten des Kessels auf einer 
SD-Card aufzeichnen zu lassen. Dann erhalte ich eine DAQ-Datei. Was kann 
ich damit anfangen? Hilft mir auch hierbei das Programm weiter?

Grüße, Matze

von Benedikt H. (benedikt1)


Lesenswert?

Hargassner Classic 9-15 Touchtronic ist mit neuer Version V14.0b2 nicht 
mehr via http://IP-Adreesse erreichbar.
Hat Jemand diese Erfahrung auch schon gemacht?
Gibt es ein Abhilfe und wenn ja, wie geht diese?
Ich kann zwar noch über Telnet die Daten aufzeichnen, aber eben nicht 
mehr über die Methode wie oben geschrieben ansprechen.
Es kommt nur die Fehlermeldung HTTP 404 : Nicht gefunden.
Dafür kann man jetzt die IP-Adresse einstellen.

Schöne Grüße
Benedikt

von Benedikt H. (benedikt1)


Lesenswert?

Sepp schrieb:
> Hallo Hogy,
>
> ich zeichne meine Werte auch auf und schreibe diese anschliessend in
> eine MySQL Datenbank. Danach erfolgt eine php-Abfrage  und eine
> Darstellung der Werte über  "jpgraph" - siehe Anhang. Ich würde meine
> Werte in der Datenbank zusätzlich noch gerne so darstellen wie in deinem
> Programm.  Daher würde mich interessieren, wie du deine Grafik erstellt
> hast - also dein Haus mit den Heizungskomponenten, ist das ein PNG
> welches ich auch HTML basiert einbinden könnte?
>
> Danke
> Sepp

Hallo Sepp,
kannst du uns bitte hier auch mal ein wenig verraten, eventuell den Code 
bereit stellen, wie du deine Daten aufzeichnest und in die SQL-Datenbank 
schreibst.
Auch wie du dann daraus mit "jpgraph" die Kurven generierst.
Gibt bestimmt noch mehr die das interessiert.
Ich sage dir schon mal Dankeschön.
Benedikt

von Roger R. (Firma: RR Engineering) (reiserr)


Lesenswert?

Hallo Zusammen,

ich bin neu hier und auch Besitzer eines Hargassner HSV15 seit 2007 und 
habe seit kurzem auch die neue Touchtronic einbauen lassen. Ebenso wie 
die meisten hier möchte ich auch gerne Daten aus der Pelletsanlage am 
liebsten in eine Visu, z.B. EIB-Visu, übertragen und darstellen.
Ich habe auch nur einfach mal eine Telnet-Verbindung mit der Heizung 
hergstellt und bekomme bereits Daten angezeigt. Aber habe noch keine 
Ahnung wie die Daten zu deuten sind.
Hat jemand von Euch bereits eine vollständige Parameterliste ausfindig 
machen können bzw. kann mir einen Tip geben, wo ich diese beziehen bzw. 
erhalten kann?
Habe auch mal einen Portscanner auf die IP der Heizung laufen lassen. Es 
ist lediglich der Telnet-Port offen. Auf allen anderen Ports hört kein 
Dienst in der Heizung.
Welches Terminal-Programm verwendet ihr zum Auslesen der Daten?
Bin für jeden Tip dankbar.
Gruß
Roger

von Andi B. (Gast)


Lesenswert?

Für meine Heizung habe ich die Liste oben schon gepostet. Auch woher ich 
die Infos habe. Wird bei dir etwas anders aussehen da du ja keinen 
Stückholzofen hast. Und wenn deine Steuerung nicht auf http reagiert, 
bleibt dir wohl nur der Versuch über SD-Card Daten speichern. Siehe 
oben.

von sony (Gast)


Lesenswert?

Hier ein shell script für auslesen kessel und in mysql speichern.
#!/bin/bash
while :
do
nc 192.168.95.101 23 | while read line
do
DATE=$(date "+%Y-%m-%d %T.%6N")
echo readLine
echo $line | sed "s/pm /null,\\'$DATE\\',/"| sed -r 's/\s+/,/g' |  sed 
-re "s/([0-9A-F]{4}),/unhex(\\'\1\\'),/g"   | sed 's/.*/echo "insert 
into t_hg_data values (&)"/e'| sed 's/,)/);/' | mysql -u uvr1611 
--password="uvr1611" --database="uvr1611"
done
echo Connection lost trying to reconnect
sleep 10
done

Zugehöriger mysql table:
CREATE TABLE `t_hg_data` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `date` datetime DEFAULT NULL,
  `1` float DEFAULT NULL,
  `2` float DEFAULT NULL,
  `3` float DEFAULT NULL,
  `4` float DEFAULT NULL,
  `5` float DEFAULT NULL,
  `6` float DEFAULT NULL,
  `7` float DEFAULT NULL,
  `8` float DEFAULT NULL,
  `9` float DEFAULT NULL,
  `10` float DEFAULT NULL,
  `11` float DEFAULT NULL,
  `12` float DEFAULT NULL,
  `13` float DEFAULT NULL,
  `14` float DEFAULT NULL,
  `15` float DEFAULT NULL,
  `16` float DEFAULT NULL,
  `17` float DEFAULT NULL,
  `18` float DEFAULT NULL,
  `19` float DEFAULT NULL,
  `20` float DEFAULT NULL,
  `21` float DEFAULT NULL,
  `22` float DEFAULT NULL,
  `23` float DEFAULT NULL,
  `24` float DEFAULT NULL,
  `25` float DEFAULT NULL,
  `26` float DEFAULT NULL,
  `27` float DEFAULT NULL,
  `28` float DEFAULT NULL,
  `29` float DEFAULT NULL,
  `30` float DEFAULT NULL,
  `31` float DEFAULT NULL,
  `32` float DEFAULT NULL,
  `33` float DEFAULT NULL,
  `34` float DEFAULT NULL,
  `35` float DEFAULT NULL,
  `36` float DEFAULT NULL,
  `37` float DEFAULT NULL,
  `38` float DEFAULT NULL,
  `39` float DEFAULT NULL,
  `40` float DEFAULT NULL,
  `41` float DEFAULT NULL,
  `42` float DEFAULT NULL,
  `43` float DEFAULT NULL,
  `44` float DEFAULT NULL,
  `45` float DEFAULT NULL,
  `46` float DEFAULT NULL,
  `47` float DEFAULT NULL,
  `48` float DEFAULT NULL,
  `49` float DEFAULT NULL,
  `50` float DEFAULT NULL,
  `51` float DEFAULT NULL,
  `52` float DEFAULT NULL,
  `53` float DEFAULT NULL,
  `54` float DEFAULT NULL,
  `55` float DEFAULT NULL,
  `56` float DEFAULT NULL,
  `57` float DEFAULT NULL,
  `58` float DEFAULT NULL,
  `59` float DEFAULT NULL,
  `60` float DEFAULT NULL,
  `61` float DEFAULT NULL,
  `62` float DEFAULT NULL,
  `63` float DEFAULT NULL,
  `64` float DEFAULT NULL,
  `65` float DEFAULT NULL,
  `66` float DEFAULT NULL,
  `67` float DEFAULT NULL,
  `68` float DEFAULT NULL,
  `69` float DEFAULT NULL,
  `70` float DEFAULT NULL,
  `71` float DEFAULT NULL,
  `72` float DEFAULT NULL,
  `73` float DEFAULT NULL,
  `74` float DEFAULT NULL,
  `75` float DEFAULT NULL,
  `76` float DEFAULT NULL,
  `77` float DEFAULT NULL,
  `78` float DEFAULT NULL,
  `79` float DEFAULT NULL,
  `80` float DEFAULT NULL,
  `81` float DEFAULT NULL,
  `82` float DEFAULT NULL,
  `83` float DEFAULT NULL,
  `84` float DEFAULT NULL,
  `85` float DEFAULT NULL,
  `86` float DEFAULT NULL,
  `87` float DEFAULT NULL,
  `88` float DEFAULT NULL,
  `89` float DEFAULT NULL,
  `90` float DEFAULT NULL,
  `91` float DEFAULT NULL,
  `92` float DEFAULT NULL,
  `93` float DEFAULT NULL,
  `94` float DEFAULT NULL,
  `95` float DEFAULT NULL,
  `96` float DEFAULT NULL,
  `97` float DEFAULT NULL,
  `98` float DEFAULT NULL,
  `99` float DEFAULT NULL,
  `100` float DEFAULT NULL,
  `101` float DEFAULT NULL,
  `102` float DEFAULT NULL,
  `103` float DEFAULT NULL,
  `104` float DEFAULT NULL,
  `105` float DEFAULT NULL,
  `106` float DEFAULT NULL,
  `107` float DEFAULT NULL,
  `108` float DEFAULT NULL,
  `109` float DEFAULT NULL,
  `110` float DEFAULT NULL,
  `111` float DEFAULT NULL,
  `112` float DEFAULT NULL,
  `113` float DEFAULT NULL,
  `114` float DEFAULT NULL,
  `115` float DEFAULT NULL,
  `116` float DEFAULT NULL,
  `117` float DEFAULT NULL,
  `118` float DEFAULT NULL,
  `119` float DEFAULT NULL,
  `120` float DEFAULT NULL,
  `121` float DEFAULT NULL,
  `122` float DEFAULT NULL,
  `123` float DEFAULT NULL,
  `124` float DEFAULT NULL,
  `125` float DEFAULT NULL,
  `126` float DEFAULT NULL,
  `127` float DEFAULT NULL,
  `128` float DEFAULT NULL,
  `129` float DEFAULT NULL,
  `130` float DEFAULT NULL,
  `131` float DEFAULT NULL,
  `132` float DEFAULT NULL,
  `133` float DEFAULT NULL,
  `134` binary(1) DEFAULT NULL,
  `135` binary(1) DEFAULT NULL,
  `136` binary(9) DEFAULT NULL,
  `137` binary(1) DEFAULT NULL,
  `138` binary(1) DEFAULT NULL,
  `139` binary(1) DEFAULT NULL,
  `140` binary(1) DEFAULT NULL,
  `141` binary(1) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `UNIQUE` (`date`)
) ENGINE=MyISAM AUTO_INCREMENT=3043 DEFAULT CHARSET=utf8 
ROW_FORMAT=FIXED;

Bei mir waren es 141 Werte ohne dem pm. Diese sind durchnummeriert und 
können anhand des Spaltennamens zugeordnet werden. Auswertung dann mit 
uvr1611 datalogger pro (https://github.com/berwinter/uvr1611).

cheers

von sony (Gast)


Lesenswert?

id  frame  position name  unit
197  frame2  0  ZK
198  frame2  1  O2  %
199  frame2  2  O2soll  %
200  frame2  3  TK  °C
201  frame2  4  TKsoll  °C
202  frame2  5  TRG  °C
203  frame2  6  SZ  %
204  frame2  7  SZsoll  %
205  frame2  8  PLK  %
206  frame2  9  PLKsoll  %
207  frame2  10  Leistung  %
208  frame2  11  Förder  %
209  frame2  12  EsRostPos  °
210  frame2  13  UD  Pa
211  frame2  14  GBF  °
212  frame2  15  I Es  mA
213  frame2  16  I Ra  mA
214  frame2  17  I Aa  mA
215  frame2  18  I EsRost  mA
216  frame2  19  I VS  mA
217  frame2  20  Taus  °C
218  frame2  21  TA Gem.  °C
219  frame2  22  TPo  °C
220  frame2  23  TPm  °C
221  frame2  24  TPu  °C
222  frame2  25  TFW  °C
223  frame2  26  TRL  °C
224  frame2  27  TRLsoll  °C
225  frame2  28  RLP  %
226  frame2  29  Tplat  °C
227  frame2  30  TVL_A  °C
228  frame2  31  TVLs_A  °C
229  frame2  32  TRA  °C
230  frame2  33  TBA  °C
231  frame2  34  TBs_A  °C
232  frame2  35  TVL_1  °C
233  frame2  36  TVL_2  °C
234  frame2  37  TVLs_1  °C
235  frame2  38  TVLs_2  °C
236  frame2  39  TR1  °C
237  frame2  40  TR2  °C
238  frame2  41  TB1  °C
239  frame2  42  TBs_1  °C
240  frame2  43  TVL_3  °C
241  frame2  44  TVL_4  °C
242  frame2  45  TVLs_3  °C
243  frame2  46  TVLs_4  °C
244  frame2  47  TR3  °C
245  frame2  48  TR4  °C
246  frame2  49  TB2  °C
247  frame2  50  TBs_2  °C
248  frame2  51  TVL_5  °C
249  frame2  52  TVL_6  °C
250  frame2  53  TVLs_5  °C
251  frame2  54  TVLs_6  °C
252  frame2  55  TR5  °C
253  frame2  56  TR6  °C
254  frame2  57  TB3  °C
255  frame2  58  TBs_3  °C
256  frame2  59  TRs_A  °C
257  frame2  60  TRs_1  °C
258  frame2  61  TRs_2  °C
259  frame2  62  TRs_3  °C
260  frame2  63  TRs_4  °C
261  frame2  64  TRs_5  °C
262  frame2  65  TRs_6  °C
263  frame2  66  WMZ Vorl.  °C
264  frame2  67  WMZ Rueckl.  °C
265  frame2  68  WMZ Durchf.
266  frame2  69  WMZ Leist.  KW
267  frame2  70  VFS Flow  l/min
268  frame2  71  VFS Temp  °C
269  frame2  72  IO32 VL  °C
270  frame2  73  KaskSollTmp_1  °C
271  frame2  74  KaskSollTmp_2  °C
272  frame2  75  KaskSollTmp_3  °C
273  frame2  76  KaskSollTmp_4  °C
274  frame2  77  KaskIstTmp_1  °C
275  frame2  78  KaskIstTmp_2  °C
276  frame2  79  KaskIstTmp_3  °C
277  frame2  80  KaskIstTmp_4  °C
278  frame2  81  UsePos
279  frame2  82  UseMotSoll  mm
280  frame2  83  UseMotIst  mm
281  frame2  84  HKZustand_A
282  frame2  85  HKZustand_1
283  frame2  86  HKZustand_2
284  frame2  87  HKZustand_3
285  frame2  88  HKZustand_4
286  frame2  89  HKZustand_5
287  frame2  90  HKZustand_6
288  frame2  91  BoiZustand_A
289  frame2  92  BoiZustand_1
290  frame2  93  BoiZustand_2
291  frame2  94  BoiZustand_3
292  frame2  95  PuffZustand
293  frame2  96  Puffer_soll  °C
294  frame2  97  Mode Fw
295  frame2  98  I AschRost  mA
296  frame2  99  AschRostPos  °
297  frame2  100  ETÜ  °C
298  frame2  101  TÜB  °C
299  frame2  102  IO32 521  Pa
300  frame2  103  IO32 522  Pa
301  frame2  104  IO32 509  Pa
302  frame2  105  IO32 510  Pa
303  frame2  106  NICRNI Res  °C
304  frame2  107  GBF soll  °
305  frame2  108  UD rel  %
306  frame2  109  U_Lambda  mV
307  frame2  110  Max Leistung
308  frame2  111  Solltmp. ExtHK  °C
309  frame2  112  BSZ Einschub  h
310  frame2  113  KaskLZLeisMin_1  Min
311  frame2  114  KaskLZLeisMin_2  Min
312  frame2  115  KaskLZLeisMin_3  Min
313  frame2  116  KaskLZLeisMin_4  Min
314  frame2  117  KaskLZLeisMax_1  Min
315  frame2  118  KaskLZLeisMax_2  Min
316  frame2  119  KaskLZLeisMax_3  Min
317  frame2  120  KaskLZLeisMax_4  Min
318  frame2  121  Kask LZLeist_1  h
319  frame2  122  Kask LZLeist_2  h
320  frame2  123  Kask LZLeist_3  h
321  frame2  124  Kask LZLeist_4  h
322  frame2  125  TÜB2  °C
323  frame2  126  TRA_A  °C
324  frame2  127  TRA_1  °C
325  frame2  128  TRA_2  °C
326  frame2  129  TRA_3  °C
327  frame2  130  TRA_4  °C
328  frame2  131  TRA_5  °C
329  frame2  132  TRA_6  °C
352  frame2  d010  HKP2  digital
351  frame2  d09  M1Z  digital
350  frame2  d08  M1A  digital
349  frame2  d07  HKP1  digital
348  frame2  d06  MAZ  digital
347  frame2  d05  MAA  digital
346  frame2  d04  HKPA  digital
345  frame2  d02  TKS  digital
344  frame2  d01  NotAus  digital
343  frame2  d00  Stb  digital
353  frame2  d011  M2A  digital
354  frame2  d012  M2Z  digital
355  frame2  d013  Störung  digital
356  frame2  d10  L Heiz.  digital
357  frame2  d11  Z Heiz.  digital
358  frame2  d12  Z Geb.  digital
359  frame2  d13  AA Run  digital
360  frame2  d14  AA Dir  digital
361  frame2  d15  AA Saug  digital
362  frame2  d16  ES Run  digital
363  frame2  d17  ES Dir  digital
364  frame2  d18  RA Run  digital
365  frame2  d19  RA Dir  digital
366  frame2  d110  Deckel  digital
367  frame2  d111  FS Asche  digital
368  frame2  d112  INI Asche  digital
369  frame2  d113  ER Run  digital
370  frame2  d114  AR Run  digital
371  frame2  d20  BPA  digital
372  frame2  d21  BP1  digital
373  frame2  d22  BP2  digital
374  frame2  d23  BP3  digital
375  frame2  d24  BZP0  digital
376  frame2  d25  BZP1  digital
377  frame2  d26  BZP2  digital
378  frame2  d27  BZP3  digital
379  frame2  d28  RLm_auf  digital
380  frame2  d29  RLm_zu  digital
381  frame2  d210  RL Pumpe  digital
382  frame2  d211  SK Aschebox  digital
383  frame2  d212  SK RaDeckel  digital
384  frame2  d213  SK VsDeckel  digital
385  frame2  d214  SK Lager  digital
386  frame2  d30  HKP3  digital
387  frame2  d31  M3A  digital
388  frame2  d32  M3Z  digital
389  frame2  d33  HKP4  digital
390  frame2  d34  M4A  digital
391  frame2  d35  M4Z  digital
392  frame2  d36  HKP5  digital
393  frame2  d37  M5A  digital
394  frame2  d38  M5Z  digital
395  frame2  d39  HKP6  digital
396  frame2  d310  M6A  digital
397  frame2  d311  M6Z  digital
398  frame2  d312  FLP1  digital
399  frame2  d313  FLP2  digital
400  frame2  d314  VS/RA2 Run  digital
401  frame2  d315  VS/RA2 Dir  digital
402  frame2  d41  Entasch gesp.  digital
403  frame2  d42  ATW  digital
404  frame2  d43  SK Bruecke  digital
405  frame2  d44  ExtHK  digital
406  frame2  d45  ExtHK_1  digital
407  frame2  d46  ExtHK_2  digital
408  frame2  d47  ExtHK_3  digital
409  frame2  d48  HKP Ext  digital
410  frame2  d49  HKP Ext_1  digital
411  frame2  d410  HKP Ext_2  digital
412  frame2  d411  PuffP  digital
413  frame2  d412  FW Freig.  digital
414  frame2  d414  HKV  digital
415  frame2  d415  DIN_E1  digital
416  frame2  d50  VS Deckel  digital
417  frame2  d51  DIN_E13  digital
418  frame2  d52  DIN_E14  digital
419  frame2  d53  DIN_E35  digital
420  frame2  d54  KASK1 MinLeist  digital
421  frame2  d55  KASK2 MinLeist  digital
422  frame2  d56  KASK3 MinLeist  digital
423  frame2  d57  KASK4 MinLeist  digital
424  frame2  d58  KASK1 MaxLeist  digital
425  frame2  d59  KASK2 MaxLeist  digital
426  frame2  d510  KASK3 MaxLeist  digital
427  frame2  d511  KASK4 MaxLeist  digital
428  frame2  d512  KASK1 Run  digital
429  frame2  d513  KASK2 Run  digital
430  frame2  d514  KASK3 Run  digital
431  frame2  d515  KASK4 Run  digital

von sony (Gast)


Lesenswert?

++FileInfo++
2015-01-12_16:08:38 KD=Hargassner
2015-01-12_16:08:38 KT=HSV35-300KW
2015-01-12_16:08:38 SW=V15.0b1
2015-01-12_16:08:38 HW=V1.0ap
++FileInfo_End++

von sony (Gast)


Lesenswert?

Telnet Frame:

pm 1 2.3 7.0 55.5 0.0 52.4 0 0 0 0 0 0 -1 8 11 0 0 0 0 3 4.6 3.7 61.7 
120.0 49.2 120.0 51.8 58.0 0 25 -20.0 0 20.0 -20.0 0 51.3 31.6 54 32 
20.0 20.0 54.7 0 -20.0 -20.0 0 0 20.0 20.0 -20.0 0 -20.0 -20.0 0 0 20.0 
20.0 -20.0 0 20.0 23.0 25.0 20.0 20.0 20.0 20.0 0.0 0.0 0.0 0.0 0.0 0.0 
0.0 0 0 0 0 0 0 0 0 0.0 0.0 0.0 0 1 1 0 0 0 0 0 0 0 0 2 0 0 0 1 20 8 0.0 
0.0 0.0 0.0 1000.0 60 95 50.1 100.0 0 438.5 0 0 0 0 0 0 0 0 0 0 0 0 140 
20.0 26.9 20.0 20.0 20.0 20.0 20.0 0483 1000 7A00 0000 0000 0000 0000 
0000

von sony (Gast)


Lesenswert?


von alex (Gast)


Lesenswert?

Hallo sony,

wenn ich einen externen SQL-Server bei HostEurope verwende, muss ich in 
dem Script bestimmt einen Servernamen angeben, damit die Daten auf den 
richtigen Server geladen werden.
Wo muss ich den Servernamen in das Script eintragen?
Das Script ist nur zum Auslesen der Daten aus der Heizungssteuerung und 
Übertragung in eine mySQL-Datenbank, richtig?

von sony (Gast)


Lesenswert?

Hi alex,

damit du auf einen anderen mysql server connecten kannst musst du den 
host mitgeben: mysql --host=localhost --user=myname --password=mypass 
mydb
Localhost ist standard.
Im Skript wäre das dann ganz zum Schluss z.B.:
echo $line | sed "s/pm /null,\\'$DATE\\',/"| sed -r 's/\s+/,/g' | sed 
-re "s/([0-9A-F]{4}),/unhex(\\'\1\\'),/g" | sed 's/.*/echo "insert into 
t_hg_data values (&)"/e'| sed 's/,)/,null);/' | mysql --host xxxx -u 
uvr1611 --password="uvr1611" --database="uvr1611"

Prinzipiell kannst Du auch jede andere Datenbank nehmen, der letzte Teil 
ist dann auszutauschen. Muss allerdings die create Scripts nochmal 
durchgehen, binn mir nicht sicher ob die schon alle so funzen wie sie 
sollen.

cheers sony

von sony (Gast)


Lesenswert?

Hab Issues am Github freigeschalten, alle Fragen und Anregungen bitte 
dort rein.
https://github.com/s--o--n--y/uvr1611_DLP_ECO_HK_30_mod/issues

von franz (Gast)


Lesenswert?

Service code für touch ist immer Tag+Monat ;-)

von Robert M. (dino75195)


Lesenswert?

Hallo zusammen,

ich hab mir eine Heizungsvisualisierung für eine Hargassner Heizung 
HSV22 Touch gebaut.

Fall ihr die den Link noch nicht kennt:
Beitrag "Re: Hargassner Pelletheizung Betriebsdatenerfassung"


Und Vielen Dank an alle, die sich bei diesem Thema so reingehängen haben 
und die vielen Informationen veröffentlich haben!

Das Programm von Hogy fand ich sehr gut, war mir aber zu unflexibel.
Hab mich dann doch für die Version mit der RRD Datenbank und HTML 
Webseite von Pelletheizer entschieden.

Gruß Robert

: Bearbeitet durch User
von Diego M. (hghv40)


Lesenswert?

Hallo zusammen,
habe seit ca. 1 Woche einen Hargassner HV40 installiert.
Habe schon an meiner Solaranlage eine selbstgebastelte Visualisierung 
hängen und würde dort nun auch gerne die Daten des HV40 mit anzeigen 
lassen. Als Schnittstelle würde ich gerne die Netzwerk-Daten z.B. 
sekündlich in eine Datei abspeichern und mein bestehendes Programm 
könnte die Informationen aus der Datei auslesen und dann visualisieren.
Weiter oben wurde ja schon diskutiert, dass dies z.B. mit einem Befehl 
"telnet 192.168.1.20 -f test.csv" funktioniert.
Wie binde ich dies aber in ein VB6 Programm ein, sodass alle Sekunde der 
Datenstream nur 1x reingeschrieben wird und nicht ständig alle 500 MS 
die Daten in der Datei weiterschreibt, bis die Datei platzt?
Ich hoffe ich hab mein Problem richtig geschildert.

Gruß Geri

von Django01 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo miteinander!

Seit ich selbst besitzer von einer Rennergy RSP 30 bin und sehr 
enttäuscht über das was aus der Heizung kam (was die Visualisierung 
angeht), hab ich mich mit den Informationen von hier und eigenrecherche 
an die Arbeit gemacht.

Raus gekommen ist dann das was Ihr im Bild oben seht.

Das Shellscript von Sony hab ich etwas abgewandelt und mir als cronjob 
eingerichtet.
Die Werte landen in einer Datenbank auf meiner QNAP.

Ausgelesen werden die Werte dann wiederrum mit PHP und so erst mal 
ausgegeben.

Was mir noch nicht sauber gelungen ist (wo ich aber dran arbeite) sind 
die Betriebszustände.

Weiter ist mir beim SQL Skript von Sony ein fehler aufgefallen.
Die Binärwerte am Schluss stimmen nicht.
Das müssen auf jeden Fall immer binary(2) sein und nicht (1) und (9).

Sonst passt es nicht mit dem Shell Script.

Ich schau das ich noch ein wenig weiter entwickle und wenn ich dann 
alles zusammen hab was ich möchte, bekommt ihr das hier zur verfügung 
gestellt.

Nebenbei werden die Werte ausgelesen von meinem Raspberry Pi und die 
Homepage wird auch von dem kleinen Bereitgestellt.

Gruß

Django01

von Django01 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Miteinander,

wie ich es Versprochen habe anbei das was ich gebaut habe inklusive 
einer kleinen Anleitung und einem Screenshot wie es aussehen soll.

Nicht abschrecken lassen.
Die global_config.php ist sehr groß und Mächtig.
Ich hab jeden Schritt in der Datei mit Kommentaren versehen.

Bei fragen, fragen! :)

Gruß

Django01

von Django01 (Gast)


Angehängte Dateien:

Lesenswert?

Update der global_config.php

Betriebszustände wurden nicht richtig gesetzt.


Gruß

Django01

von Django01 (Gast)


Lesenswert?

Hallo miteinander.

Ich hab gestern Abend noch das ein oder andere testen können. Heizung 
war mal an.

Folgendes wurde ergänzt oder geändert:

global_config.php:

Zeile 121
1
//Betriebszustände
 hinzugefügt

Die if Schleife für die Betriebszustände verfeinert.

(Nach hinzufügen von Zeile 121)

Zeile 150 if Bedingung angepasst:
1
if ( $saug == "100" and $primi > "95" and $rgass == "140" or $saug == "100" and $primi > "95" and $rgass == "180" )

Zeile 171 - 176 hinzugefügt
1
        elseif ( $primi > "95" and $saug == "0" ) {                                                     // Wenn Primärluft IST größer 95 und der Saugzug auf 0 dann setze Zustand auf Zündung warten
2
        $zustand = "<font color='#0000FF'>Z&uuml;nd. warten</font>";
3
        }
4
        elseif ( $saug == "100" ) {                                                                     // Wenn Saugzug gleich 100 dann setze Zustand auf Tür offen!
5
        $zustand = "<font color='#FF0000'>Tür offen!</font>";
6
        }


Gruß

Django

von Django01 (Gast)


Lesenswert?

Hallo Miteinander,

weitere anpassungen ab Zeile 156 in der global_config.php

Zeile 156 Teil-Last besser definiert:
1
elseif ( $pf2 > "70" and $primi > "0" and $sekui > "0" or $ktemp > "80" and $primi > "0" and $sekui > "0" )

Zeile 159 Ausbrand besser definiert:
1
elseif ( $gluts > "$gcalc" and $rgass == "0" )


Entschuldigt bitte die vielen kurzfristigen Änderungen.
Es ist für mich ein working process und die Zustände kann man ja leider 
nicht einfach so "erzeugen" da muss die Heizung halt durch...


Gruß

Django

von Mark (Gast)


Lesenswert?

Weiß jemand den Installateur Code bei HSV 14 heizung

von Django01 (Gast)


Lesenswert?

Hallo Mark,

bei der RSP 30 mit Touchtronic ist es der aktuelle Tag und Monat.
Also für heute wäre es 0112.

Versuch das mal.

Gruß

Django

von Mark (Gast)


Lesenswert?

Ok mach ich
Danke

von Roger R. (Firma: RR Engineering) (reiserr)


Lesenswert?

Hi Mark
Probier es mal mit "33".

Wer hat die Heizung installiert? Dein Heizungsbauer?

Grüße
Roger

von Mark (Gast)


Lesenswert?

Hallo Roger
Jap hat mein Heizungsbauer gemacht und auch eingestellt, aber im 
Kundenmenü kann man leider nicht all zu viel ändern bzw. anpassen.
Hat da jeder heizungsbauer seinen eigenen oder ist der Code von 
hargassner festgelegt ?

MfG Mark

von Roger R. (Firma: RR Engineering) (reiserr)


Lesenswert?

Das weiss ich leider nicht. Bei mir hat war sowohl Heizungsbauer als 
auch Hargassner im Haus und die Touch-Steuerung hat Hargassner direkt 
eingebaut. Liegt wohl im Ermessen des Installateurs.

Aber frage doch einen deinen Installateur. Es ist doch Deine Heizung?

Grüße
Roger

von Django01 (Gast)



Lesenswert?

Hallo Miteinander,

ich hab noch das ein oder andere angepasst und einen RSS Feed und eine 
Statistik hinzugefügt.
Ihr könnt also per Cronjob auch alle 5 Minuten einen RSS Feed erzeugen 
lassen.

Dafür einfach im crontab eintragen:
1
*/5 * * * * sleep 5s && /usr/bin/php5 /var/www/rennergy/gen_rss.php >/dev/null 2>&1

Den sleep Timer könnt ihr anpassen. Ich hab den eingestellt damit ich 
Sicherstelle das der RSS Feed nach dem abfragen der aktuellen Daten 
erstellt wird.

Ich hab noch zwei Bilde angehängt wie es gerade Aussieht.

Bei fragen, fragen :)


Gruß

Django

von Dieter (Gast)


Lesenswert?

Hast du das auch für andoid oder für windows ??

von Diego M. (hghv40)


Angehängte Dateien:

Lesenswert?

Hallo hab mir für meinen Scheitholzkessel HV40 selbst ne Visualisierung 
für Windows gebastelt, welche alle 5 Sekunden über den TCP-IP Port die 
Daten vom Kessel ausliest und visualisiert ....
Nachteil: Der Pc muss immer laufen... Ist mein Fileserver mit einem 
Stromspar-PC.
Aber sonst tut Sie das was ich will... Ich z.B. Steuer damit zusätzlich 
noch meine Solaranlage.
LG

von Django01 (Gast)


Lesenswert?

Hi Dieter,

das ist ja im endeffekt nur das Backend.
Wo du die Daten dann abrufst ist egal.

Ich benutz das Webinterface auch von Unterwegs aus um zu schauen wie es 
meiner Heizung geht :)

Ich kann mal schauen das ich die Scripte auf Windows umschreib dann 
kannst das auch benutzen.

Die Homepage etc. sind ja Standard PHP und HTML. Nur das Shellscript 
muss ich umschreiben und schauen das es was ähnliches Windows Nativ gibt 
wie netcat

Die Lösung von Diego schaut auch interessant aus :)

Gruß

Django

von Django01 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Miteinander,

ich hab wieder ein Update bei mir eingespielt und ein paar Sachen 
korrigiert.

Ich häng hier mal die Screenshots dazu an und wenn es anklang findet lad 
ich die Files auch hoch.

Zuerst hab ich einen RSS Feed gebaut damit man unterwegs die Daten als 
Widget aufm Handy dabei hat.

Dann hab ich für meine Frau den RSS noch mal gekürzt gebastelt weil Sie 
nicht so viel Platz auf Ihrem Smartphone hat.

Jetzt hab ich mir aber noch gedacht das es echt Cool wäre wenn ich noch 
Proaktiv über gewisse Sachen bescheid wüsste.
Zum Beispiel wenn der Kessel in eine Übertemperatur läuft oder der 
Heizkreissollwert nicht mehr erreicht werden kann.

Also hab ich dafür auch noch ein Skript gebastelt.

Schaut es euch mal an und schreibt was Ihr davon haltet.

Gruß

Django

von Dieter (Gast)


Lesenswert?

Sieht super aus. .. echt gelungen....

von dieter (Gast)


Lesenswert?

hallo django,
kann ich die software von dir bekommen ??
gruss
dieter

von Django01 (Gast)


Angehängte Dateien:

Lesenswert?

Hi Dieter,

es ist keine Software im eigentlichen Sinne.
Du kannst das aber alles gerne bekommen :)

Wenn du nicht warten möchtest und selbst Hand anlegen kann ich dir die 
Skripte geben und das How To dazu hab ich schon weiter oben geposted.

Wenn du aber noch etwas Zeit hast dann Bereite ich einen 
vorkonfigurierten virtuellen Server vor der schon alles drauf hat was er 
braucht.

Bis auf eine feste IP Adresse in deinem Netzwerk zuhause.

Dann ist auch eine Anleitung dabei die es auch Verdient so genannt zu 
werden. Braucht halt alles nur ein wenig Zeit damit ich das machen kann. 
Und mein Tag könnte gerade 48 Stunden haben

Versuch mal mit dem was ich angehängt habe klar zu kommen. Anosnten 
meldest dich hier einfach mit Fragen und ich beantworte die so Zeitnah 
wie möglich.

Gruß

Django

von Mati (Gast)


Lesenswert?

Hallo Zusammen und hallo Diego Maradonna!

dein Software für Windows gefällt mir. Gibst Du diese auch frei für 
einen Download?
Wie hast du dies entwickelt, kannst du es mir kurz beschreiben?

DANKE

von MacGyver (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Django01,

ich bin gerade dabei deine Lösung umzusetzen, weil sie genau das macht 
was ich mir vorstelle plus Extras.
Momentan bin gerade dabei deine Howto umzusetzen. Beim Punkt 6 komme ich 
aber nicht weiter.
Ich habe auf nem Raspberry die Datenbank lokal (Lösung 1b) installiert.
Die Telnetabfrage meines RSP30 bringt bei mir folgende Daten:
pm 73.9 175.0 8.3 70.3 64.0 65.1 1.7 29.0 120.0 20.0 20.0 70.5 29.0 0.0 
20.0 20.
0 38 37 4 4 55.5 100 6 6.0 11.8 179.0 0.0 80.0 -20.0 -20.0 20.0 20.0 
-20.0 0.0 0
.0 20.0 20.0 -20.0 -20.0 20.0 20.0 -20.0 0.0 0.0 20.0 20.0 55 34.8 65.1 
84 0.0 0
.0 0.0 0.0 0.0 0.0 0.0 120.0 62.0 5.1 0.0 0.0 0.0 0.00 0.00 0.00 0.00 
-20.0 0.0
20.0 20.0 -20.0 1 1 1 1 1 1 1 20.0 20.0 20.0 20.0 20.0 20.0 20.0 0102 
0003 0000
0000 0000 0000 0000 0000

-->Darum habe ich die datenbank.sql auf 94 Felder angepasst (die letzten 
4er Gruppen zählen ja nur 1 Feld?). Erste Zeile bei mir:
CREATE TABLE `Heizung` (

Das Shellskript rw_rsp_sql.sh habe ich angepasst. Beim Ausführen kommt 
dieser Fehler:
--> ERROR 2003 (HY000): Can't connect to MySQL server on 
'192.168.178.36' (111)

Evtl. steckt der Fehler in dieser Zeile steckt?
echo $line | sed "s/pm /null,\\'$DATE\\',/" | sed -r 's/\s+/,/g' |  sed 
-re "s/([0-9A-F]{4}),/unhex(\\'\1\\'),/g" | sed 's/.*/echo "insert into 
t_raw_data values (&)"/e'| sed 's/,)/);/' | mysql -u Heizung 
--password="Heizung" --database="Heizung" --host 192.168.178.36

Für den username habe ich auch schon root/localhost in 
Groß/Kleinschreibung probiert. Die <SQL SERVER IP> stimmt auch, sonst 
kommt ein anderer Fehler.

Die IP der Heizung stimmt auch. Wenn ich diese nämlich falsch eintrage, 
kommt ebenfalls ein anderer Fehler.

Das Erstellen der Daten über phpmyadmin hat meiner Meinung nach auch 
geklappt, nur sind es halt immer noch 0 Datensätze.

Was läuft hier falsch?

Danke für einen Tipp
MacGyver

von Django01 (Gast)


Lesenswert?

Hi MacGyver,

schau doch mal mit
1
netstat -tan | grep 3306
 ob der SQL Server überhaupt ordentlich läuft.

Sollte er eigentlich da du mit phpMyAdmin ja drauf kommst.

Ansonsten schau bitte noch mit
1
service mysql status
 ob der SQL Server selbst Fehler ausspuckt.

Wenn der Service nicht ordentlich läuft mit
1
service mysql restart
 mal neustarten und schauen ob er danach ordentlich funktioniert.

Was du auch probieren kannst ob du den host überhaupt mit angeben musst.
also das -h einfach mal weglassen und die IP weil die Datenbank ja lokal 
liegt. Da muss man das dann nicht unbedingt machen.

Wichtig ist auch das dein User die entsprechenden Rechte auf der 
Datenbank hat sich zu verbinden. Da ist bei den Rechten das Localhost 
wichtig.

Und wenn alles nicht klappt einfach mal lokal versuchen.
Also mit
1
mysql -u <username> -p
 versuchen ob deine Daten funktionieren.

Wenn er die Datenbank nicht erreichen kann, kann er auch keine Daten 
schreiben.

Wenn du magst kann ich dir aber gerne ein paar Echtdaten geben damit du 
die Funktion testen kannst bis du den Datenbankconnect hinbekommen hast.



Gruß

Django

von MacGyver (Gast)


Lesenswert?

Hallo Django01,

danke für die schnelle Reaktion und Hilfe. Hier das Ergebis

netstat -tan | grep 3306
-->tcp        0      0 127.0.0.1:3306          0.0.0.0:* 
LISTEN

service mysql status
--> mysql.service - LSB: Start and stop the mysql database server daemon
   Loaded: loaded (/etc/init.d/mysql)
   Active: active (running) since Fr 2016-02-26 05:17:12 CET; 1h 48min 
ago
  Process: 465 ExecStart=/etc/init.d/mysql start (code=exited, 
status=0/SUCCESS)
   CGroup: /system.slice/mysql.service
           ├─550 /bin/sh /usr/bin/mysqld_safe
           └─922 /usr/sbin/mysqld --basedir=/usr 
--datadir=/var/lib/mysql --p...

service mysql restart mit sudo hat keinen Fehler gebracht aber weiterhin 
keine Datensätze in phpmyAdmin.

Entfernen von --host ... --> ERROR 1146 (42S02) at line 1: Table 
'Heizung.t_raw_data' doesn't exist --> Jetzt ist er doch eingeloggt?

Für den User habe ich in phpmyadmin alle Rechte die es gab mal angehakt 
;-)

mysql -u <username> -p -->Welcome to the MySQL monitor...... Das müsste 
doch auch klappen.

-->noch keine Datensätze vorhanden.

Sorry wenn mir die Ausgaben noch nicht soviel sagen, ich beschäftige 
mich erst seit ca. 1 Woche mit Linux/Raspberry. Momentan ist´s für mich 
noch viel Try and Error.

Danke und Gruß
MacGyver

von Django01 (Gast)


Angehängte Dateien:

Lesenswert?

Hi MacGyver,

find ich gut wenn du dich damit beschäftigst :)
Und wenn da jemand interesse dran hat und auch gut findet was ich mache 
warum sollte ich mir dann alle Zeit der Welt lassen und dir ein 
schlechtes erlebnis mit Linux bescheren? :)

Aber dein Problem ist gerade ein ganz einfaches.

Wichtigste Grundgregel:

Lesen und Verstehen!
1
ERROR 1146 (42S02) at line 1: Table 
2
'Heizung.t_raw_data' doesn't exist

Eingeloggt ist er. Aber die Tabelle zur Datenbank ist nicht da.

Schau mal das sollte in etwas (Namen der Datenbank und Tabelle können 
variieren :) ) so aussehen wie im Screenshot bei mir.

Gruß

Django

von MacGyver (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Django,

danke jetzt hats geklappt. Ich hab den Fehler gemacht, dass ich die 
Tabelle in der Datenbank "Heizung" auch "Heizung" benannt habe und nicht 
"t_raw_data".
Ein Bild sagt mehr als tausend Worte ;-)
Jetzt kann ich wieder weitermachen.

Danke und Gruß
MacGyver

von Django01 (Gast)


Lesenswert?

Hey MacGycer,

kein Problem.
Wenn alles so läuft wie du es dir vorstellst, freut mich das.
Es ist schön zu sehen wenn anderen das eigene Projekt auch gefällt :)

Da ich immer gerne für Vorschläge offen bin kannst du also auch gerne 
hier schreiben wenn dir noch was fehlt :)

Ich schau dann das ich das noch hin zu füge.

Mal schaun. Wenn es die Zeit und die Anfragen hier zu lässt mach ich 
einen GitHub oder Sourceforge eintrag wo ich das Projekt regelmäßig 
pflege.

Versionierung ist hier halt echt ein Thema.
Wenn ich allein daran denke was mein letztes Posting zum jetzigen an 
veränderungen gebracht hat. Das ist schon heftig.

Aber: Selbst meine Frau findet es gut das Sie nicht immer in den Keller 
muss um nach der Heizung zu schauen.

Ich finde es Schade das Rennergy / Hargassner da nicht von der 
Kauflösung abgehesen haben und den schon integrierten WebServer in Ihrem 
Teouch Display besser genutzt haben.

Klar, man kann so etwas mehr Einnahmen generieren, aber wer von uns will 
wirklich regelmäßig an seinen Heizkreiswerten rum schrauben?

Wichtig sind uns dir Informationen die die Heizung liefert.

Was mir noch wichtig war ist: Wo liegen meine Daten?
Und mit dem Internet Gateway von Rennergy / Hargassner wären die Daten 
beim Hersteller gelandet. Und das ohne irgendwelche Hinweise im Handbuch 
oder der Installationsanleitung. Das wollte ich eben nicht.
Daher hab ich mich entschieden das selbst in die Hand zu nehmen.
So liegen die Daten bei mir und ich kann sie immer abrufen wenn ich die 
brauche.
Vor allem kann man die Daten so auch Visualisieren wie man sie möchte.

Also, wer mehr möchte, kann mehr bekommen. Kann halt nur sein das ich 
ein wenig Zeit dafür brauche. Schließlich entwickle ich an der Lösung 
bis jetzt noch allein (ich hab Hoffnung in dich MacGyver ;P )

@Dieter: Lass dich nicht abschrecken. MacGyver hat sich auch ein wenig 
damit beschäftigt und bekommt das hin. Das schaffst du auch. Und wenn 
gar nichts klappen will, helf ich auch gerne über Teamviewer.

Jeder kann, wenn er möchte, sich das alles selbst bei bringen. Und die 
Community hier und im Internet ist Stark was solche Projekte angeht.

Also nicht aufgeben :)


Gruß

Django

von MacGyver (Gast)


Lesenswert?

Hallo Django,

bezüglich Daten sehe ich dass genauso wie du. Wieso soll ich mir eine 
kostenpflichtige Lösung (Gateway für >100€) kaufen? Bei der ich dann 
100% Daten auf nem fremden Server liefer und über eine App dann 5% Daten 
angezeigt bekomme. Eigentlich müsste ich ja was für die Datenlieferung 
erhalten?
Aber heute gibts ja schon Zahnbürsten mit der man dann sehen kann 
welcher Zahn am wenigsten geputzt wurde.
Das kann dann die Krankenkasse zusammen mit dem Daten aus dem 
Fitnessarmband auswerten.

Ich möchte mit den Daten später noch den hydraulischen Abgleich machen. 
Dazu noch die Ist-Raumtemperatur z.B. eines DS18B20 mit in die Datenbank 
und los geht´s ans Feintuning im Heizverteiler.

Mein aktueller Stand:
- Daten landen in der Datenbank.
- Auswertung über phpMyAdmin (Diagrammfunktion interessant!)
- Anpassung der Kanäle in global_config.php
- Dateien für Homepage nach /var/www/rennergy kopiert und angepasst
--> Die Webseite wird aber nicht angezeigt.
Es wird die "Apache2 Debian Default Page" angezeigt.
Habe ich das richtig verstanden, dass die php-Skripte (hier index.php) 
die Datei /var/www/html/index.html anpassen müsste?

Wenn ich über die Kommandozeile /usr/bin/php5 
/var/www/rennergy/index.php eintippe sehe ich dass er an die Daten 
rankommt und die Felder füllt. Wieso wird die index.html nicht 
überschrieben?
Die includierte global_config.php scheint keine Fehler zu machen.

Hab auch die anderen php-files so ausgeführt mit unterschiedlichem 
Erfolg.
Welche müssen in den crontab aufgenommen werden? Gibt es einen 
Unterschied zwischen selber aufrufen und über crontab?

Gruß
MacGyver

von Django01 (Gast)


Lesenswert?

Servus MacGyver,

wenn du die Default Homepage angezeigt bekommst, fehlt dir noch die 
Anpassung im Apache selbst.

Schau mal wie`s bei mir Ausschaut:
1
spiderbox:/ $ cd /etc/apache2/sites-enabled/
2
spiderbox:/etc/apache2/sites-enabled $ ls -lah
3
insgesamt 8,0K
4
drwxr-xr-x  2 root root 4,0K Dez  3 09:01 .
5
drwxr-xr-x 10 root root 4,0K Jan 29 14:45 ..
6
lrwxrwxrwx  1 root root   36 Dez  3 09:01 001-rennergy.conf -> ../sites-available/001-rennergy.conf
7
spiderbox:/etc/apache2/sites-enabled $ cd ..
8
spiderbox:/etc/apache2 $ cd sites-available/
9
spiderbox:/etc/apache2/sites-available $ ls -lah
10
insgesamt 24K
11
drwxr-xr-x  2 root root 4,0K Jan 29 14:45 .
12
drwxr-xr-x 10 root root 4,0K Jan 29 14:45 ..
13
-rw-r--r--  1 root root 1,4K Aug  7  2015 000-default.conf
14
-rw-r--r--  1 root root  661 Jan 27 09:12 001-rennergy.conf
15
-rw-r--r--  1 root root 6,3K Aug  7  2015 default-ssl.conf
16
spiderbox:/etc/apache2/sites-available $ cd /
17
spiderbox:/ $ sudo a2query -s
18
001-rennergy (enabled by site administrator)
19
spiderbox:/ $ cat /etc/apache2/sites-available/001-rennergy.conf
20
<VirtualHost 192.168.xxx.xxx:80>
21
22
        DocumentRoot /var/www/rennergy/rss
23
        ServerName <ServerName>
24
25
        LogLevel warn
26
        ErrorLog ${APACHE_LOG_DIR}/001_error.log
27
        CustomLog ${APACHE_LOG_DIR}/001_access.log combined
28
29
</VirtualHost>
30
31
<VirtualHost 192.168.xxx.xxx:443>
32
33
        DocumentRoot /var/www/rennergy
34
        ServerName <ServerName>
35
36
        SSLEngine on
37
        SSLCertificateKeyFile /etc/apache2/mycert/rennergy1.key
38
        SSLCertificateFile /etc/apache2/mycert/rennergy1.crt
39
        SSLCipherSuite HIGH:!MEDIUM:!aNULL:!MD5:!RC4
40
41
        LogLevel warn
42
        ErrorLog ${APACHE_LOG_DIR}/001_error.log
43
        CustomLog ${APACHE_LOG_DIR}/001_access.log combined
44
45
</VirtualHost>
46
47
spiderbox:/ $

Schau bitte mit
1
sudo a2query -s
 ob die default config im Apache noch aktiv ist.

Wenn du beide Konfigs noch aktiv hast, kannst du mit
1
sudo a2dissite 000-default.conf
 die konfig deaktivieren.

Wichtig ist das du deine Konfig auch aktivierst.
1
sudo a2ensite 001-rennergy.conf

Achso und ganz wichtig danach ist den Apache neu zu starten :)
1
sudo service apache2 restart

Hab ich etwa vergessen im HowTo zu schreiben das die Default konfig und 
die Rennergy Konfig De-/bzw. aktiviert werden muss...

Mit der Default Config zeigt er natürlich nur auf den Standardpfad.
Deswegen hab ich das in meiner Config auch geändert.

Schau mal ob es dann für dich passt.


Gruß

Django

von Django01 (Gast)


Lesenswert?

Ach so, vergessen...

Crontab:
1
*/5 * * * * /usr/bin/rw_rsp_sql.sh >/dev/null 2>&1
2
*/5 * * * * sleep 5s && /usr/bin/php5 /var/www/rennergy/gen_rss.php >/dev/null 2>&1
3
*/5 * * * * sleep 5s && /usr/bin/php5 /var/www/rennergy/gen_rss_short.php >/dev/null 2>&1
4
*/5 * * * * sleep 5s && /usr/bin/php5 /var/www/rennergy/push.php >/var/log/push.log

Gruß

von MacGyver (Gast)


Lesenswert?

Hi Django,

und ich wollte vorher noch Fragen für was die Datei 001-rennergy.conf 
ist ;-)
Ich hab die Default gelöscht und die 0001_rennergy.conf enabled.

pi@raspberrypi:/etc/apache2/sites-enabled $ ls -lah
insgesamt 8,0K
drwxr-xr-x 2 root root 4,0K Feb 28 21:46 .
drwxr-xr-x 8 root root 4,0K Feb 24 22:11 ..
lrwxrwxrwx 1 root root   36 Feb 28 21:46 001-rennergy.conf -> 
../sites-available/001-rennergy.conf

sudo service apache2 restart bringt aber:
Job for apache2.service failed. See 'systemctl status apache2.service' 
and 'journalctl -xn' for details.

Bei journalctl -xn --> ist nichts angelegt.
Bei systemctl status apache2.service :
● apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2)
   Active: failed (Result: exit-code) since So 2016-02-28 22:35:45 CET; 
1min 24s ago
  Process: 2464 ExecStart=/etc/init.d/apache2 start (code=exited, 
status=1/FAILURE)

Ich vermute, dass der Fehler im ServerName ist (x-natürlich angepasst).
Ist der nicht auch 192.168.xxx.xx oder tatsächlich <ServerName>. 
Wahrscheinlich dumme Frage, aber beides geht nicht.

cat /etc/apache2/sites-available/001-rennergy.conf
<VirtualHost 192.168.xxx.xx:80>

        DocumentRoot /var/www/rennergy/rss
        ServerName 192.168.xxx.xx

        LogLevel warn
        ErrorLog ${APACHE_LOG_DIR}/001_error.log
        CustomLog ${APACHE_LOG_DIR}/001_access.log combined

</VirtualHost>

<VirtualHost 192.168.xxx.xx:443>

        DocumentRoot /var/www/rennergy
        ServerName 192.168.xxx.xx

        SSLEngine on
        SSLCertificateKeyFile /etc/apache2/mycert/rennergy1.key
        SSLCertificateFile /etc/apache2/mycert/rennergy1.crt
        SSLCipherSuite HIGH:!MEDIUM:!aNULL:!MD5:!RC4

        LogLevel warn
        ErrorLog ${APACHE_LOG_DIR}/001_error.log
        CustomLog ${APACHE_LOG_DIR}/001_access.log combined

</VirtualHost>

Bis denn
MacGyver

von Django01 (Gast)


Lesenswert?

Hi MacGyver,

ich brauch das was dir hier angezeigt wird:

Job for apache2.service failed. See 'systemctl status apache2.service'
and 'journalctl -xn' for details.

also mach mal
1
sudo systemctl status apache2.service
2
sudo journalctl -xn

Und poste mal was da kommt.

Der ServerName ist eigentlich nicht unbedingt wichtig.
Der Ordnunghalber sollte das aber drin sein. Damit dein System weiß wo 
es hingehört :)
Sollte aber etwas sein was du tatsächlich hast.
Bei mir ist meine DynDNS Adresse.

Gruß Django01

von MacGyver (Gast)


Lesenswert?

Hi Django,

sudo systemctl status apache2.service:
● apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2)
   Active: failed (Result: exit-code) since So 2016-02-28 22:35:45 CET; 
21min ago
  Process: 2464 ExecStart=/etc/init.d/apache2 start (code=exited, 
status=1/FAILURE)

Feb 28 22:35:45 raspberrypi apache2[2464]: Starting web server: apache2 
failed!
Feb 28 22:35:45 raspberrypi apache2[2464]: The apache2 configtest 
failed. ... (warning).
Feb 28 22:35:45 raspberrypi apache2[2464]: Output of config test was:
Feb 28 22:35:45 raspberrypi apache2[2464]: AH00526: Syntax error on line 
17 of /etc/apache2/sites-enabled/001-rennergy.conf:
Feb 28 22:35:45 raspberrypi apache2[2464]: Invalid command 'SSLEngine', 
perhaps misspelled or defined by a module not included in the server 
configuration
Feb 28 22:35:45 raspberrypi apache2[2464]: Action 'configtest' failed.
Feb 28 22:35:45 raspberrypi apache2[2464]: The Apache error log may have 
more information.
Feb 28 22:35:45 raspberrypi systemd[1]: apache2.service: control process 
exited, code=exited status=1
Feb 28 22:35:45 raspberrypi systemd[1]: Failed to start LSB: Apache2 web 
server.
Feb 28 22:35:45 raspberrypi systemd[1]: Unit apache2.service entered 
failed state.
Hint: Some lines were ellipsized, use -l to show in full.

sudo journalctl -xn:
-- Logs begin at So 2016-02-28 21:59:10 CET, end at So 2016-02-28 
22:59:11 CET. --
Feb 28 22:56:47 raspberrypi sudo[2845]: pam_unix(sudo:session): session 
opened for user root by pi(uid=0)
Feb 28 22:56:47 raspberrypi sudo[2845]: pam_unix(sudo:session): session 
closed for user root
Feb 28 22:57:23 raspberrypi sudo[2859]: pi : TTY=pts/0 ; 
PWD=/etc/apache2 ; USER=root ; COMMAND=/bin/systemctl status 
apache2.service
Feb 28 22:57:23 raspberrypi sudo[2859]: pam_unix(sudo:session): session 
opened for user root by pi(uid=0)
Feb 28 22:57:23 raspberrypi sudo[2859]: pam_unix(sudo:session): session 
closed for user root
Feb 28 22:57:37 raspberrypi sudo[2873]: pi : TTY=pts/0 ; 
PWD=/etc/apache2 ; USER=root ; COMMAND=/bin/systemctl status 
apache2.service
Feb 28 22:57:37 raspberrypi sudo[2873]: pam_unix(sudo:session): session 
opened for user root by pi(uid=0)
Feb 28 22:57:37 raspberrypi sudo[2873]: pam_unix(sudo:session): session 
closed for user root
Feb 28 22:59:11 raspberrypi sudo[2887]: pi : TTY=pts/0 ; 
PWD=/etc/apache2 ; USER=root ; COMMAND=/bin/journalctl -xn
Feb 28 22:59:11 raspberrypi sudo[2887]: pam_unix(sudo:session): session 
opened for user root by pi(uid=0)

Gruß MacGyver

von Django01 (Gast)


Lesenswert?

Servus MacGyver,

hier steht´s:

Feb 28 22:35:45 raspberrypi apache2[2464]: Invalid command 'SSLEngine',
perhaps misspelled or defined by a module not included in the server
configuration

Du hast keine SSL Engine aktiviert.

Schau mal mit
1
sudo a2query -m | grep ssl
 ob du das Modul aktiviert hast.

Wenn nicht (also keine Ausgabe kommt) dann mach mal
1
sudo a2enmod ssl

Danach wieder
1
sudo service apache2 restart

Denk aber daran das du die Zertifikate noch machen musst wenn du noch 
keine hast. Ansonsten wird er da wieder maulen.

Noch was zur anmerkung: Die skripte im crontab solltest du auch mit
1
sudo crontab -e
 erstellen damit die mit den richtigen Rechten laufen :)

Gruß

Django

von MacGyver (Gast)


Lesenswert?

Servus Django,

SSL-Engine war nicht aktiviert!
1
sudo a2query -m | grep ssl

ergibt jetzt: ssl (enabled by site administrator)

Der Restart scheitert wieder! Vermutlich wegen den Zertifikaten.

Was zum Teufel sind Zertifikate? Kannst du mir noch einen Tipp geben, 
dann lass ich dich für heut in Ruh ;-)

Den Crontab mach ich noch mit sudo.

Danke und Gruß
MacGyver

von Django01 (Gast)


Lesenswert?

Hi MacGyver,

trifft sich gut.
Frauchen will auch ins Bett :)

Also ZErtifikate sind das was dir bei den Webseitem im Browser das Grüne 
Vorhängeschloss bringen.

Da du ein Selbstsigniertes erstellst bekommst du eine Fehlermeldung, 
aber die kannst du ignorieren da du ja weisst wer die erstellt hat (du 
selbst).

Schau mal im Tutorial hab ich erklärt wie du die erstellen musst und wo 
die hin gehören. Wichtig ist der Name der Zertifikate und der Pfad.
Die Konfig muss die ja auch finden.

Hier ist ein guter Link der dir das noch mal eindeutig und gut erklärt 
(bei Ihm hab ich auch abgekupfert -> der Weg ist einfach der einfachste 
:) )

https://thomas-leister.de/allgemein/apache-webserver-ssl-verschlusselung-einrichten/

Ansonsten lass nochmal die Fehlermeldungen mit
1
sudo systemctl status apache2.service
raus. Dann sehen wir das gleich :)

Gruß

Django

von Django01 (Gast)


Angehängte Dateien:

Lesenswert?

Ich hab da noch was gebastelt.

Muss ich nur noch gut in ein Gehäuse verfrachten und den großen Potti 
gegen einen kleinen tauschen :)


Gruß

Django

von Django01 (Gast)


Angehängte Dateien:

Lesenswert?

Hehe,

falsches Bild :P

Schmeckt aber super...

Hier das richtige :)


Gruß

Django

von MacGyver (Gast)


Lesenswert?

Servus Django,

ich hab wieder ein bißchen weitergemacht und dazugelernt:-)
Für den ersten Test der Webseite habe ich den Fehler gemacht, dass ich 
die Webadressen in den php-Skripten mit https verwendet hatte. Da die 
Verschlüsselungs/Zertifikate erst später kommen (Punkt 13) kann das ja 
noch nicht funktionierten. Das hab ich erst später gesehen.
Darum ich ich mal die https auf http umgestellt. Jetzt geht schon etwas 
mehr:
- global_config.php -->keine Fehler

- gen_rss.php und gen_rss_short.php --> funktioniert. Und mit dem 
passenden RSS-Widget auf dem Handy/Tablet alle 5 Min aktualisiert. Echt 
super Sache!

- push.php --> funktionert mit "proaktiver" Mitteilung auf Handy. Wenn 
HK1-Soll nicht mehr erreicht werden kann (Echtbedingung) bekomm ich aber 
alle 5 Minuten die Nachricht. Das sollte doch mit dem Speichern des 
$check-Arrays in die check.chk verhindert werden? Beim Manipulieren der 
Variablen (innerhalb des push.php) hab ich den Fehler nicht simulieren 
können.

- index.php --> funktioniert. Ich bekomm die Werte auf der Homepage 
angezeigt

- stats_conf.php --> bringt beim Ausführen
1
PHP Notice:  Use of undefined constant date - assumed 'date' in /var/www/rennergy/stats_conf.php on line 54
2
PHP Notice:  Use of undefined constant date - assumed 'date' in /var/www/rennergy/stats_conf.php on line 57

darum habe ich die Zeilen:
1
  $originalDate[$i] = $row[date];
2
  $newDate[$i] = date("d.m.Y G:i", strtotime($originalDate[$i]));
3
  //print_r($row);
4
  $date[$i] = $row[date];
so angepasst:
1
  $originalDate[$i] = $row['date'];
2
        $newDate[$i] = date("d.m.Y G:i", strtotime($originalDate[$i]));
3
        //print_r($row);
4
        $date[$i] = $row['date'];

Ist das so richtig? Bei der Ausführung kommt zumindest kein Fehler mehr!

Wenn ich dann statistic.php (includiert wieder stats_conf.php) ausführe 
kommt:
1
[PHP Warning:  strpos() expects parameter 1 to be string, array given in /var/www/rennergy/statistic.php on line 35

also habe ich auch:
1
if ( strpos($newDate, "00") !== false){
so angepasst:
1
if ( strpos($newDate[$i], "00") !== false){

Ist das so richtig? Es kommt halt dann der nächste Fehler beim
1
PHP Notice:  Undefined offset: 291 in /var/www/rennergy/statistic.php on line 44
.....

Irgendwie komm ich da mit den Datenformaten/typen noch nicht zurecht.
Hast du evtl. in den Dateien noch was zum Downloadstand vom 18.02.2016 
was geändert?

Danke und Gruß
MacGyver

von Django01 (Gast)


Lesenswert?

Hi MacGyver,

so viel kann ich dir schon sagen.
Das ganze "Lebt" bei mir.

Ich hab einiges getan in der letzten Zeit.
Heute hab ich zum Beispiel den ganzen Kram mal aufgeräumt und noch etwas 
vereinheitlicht und vereinfacht :).

Lass dir die Webseiten mal mit
1
sudo php5 push.php
 (als Beispiel) anzeigen.

Da siehst du dann auch ausgabefehler im PHP besser :)

Ich denke das bei der push.php die Werte nicht geschrieben werden 
können.
Entweder, weil er die Datei nicht findet oder weil er nicht schreiben 
kann.

Ist die Datei überhaupt angelegt, ist da die einfachste Frage :)

An den Statistiken hab ich so weit bis jetzt nichts mehr geändert.

Mach mal den // in der stats_conf.php doch mal bei print_r weg.
Dann bekommst du ganz oben eine Ausgabe der ganzen Werte in dem Array 
$row.

Poste mal dein Ergebnis und schau was dann bei "date" steht. Wenn der 
richtige Wert da stehen sollte passt es :)

Ich hab bei der check.chk zwar versucht den Fehler abzufangen, aber 
schau mal ob überhaupt was in der Datei drin steht. Es sollten im 
bestfall nur 2 zeichen drin stehen. Eine Kombination aus 0 und 1.
Also:
00
01
10
11

Mehr darf nicht drin stehen.

Kümmern wir uns also erst mal um ein Problem und gehen dann das nächste 
an. Welches wir zuerst behandeln kannst dir gerne aussuchen :)

Gruß

Django

von Django01 (Gast)


Lesenswert?

Damit du mal einen Eindruck bekommst was ich heute getan habe :)
1
.
2
├── Chart.js -> ../Chart.js/
3
├── conf
4
│   ├── con_conf.php
5
│   ├── global_config.php
6
│   └── stats_conf.php
7
├── files
8
│   ├── check.chk
9
│   └── lcd.vw
10
├── index.php
11
├── rss
12
│   ├── rss_short.xml
13
│   └── rss.xml
14
├── scripts
15
│   ├── Adafruit_CharLCD.py
16
│   ├── Adafruit_CharLCD.pyc
17
│   ├── gen_rss.php
18
│   ├── gen_rss_short.php
19
│   ├── hz_lcd.py
20
│   ├── index_dev.php
21
│   └── push.php
22
└── statistic.php
23
24
5 directories, 16 files

Gruß

Django

von MacGyver (Gast)


Lesenswert?

Servus Django,

dann würd ich mir gern die Statistik raussuchen ;-):

Des letzte Array z.B.:
1
Array
2
(
3
    [date] => 2016-03-05 21:25:02
4
    [1] => 46.9
5
    [4] => 55.2
6
    [5] => 32.4
7
    [6] => 29.8
8
    [7] => 1.2
9
    [12] => 78.6
10
    [50] => 34
11
)

Passt das für [date]?

Gruß MacGyver

von Django01 (Gast)


Lesenswert?

Hi MacGyver,

also ich kenn die "Fehler" :)

Fällt mir grad auf das ich die selbst noch hab :)

Wenn du genau hin schaust sind es keine "PHP Error".
Sondern nur "PHP Notice" und "PHP Warning".

Wenn du die Seite auf rufst sollte es trotz allem funktionieren.
Ist zwar noch etwas unsauber, aber funktionierte erst mal.

Gut das du mir das wieder ins Gedächtnis gerufen hast.
Es kann halt sein das durch die Änderung von dir in der stats_conf.php 
die Seite nicht mehr ordentlich angezeigt wird.

Ruf die auch unbedingt am PC auf. Auf dem Handy sind die Datumseinträge 
nicht lesbar (war auch für mich mehr ein Versuch was geht ;P deswegen 
ist das in Vergessenheit geraten)

Ich Anonymisier morgen im laufe des Tages mein aktuelles Werk und stell 
das dann wieder hier online. Dann muss man nicht mehr viel machen außer 
in der con_conf.php seine Daten Eintragen und das war´s (neber Apache, 
PHP und MySQL installieren).

Da brauchts aber noch ein wenig nacharbeit für.

Gruß

von MacGyver (Gast)


Lesenswert?

Servus Django,

die Hauptseite bekomm ich ja angezeigt. Wenn ich aber auf Statistik 
gehe, bekomm ich nur "Not Found The requested URL /statistic.php was not 
found on this server."

Die check.chk hab ich übrigens angelegt und sie enthält die 2 Zeichen 
für die Flags. Die Nachricht wird ja auch korrekt ausgelöst und 
weggeschickt nur eben alle 5 Minuten (für HK1 Soll nicht erreicht).

Deine Umstrukturierung lässt erahnen, dass du das alles generalüberholt 
hast.

Für mich war die Sache bisher sehr lehrreich und ein super Einstieg in 
die Linux-Welt. Und wenn man dann wieder ein Erfolgserlebnis mehr hat 
lässt es einen nicht mehr los!

Bin gespannt auf dein Update auch wenns erst übermorgen ist ;-)

Danke und Gruß
MacGyver

von Django01 (Gast)


Lesenswert?

Hey MacGyver,

also nach deinem Denkanstoß oben und den Fehlern die du Gefunden hast, 
konnte ich das nach voll ziehen und korrigieren.

Hast du gute Arbeit geleistet! Ich hab noch die anderen Warnings und 
Notice behoben.

Danke für die Hilfe. Update bekommst du dann spätestens morgen :)

Also schau doch mal was in der index.php bei Zeile 38 steht.
Da sollte dann, theoretisch, der link zu der statistic.php stehn.
Also komplett http://dein-server.dyndns.org/statistic.php

Du kannst die Webseite auch so aufrufen:

http://deine-ip-vom-pi/statistic.php

Gruß

Django

von Django01 (Gast)


Lesenswert?

Hey MAcGyver,

ich zerbrech mir grad den Kopf warum er bei dir die Nachrichten alle 5 
Minuten raus jagt...

Mach doch mal ein sudo php5 push.php und schick mir den output.
Bittte auch noch den
1
sudo cat /var/log/push.log

Danke & Gruss

Django

von MacGyver (Gast)


Lesenswert?

Hi Django,

jetzt hab ich Normalbedingung:
sudo php5 push.php -->keine Ausgabe

push.log
Negativprüfung HK nicht abgeschlossen.
Negativprüfung KT nicht abgeschlossen.

Wenn ich über
1
$hk1i = $hk1i - 5;
2
$pf1 = "0";
den Fall manuell auslöse wird er auch nur 1 mal weggeschickt.
Wie gesagt war nur bei Echtbedingungen.

Gruß
MacGyver

von Django01 (Gast)


Lesenswert?

Hi MacGyver,

schau mal ob bei dir in der push.php bei $filepath der korrekte 
Dateipfad zur check.chk steht.

Also der Übergeordnete Pfad /var/www/rennergy/
Und beim letzten $file = fopen auch der Dateinname korrekt ist.

Nicht das ich mich da verschrieben habe...


Gruß

Django

von MacGyver (Gast)


Lesenswert?

Hi Django,
1
$filepath = "/var/www/rennergy/";
weiter unten:
1
$file = fopen("check.chk", "w")...
müsste also passen?

Gruß
MacGyver

von Django01 (Gast)


Angehängte Dateien:

Lesenswert?

So hier einmal VErsion neu mit neuer Ordnerstruktur.

Es müssen nur die rw_rsp_sql.sh, 001-rnnergy.conf und con_conf.php 
angepasst werden.

Dann die Daten an die richtige Stelle kopieren und fertig.

How To dazu kommt definitiv morgen.

Eventuell kann ich auch ein Shellscript schreiben das das meiste 
erledigt.

Gruß

Django

von MacGyver (Gast)


Lesenswert?

Hi Django,

jetzt dämmerts mir gerade. Den Fehler mit dem 5-minütigen 
Push-Nachrichten hatte ich am Freitag (Echtbetrieb). Ich kann mich 
erinnern, dass ich die check.chk selber anlegen musste. Das kann 
durchaus erst danach passiert sein.
Darum ignorier mal diesen Fehler. Beim nächsten Unterschreiten seh ichs 
ja dann.

Sorry
MacGyver

von Django01 (Gast)


Lesenswert?

Ok, HowTo kommt doch nicht heute...

leider keine Zeit heute gehabt mich dem Thema zu widmen...

Ich schau das ich morgen die Zeit dazu finde.


Gruß

Django

von Django01 (Gast)


Angehängte Dateien:

Lesenswert?

So,

nun hab ich´s endlich mal geschafft alles neu zu Ordnen und ein neues 
How To zu schreiben.

Wen das nicht abschreckt und wer es mal testen möchte.
Als druff :)

Also noch in kurz was alles gemacht wurde:

- Es werden die Daten der Heizung in eine SQL Datenbank geschrieben
- Die Daten werden per Webseite visualisiert
- Du kannst dir die letzten 24 Stunden deiner Heizung in einem Chart 
ansehen
- Wenn es gewünscht ist kannst du auf deinem Smartphone benachrichtigt 
werden ob deine Heizung den Heizkreissollwert erreicht oder 
Übertemperatur hat
- Dir ein RSS Widget auf dem Smartphone installieren und die Daten als 
RSS Feed bekommen
- einen LCD an einen Raspberry Pi klemmen und die Daten darauf 
ausgegeben bekommen


Gruß

Django

von MacGyver (Gast)


Lesenswert?

Hi Django,

ich hab die neue Struktur anhand deiner Files und Anleitung umsetzen 
können. Echt super Sache! Danke dir.
Mit ein bisschen Grundwissen und Übung lässt sich alles so umsetzen wie 
von dir beschrieben.

Die Daten landen in der Datenbank. Die Website mit Statistik lässt sich 
jetzt auch bei mir darstellen. Dank DynDNS jetzt von überall aus. Das 
RSS Widget auf dem Handy ist einfach genial.
Die Benachrichtigung über Pushover klappt auch.
Nur das LCD hab ich noch nicht probiert --> probier ich aber auch noch.

Für die Anleitung hätte ich noch ein paar Anmerkungen:
- um die SSL Zertifikate zu erstellen muss vorher noch der Ordner mycert 
über
1
mkdir mycert
und die Datei rennergy.key über
1
touch rennergy.key
erstellt werden.

- um die default Homepage zu deaktivieren musste ich
1
sudo a2dissite 000-default.conf
eingeben.

Gruß
MacGyver

von Django01 (Gast)


Lesenswert?

Hi MacGyver,

super wenn dir das gefällt. Ist ja ein wachsender Prozess das ganze.

Mein erklärtes Ziel ist es irgendwann eine Webseite zu haben die das 
Abbildet was auf der Touchtronic zu sehen ist.

So weit bin ich aber leider noch nicht in der Webseitenentwicklung.

Ich denke auch das mit ein wenig Grundwissen und etwas Sinn fürs Basteln 
kann man das gut umsetzen.

Danke für deine Testbereitschaft :)

Gruß

Django

von MacGyver (Gast)


Angehängte Dateien:

Lesenswert?

Hi Django,

möchtest du nur dass es dann so aussieht wie auf dem Touchtronic oder 
ist dann sogar ein Agieren möglich (ins Menü abtauchen und Parameter 
ändern)?

Hab mittlerweile das LCD zum Laufen gebracht. Außerdem hab ich noch ein 
4zeiliges bestellt, damit ich noch ein bißchen mehr anzeigen kann. Mal 
schauen was draus wird. Ich hab da so eine Idee...

Gruß
MacGyver

von MacGyver (Gast)


Angehängte Dateien:

Lesenswert?

Hi Django,

ich hab noch ein bisschen mit der Statistik gespielt und die Temperatur 
der Frischwasserstation mit aufgenommen.

Wäre es eigentlich schwer den Chart umzudrehen (letzte Werte rechts)?
Müssten dazu die Arrays invertiert werden, oder geht das auch einfacher?

Gruß
MacGyver

von Django01 (Gast)


Angehängte Dateien:

Lesenswert?

Hi MacGyver,

also das mit dem ist halt schon genial.
Ich war auch am Überlegen mir noch ein grünes zu holen.

Aber irgendwie bin ich von den blauen so angetan...

Du kriegst bei dem 2004 Display das Problem das du nur zwei Zeilen über 
die GPIO`s ansprechen kannst.
Sprich du musst zwei Zeilen in eine basteln.
Und dann kommt noch hinzu das du die Zeilen nicht untereinander hast 
sondern das du Zeile 1 + 3 und Zeile 2 + 4 ansprechen musst...

Da wirds dann halt echt eklig wenn ich an variable Zeichenlängen 
denke...

Beispiel

Erste Zeile Bleibt so wie Sie ist (bis auf Zeilenanpassung)
Zweite Zeile kommt dann der Status hin mit Informationen die mich 
Interessieren.

Aus K: 45.2 P: 86% <-- Macht 18 Zeichen also noch zwei Leerzeichen als 
Platzhalter zwischen AUS und den Werten (Doof ist auch das du keine ° 
Zeichen setzen kannst... )

Aus   K: 45.2 P: 86% <-- Sieht dann also schon mal Super auf dem Display 
aus...

Aber wenn du jetzt 100% Pufferspeicher hast??? Wieder ein zeichen zu 
viel...
Rutscht also in die nächste Zeile... so ein...grrrrr

Ok also mal umgedacht. Nehm ich also die 100% an. Jetzt kommen 99% und 
wieder ein Zeichen weniger und ein Zeichen wir eingerückt also teile von 
Zeile 4 in Zeile 2....AAAAAAAHHHHHHH....

Na gut...fragen wir ma den Onkel Google... Lösung:

I2C Schnittstelle. Damit kannst du in Python die Zeilen vom LCD direkt 
ansprechen.
Ok. Ab auf Amazon und den hier bestellt:
http://www.amazon.de/Serielle-Schnittstelle-Display-1602-2004/dp/B0178E5AVO/ref=sr_1_15?ie=UTF8&qid=1460353822&sr=8-15&keywords=I2C+LCD

Hoffe der kommt heute :)

So was den Chart angeht. Ich hab mir da schon gedanken gemacht wie das 
funktionieren könnte und es sind mir zwei arten eingefallen wie man das 
Lösen kann.

1. Du passt den MySQL String in der stats_conf.php an so das er nicht 
DESC sucht sondern ASC (also nicht Datum von Neu nach Alt sonder von Alt 
nach Neu sortiert)
Dann musst du aber von hinten nach vorne Suchen...

SQL seitig völliger Blödsinn und schlechter Stil...macht man nicht.

Also muss wohl doch PHP herhalten.

So dann schau ich mir die Daten von Chart an und lass mir die mal 
ausgeben...

Arrays kann man auch umdrehen mit array_reverse().
Sehr schön. So nun mal schauen was man da alles für machen muss.

1. Bedenke das die Variablen von stats_conf nur bei der Statistik 
genutzt werden (okay, keine querverweise)
2. Wir müssen erst alle array´s füllen und dann umdrehen.
3. Anspruch von mir: Wenn jemand das anders herum möchte soll er es nach 
Möglichkeit irgendwo mit einer 1 oder 0 einstellen können (global_config 
= statistik von links nach rechts? 1/0 if $reversed == 0)

Also. So bald ich das mit dem Display vernünftig gelöst habe und das 
meinem Anspruch genügt kümmer ich mich um das Chart :)

Anbei noch ein Bild vom 2004 Display bei mir.

Gruß

Django

von MacGyver (Gast)


Lesenswert?

Hi Django,

danke für den Tipp mit den Zeilen. Hätt mich wahrscheinlich etwas Zeit 
gekostet bis ichs kapiert hätte.
Mein bestelltes 4-zeiliges LCD (übrigens blau) ist auch noch nicht da. 
Das grüne 2-zeilige hatte ich noch so rumliegen.
Aber vielleicht wär ja das was zum ausprobieren bis der Umsetzer da ist:
https://github.com/perryflynn/raspberrypi-misc/tree/master/charlcd_4x20_cmd

Gibt es in Python auch die Möglichkeit eigene Zeichen im RAM des LCDs 
abzulegen? Dann könnte man ein Zeichen mit dem Inhalt 0x18, 0x1b, 0x04, 
0x04, 0x04, 0x04, 0x03 dort ablegen. Das ergäbe dann ein "°C" als 1 
Zeichen.
Hab das mal bei einem 16x2 in C so gemacht um Platz zu sparen!

Das mit dem umgekehrten Chart ist momentan auch nur ein Luxusproblem ;-)

Gruß
MacGyver

von MacGyver (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

für den baldigen Sommerbetrieb hab ich die Push-Funktion erweitert. Wenn 
die Heizungsanforderung durch die Frischwasserstation erfolgt, so wird 
hier nun auch eine Nachricht rausgeschickt.
Den Sollwert habe ich innerhalb der push.php hardcoded vorgegeben. Glaub 
nicht dass der im Datenstring drin steckt oder? Also bei Bedarf 
anpassen.

Gruß
MacGyver

von Django01 (Gast)


Angehängte Dateien:

Lesenswert?

Hi MacGyver,

super wie du das umgebaut hast!

So entwickelt sich für dich eine völlig neue Version :)
Find ich super.

Ich hab auch weiter gebaut und mein 20x4 Display schon zum laufen 
gebracht.
Kompliziert finde ich den Einbau der Sonderzeichen mit python.
Irgendwie raff ich das noch nicht...

Dafür hab ich WhatsApp zum laufen gebracht :)

Was auch noch interessant wäre ist eine Laufschrift in Zeile 4 beim LCD.
Aber da muss ich noch auf meinen Level Shifter warten.
Das LCD verkraftet 5V und die GPIO`s leider nur 3,3V.
Sprich ich muss schauen das am SDA und SDL nur 3,3V raus kommen :)

Gruß

Django

von Django01 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Miteinander,

nach vielem recherchieren hab ich nun den 2004 LCD ordentlich zum laufen 
gebracht.

Anbei noch ein Bild.

Weiter hab ich an der Struktur und an einigen Konfigurationen 
gearbeitet.
Ich muss die Tage also wieder ein Update raus bringen :)

So schaut´s in der Filestruktur aus:
1
.
2
├── Chart.js -> ../Chart.js/
3
├── conf
4
│   ├── con_conf.php
5
│   ├── config.yowsup
6
│   ├── global_config.php
7
│   └── stats_conf.php
8
├── files
9
│   └── check.chk
10
├── index.php
11
├── rss
12
│   ├── rss_short.xml
13
│   └── rss.xml
14
├── scripts
15
│   ├── gen_rss.php
16
│   ├── gen_rss_short.php
17
│   ├── hz_lcd_1602.py
18
│   ├── hz_lcd.py
19
│   ├── i2c_lib.py
20
│   ├── i2c_lib.pyc
21
│   ├── lcddriver.py
22
│   ├── lcddriver.pyc
23
│   ├── lcd.php
24
│   └── push.php
25
└── statistic.php

Gruß
Django

von MacGyver (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

wer die Kesselwerte noch in der Statistik sehen will kann die Files 
siehe
Anhang verwenden. Dazu müssen halt noch die Dateinreihen auf die eigene 
Heizung angepasst werden.
Die Anzeige für die Frischwasserstation ist auch noch drin.

@Django: Sind deine Files schon bereit für ein Update?. Mich würde die 
Umsetzung für das LCD über I2C interessieren. Hardwaretechnisch bin ich 
schon vorbereitet über Levelshifter und I2C-Modul ;-)

Gruß MacGyver

von Django01 (Gast)


Angehängte Dateien:

Lesenswert?

Hi Miteinander,

gerade viel Stress und vor allem viel Arbeit im Garten :)

Meine LCD Konfiguration hab ich mal mit angehängt und hoffe es passt so 
weit.

Das ° Zeichen hab ich anders hinbekommen.
Ich hab dafür ein Zeichen aus dem bestehenden Satz missbraucht.
Ist zwar ein Kanji aber geht auch.

Für die 4. Zeile muss ich mir noch was überlegen da die Temperaturen an 
der Stelle nicht passen mit °C...

Daher dort noch ohne. Scrolltext wäre eine Lösung. Muss ich mir aber 
noch im Detail anschauen.

Hab jetzt noch erst mal ein anderes Projekt was ich mir anschaue.
Ich versuche noch ein paar Dinge mit dem ESP8266 zu realisieren :)

Gruß

Django

von MacGyver (Gast)


Angehängte Dateien:

Lesenswert?

Hi Django,

danke für die Files, das hat mir sehr geholfen! Das mit den eigenen 
Zeichen hab ich auch noch nicht hinbekommen. Dafür hab ich mit der 
Zusammensetzung der Strings ein bisschen gespielt.
Die Aussentemperatur hab ich in die erste Zeile aufgenommen.

Gruß
MacGyver

von Benedikt W. (kessselheizer)


Lesenswert?

Hallo,

ich habe eine Hargassner HSV22 seit Oktober 2016 am laufen und hätte 
gerne ein "Abbild" des Touchscreens aufm PC/Handy um die Werte 
kontrollieren zu können.

Könnt ihr mir dabei helfen???
Danke

von MacGyver (Gast)


Lesenswert?

Hallo Benedikt,

um das Abbild genau so anzuzeigen, müsstest du die Logik (z.B. 
Farbverlauf des Puffers) selber programmmieren. Das wird vermutlich 
etwas aufwendiger.
Bei mir hat sich die Anzeige auf dem Handy über den RSS-Feed bewährt, 
siehe Beitrag 22.03.2016 Bild "RSP30_3.png".
Dort kannst du dir deine Infos dann nach Bedarf zusammenbauen, um z.b. 
Puffer und Heizkreis gleichzeitig anzeigen zu lassen.

Gruß
MacGyver

von zerocool (Gast)


Lesenswert?

Hallo,

habe einen neuen Hargassner Pellets Classic erhalten und bin sehr 
zufrieden. Jetzt möchte ich das ganze Visualisieren und bin auf diesen 
Thread gestoßen.

Muss sagen echt Hut ab was ihr so zusammengestellt habt.

Ich habe hier zu noch nur eine Frage gibst auch ein github  oder eine 
neue Version in der Zwischenzeit?

Danke
Lg

von MacGyver (Gast)


Lesenswert?

Hallo zerocool,

so weit ich weiß gibt es das nicht auf github oder so. Da jede Heizung 
etwas anders zu sein scheint, musst du dir wahrscheinlich eh die Mühe 
die Kanäle zu deiner Heizung zuzuordnen. Bei uns ist es nämlich für den 
Scheitholzkessel passend. Wie und ob das auf deinen Pelletsofen passt 
kann ich nicht abschätzen.

Du kannst dir gerne das Howto von Django mal anschauen. Wenn du dann die 
Temperaturwerte auch zyklisch bekommst, bestehen ja schon mal gute 
Chancen.

Was danach kommt ist halt Geschmackssache, was du haben willst 
(Push-Benachrichtigung, LCD, ...).

Gruß MacGyver

von Django01 (Gast)


Angehängte Dateien:

Lesenswert?

Hi miteinander,

die Entwicklung geht auch dahingehend weiter.
Ich hab meine Oberfläche mit einem anderen Tool etwas weiter entwickelt.

Es fehlen mir noch ein zwei Features die ich in Summe noch 
implementieren mag, aber die letzten Monate hat mir einfach die Zeit 
gefehlt alles so zu bauen wie ich mag.

Schauts euch mal an. Das Tool heißt Grafana und wer die Oberfläche so 
mag dem hab ich noch die entsprechende JSON Datei mit dran gehängt.



Gruß

Django

von MacGyver (Gast)


Lesenswert?

Hallo Django,

das sieht ja super professionell aus. Die Auswahlmöglichkeit nach Zeit 
lässt dann (fast) keine Wünsche mehr übrig.
Ich würde dass auf jeden Fall auch gerne installieren. Befürchte aber, 
dass hier wieder eine Anleitung für die Installation/Einrichtung auf 
meinem Webserver benötige.
Bin also gespannt...

Gruß MacGyver

von Hi M. (himmelreich)


Lesenswert?

Verfolge hier die Entwicklung mit sehr großem Interesse

Hab selber mal was mit PHP und RasPi geschrieben in Verbindung mit 
volkszaehler.org

werde es bei gelegenheit mal testen

danke für eure Arbeit

Gruß Himmelreich

von Django01 (Gast)


Angehängte Dateien:

Lesenswert?

Sodale,

ich hab es geschafft den Updateprozess in kürze zu beschreiben.
Nachdem ich die SD Karte von meinem Pi tauschen musste (Backup sei dank) 
hab ich auch das Update des Betriebssystems mit beschrieben.

In kürze hat sich folgendes geändert:
-statistics als Eigenentwicklung hab ich über Bord geworfen (Grafana sei 
dank)
-update der php Dateien auf PHP7.1
-Betriebssystem wurde auf das aktuelle Raspbian stretch gebracht
-installation Grafana und Upgradeanleitung für vorhandene Installation 
erstellt

ToDo:
Anleitung für einen komplette neu Installation (bzw. erstellen eines 
Skripts was das für die Leute erledigt)

Ich hoffe Ihr kommt mit der Anleitung erstmal klar.

MacGyver kann ja berichten ob die Anleitung so weit passt.

BEVOR Ihr Updatet solltet Ihr ein Backup eurer SD-Karte machen.
Dafür idealerweise folgende Prozedur verwenden:

1. Pi aus schalten -> SD-Karte entfernen
2. SD Karte an einem Linuxsystem anschließen
3. in der Kommandozeile mit "fdisk -l" schauen wie die SD Karte 
angebunden ist (wahrscheinlich /dev/sdb aber die Partitionen sind ja 
benannt :) )
4. mit disk dump die SD Karte komplett sichern "sudo dd bs=4M 
if=/dev/sdX of=~/pibackup.img status=progress

Die dabei entstehende Datei kann man dann noch Packen und wegsichern 
(HGW jetzt hast du ein Vollbackup vom Pi)

Sollte also etwas schief gehen und Ihr braucht Status Quo wieder SD 
Karte in irgendeinen PC und die pibackup.img Datei auf die SD Karte 
schreiben lassen (mit linux: dd bs=4M if=pibackup.img of=/dev/sdX 
status=progress)

Fertig :)


Gruß

Django

von Django01 (Gast)


Lesenswert?

Was mir gerade aufgefallen ist:

Wenn das rw_rsp_sql sql Skript nicht mehr läuft bitte folgende Zeile 
anpassen:

nc -q 5 192.168.1.25 23 | while read line  # -q 5 streichen

so dass es so aussieht:

nc 192.168.1.25 23 | while read line


Dann sollte das wieder funktionieren.



Gruß

Django

von Joker (Gast)


Lesenswert?

Ich weiss wie man in die Hargassner Service Ebene hineinkommt. Wäre 
gerne behilflich dalls gewünscht.

Schöne Grüsse

von MacGyver (Gast)


Lesenswert?

Hi Django,

nachdem ich jetzt doch eine ganze Weile mit dem Backup erstellen 
verbracht habe, geht´s bei mir auch weiter.
Leider musste ich feststellen, dass eine defekte SD-Karte sich 
problemlos beschreiben und auch auslesen lässt.
Erst ein Vergleich mit den Ursprungsdaten zeigte mir dass die Karte 
einen Schuss hat.
Also jetzt eine SD-Karte und etwas Erfahrung reicher ging´s ans Updaten.

Hier habe ich nun einen Fehler bei "sudo apt-get dist-upgrade" bei dem 
er phpmyadmin versucht upzugraden:

Es ist ein Fehler beim Upgrade der Datenbank aufgetreten:
1
2
 │ mysqldump: Couldn't execute 'SHOW FUNCTION STATUS WHERE Db =
3
 │ 'phpmyadmin'': Cannot load from mysql.proc. The table is probably
4
 │ corrupted (1728)
5
6
 │ Glücklicherweise sollte
7
 │ /var/cache/dbconfig-common/backups/phpmyadmin_4:4.2.12-2+deb8u2.2017-12-
8
 │ 20-00.14.11 eine Sicherung, die genau vor dem Upgrade durchgeführt
9
 │ wurde, Ihrer Datenbank enthalten (es sei denn, der Fehler trat beim
10
 │ Erstellen der Sicherungskopie auf - in diesem Falle wurden keine
11
 │ Änderungen angewandt). Ihre Optionen sind:
12
 * Abbruch - Damit schlägt die Operation fehl; Sie müssen dann ein
13
 │    Downgrade durchführen, das Paket reinstallieren, das Paket neu
14
 │    konfigurieren oder auf andere Weise manuell eingreifen, um das Paket
15
 │    weiterzuverwenden. Damit wird normalerweise auch Ihre Möglichkeit,
16
 │    andere Pakete zu installieren, beeinträchtigt, bis der
17
 │    Installationsfehler behoben wurde.
18
 │  * Nochmal versuchen - Die Abfragen mit allen Konfigurationsfragen
19
 │ erfolgen  erneut (darunter auch die, die aufgrund der Debconf-Priorität von
20
 │ Ihnen
21
 │    bisher nicht gesehen wurden) und dann erfolgt ein erneuter Versuch
22
 │ zur Durchführung der Operation.
23
 │  * Nochmal versuchen (Fragen überspringen) -  Versucht die Operation
24
 │ sofort
25
 │    erneut, alle Fragen werden übersprungen. Dies ist normalerweise nur
26
 │    nützlich, falls Sie nach dem Auftreten des Fehlers das
27
 │ zugrundeliegende     Problem behoben haben.
28
 │  * Ignorieren - Führt mit der Operation fort und ignoriert die Fehler
29
 │ von
30
 │    dbconfig-common. Damit verbleibt das Paket typischerweise ohne
31
 │    funktionierende Datenbank.

 Bei "Nochmal versuchen" schlug dann mit der gleichen Fehlermeldung 
wieder auf. Abbruch und Ignorieren macht denk ich auch keinen Sinn?
 Wie kann der Fehler behoben werden?


 Danke und Gruß
 MacGyver

von Django01 (Gast)


Lesenswert?

Hi McGyver,

Da is deine phpmyadmin  Datenbank hinüber.
Generell nix schlimmes.

Versuch mal:
mysql -u root -p

drop database phpmyadmin;

Exit

sudo  apt-get purge phpmyadmin && sudo apt-get install phpmyadmin

Das problem ist ja das die Datenbank noch da ist  auch wenn du neu 
installierst.
Deswegen erst mal db löschen und dann neu installieren.


Gruss

Django

von MacGyver (Gast)


Angehängte Dateien:

Lesenswert?

Hi Django,

ich hab´s so probiert wie von dir beschrieben.
Dazu hab ich noch "apt --fix-broken install" ausgeführt, da die 
Fehlermeldung "Die folgenden Pakete haben unerfüllte Abhängigkeiten:
 sonic-pi : Hängt ab von: libQt5printsupport5 ist aber nicht 
installierbar" auftrat.

Jetzt weiß ich nicht ob´s geklappt hat. Ich kann mich wieder bei 
phpmyAdmin einloggen und zur Überraschung ist auch die Datenbank mit 
188941 Einträgen vorhanden.
Darum hab ich mal eine Screenshot zur Kontrolle mitgeschickt.

Nach Austausch der beiden angepassten php-Dateien müssten allerdings die 
Datensätze anwachsen. Das ist nicht der Fall. Es werden noch keine neuen 
Daten mitgeloggt.

Die "Startseite" kann ich zwar aufrufen, diese wird aber nicht mehr 
aktualisiert.

Gruß
MacGyver

von Django01 (Gast)


Lesenswert?

Hi McGyver,

Hast du geschaut ob das mit dem Parameter im rw_rsp_sql.Du
Skript funktioniert?

Wenn nicht gib heute Abend noch mal bescheid. Dann poste ich hier eine 
überarbeitete Beta von überarbeiteten Skript in PHP.

Dann wächst deine Datenbank aber leider richtig schnell da die Werte 
nicht mehr jede Minute sondern jede Sekunde abgerufen werden.

Gruss
Django

von MacGyver (Gast)


Lesenswert?

Hi Django,

ja richtig, hat an der fehlenden Änderung in rw_rsp_sql gelegen.
--> Wer lesen kann ...

Die Daten landen nun wieder alle 5 Minuten in der Datenbank. Die 
"Startseite" wird auch richtig geladen.

Also geht´s weiter mit Grafana.
Zur Installation musst ich noch "sudo apt-get install -y 
apt-transport-https
ausführen.

Wenn ich mich nun versuch einzuloggen auf http://<ip vom pi>:3000 
wechselt die Adressleiste auf http://<ip vom pi>:3000/login. Im 
Tabulator des Browser wird auch Grafana und das passende Symbol 
angezeigt, die Seite ist aber mit 2 verschiedenen Browsern nur leer.

Gruß
MacGyver

von Django01 (Gast)


Lesenswert?

Die json Datei schon importiert und die Datenquelle (also dein MySQL 
Server) schon angelegt?

von MacGyver (Gast)


Lesenswert?

Hi Django,

ich hab das so verstanden, dass ich mich erst einlogge muss und dann die 
json-Datei und den Datenbankserver dann bekannt mache.
Ich kann mich aber nicht einloggen, da die Seite http://<ip vom 
pi>:3000/login nur leer ist.

Gruß
MacGyver

von Django01 (Gast)


Lesenswert?

Was gibt dir denn
journalctl -xe aus?
und systemctl status grafana-server

von MacGyver (Gast)


Angehängte Dateien:

Lesenswert?

Ausgabe der 2 Befehle siehe Anhang:

von Django01 (Gast)


Lesenswert?

Ganz blöd gefragt, aber hast du nach der Grafana installation schon mal 
neu gestartet?

Das kann bei der erstinstallation von Grafana helfen.

von MacGyver (Gast)


Lesenswert?

Ja sudo reboot - tut gut.

Kann die Grafana Installation falsch gelaufen sein, weil ich "sudo 
apt-get install -y apt-transport-https" ausführen musst.
Ich hab dann einfach nochmal alle Befehle aus deinem HowTo durchführt.

Ich hab noch auf der Grafana den Befehl "sudo service grafana-server 
start" gefunden und ausgeführt. --> Brachte aber auch nichts!

von Django01 (Gast)


Lesenswert?

Ok.
Welche GRafana Version ist installiert?
Sollte sich herausfinden lassen mit grafana-server -v

und poste mir mal die logs von
logs: /var/log/grafana

mal schaun was da noch so drin steht

von MacGyver (Gast)


Angehängte Dateien:

Lesenswert?

Die Versionsabfrage habe ich so probiert:
sudo service grafana-server -v
--> grafana-server: unrecognized service
Befehl muss irgendwie anders lauten. Hab´s auf der Grafanaseite nicht 
auf die Schnelle gefunden.

Log der  /var/log/grafana
-->siehe Anhang

von Django01 (Gast)


Lesenswert?

Versuch es mal ohne "service"

Dann geht das.

Zeig mir bitte auch mal den inhalt der defaults.ini

Danke :)

von MacGyver (Gast)


Angehängte Dateien:

Lesenswert?

Irgendwie krieg ich´s nicht gebacken - danke schon mal für deine 
Ausdauer ;-)

pi@raspberrypi:/ $ sudo grafana-server -v
sudo: grafana-server: Befehl nicht gefunden

defaults.ini --> siehe Anhang

von Django01 (Gast)


Lesenswert?

OK,
danke.

Versuch mal
sudo dpkg -l | grep grafana

Dann bekommst die VErsion auch raus

von MacGyver (Gast)


Lesenswert?

Jetzt sieht´s besser aus:
pi@raspberrypi:~ $ sudo dpkg -l | grep grafana
ii  grafana                               2.6.0+dfsg-3+b1 
armhf        feature rich metrics dashboard and graph editor
ii  grafana-data                          2.6.0+dfsg-3 
all          feature rich metrics dashboard and graph editor - data 
files

von Django01 (Gast)


Lesenswert?

ok. Irgendwas hast falsch gemacht.
Schau mal bei mir

@spiderbox:/usr/share/grafana/conf $ sudo dpkg -l | grep grafana
ii  grafana                                 4.6.2 
armhf        Grafana

von MacGyver (Gast)


Lesenswert?

Würde deinstallieren und wieder installieren helfen?
Wenn ja wie geht das?
Kann da noch was mit dem Update auf stretch passiert sein?

von Django01 (Gast)


Lesenswert?

Deinstalliere mal komplett mit purge

also
sudo apt-get purge grafana

und geh nach dem Tutorial vor:

http://docs.grafana.org/installation/debian/

Sektion APT Repository

von MacGyver (Gast)


Lesenswert?

Egal wie ich´s probier er scheint immer die Version 2.6.0 zu 
installieren.
Hab auch mal die "testing" eingetragen mit gleichem Ergebnis.

Ich hab auch mal jessie und mal stretch eingetragen:
deb https://packagecloud.io/grafana/stable/debian/ jessie main
deb https://packagecloud.io/grafana/stable/debian/ stretch main
--> Es wird immer 2.6.0 installiert

von Django01 (Gast)


Lesenswert?

Dann wirf grafana mal übern haufen und installier die .deb datei per 
Hand.
Den fehler den du hast gab es mal in der 2.6.0

Also das Tutorial drüber benutzen

von MacGyver (Gast)


Lesenswert?

Muss ich da noch was umbenennen auf armhf?

pi@raspberrypi:~ $ sudo dpkg -i grafana_4.6.3_amd64.deb
dpkg: Fehler beim Bearbeiten des Archivs grafana_4.6.3_amd64.deb 
(--install):
 Paket-Architektur (amd64) passt nicht zum System (armhf)
Fehler traten auf beim Bearbeiten von:
 grafana_4.6.3_amd64.deb

von Django01 (Gast)


Lesenswert?


von MacGyver (Gast)


Lesenswert?

wget hat funktioniert.

Danach noch "sudo apt-get install -y adduser libfontconfig" ausgeführt.
Und nochmal "sudo dpkg -i 
download_file?file_path=main%2Fg%2Fgrafana_4.6.2_armhf.deb" ausgührt.
--> bringt Fehler

Deinstallation über "sudo apt-get purge grafana" probiert.

Nochmaliger Aufruf "sudo dpkg -i 
download_file?file_path=main%2Fg%2Fgrafana_4.6.2_armhf.deb"
--> Vormals nicht ausgewähltes Paket grafana wird gewählt.
(Lese Datenbank ... 139619 Dateien und Verzeichnisse sind derzeit 
installiert.)
Vorbereitung zum Entpacken von 
download_file?file_path=main%2Fg%2Fgrafana_4.6.2_armhf.deb ...
Entpacken von grafana (4.6.2) ...
dpkg: Fehler beim Bearbeiten des Archivs 
download_file?file_path=main%2Fg%2Fgrafana_4.6.2_armhf.deb (--install):
 Versuch, »/usr/share/grafana/vendor/phantomjs/phantomjs« zu 
überschreiben, welches auch in Paket grafana-data 2.6.0+dfsg-3 ist
dpkg-deb: Fehler: Unterprozess einfügen wurde durch Signal 
(Datenübergabe unterbrochen (broken pipe)) getötet
Trigger für systemd (232-25+deb9u1) werden verarbeitet ...
Fehler traten auf beim Bearbeiten von:
 download_file?file_path=main%2Fg%2Fgrafana_4.6.2_armhf.deb

Da steht jetzt was von getötet --> Das wollt ich nicht ;-)

von MacGyver (Gast)


Lesenswert?


von MacGyver (Gast)


Angehängte Dateien:

Lesenswert?

Ich hab´s geschafft!
Hab das angemahnte Paket mit purge deinstalliert.
Dann hat auch die Installation des deb-Paket geklappt.

Somit Login jetzt keine Problem mehr.
Datenbank bekannt gemacht und deine json-Datei importieren können.

Super Sache! Vielen Dank!

von Django01 (Gast)


Lesenswert?

Top!

Schaut gut aus :)

Dann weiß ich was ich im HowTo noch ergänzen muss...
Und ich frage mich warum das Repository nicht mehr funktioniert...


Gruß und frohe Festtage

Django

von MacGyver01 (Gast)


Lesenswert?

Hi Django,

da ich beide Pakete heruntergeladen habe, habe ich gesehen, dass diese 
identisch sind. Somit ist es egal welches du verlinkst.

Ich möchte jetzt nicht ausschließen, dass der Fehler an mir lag.
Aber dank deiner Hilfe hab´s sogar ich geschafft ;-)
Grafana ist übrigens sehr intuitiv zu bedienen und die Daten lassen sich 
auch über einen längeren Zeitraum schnell darstellen.

Also nochmal vielen Dank und ein frohes Fest

Gruß
MacGyver

von hawy (Gast)


Lesenswert?

Hallo und guten Tag

Ich habe einen HV MV49. Können Sie mir sagen, wie ich die per SD Karte 
ausgelesenen Daten von Abbränden visualisieren kann. Habe leider keine 
Programmierkenntnisse, gibt es ein freies Visualisierungstool?

Herzlichen dank
Hans-Peter

von Django01 (Gast)


Lesenswert?

Hallo Hans-Peter,

Häng doch mal die Daten der SD Karte hier als Anhang dran.

Dann schau ich mal ob ich quick & dirty was zusammen kriege.

Gruss

Django

von hawy (Gast)


Angehängte Dateien:

Lesenswert?

hier die Daten!

Herzlichen Dank und schöne Festtage
Hans-Peter

von Django01 (Gast)


Lesenswert?

Servus Hans-Peter,

also mit Quick & Dirty wird es nix.
Da ist etwas mehr Aufwand gefragt, aber im Prinzip sind es dieselben 
Daten wie wir per Netzwerkschnittstelle auch bekommen.

Eventuell hilft es dir ad hoc wenn du dir das Tutorial hier durchliest 
und deine Heizung mit dem Netzwerk koppelst.

Gruß
Django

von hawy (Gast)


Lesenswert?

Hallo Django

Herzlichen Dank für deine Bemühungen, werde den Hersteller des Ofens, 
Heitzman AG, fragen, ob es möglich ist, eine finanziell vernünftige 
Lizenz für die Visualisierungssoftware zu bekommen. Ich möchte ja die 
einzelnen Abbrände über die Zeit verfolgen können.
Nochmals danke und eine gute Zeit!
Hans-Peter

von Christian (Gast)


Lesenswert?

Hallo Django,

vielen Dank für deine ganze Vorarbeit. Mitlerweile bin ich soweit das 
ich den Daten-String der über Telnet kommt soweit richtig zugewiesen 
habe das die Werte alle Stimmen.

Ich habe aber auch weiter oben gesehen das scheinbar auch binär-Signal 
von dir ausgewertet werden (Pumpe HK1 AN). Wo bekommst du die Daten her?
Verbergen die sich auch in dem Telnet-String?

Gruß Christian

von etstudent (Gast)


Lesenswert?

Hallo,

hat jemand auch versucht, die Daten in FHEM einzubinden?

Danke

von Django01 (Gast)


Lesenswert?

Servus miteinander,

@Christian: Ich hab das anhand der Parameter ausgemacht. Es steht dazu 
jede Menge im Handbuch und anhand dessen bestimme ich den Status.

@etstudent: Drüber nachgedacht habe ich schon. Nur ist mir das aktuell 
zuviel Aufwand. Ich hab mich kein FHEM im Einsatz und müsste mich da 
erstmal ein arbeiten.

Mittlerweile verschickt mir mein Pi die Meldungen per Telegram.
Wenn ich das alles so gebaut habe das es wieder Gesellschaftsfähig ist 
stell ich es online.
Habe auch die Cronjobs gegen systemd Prozesse ersetzt und das ganze über 
php.

Also kein Shell Script mehr zum Erfassen der Daten.

Gruß

Django

von MacGyver01 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe auf nem anderen PI einen FHEM-Server bei mir am Laufen.
Da es bei der Heizung im wesentlichen um die Visualisierung der Daten 
geht, ist hier Grafana eindeutig im Vorteil. Die Graphen in FHEM haben 
hier noch etwas Aufholbedarf. Grafana ist hier eindeutig im Vorteil 
(siehe Anhang) und sieht einfach professioneller aus.
Somit habe ich in FHEM nur einen Link erstellt, mit dem ich dann auf die 
Grafana-Seite geleitet werde.

@Christian:
Die Binäre Auswertung wurde über eine "Value to text"-Funktion gemacht.
Wenn z.B. Heizkreissollwert 0 --> Text "AUS".

Gruß
MacGyver

von Eddie K. (etstudent)


Lesenswert?

@MacGyver

Hast du die DB sowohl im Fhem, als auch Grafana verbunden?

Geht das überhaupt, dass zwei "Einheiten", also Fhem und Grafana auf die 
Datenbank zugreifen können.

Ich frage nur, da mir dein Ansatz gefällt, dass du die Visualisierung 
mit Grafana machst, und den Rest mit Fhem.

Allerdings ist mein Setup gerade so, dass Fhem alle Daten in die DB 
schreibt.

@Django
ich hab mir dein Tool noch nicht im Detail angeschaut, aber schreibst du 
sämtliche Daten die der Heizkessel sendet in die DB? Mich würden nur 
einige wenige interessieren, bin momentan dabei ein shell Skript zu 
schreiben, allerdings komm ich mit sed nicht so ganz klar. Versuche es 
gerade mit awk.

Kann man den netcat irgendwie sagen, dass er nur alle paar minuten einen 
Datensatz vom Kessel einlesen soll? Hab jetzt die etwas unschöne 
Variante mit timeout gefunden, allerdings ist da nicht garantiert, dass 
er in der Zeit auch Daten bekommt, bzw. kann es sein, dass er zwei 
Datensätze einliest.

Gruß
Eddie alias etstudent

: Bearbeitet durch User
von Django1 (Gast)


Lesenswert?

Hi Eddie,

In der jetzigen Variante Nacht dass ein PHP Script.
Da kannst du dir die Werte quasi raus suchen.

Du kannst so viele Anwendungen auf eine Datenbank los lassen wir du 
möchtest. Vor allem wenn es ums auslesen geht.

Ja, aktuell schreib ich alles in die Datenbank.
Und zwar so wie der Stream kommt. Ich leere die Datenbank bis auf die 
letzten 2 Wochen.

Ich mach an Montag mal ein Update fertig und stell es online.
Heute geniesse ich die Sonne mit der Familie.


Gruss Django

von MacGyver01 (Gast)


Lesenswert?

Hallo Eddie,

die Datenbank der Heizung läuft bei mir auf dem PI für die 
Heizungssachen. Werden also auf der SD-Karte mitgeloggt. Django hat das 
glaub ich auf seiner NAS integriert.
Der FHEM-Server läuft auf einem eigenen PI und logged auf seiner 
SD-Karte mit.

Jetzt ist die Frage was du mit "dem Rest" meinst? Bei mir sind das z.B. 
Sensoren in den Zimmern für Temperatur und Feuchte. Wenn ich jetzt 
nichts falsches schreibe, werden die Daten der Sensoren in FHEM nur als 
*.txt abgelegt und sind dann über den Diagrammeditor visualisierbar.
z.B.:
2018-04-08_13:18:10 Wohnen.Temp humidity: 41
2018-04-08_13:18:10 Wohnen.Temp dewpoint: 7.6
2018-04-08_13:18:50 Wohnen.Temp temperature: 21.4

Bei Djangos Lösung werden die Daten in einer "echten" MySQL/MariaDB 
abgelegt.
Hier gibt es sicherlich Lösungen darauf von FHEM zuzugreifen.
Ich würde aber sogar eher dahingehen, dass ich die Daten von FHEM auch 
über Grafana mir darstellen lassen. Dafür fehlt mir aber gerade etwas 
die Zeit ;-).

Bei mir landet momentan alle 5 Minuten ein "netcat" in der Datenbank, 
damit diese nicht zu schnell wächst. Das wird über den cronjob 
eingerichtet.

Gruß
MacGvyer

von Eddie K. (etstudent)


Lesenswert?

Hallo ihr beiden,

Danke für eure schnellen Antworten.

Bei mir werden die Daten alle über Fhem direkt in eine sqlite DB 
geschrieben. Dort würde ich gerne auch die Heizungsdaten drin haben 
wollen.

Mich würde jetzt noch interessieren, wie ihr das mit dem netcat löst.

Mein Skript zum Auslesen schaut zur Zeit so aus: (momentan lese ich noch 
nur die Außentemperatur):

#!/bin/bash
timeout 2 nc 192.168.0.12 23 | awk -W interactive '{print "T_aussen: 
"$8" °C"}' > nanoPK12_data.txt

$8 ist dabei der 8.String (Leerzeichen ist das Standardtrennzeichen bei 
awk) und bei mir wie gesagt die Außentemperatur.

Wenn ich das Skript mit ./testawk.sh starte bekomme ich:

T_aussen: 13 °C indie Textdatei geschrieben.
Jetzt müsste ich nur noch das Skript so erweitern, dass die Werte in 
Fhem geschrieben werden, z.B. mit:
perl /opt/fhem/fhem.pl 7073 "setreading T_aussen temperature  ???"
Aber wie kann ich in dem Fhem Befehl auf die Textdatei zugreifen, oder 
noch besser: Wie kann ich awk dazu bringen, den Wert nicht in die 
Textdatei, sondern in den Befehl von Fhem zu schreiben?


Ohne dem timeout am Anfang würden die Daten alle Sekunde neu ausgegeben.
Oder wird netcat bei der Lösung mit crontab automatisch gestoppt?

@Macgyver, könntest du deinen Cronjob und das zugehörige Skript posten?

@Django, auch wenn PHP Neuland für mich ist, warte ich schon gespannt 
auf dein Update.

Gruß

von MacGyver01 (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Eddie,

der Aufruf im Cronjob lautet:
1
# m h  dom mon dow   command
2
*/5 * * * * /usr/bin/rw_rsp_sql.sh >/dev/null 2>&1

Gruß
MacGyver

von etstudent (Gast)


Lesenswert?

Ok, ich denke ich hab jetzt das Skript bis auf eine Zeile verstanden.
Im Prinzip ist die äußere While Schleife dazu da, max. 10 
Verbindungsversuche durchzuführen. Die innere ist nur dazu da, beim 
ersten mal die Daten auszulesen, und beim zweiten Durchlauf, das Skript 
zu killen.

Wenn mir jetzt noch jemand erklärt, wie die Zeile
echo $line | sed "s/pm /null,\\'$DATE\\',/" | sed -r 's/\s+/,/g' |  sed 
-re "s/([0-9A-F]{4}),/unhex(\\'\1\\'),/g" | sed 's/.*/echo "insert into 
t_raw_data values (&)"/e'| sed 's/,)/);/' | mysql -u RSP30 
--password="DEINPASSWORT" --database="kesselwerte"

funktioniert, speziell die sed Teile.


Ich mach mal den Anfang:
1) sed "s/pm /null   -> Ersetze String pm mit /null (wieso auch immer 
/null??)

2) \\'$DATE\\' schreibe das Datum

3)  sed -r 's/\s+/,/g'   Keine Ahnung, wahrscheinlich irgendwas mit 
Komma hinzufügen

4)  sed -re "s/([0-9A-F]{4}),/unhex(\\'\1\\'),/g"  Wandle Hexzahlen um 
in dezimal?

5) sed 's/.*/echo "insert into t_raw_data values (&)"/e'  Füge den 
String hinzu

6)  mysql -u RSP30  --password="DEINPASSWORT" --database="kesselwerte" 
schiebe alle daten in die DB

Wenn ich das Skript auf der Shell ausführe, erhalte ich:

pi@raspberrypi:~ $ ./django.sh
insert into t_raw_data values 
(null,'2018-04-09,21:43:25.770950',1,1.2,7.5,47,0,51,12,12,120,-20,120,1 
25,47,35,100,32,-20,0,20,-20,0,24,140,25,0,20,20,56,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,0,99,28,0.0,0,0,0 
,0,0,51,0.0,0.0,0,0.0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,0,0,0, 
0,0,0,0,0,0,666,unhex('2930'),1,1,1,1,1,1,1,0,0,0,0,2,4,0,unhex('1241'), 
0,0,0,0,0,0,0,0,0,0,0,0,0,0.0,115.1,0.0,0.0,0.0,-20,0,4,-2,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,unhex('5155'),unhex('3381' 
),34.2,unhex('3385'),3.4,94.2,3381.1,566,167.5,1340.5,0.0,0.0,0.0,0,0,0, 
0,0,0,0,0,10.0,100.0,-20.0,-20.0,100,unhex('0089'),unhex('4000'),unhex(' 
0000'),unhex('0000'),unhex('0000'),unhex('0170'),unhex('0000'),unhex('00 
00'));
Terminated
pi@raspberrypi:~ $

Kann mir jemand von euch das Skript so umschreiben, dass es den bspw. 
den 2., 5. und 48. String in eine Datei wegschreibt, mit dem Datum an 
Zeilenbeginn? Ich schaff das einfach nicht mit dem awk, und meinem 
Anfängerwissen.

von Eddie K. (etstudent)


Lesenswert?

Hallo nochmal, hab jetzt aus einem anderen Thread ein Skript, welches 
die Daten in eine csv schreibt.
WEnn ich allerdings den Cronjob einrichte, wie von MacGyver gepostet, 
wird nur das Datum eingetragen. Wenn ich das Skritp manuell starte, ist 
der Eintrag in die Csv einwandfrei.

Jemand eine Idee? Das SKript von Karsten: 
Beitrag "Re: Hargassner Pelletheizung Betriebsdatenerfassung"


#!/bin/bash

# shellscript zur Loggen von Telnet Daten einer Hargasser classic 
Baujahr 2015
# die daten werden in einer Excel conformen CSV Datei gespeichert

TempLog="/home/pi/Hargassner/Temp.log"
CSVLog="/home/pi/Hargassner/Hargassner.csv"
DateLog="/home/pi/Hargassner/Date.log"

# Das akutelle Datum umd Zeit wird in eine Datei geschrieben
date   +%d.%m.%Y" "%H:%M > "$DateLog"
# 10 Sekunden wird an Telnet gelauscht und in eine Datei geschrieben
timeout 10 nc  192.168.66.215 23 > "$TempLog"
# Für eine Weitergearbeitung in deutschen Excel werden nun Punkte durch 
Komma ersetzt
sed -i 's/\./,/g' "$TempLog"
# Um eine Excel csv Datei zu erstellen werden nun Leerzeichen durch 
Semikolon ersetzt
sed -i 's/ /;/g' "$TempLog"
# Da oben wegen der Aufzeichnungssichheit 10 Sekunden am Telnet 
gelauscht wurde wird
# nun auf eine Zele gekürzt, bei HSV classic von Baujahr 05.2015 sind 
das 581 Zeichen
sed -i -r 's/(.{581}).*/\1/;q' "$TempLog"
# Nun wird an die Datumsdatei die Temp Datein mit der Aufzeichungszeile 
angehängt
cat "$TempLog" >> "$DateLog"
# Die Datumsdatei mit Datumsangabe und Aufzeichnungszeile wird nun
# auf die die "alte" Temp Datei kopiert und dabei überschrieben
mv "$DateLog" "$TempLog"
# Nun wird der Zeilenumbruch aus der Datei entfernt und durch ein 
Simekolon ersetzt
sed -i ':a;N;$!ba;s/\n/;/g' "$TempLog"
# Da das aktuelle Datum immer zu oberst sei soll, wird nun die die schon 
bestehende
# cvs Datei an die Temp Datein angehängt
cat "$CSVLog" >> "$TempLog"
# Die Temp Datei wieder auf die "alte" csv Datei kopieren
mv "$TempLog" "$CSVLog"
# Damit die Log Datei nicht undendlich Gross wird
# wird nun die Datei durch kopieren der ersten 2016 Zeilen
# un schreiben in Temp Datein , Aufzeichnungslänge eingekürzt
# Bei einer Ausführung dieses scriptes per Cron Job alle 5 Minuten
# ergibts sich eine Aufzeichnungslänge von einer Woche
sed -ne '1,2016p'  "$CSVLog" > "$TempLog"
# Zurückschreiben der Temp Datei in die csv datei
mv "$TempLog" "$CSVLog"


Hab nur die PFade minimal angepasst. Die crontab habe ich als User pi 
bearbeitet. (crontab -e)

von MacGyver01 (Gast)


Lesenswert?

Gibt´s eine Besserung wenn du den crontab mit sudo einrichtest?

von etstudent (Gast)


Lesenswert?

Nein, das gleiche Verhalten, steht nur das Datum drin.

von Michael G. (michael_g302)


Lesenswert?

Hargassner hat scheinbar das Protokoll des TCP Servers am Port 23 wieder 
erweitert.

Aktuell sind 255 Datensätze enthalten.

Ich habe nur mittels des bereits bekannten 155Werte Protokolls und 
reverseenineering einige Werte zuordnen können.

Um dies einfach möglich zu machen habe ich ein npm Package erstellt 
welches frei verfügbar ist.

Eventuell findet sich ja noch jemand der interesse an der Zuordnung der 
restlichen Parameter hat oder bereits welche kennt.


https://www.npmjs.com/package/hargassner_telnet

von Eddie (Gast)


Lesenswert?

Hallo Michael,
Kannst du die Liste der dekodierten Parameter posten, habe auf deiner 
Projekt-Seite gesehen, dass du auf jeden Fall mehr entschlüsselt hast, 
als ich.
Danke
Eddie

von Michael G. (michael_g302)


Lesenswert?

Hallo Eddie,

Ich hab leider jetzt keine Liste parat!

Du kannst jedoch die Parameterzuordnung (Grundwissen in JS 
vorausgesetzt) aus der Bibliothek auf 
Github(https://github.com/schuppenkarp/Hargassner_NodeJS_Adapter/pulse) 
herauslesen.


Ich empfange den Datensatz einfach per Telnet als String und zerteile 
diesen per Split an jedem Leerzeichen in ein Array.

Somit ist der Index des Arrays auch direkt der Index im Hargassner 
Protokoll.

Hast du eventuell noch andere Details zum Protokoll?

: Bearbeitet durch User
von Eddie (Gast)


Lesenswert?

Danke, das ging schnell. Weichen Kessel hast du? Nano Pk12 zufällig? Was 
ich nicht ganz verstehe, wieso die Rücklauftemperatur vor der Anhebung 
nicht verfügbar ist. Ich hätte gern gewusst, wie die Spreizung im 
Heizkreis ist. Oder kann sie anderweitig abgeleitet werden?
Die Probleme mit der crontab haben sich bei mir übrigens erledigt.

von Eddie (Gast)


Angehängte Dateien:

Lesenswert?

Hab gerade gemerkt, dass sich unsere Telegramme doch etwas 
unterscheiden.

von Eddie (Gast)


Lesenswert?

So schaut das beispielhaft bei mir aus:
pm 8 7.5 8.4 54 48 75 3 3 120 -20 120 125 52 40 100 36 -20 0 20 -20 0 31 
140 30 0 20 20 44 0 -20 -20 0 0 20 20 -20 0 -20 -20 0 0 20 20 -20 0 20 
20 20 20 20 20 20 24.3 24 100 28 0.0 0 0 0 0 0 15 0.0 0.0 0 0.0 0 0 0 0 
0 3 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 827 3641 1 1 1 1 1 
1 1 0 0 0 30 132 11 0 1794 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0 117.3 0.0 0.0 
0.0 -20 0 4 621 20.0 20.0 20.0 20.0 20.0 20.0 20.0 13000 0 0 0 0 0 0 0 0 
0 0.0 10507 4496 67.4 4563 5.0 90.2 4496.2 1059 195.0 2007.6 0.0 0.0 0.0 
0 0 0 0 0 0 0 0 8.0 100.0 -20.0 -20.0 100 008B 4001 0000 0000 0000 0370 
0000 0000

von Micha86 (Gast)


Lesenswert?

Django1 schrieb:
> Ich mach an Montag mal ein Update fertig und stell es online.
> Heute geniesse ich die Sonne mit der Familie.
>
> Gruss Django

Hallo Django1,
ich würde gerne meinen Hargassner HSV 12 auch mit Grafana auswerten?
Wo kann ich die aktuelle Version deines Scriptes/How-to-do´s 
herunterladen?
Kann ich das ganze parallel auf meinem FHEM-Pi laufen lassen? Alternativ 
wäre noch ein Synology-NAS vorhanden.
Viele Grüße

von Django01 (Gast)


Lesenswert?

Servus Micha,

du kannst prinzipiell jede Hargassner damit auswerten wenn du die Werte 
entsprechend zuweisen kannst.

Die aktuelle Version muss ich noch aufräumen und mal wieder hochladen.
Hat sich einiges getan.
Das Script zum auslesen macht mittlerweile ein PHP Script und der Dienst 
wird als systemd eingebunden.

Als Messengerdienst geht nun auch Telegram (wofür ich noch ein HowTo 
schreiben muss).

Sind viele kleine Änderungen drin die einfach viel Zeit gekostet haben.
Aber du kannst auch die letzte Version von hier nehmen.

Gruß

von Micha86 (Gast)


Lesenswert?

Okay wunderbar. Was meinst du wann du die aktuelle Version soweit hast? 
Lohnt es sich noch ein wenig zu warten?

Django01 schrieb:
> du kannst prinzipiell jede Hargassner damit auswerten wenn du die Werte
> entsprechend zuweisen kannst.

Kann ich das auch als Programierlaie zuweisen?

von Django01 (Gast)


Lesenswert?

Schau mal in die global_config.php mit einem Editor rein.
So müsstest du die Werte entsprechend zuweisen.

Warten lohnt sich immer :P

Aber setz es erst mal um und schau wie es für dich Klappt.
Ich bin auch kein Programmierer. Ich bin lediglich ein Netzwerker mit 
interesse ;P

Gruß

Django

von Jpg (Gast)


Lesenswert?

Hallo Django1,

ich würde gerne meinen Hargassner Nano mit Hilfe deiner Lösung 
auswerten. Die sieht richtig gut aus. Gut gemacht.

Ich habe schon kurz nach dem Einbau der Heizung in 2015 begonnen Daten 
von Port 23 (?) in eine RRD Datenbank wegzuschreiben und auch eine ganz 
einfach Visualisierung gemacht.Läuft aktuell auf einem PI.

Würde aber gerne auf deine Lösung umstellen, da ich mit meiner Lösung 
nicht mehr weiterkomme.
Wie würdest du anfangen um deine Lösung einzusetzen? Ich bräuchte auch 
die SW und ein Howto. Wenn ich die Postings hier lese, dann hast du 
sowas. Nur ich finde da nichts. Kannst du das wiedermal hochladen?
Das wäre super.

Auf meinem PI laufen noch ein paar andere Dinge, aber die sollten ja 
nicht stören,  z.B. ein druckerserver (CUPS)


Viele Grüße
JPg

von Jpg (Gast)


Lesenswert?

jetzt hab ich immerhin schon mal rausgefunden, warum meine aktuelle 
selbst gebaute Log-Prozedur nicht mehr funktioniert bzw. falsche Werte 
anzeigt.

auf Port 23 hat sich nach der Wartung durch den fachbetrieb das 
Protokoll geändert.

Jetzt sind es 169 Werte:
pm 1 1.0 7.5 46 0 46 0 0.0 0 0.0 0 3 0 0 0 0 2 46 -20.0 -20 -20.0 41 46 
48 32 24 112.3 78.6 98 27 0 0 18 56 0 3231 0.00 0.00 -3 51 0 0 54 100.0 
13.0 2.2 4614 10169 1 0 -20 0 20.0 20 0 1 30 0 20.0 16 4 1 28 0 20.0 19 
4 1 -20 0 20.0 20 0 1 -20 0 20.0 20 0 1 -20 0 20.0 20 0 1 -20 0 20.0 20 
0 1 -20 0 0 53 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 0 0 0 0 0 0 0 0 -20.0 -20.0 -20.0 -20.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 
-1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 -1.0 
-1.0 -1.0 -1.0 -1.0 0001 0000 0000 0000 0000 0100 0000 0000


aktuell bekomme ich das (noch) nicht zugeordnet. Hat da schon jemand 
Erfahrungen?

Grüße
JPg

von waldschrat (Gast)


Lesenswert?

@Jpg:
Lass eine log-Datei auf die SD Karte schreiben. Dort findest Du im Kopf 
einen XML Teil,oder die Datenzuordnung beschreibt.

von Django01 (Gast)


Lesenswert?

Servus JPg,

nachdem ich nun endlich mal wieder dazu komme an der Heizung zu arbeiten 
hier mal Info's zur Software.

Also du kannst das HowTo aus den Zip Dateien entnehmen.
Da hab ich immer eins mit abgelegt.
Ich werde die Tage mal einen neuen Abzug meiner weiterentwicklung 
machen.

Es gibt schließlich neues.
Telegram Bot
Umstellung von cron auf systemd
Reduzierung der Daten auf das was man brauch (oder halt alles)

Gruß

Django01

von JPG (Gast)


Lesenswert?

Hi Django01,
schön von dir zu hören, dass du noch an der Hargassner Schnittstelle 
dran bist. Ich integriere augenblicklich gerade eine Bewässerungsanlage 
in ioBroker und danach wollte ich mich um die Heizung kümmern.

Du sprichst das ZIP File an, nur ich finde keines. ???

Grüße
JPg

von JPG (Gast)


Lesenswert?

waldschrat schrieb:
> Lass eine log-Datei auf die SD Karte schreiben. Dort findest Du im Kopf
> einen XML Teil,oder die Datenzuordnung beschreibt.

Hi waldschrat,
deine Nachricht habe ich schon lange gelesen, nur ich kam nicht dazu 
mich damit zu beschäftigen.
Nun stehe ich vor der Frage: wie schreibe ich eine Logdatei an der 
Heizung?
Hast du nen Tipp für mich?

Grüße
JPg

von Django01 (Gast)


Lesenswert?

Servus JPg,

Schau mal hier im thread. Da hab ich posts drinne mit dem tgz file.

Ein log kannst du schreiben wenn du eine SD Karte in as Touch panel 
schiebst und dann über das Menü eine Aufzeichnung startest und stoppst.

Ich muss gerade ein neues how to schreiben.
Ist mir aufgefallen das ich das auch mal aktualisieren sollte.
Dann stell ich was neues rein.

Gruß

Django01

von JPG (Gast)


Lesenswert?

Django01 schrieb:
> Ein log kannst du schreiben wenn du eine SD Karte in as Touch panel
> schiebst und dann über das Menü eine Aufzeichnung startest und stoppst.

Super, das hat schon mal geklappt und das Zip File von dir habe ich auch 
gefunden.

Merci,
JPg

von Lukas B. (l_b)


Lesenswert?

Hallo Leute,

hab ebenfalls seit kurzem einen Hagassner Neo HV 20 im Keller stehen und 
würde gerne die Daten sammeln und aufbereiten bzw. visualisieren. Zum 
visualisieren würde mir grafana sehr zusage, nachdem was ich bis jetzt 
gesehen habe ;).
Leider habe ich keinen Plan vom programmieren.
Hab ihr eventuell eine Schritt für Schritt Anleitung ? Brauch jedoch 
schon mal eine Anleitung wie ich Daten von der Heizung bekomme. Kann ich 
hier einfach mit dem Lan-Kabel den Kessel mit dem Router verbinden ? 
Oder wie habt ihr das gelöst? Sorry hab von der Materie wirklich nicht 
viel Plan, würde mich jedoch gern einarbeiten!

schöne Grüße.
LB

von Django01 (Gast)


Lesenswert?

Hallo Lukas,

erstmal super das du dich damit selbst befassen willst.

Grundlegend ist es ganz einfach (wenn man ein wenig Grundlage hat).



Die Heizung hat ja das Problem das Sie meistens irgendwo im Keller 
steht.
Da ist das dann meist schwer mit Netzwerk.
Ich hab das bei mir mit einem Devolo Pärchen gelöst (Netzwerk über die 
Steckdose)

An der Heizung kannst dann das LAN Kabel direkt an der Touchtronic 
hinten oder vorner (ich empfehle hinten) anschließen.

Dann in der Touchtronic eine IP Adresse fest vergeben die zu deinem 
Netzwerk passt.

Jetzt kannst dir ein beliebiges Linux System raus suchen und versuchen 
mit Netcat die Daten mal anzugehen.

nc <ip adresse der Heizung> 23

Da müsste dann so was ähnliches bei rum kommen:
pm 51.0 44.5 2.1 76.2 68.7 34.2 11.1 38.6 120.0 20.0 20.0 76.5 39.0 0.0 
22.0 20.0 0 0 0 0 0.0 0 1 0.0 53.6 0.0 0.0 83.0 -20.0 -20.0 20.0 20.0 
-20.0 0.0 0.0 20.0 20.0 -20.0 -20.0 20.0 20.0 -20.0 0.0 0.0 20.0 20.0 0 
30.8 49.8 66 0 0 0 0.0 0.0 0.0 0.0 121.0 60.0 9.2 0.0 0.0 0.0 0.00 0.00 
0.00 0.00 -20.0 0.0 20.0 20.0 -20.0 1 1 1 1 1 1 1 20.0 20.0 20.0 20.0 
20.0 20.0 20.0 -20.0 1 15.9 0.0 0 0 2 -20 58 0 0 0 0 0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 39 39 47933.8 15021.4 3199.8 
1135.9 13.8 5490.0 0.0 0.0 25.4 0.0 0 1 0 0 0 0 0 0 0 0 0 -20.0 0.0 0.0 
0.0 0 0 0 0 0 0 0002 0003 0000 0000 0000 0000 0010 0000

Wenn du dir mit einer SD Karte auch einen Abzug machst. Kannst in der 
Datei die Bezeichnungen übernehmen und das hier im Thread zur verfügung 
gestellte TGZ File herunterladen und ausprobieren.

Gruß

Django

von Lukas B. (l_b)


Lesenswert?

Hallo Django,

danke für deine super schnelle Rückmeldung. Ich werde das demnächst 
ausprobieren.

Eine Frage zu dem Devolo Pärchen: Funktioniert das auch über zwei 
getrennte Stromkreise (Hauptsicherungskasten)? Das wär sonst eine schöne 
Lösung.

Gruß,

Lukas

von Django01 (Gast)


Lesenswert?

Servus Lukas,

nur wenn du von Devolo den DIN Einbau benutzt.
Dann kannst du über mehrere Phasen hinweg dein Powerlan verwenden.

Die brauchen irgendwo ja eine Verbindung zueinander und wenn sich an der 
Tatsache das Sie die Phasen benutzen nichts geändert hat seh ich da 
schwarz für dich.

Du kannst aber auch eine Ethernet WLAN Bridge nehmen.
Ist günstiger und macht aus WLAN Ethernet und umgekehrt.


Gruß

Django

von Lukas B. (l_b)


Lesenswert?

Hallo Django,

ich hab unter windows 10 die ubuntu app installiert. Meinen Router in 
den Keller gestellt und über ein lan-Kabel mit der Heizung verbunden. 
Die IP-Adresse der Heizung wurde automatisch vergeben. Über den Befehl 
netcad bekomme ich jetzt die Daten. Alle 500ms werden diese neu geladen 
und im Ubuntuterminal angezeigt.

Wie kann ich diese Daten jetzt in eine Datenbank schreiben bzw. welche 
Datenbank ist sinvoll zu verwenden?

danke für deine Hilfe,
Gruß Lukas

von Django01 (Gast)


Angehängte Dateien:

Lesenswert?

Guten morgen Lukas,

das du das WSL installiert hast ist schon mal gut.
Damit hast du einen Linuxunterbau mit dem du arbeiten kannst.

Was ich dir empfehlen würde ist einen Raspberry Pi für die Abfragen zu 
verwenden. Klein, Linuxbasiert, braucht kaum strom und ist unabhängig 
von deinem PC.

Schau dir mal die TGZ genau an. Da ist auch eine How TO Anleitung drin.

Ich bastel gerade an einer Lösung das alternativ in eine influxDB zu 
schieben. (Script hab ich schon fertig dafür).
Die Scripte die ich gebaut habe schieben das alles in eine MySQL 
Datenbank.

Du solltest die IP Adresse deiner HEizung fest vergeben. Bei DHCP kann 
es sein das sich die mal ändert (es sei denn du Reservierst die IP im 
DHCP Server)

Ich häng dir mal die Scripte die ich aktuell verwende mit dran und 
schaust mal ob du dein System damit zum laufen bringst.

Du musst die .service Datei im SystemD registrieren, damit dein Linux 
das auch nach einem neustart wieder automatisch startet.

Kann ja mal sein das du dein System rebootest.

Gruß

Django

von Lukas B. (l_b)


Lesenswert?

Hallo Django,

sehr cool danke! Habe die IP der Heizung mittlerweile fix vergeben ;). 
Für mehr hatte ich leider noch nicht Zeit.

Von der Lösung mit einem Raspbeery Pi, influxdb und grafana habe ich 
schon mal in einem anderen Forum gelesen. Hört sich aber , sofern ich 
das beurteilen kann, gut an.

Was für einen Raspberry PI würdest du denn empfehlen?

Ich denke für deine Dateien brauche ich noch  mehr Anleitung, was ich 
mit diesen genau anstellen soll. Sorry wirklich ein leihe.

Gruß,
Lukas

von Django01 (Gast)


Lesenswert?

Servus Lukas,

das ist schon mal gut. Feste IP Adressen verändern sich auch nicht wenn 
mal der Router mit dem DHCP Server wechselt.

Also der Raspberry Pi ist einfach eine geniale Lösung was das ganze 
angeht.
Genug Rechenpower für alles was du so brauchst.

Ich würde dir ein Raspberry Pi 2GB / 4GB (je nach Präferenz) Set 
empfehlen als Beispiel: 
https://www.amazon.de/LABISTS-Aus-Schaltnetzteil-K%C3%BChlk%C3%B6rper-Ventilator-HDMI-Kabel/dp/B07VYKRJX6/ref=sr_1_4?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&dchild=1&keywords=raspberry+pi+4+2GB+set&qid=1584520055&sr=8-4&swrs=C85FC7AF115B751CB2F6B030DEDC4E79
Dazu würde ich dir noch eine externe USB 3.0 SSD empfehlen. Da können 
dann die Daten von der MySQL Datenbank drauf.

Wenn du den Pi hast, dann mach dich erstmal ein wenig mit dem System 
vertraut.
Du musst da ein Betriebssystem drauf installieren und auch hier deine IP 
Adresse fest vergeben.
Das wird erst mal deine nächste herausforderung.

Danach kommt dann:
  -Datenbank installieren und initialisieren
  -Script zum Daten in die Datenbank schieben anstartetn und prüfen
  -Webserver installieren und testen
  -Telegram Bot installieren und testen
  -Grafana installieren und anpassen
  -Backupscript anpassen und testen

Es klingt nach nicht viel, aber es wird dich als Laie den ein oder 
andern Tag kosten :)

Aber wichtig ist einen Schritt nach dem anderen gehen.
Im ZIP File müsstest du eine HowTo Datei finden. Da steht im Prinzip 
erstmal alles drin was du wissen musst.

Wie du deinen Pi aber zum laufen bringst findest du hier: 
https://projects.raspberrypi.org/en/projects/raspberry-pi-setting-up


Bei Problemen meldest dich hier einfach :)

von Chriff R. (chriff)


Angehängte Dateien:

Lesenswert?

ich hätte auch eine Frage zu dem Thema:
gibt es eigentlich eine Möglichkeit die Daten auf der SD Karte in einer 
Grafik angezeigt zu bekommen?
Habe schon versucht die Liste in Excel zu importieren, bin aber an den, 
für mich nicht nachvollziehbaren, Trennzeichen gescheitert.

bin für jede Hilfe dankbar,

Christian

von macgyver01 (Gast)


Lesenswert?

Ich hab da damals auch probiert die Datei in Excel auszuwerten. Hab den 
Versuch dann nach mehreren Stunden erfolglos abgebrochen!

von Chriff R. (chriff)


Lesenswert?

macgyver01 schrieb:
> Ich hab da damals auch probiert die Datei in Excel auszuwerten. Hab den
> Versuch dann nach mehreren Stunden erfolglos abgebrochen!

Das kenne ich von wo!  :-)

von Lukas B. (l_b)


Lesenswert?

Hallo Leute,

Auch bei mir gibt es etwas neues.
Ich habe gestern meinen raspberry pi 4 B mit 4GB bekommen. Da ich mich 
zuvor schon intensiv mit der Inbetriebnahme beschäftigt habe, dachte ich 
das wäre in ein paar Minuten erledigt. War dann nicht so! Es gab 
Probleme mit dem HDMI -Anschluss zum Bildschirm. Dank zweier 
zusätzlicher Code-Zeilen habe ich es heute dann doch noch geschafft, das 
Daing zum laufen zu bringen.

Somit werde ich mich in den nächsten Tagen mit den weiteren Punkten 
auseinandersetzten und euch weiterhin berichten.

schöne Grüße,
Lukas

von Django01 (Gast)


Lesenswert?

Hey McGyver,
auch mal wieder am schreiben?

In der Datei stehen einfach zu viele Informationen drin.
Da wird das dann schwer mit einer gewissen Logik etwas auseinander zu 
basteln.

Im Endeffekt ist der weg über die Ethernet Schnittstelle mit Telnet erst 
mal die Sinnvollste und einfachste.
Da kommt halt nur der Datenstring rüber.
Den kann man abgreifen, normalisieren und auswerten.

@Lukas: Sehr gut. Dann hoffe ich mal das du das alles hinbekommst.
Ich schaue das ich heute noch das neue HowTo an den Start bringe und mal 
wieder einen Abzug mache.

Gruß
Django

von Lukas B. (l_b)


Lesenswert?

Hallo Django,

bist du noch bei der Variante mit der influxdb dran?

Ich hänge leider gerade etwas bei phpmyadmin. Wenn ich versuche auf die 
login-Seite zu gelangen, wird nur der code dargestellt. Seit php7.0 
haben das Problem schon mehrere gehabt. Leider haben die Lösungen von 
diversen Foren noch nichts gebracht. Eventuell kennst du das Problem?!

Grüße,
Lukas

von Lukas B. (l_b)


Lesenswert?

Hallo Django,

ich habe mittlerweile etwas mit meinem Raspberry pi gespielt und das 
klassische Einsteigerprojekt, mit Temperatursensor - Influxdb - und 
Grafana, erstellt.
Jetzt hab ich mich gefragt, ob es möglich ist, die Daten der Heizung 
mittels deinem Shellskript (rw_rsp_sql.sh) abzufragen und direkt in eine 
Influxdb zu schreiben? Ähnlich passiert das auch bei meinem Projekt mit 
dem Temperatursensor (in einer sehr vereinfachten Version natürlich).

Grüße,
Lukas

von Kevin (Gast)


Lesenswert?

Hallo liebe Community,

wir steigen in Zukunft auf einen Pelletsheizkessel von der Fa.
Hargassner um. Auch ich möchte mir eine eigene Smarthomeanwendung
basteln. Dazu habe ich bereits einen Simulator geschrieben der Heizwerte
ausgibt. Nun würde ich einige Testdaten benötigen, am besten im selben
Format wie es die Heizung auch liefert (Plain-Text mit Leerzeichen als
Trennzeichen). Könnte mir jemand so eine Datei mit einigen Testdaten
zukommen lassen, damit der Simulator halbwegs vernünftige Daten liefert?
Ich wäre sehr dankbar!

Fg,
Kevin

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.