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

Es gibt 4.960 Antworten in diesem Thema, welches 1.475.613 mal aufgerufen wurde. Der letzte Beitrag () ist von moritz.

  • Hallo Babelbernd


    ja habe den mosquitto installliert

    ok wenn mein Toppic aus dem p4d so aussieht, wie sollte ich es dann senden??

    p4d2mqtt/sensor/Vorlauf-Solltemperatur_0x16/state {"value": 27.5}

    Ich möchte jetzt mit MQTT senden das die Vorlauftemp. Soll, jetzt 28 ist.


    Ich würde die Daten dann über NodeRed senden


  • Wenn ich mich noch richtig erinnere musst du den value als payload an den MQTT out senden. Am besten einen "Inject" mit dem mqtt out verknüpfen, dem Inject als payload den Wert {"value": 28} zuweisen und im mqtt out den richtigen topic einfügen. Schau dir dazu aber am besten einfach eine Anleitung auf YouTube an weil ich mir nicht mehr zu 100% sicher bin und ich den Broker selbst nicht mehr nutze.

  • Hallo,
    bei mir läuft p4d auf einem Zero. Ich hab einen Mosquitto-Broker.
    Mein Problem: Die Software läuft, allerdings komme ich sehr langsam an die Weboberfläche. Die Seite lädt einige Minuten oder auch nicht. Normalerweise hilft ein Neustart des Zero, dann gehts wieder ein wenig besser. Trotzdem komme ich heute nicht ans Fehlerlog, das ich hier eigentlich posten wollte.

    Deshalb das hier:

    Wie kann ich dieses MQTT-Problem lösen?

  • Hallo Babelbernd,

    Danke für den Hinweis. Hab den Pfad zu meinem MQTT-Broker gelöscht. Jetzt läuft das Programm ohne Verzögerung, und ich kann mich mit den Daten meines P1 beschäftigen. Ich empfange zwar jetzt keine Daten mehr in IOBroker, aber zum Checken brauch ich die auch nicht.

    Mqtt-Daten krieg ich keine mehr.

  • Hallo,

    ich bekomme es nicht hin den Wert per MQTT zu senden, weil ich nicht die genaue Bezeichnung des Wertes kenne, das senden zum Broker funktioniert soweit ich es beurteilen kann.


    Wie ist die MQTT Bezeichnung z.B für zum ändern der?

    Gewünschte Vorlauf-temperatur bei +10°C Außentemperatur


    Hat das schon mal jemand gemacht, oder funktioniert das Werte senden/ändern an die Heizung nicht?

    Über MQTT bekommt man ja nur Werte von den Aufzeichnungen des p4d heraus.


    Würde mich über eure Hilfe freuen


    Danke

  • Skeidi


    Da habe ich wohl etwas verwechselt... Also soweit ich weiß kannst du per MQTT keine Werte direkt in der Heizung ändern. Es ist jedoch per terminal möglich, Parameter zu ändern. Das ist aber sehr vorsichtig zu benutzen, da dabei direkt mit der Heizung kommuniziert wird und man dabei auch mehr Schäden anrichten kann.


    Gunther11


    Gut dass deine Visualisierung wieder flüssig läuft, hast du denn mittlerweile herausgefunden was das Problem war? Oder ist die URL zum Broker noch leer bei dir?

  • Hallo,


    wieder Zeitumstellung und wieder passt die Uhrzeit in der GUI nicht.

    An der Heizung stimmt die Uhrzeit.


    Aber welche Uhrzeit ist das überhaupt in der GUI, die 1 Stunde nach geht?


    Fröling Pelletskessel PE1 25 kW, Fröling Hygiene-Solarschichtspeicher H3 850, 4x Buderus Flachkollektor SKN4.0-w


    fraenk for friends Code: MATF103

  • Das ist die Uhrzeit des Kessels, die da angezeigt wird. Leider stimmt die Anzeige nicht, obwohl der Kessel die richtige Uhrzeit hat.


    Fragt man die Uhrzeit in der Konsole ab, kommt schon der falsche Wert, wobei ich nicht weiß, ob der Kessel den falschen Wert liefert, oder P4 das falsch umrechnet.

    Code
    p4 state
    Version: 50.04.05.18
    Time: Sunday, 31. Oct. 2021 09:56:06
    2 - Automatik
    19 - Betriebsbereit

    Am Kessel ist es 10:56 Uhr.

  • Fragt man die Uhrzeit in der Konsole ab, kommt schon der falsche Wert, wobei ich nicht weiß, ob der Kessel den falschen Wert liefert, oder P4 das falsch umrechnet.

    Code
    p4 state
    Version: 50.04.05.18
    Time: Sunday, 31. Oct. 2021 09:56:06
    2 - Automatik
    19 - Betriebsbereit

    Am Kessel ist es 10:56 Uhr.


    Ist bei mir genau so:

    Am Kessel ist es 12:44 Uhr.

    Fröling Pelletskessel PE1 25 kW, Fröling Hygiene-Solarschichtspeicher H3 850, 4x Buderus Flachkollektor SKN4.0-w


    fraenk for friends Code: MATF103

  • Hallo Babelbernd,

    Ok danke für deine Hilfe.

    Kannst du mir die Konsolen Befehle nennen? Oder wo bekommt man die her?

    Ich möchte lediglich folgendes beschreiben

    Gewünschte Vorlauf temp. Bei -10 und + 10

    Heizung Betriebsmodus ( Automatik & Brauchwasser & Ein/Aus)

  • Hallo babelbernd,

    Das Programm läuft flüssig, alles okay. Die Fehler kommen dann, wenn ich Daten an den MQTT-Broker auf dem IOBroker -Rechner sende. Wenn ich die Daten zu fhem sende, gibt es keine Fehlermeldungen.

    Ich mache das, um mal zukünftig meine Heizkreispumpe zu schalten. Ist das per MQTT möglich?

  • Ich möchte lediglich folgendes beschreiben

    Gewünschte Vorlauf temp. Bei -10 und + 10

    Heizung Betriebsmodus ( Automatik & Brauchwasser & Ein/Aus)

    Den Betriebsmodus kann man meines Wissens nicht über P4 ändern.

    Alle über das P4D Servicemenü änderbaren Werte, kann man auch über das Kommandozeilentool p4 abfragen/ändern. Die Eingabe von "p4" alleine zeigt eine Bedienungshilfe. Da sind die Parameter erklärt.


    Beispiel Heizkreis 1 gewünschter Vorlauf bei +10°C Außentemperatur:


    Abfragen:


    Setzen auf 32°C:


    Die Adressen der Parameter kann man einfach auf der Weboberfläche im Servicemenü herausfinden. Wenn man dort einen Parameter ändern will, wird die Adresse angezeigt.

    Das Device ist bei mir ein Serial Port, also bitte nicht über das /dev/ttyS0 wundern.

  • Hallo babelbernd,

    Das Programm läuft flüssig, alles okay. Die Fehler kommen dann, wenn ich Daten an den MQTT-Broker auf dem IOBroker -Rechner sende. Wenn ich die Daten zu fhem sende, gibt es keine Fehlermeldungen.

    Ich mache das, um mal zukünftig meine Heizkreispumpe zu schalten. Ist das per MQTT möglich?

    Wie schon gesagt, ich wüsste nicht dass es per MQTT geht. Via terminal kann man Werte ändern, die heizkreispumpe ein oder ausschalten geht aber auch nur indirekt. Die Pumpe schaltet ja meist ab gewissen Temperaturen ein, diese muss man wenn dann per p4 setp ... setzen.


    Man kann nicht direkt die Pumpe ein- oder ausschalten.


    Gruß Michael

  • Hallo Babelbernd,

    Danke für den Hinweis auf die Temperaturen. Hab jetzt eine Idee wies funktionieren könnte:

    Wenn meine Thermostate Wärme brauchen, setze ich den Wert für "Außentemperatur, unter der die Heizkreispumpe im Heizbetrieb einschaltet" auf 18 Grad.

    Wenn die Thermostate wieder abriegeln und keine Leistung mehr anfordern, dann setz ich diesen Wert auf -15 Grad, was zur Folge hat, daß die Pumpe ausgeht und der Mischer zuregelt.

    Das funktioniert über die Konsole mit diesem Befehl:

    Code
    p4 setp -a 0x50 -v 18  -d


    Jetzt würde ich das natürlich sehr gerne von FHEM aus machen.

    Hab im Loxone-Forum einen Beitrag gefunden, wo jemand den Befehl per PHP-Website auslöst. Das hab ich leider nicht zum Laufen gebracht, da der Pfad zum p4d-Skript nicht richtig ist und ich auch nicht in der Lage bin, den richtigen zu finden.

    Laut dem Artikel geht das so:

    Datei HK.php ins Verzeichnis /var/www/html

    Inhalt der Datei (hex -> dec umgerechnet):

    PHP
    <!DOCTYPE html>
    <html>
    <body>
    <?php
        $result = shell_exec('/p4d/linux-p4d/scripts/setp.sh 80 '.escapeshellarg($_GET["value"]).'')
    ?>
    </body>
    </html>

    Aufruf mit:

    Code
    http://192.168.0.121/HK.php

    1. Wie ist der richtige Pfad?

    2. Geht das oder lässt p4d das nicht zu?

  • Gunther11


    Bei Fhem kann ich dir leider absolut nicht weiterhelfen. Der Pfad zum p4 war glaube ich früher Mal linux-p4d, so wie im oberen Beispiel geschrieben Wie es aktuell aussieht müsste ich selber nachsehen, bin aber aktuell nicht Zuhause.


    Edit: /var/lib/p4


    Gruß Michael

  • Hallo Babelbernd,
    die fhem-Seite bring ich hin, mir fehlt nur der richtige Pfad und Befehl.


    Danke Panzerknacker für die Pfade. Im /usr/bin-Ordner liegen die Programme p4 und p4d. Kann ich die mit dem Link direkt ansprechen?

    Der /etc/p4d/scripts.d-Ordner ist leer.

    Wisst Ihr wie es geht?


    Vielleicht so:

    Code
     $result = shell_exec('/usr/bin/p4/setp.sh 80 '.escapeshellarg($_GET["value"]).'')

Jetzt mitmachen!

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