Fröling: [ANNOUNCE] p4d - Visualisierung und Einstellung der S-3200 via COM1

Es gibt 4.961 Antworten in diesem Thema, welches 1.499.693 mal aufgerufen wurde. Der letzte Beitrag () ist von ranseyer.

  • Ich häng mich jetzt kurz mal rein.


    Ich habe jetzt vor 3 Stunden das ganze auf einen neuen Raspberry mit Raspian Stretch installiert. Lt. der Anleitung von Github.


    Perfekt, von Anfang an bis jetzt, läuft perfekt!


    Danke!


    Eine Kleinigkeit: Könnte man die die Startseite vom Apache Server(also wenn ich meine IP 10.0.0.15 eingebe) auf 10.0.0.15/p4 verlinken? Damit ich nur mehr 10.0.0.15 eingeben müsste?


    Danke.

  • Hier ein Erfahrungsbericht des Updates von der WebIf-Version 0.2.25 auf 0.3.1 auf meinen Raspi und meinem Synology NAS.


    Vorab: Nachdem ich Jörgs Anweisungen auf dem Github gefolgt bin funktioniert wieder alles.
    Deshalb beschränke ich mich hier auf die Anpassungen, die sich durch meine Umgebung ergeben und: Ein Update passt die bestehende p4d.conf nicht an! (Darauf hat Jörg schon hier im Forum hingewiesen.)


    Zu meiner Umgebung:

    • Raspi läuft mit Jessie ohne Apache- und MySQL-Datenbank-Service
    • Auf meinen Synology NAS (DS213j) läuft der Webserver:

      • Backend Server: Nginx
      • Default PHP: PHP 7.0
      • Virtueller Host: p4 mit PHP 7.2 (volume1/web/p4)
    • Datenbank auf dem NAS: MariaDB 10

    Das Update:

    • MQTT-Interface installiert (wie im Readme beschrieben)
    • p4d installieren (wie im Readme beschrieben):

    Anpassungen nach dem Update:

    • Raspi: p4-Domäne stoppen (/etc/init.d/p4d stop)
    • Die Dateien vom Raspi (/usr/src/linux-p4d/htdocs) auf das NAS (volume1/web/p4) kopieren
    • NAS: ggf. die Berechtigungen für die Dateien in "volume1/web/p4" anpassen (die Gruppe "http" muss lesen können)
    • NAS: volume1/web/p4/config.php:

      • $mysqlhost = "127.0.0.1"; eintragen ("localhost" ersetzen)
      • $mysqluser und $mysqlpass ggf. anpassen
    • NAS: volume1/web/p4/detail.php: $mysqlport = 3307; (für MariaDB, MySQL verwendet den Port 3306)
    • NAS: volume1/web/p4/header.php: $mysqlport = 3307;
    • Raspi: etc/p4d/p4d.conf:

      • DbHost = 192.xxx.xxx.xxx (IP-Adresse des NAS eintragen bzw. localhost ersetzen)
      • DbPort = 3307 (für MariaDB)
      • hassMqttUrl = tcp://192.xxx.xxx.xxx:1883 (Zeile für MQTT manuell hinzufügen)
    • Raspi: p4-Domäne wieder starten (/etc/init.d/p4d start)

    Noch ein Hinweis: Alle Fehlermeldungen bei MQTT ignorieren bzw. solange warten, bis der Command prompt wieder erscheint. Wer Anpassungen am Stylesheet vorgenommen hat sollte zum Testen der WebIf den Browser-Cache löschen.


    Ob die Datenbank-Struktur (die sich bei mir auf dem NAS befindet) anzupassen ist kann ich noch nicht sagen. Bisher sind aber alle Werte vorhanden.


    Jörg: Sollte ich besser auch die DB neu anlegen?


    Gruß
    Andreas


  • So habe das ganze gelöst und den zusatz /p4/ brauch man jetzt nicht mehr.


    Den Ordner html in /var/www/ löschen mit rm -r html


    danach eine verknüpfung erstellen mit ln -s /var/lib/p4 /var/www/html


    anschließend sollte der inhalt vom p4 Ordner 1:1 im html ordner aufscheinen.


    Ich hoffe ich konnte etwas beitragen.

  • von mir aus auch noch ein positives Feedback zum Neuen Jahr und und zu der Möglichkeit, Daten über MQTT auszulesen:


    Ich habe es geschafft, problemlos ein Update auf die aktuelle Version zu machen. Mit ein bisschen Zeitaufwand war es dann möglich, die MQTT-Topics in OpenHAB einzulesen, und für den P4D ein einzelnes Thing zu erzeugen, in dem wiederum für jeden Parameter ein Channel und zugeordnete Items generiert werden können.
    Wer von also von vorne anfängt, den P4D in Openhab einzubinden, wird die lesende Kommunikation von der Datenbank nach Openhab viel einfacher realisieren können, als es bisher über den Aufruf von Linux-Kommandozeilen-Scripts zu machen war (wenn man sich mal an MQTT gewöhnt hat).
    Mit den entsprechenden Definitionen sieht das im PaperUI von OH dann erst mal so aus, beispielhaft für die Werte der Vorlauftemperatur:


    Wenn ich dazu komme und es jemand interessiert, kann ich die notwendigen Thing- und Item-Definitionen für OH mal posten.
    Nur den aktuellen Zustand der Heizung über diese Schiene zu lesen, ist allerdings am Ende doch nur die halbe Miete, wenn es um den Aufbau eines Gesamtsystems geht.
    Wenn es jetzt noch möglich wäre, die Kommunikation auch in der anderen Richtung aufzusetzen, und Steuerbefehle über den MQTT-Böroker an die Jobs-Liste der P4D-Datenbank zu schicken, dann wäre das Ganze perfekt und man könnte den P4D auch ohne speziell dafür programmiertes Binding sauber und einfach in OH einbinden - und wahrscheinlich übrigens auch in jedes andere Home Automation System, das MQTT versteht.


    Horchi, wäre es denn machbar, das bereits existierende Skript "linux-p4d/scripts/setp.sh", in dem ein Wertepaar aus Adresse und Parameterwert an den P4D übergeben wird, auch über MQTT zu realisieren?


    Aber auch so läuft alles bereits super, und vielen Dank für diese Arbeit.

  • Bin nun auch wieder aus dem Urlaub zurück. Frohes neuen Jahr zusammen!

    ich glaub ich geb es auf, hab es nun 2 mal neu installiert... direkt nach er Anleitun g von Github iswt bei mir jedes mal der Ordner /var/www/ so gut wie leer (obwohl die installation von pchart ohne Fehlermeldungen durchlief). Einzig Einträge vom pihole tauchen auf.
    Habe dann mit dem Skript von Philipp Hunger erneut installiert und dann sind die pchart Ordner da. wenn ich dann diese Ordner nach /var/www/html/ verschiebe, bekomme ich nun bei Aufrufen von "ip/index.php" die Meldung "ErrorTable 'p4.config' doesn't exist"... ;(

    Wenn du nach meiner Anleitung vorgehst liegen die für den Web Server benötigten Dateien unter /var/lib/p4/.
    Die Tabellen werden beim ersten Start des p4d automatisch angelegt, davor kann man nicht auf das WEB Interface zugreifen. Klappt das anlegen durch den p4d nicht sind die Fehlermeldungen im syslog relevant.

    Seit Oktober 2009:
    Fröling P4 mit 1000l Pufferspeicher

  • ...
    Jörg: Sollte ich besser auch die DB neu anlegen?
    Gruß
    Andreas

    freut mich das es nach der Anleitung läuft :)!
    Nein der p4d passt die Tabellen beim Start automatisch an, sollte das warum auch immer nicht klappen bekommst du Fehlermeldungen im Log, erst dann musst du entspr. reagieren.
    Jörg

    Seit Oktober 2009:
    Fröling P4 mit 1000l Pufferspeicher

  • Horchi, wäre es denn machbar, das bereits existierende Skript "linux-p4d/scripts/setp.sh", in dem ein Wertepaar aus Adresse und Parameterwert an den P4D übergeben wird, auch über MQTT zu realisieren?

    grundsätzlich ja, das habe ich auf meiner Liste weiß aber nicht wann ich dazu komme. In wieweit die Protokolle (Json) der verschiedenen Hausautomatisierungen standardisiert bzw. kompatibel sind weiß ich nicht, da der eine Weg wie ich hier lese zumindest auch mit openHAB geht kann man vermuten dass das setzen vom Parametern auch geht. Ich würde mich im ersten Step auch wieder an das von Home Assistant erwartete Format halten.

    Seit Oktober 2009:
    Fröling P4 mit 1000l Pufferspeicher

  • Basierend auf dieser Anleitung (https://github.com/horchi/linux-p4d/tree/master) in Verbindung mit ([ANNOUNCE] p4d - Visualisierung und Einstellung der S-3200 via COM1) wollte ich p4d installieren, hänge jedoch an folgendem Fehler:




    Ich habe folgende Schritte unternommen:


    Mit Win32 Disk Imager das Image „2019-09-26-raspbian-buster-lite.img“ auf eine SD-Karte geschrieben.
    sudo dpkg-reconfigure locales
    sudo apt update
    sudo apt install mariadb-server sudo apt install apache2 libapache2-mod-php php-mysql php-gd php7.3-xmlsudo apt install build-essential libssl-dev libxml2-dev libcurl4-openssl-dev libssl-dev libmariadbclient-dev
    sudo apt install libmariadb-dev-compat
    sudo apt install git
    cd /usr/lib/arm-linux-gnueabihf
    sudo ln -s libmariadb.so.3 libmariadbclient.so.18
    cd /usr/src/
    sudo git clone https://github.com/horchi/linux-p4d/
    cd linux-p4d
    make clean all



    Woran könnte das denn liegen?

  • Schau auch mal hier: https://github.com/horchi/linux-p4d/tree/master#prerequisits


    also wenn es keine NOT gibt buster zu verwenden würde ich es mir einfacher machen und bei stretch bleiben

    Not gibt es nicht. Habe jetzt Stretch (2019-04-08-raspbian-stretch-lite.img) installiert und die Fehlermeldung erscheint tatsächlich nicht mehr.


    Jetzt hänge ich aber an "Log in to the web interface".


    Wenn ich das richtig sehe, erwartet Apache die html/php-Dateien standardmäßig in /var/www/html/. Hier ist jedoch nur die index.html von Apache vorhanden.
    Auch in /var/www ist nichts zu finden (außer dem html-Ordner)


    Welcher Teil der Todo-Liste müsste denn dafür sorgen, dass die webinterfacxe-dateien an den richtigen Ort kopiert oder erstellt weden?

  • wenn du alles nach dem README installiert hast sollte es passen. Das einzige was danach noch nötig ist ist der Neustart des Apache (systemctl restart apache2.service) sofern du danach nicht ohnehin bootest.


    Das WEBIF erreichst du dann unter http://<deine ip>/p4


    Erläuterung:
    Das mit /var/www/html ist ein Gerücht das man hier im Thread immer wieder antrifft. Dies ist zwar wirklich meistens die Default Seite vom Apache (je nach Konfiguration) heißt aber nicht das dort alle Web-Services ihre Seiten ablegen müssen - die würde3n sich ja auch nur ins Gehege kommen und sich bei der Installation gegenseitig überschreiben. Um genau das zu verhindern installiere ich es über das Makefile unter /var/lib/p4/ und hinterlege eine Konfiguration welche dies dem Apache bekannt macht.


    Dazu wird bei der Installation diese Konfiguration hinterlegt:

    Code
    #> dir /etc/apache2/conf-*/p4.conf
    -rw-r--r-- 1 root root 196 Okt  4  2018 /etc/apache2/conf-available/p4.conf
    lrwxrwxrwx 1 root root  35 Okt  4  2018 /etc/apache2/conf-enabled/p4.conf -> /etc/apache2/conf-available/p4.conf

    Seit Oktober 2009:
    Fröling P4 mit 1000l Pufferspeicher

  • In der Readme (https://github.com/horchi/linux-p4d/tree/master) gibt es wahrscheinlich(?) folgende Fallstricke für Newbies:


    Bei "Installation MySQL Database fehlt anscheinend ein vorhergehendes sudo apt update.
    Ich erhalte sonst immer Fehlermeldungen.


    Bei allen apt/git/mysql/make-Befehlen fehlt das vorherige sudo.


    Vor dem ersten git-Befehl fehlt ein sudo apt install git. Ansonsten scheint er git nicht zu kennen.

  • Bei "Installation MySQL Database fehlt anscheinend ein vorhergehendes sudo apt update.
    Ich erhalte sonst immer Fehlermeldungen.

    ein ganz klares jain ;) ... 'apt update' muss (zumindest) einmal nach dem Neu-Aufsetzen eines Linux Systems gemacht werden. Im Falle des Raspi nach nach dem ersten Boot des Images. Steht auch so in vielen der Anleitungen. Das 'jain' weil ich nicht weiß wie weit ich im README ausholen soll, es hat ja nicht direkt etwas mit der Installation des p4d zu tun.


    Ggf. wäre hier ein neuer Thread zu linux oder dem Raspberry Pin besser - wobei davon gibt es ja schon hunderte in diversen Foren.
    Aber kurzum ... okay ich nehme ein 'apt update' in das README auf ;) ... erledigt.


    Bei allen apt/git/mysql/make-Befehlen fehlt das vorherige sudo.

    Stimmt, ich passe es so an das die Installation komplett als root gemacht wird.


    Grüße Jörg

    Seit Oktober 2009:
    Fröling P4 mit 1000l Pufferspeicher

  • Ich geh halt von mir aus. Ich bin ziemlicher Neuling bei Linux.
    So glücklich ist über die geleistete Arbeit bin, wenn etwas anders läuft als beschrieben, nutzt mir die ganze Anleitung halt (zumindest im ersten Augenblick) nichts.
    Glücklicherweise ist in diesem Fall noch ein Forum dabei, in dem man offensichtlich kompetente und zeitnahe Hilfe bekommt ;)

  • Hallo Wilfried,


    habe es geschafft grafana zu installieren, auch war es möglich alle exportierte Graphen entsprechend dem oben genannten Beispiel anzeigen zu lassen.
    Aber irgendwie verstehe ich den Aufbau hier nicht... habe mir den Aufbau der MariaDB anzeigen zu lassen, und wollte mir nun einfach den aktuellen Heizungsstatus anzeigen lassen... wenn ich nun deine Beispiele oben anpasse (UD statt VA, samples.adress =1 ) bekomme ich aber immer Zahlenwerte anstatt Betreibsbereit oder Heizen etc...


    Wo in der Datenbank finde ich genau die aufgezeichneten Parameter? wie hängen die verschiedenen Tabellen zusammen?


    irgendwie stehe ich hier gerade voll auf dem Schlauch.. :(


    Wäre nett, wenn du zu Grafana noch bissl was schreiben könntest.


    Mfg
    Ralf

  • ich möchte anregen für grafana einen separaten Thread aufzumachen, dann bleibt das auf Dauer sicher übersichtlicher


    Grüße
    Jörg

    Seit Oktober 2009:
    Fröling P4 mit 1000l Pufferspeicher

    Einmal editiert, zuletzt von horchi ()

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!