Beiträge von horchi

    Hi,
    dir rc*/*p4* passt bei dir doch super ist alles da, was meinst du?


    zum sql prompt, du musst erst zu der p4 db wechseln, das geht mit use p4, dann kannst du mit show tables; anzeigen lassen welche Tabelle existieren, wenn sie da sind sollte config darunter sind und der select funktionieren, wenn sie nicht da sind ging beim anlegen der Tabellen etwas schief, das macht der p4d bei seinem ersten Start.


    Jörg

    Zitat

    Hi horschi!


    Super Arbeit! Wollts die Tage schonmal ausprobieren,


    Danke!



    Zitat

    Diagramme:
    Kann ich die einfach so verändern? Heißt Aussehen (besonders der blaue Hintergrund stört mich etwas), welche Daten angezeigt werden, ...?


    welche Daten vom p4d aufgezeichnet werden kann man im WEBIF einstellen, es wird alles angeboten was deine Steuerung liefert (dies wird automatisch inital abgefragt). Die Chartts werden in PHP mit Hilfe der pChart Library erstellt, was diese kann siehst du dort auf der HP. Das aussehen der Charts kannst du in meinem PHP Code nach belieben anpassen, habe ich aktuell nicht über das WEBIF einstellbar gemacht.



    Zitat

    Anschluss am P4
    Wie hast du das mit dem Stecker an der COM1 gemacht? Wenn ich bei mir was aufstecken will, muss ich immer den Deckel ein Stück nach hinten schieben. Wenn der Stecker drauf ist, kann ich den aber nicht mehr schließen... Ist das bei dir auch so?


    ich habe den unten auf dem Board stecken und dafür das kabel was zur Buchse oben geht abgezogen ;)



    Zitat

    Steuerung generell
    Kann ich mit deiner Software den kompletten Kessel fernsteuern? Also quasi alle Funktionen, die ich auch übers Menü erreichen kann? Hast du da schon was ausprobiert? Wie sicher läuft die Sache?


    Ja so ziemlich, alles was das Menü an Parametern bietet wird angezeigt, auch hier gilt das es nicht hard-coded ist sondern initial automatisch von der Heizung abgefragt wird, unterscheidet sich ja je nach Firmware und Ausstattung. fast alle im Menü einstellbaren Parameter kannst du über das WEBIF steuern, was noch fehlt sind die Zeiten, nicht die einzelnen wie die zur Pellets-Nachfüllung (die sind fertig) sondern die Gruppen Zeiten mit den ganzen Wochentagen (das ist nur noch Fleißarbeit und ich bin noch nicht dazu gekommen).


    Was leider (noch) nicht geht sind die tasten für An/Aus/Schornsteinfeger/Service, sind bestimmt auch über die COM1 verfügbar nur habe ich noch nicht herausgefunden wie man diese Abfragt oder einstellt.


    Grüße
    Jörg

    Hi,


    dann läuft der p4d ja schon einmal ;). Bis auf die benötigten Pakete sollte er einfach zu kompilieren gewesen sein, oder?


    Das mit dem updaterc läuft bei Thomas und mir ohne Probleme:

    Code
    root@raspberrypi:~/build/linux-p4d# update-rc.d p4d defaults
    update-rc.d: using dependency based boot sequencing


    Dabei werden brav die Links angelegt:

    Code
    root@raspberrypi:/etc# dir rc*/*p4*
    lrwxrwxrwx 1 root root 13 Jan 17 07:20 rc0.d/K01p4d -> ../init.d/p4d
    lrwxrwxrwx 1 root root 13 Jan 17 07:20 rc1.d/K01p4d -> ../init.d/p4d
    lrwxrwxrwx 1 root root 13 Jan 17 07:20 rc2.d/S02p4d -> ../init.d/p4d
    lrwxrwxrwx 1 root root 13 Jan 17 07:20 rc3.d/S02p4d -> ../init.d/p4d
    lrwxrwxrwx 1 root root 13 Jan 17 07:20 rc4.d/S02p4d -> ../init.d/p4d
    lrwxrwxrwx 1 root root 13 Jan 17 07:20 rc5.d/S02p4d -> ../init.d/p4d
    lrwxrwxrwx 1 root root 13 Jan 17 07:20 rc6.d/K01p4d -> ../init.d/p4d


    wie du am Datum siehst gerade nochmal getestet ;)


    Zum login, was steht denn dazu in der config Tabelle, stimmt der md5 Wert überein?


    ansonsten kannst du die auch nochmal droppen (drop table config;) dann ist alles zurück auf default.


    Nach der Installation bzw. dem droppen der config Tabelle und anschl. Restart des p4d ist der WEBIF User p4 und das Passwort p4-3200 wenn nicht hab ich da bein Initialisieren ggf. noch einen Bug.


    Grüße
    Jörg

    Hi,
    das sollte kein Problem sein, eine zweite Serielle abzufragen ist kein Ding.
    Ich kann sie pollen oder aber requesten, sollte vom Auwand her keinen großen Unterschied machen.


    Mit dem Video ist eine nette Idee ;)!


    Hast du am Arduino über die Analogeingänge weitere Fühler an Stellen an denen die Heizung keine hat? Mich würde sowas auch für meine Anlage interessieren, wenn möglich aber direkt am Raspi. Ich habe eine Solartermie Anlage mit eigenen Steuergerät bei dem mann leider nichts auslesen kann.


    Jörg

    Hi,


    Danke für den Hinweis, hatte von Thomas ohnehin bereits eine überarbeitete Version des README, ist nun im git, den Abschnitt zur Zeitsynchronisation habe ich angepasst.
    Habe gerade viel um die Ohren daher geht es im Moment etwas langsamer weiter ;)


    Deine Frage zum Ardunino verstehe ich noch nicht, stehe auf der Leitung. Willst du alte Daten übernehmen um deine Historie nicht zu verlieren oder magst du die Daten weiter mit dem Arduino von der Heizung abfragen und über diesen zum p4d oder in die Datenbank weiterleiten (statt den p4d diese von der Heizung lesen zu lassen) ?


    Und danke für das Angebot zur Unterstützung komme ich sicher darauf zurück ;). Bin gespannt wie die Installation bei dir läuft, wenn es hakt ist der Input super um es entweder in die Duku einzuarbeiten oder aber noch etwas zu vereinfachen/automatisieren.


    Grüße Jörg

    Hallo Sebastian,


    danke für das Lob :)


    Die in den PNs besprochenen Sicherheitslücken habe ich geschlossen, nochmal Danke für deine Hinweise. Das einarbeiten in PHP und dem ganzen WEB Zeug dauert doch etwas, wird aber langsam :ohmy: , beschäftige mich sonst nur mit C/C++.


    Ist als Version 0.1.3 im git, meine Seite ist noch nicht wieder erreichbar, gebe ich morgen frei, für heute ist Feierabend ;)


    Grüße
    Jörg

    neue Version 0.1.2 ist im git verfügbar, neben kleinen Erweiterungen und Verbesserungen sind diese Erweiterungen enthalten:


    - Konfiguration in das WEBIF verlagert sodass dort nun fast alle Einstellungen vorgenommen werden können, lediglich grundlegendes wie DB Account und Device sind in /etc/p4d.conf verblieben.
    - optionale tägliche Zeitsynchronisation der Steuerung
    - Automatische Aktualisierung der 'Aktuell' Seite
    - Status-Anzeige erweitert
    - Anzeige des kompletten Fehlerspeicher im WEBIF
    - Init Skript erweitert um 'doppelten' Start zu verhindern


    Grüße
    Jörg

    Hallo,


    Wie schon in dem Thread zur Kommunikation mit der S-3200 geschrieben, habe ich an einer Lösung für die Service-Schnittstelle (COM1) in C++ mit MySQL Datenbank und WEB-Interface gearbeitet. Das ganze hat sich nun doch etwas in die Länge gezogen, da ich zur Service-Schnittstelle noch einiges herausfinden musste. Nun hat es mit einem ersten Release (Version 0.1.0) doch noch pünktlich zu Weihnachten geklappt.


    Hier das Projekt auf GitHub, und hier der Link zum Wiki, welches ich nun begonnen habe, da es durch die Länge des Threads doch sehr aufwändig ist, sich die nötigen Hinweise zusammenzusuchen. Im Wiki könnt Ihr selbst gern Eintragungen vornehmen - ich werde diese ggf. anpassen und ergänzen.


    Hier die grundlegenden Features und Eckdaten:


    - Dienst (p4d) übernimmt die Abfrage und Aufzeichnung der Daten
    - dynamische Anfrage der Menüstruktur bei der Steuerung S-3200
    - dynamisches ermitteln der Adressen für Parameter und Messwerte
    - Kommunikation mit der Steuerung erfolgt zentral über den p4d
    - Kommunikation des WEB-Interface (PHP) mit dem p4d über Tabellen
    - Session basiertes Login beim WEBIF
    - Darstellung der vollständigen Menüstruktur der S-3200
    - Ändern der Heizungs-Parameter im WEBIF
    - Konfiguration der aufzuzeichnenden Werte über das WEBIF
    - Anordnung der Messwerte auf der schematischen Darstellung mit der Maus im WEBIF
    - Konfigurierbare Status und Störungs-Mails
    - dynamische Chart Erstellung
    - Datenablage in MySQL Datenbank
    - und alles was ich vergessen habe 



    An der Stelle auch vielen Dank an Thomas (tunsin) der mir mit Ideen zur Seite Stand, das README geschrieben und alles unermüdlich auf Herz und Nieren testete und alle anderen die sich hier an dem Projekt beteiligen.



    Viele Grüße
    Jörg[ANNOUNCE] p4d - Visualisierung und Einstellung der S-3200 via COM1

    habe meine Lösung ins git auf github geschoben: https://github.com/horchi/linux-p4d


    Mach das holen und bauen einfacher:
    #> git clone https://github.com/horchi/linux-p4d
    #> cd linux-p4d
    #> make
    #> make install


    Dann fehlen noch wenige Schritte die im README beschrieben sind. Das README ist zugegeben noch verbesserungswürdig ;), hier fehlt z.B. die Beschreibung des Tools für die Service-Schnittstelle noch komplett.


    Die einfache PHP Lösung liegt unter htdocs bei.


    Grüße
    Jörg

    Das mit dem COM Ports war soweit klar. Ich erinnere mich aber richtig das man eine der beiden Schnittstellen des P4 so umstellen kann das es ModBus 'spricht'?


    Mein Programm ist schon öffentlich (GPL), weiter unten gibt es den Link zum Download. Nur das PHP Zeug habe ich noch nicht dazu gepackt.


    Jörg

    Hi Reichl,


    wenn es um die COM1/COM2 der 3200 geht (weiß nicht ob es das selbe wie Modbus ist) habe ich ein entspr. Programm in C++ geschrieben und hier laufen. Es besteht aus einem Demon der die Daten der COM 2 liest und in einer MySQL Datenbank ablegt und zum andren um ein Kommandozeilen Tool mit dem man die COM1 auslesen und Parameter hin senden kann, letzteres soweit ich Doku dazu zusammentragen konnte. Siehe ein paar Posts weiter unten.


    Grüße Jörg

    Hallo,


    bin mit meinem PHP Skript soweit fertig (die Anlagen-Ansicht fehlt noch): http://80.153.190.207:61105/p4
    Die Sensoren in der Tabelle kann man anklicken um ein Chart für den einzelnen Sensor zu erhalten.


    Die Charts werden auf meinem Server mit pChart (eine open Source lib) statt bei google mit 'google charts' erstellt. Aufbau eines ganzen Monat kann knapp 10 Sekunden dauern, jedes jedoch nur einmal dann liegt es in einem persistenten Cache auf meinem Server.


    Das PHP stelle ich gern zur Verfügung, es passt zu dem Datenbankformat des epgd aus meinem Post vom 5. Sept.


    Würde mich über euer Feedback freuen, auch Anregungen und Kritik sind willkommen.


    Viele Grüße
    Jörg

    hab mich nun doch selber mal an PHP versucht, hat zum Glück Ähnlichkeit mit C ;)


    Hier das Ergebnis der ersten Gehversuche:



    Wenn man den Sensor vorn anklickt bekommt man:



    Fehlt min. noch eine Zusammenfassung mehrerer Sensoren in einem Chart und eine Auswahl für den Zeitbereich.. Sobald ich es soweit rund habe lege ich es dem Programm bei.


    Grüße
    Jörg

    Hi bashy


    Danke!


    Wie ich es auf den ersten Blick sehe hast du die Daten in einer Tabelle und dort für jeden Messwert eine Spalte? Wenn ja unterscheidet sich das Datenmodell. Ich kann das ggf. über eine View in der erwarteten Form bereitstellen und deine PHP Skripte nutzen. Solle die Konvertierung mittels view nicht klappen, hättest du etwas dagegen wenn ich die Skripte als Basis nehme, anpasse und meinem Code beilege (mit Verweis auf die Quelle)?


    Gibt es dazu ein RADME bzw. eine Übersetzung der Feldnamen in deutsch oder englisch ;)?
    Ich benötige nur den Teil für die Visualisierung, denke das ist der Part in folder_var_www, richtig?


    Grüße
    Jörg

    Hier:
    http://www.jwendel.de/vdr/p4d-0.0.1.tgz


    Im README steht das wichtigste zu Daemon (p4d) drin, dieser liest die Daten auf COM2 und schreibt sie in die Datenbank. Diese muss vor dem Start wie im README beschrieben angelegt werden.


    Das Kommandozeilentool p4 verwendet COM1, es zeigt mit -h seine Optionen. Nur mit der Option setp zum Verändern der Parameter wäre ich vorsichtig ;).


    Bei Fragen ... ;)


    Grüße Jörg

    okay mache ich gern, ist aber von der Installationsprozedur etc. noch nicht serienreif und Dokumentation fehlt auch noch ;)!


    Ich poste wenn ich es hochgeladen habe.


    philipphunger,


    Na ja,den C++ entwickle ich gern weiter, jemand der sich dem Frontend (auf Basis der MySQL Tabellen) in welcher Sprache auch immer (PHP, ....) annimmt wäre super.


    Grüße Jörg

    Hi,
    habe eine Lösung in C++ geschrieben die sowohl COM1 als auch COM2 unterstützt. Ich bin jedoch nicht so der Frontend-ler wodurch ich die Visualisierung etwas stiefmütterlich behandle. Der Back-End Teil welcher die Daten über COM2 liest und in einer MySQL Datenbank ablegt ist fertig.


    Auch ich verwende für meine Lösung wie die anderen hier den Raspberry. Die Datenbank läuft jedoch auf meinem 'richtigen' Server, die hatte ich schon für andere Projekte.


    Für die COM1 habe ich ein Tool (auch C++) geschrieben das die Kommunikation via COM1 (auch das setzen/verändern der Parameter) ermöglicht. Das ist im Moment noch ein Kommandozeilen Tool. Es kann die Kommandos/Features die in dem hier rum geisternden PDF zur COM1 beschrieben sind. Ich habe zusätzlich zu dem im PDF beschriebenen nur ein paar kleine Details zu dem Protokoll herausfinden können.


    Wenn sich jemand findet der den Frontend Part übernimmt erweitere ich es gern auf Interfaces zu einem (Web?) Frontend.


    Grüße
    Jörg