Beiträge von David92

    Ja das stimmt, theoretisch könnte er da auch nachts saugen wenn der Behälter da leer wird.
    Verschieben und zurücksetzen hab ich allerdings auch eingebaut, damit kannst dann eine Füllung spät genug einstellen sodass es über die Nacht reicht.
    Eine Verhinderung einer Nachfüllung könnte ich allerdings noch einbauen, das stimmt.

    Hallo Meute,


    du musst nicht wissen was Python ist, es reicht einfach das Script herunterzuladen und per cron zu aktivieren.
    Habe hier beschrieben was man machen muss.
    Du hast recht, genau dasselbe habe ich auch erreichen wollen bzw. erreicht.
    Zusätzlich wird noch dafür gesorgt, dass der Behälter gefüllt wird, sobald er unter einen bestimmten Schwellwert fällt.


    Viel Erfolg trotzdem ;)

    Hier die Lösung, wenn bei mosquitto_pub ... die Message Variablen enthält, weil die Variablen sonst nicht aufgelöst werden.


    Erklärt ist die Ursache hier:
    https://www.höllrigl.at/2015/01/die-bash-austricksen/


    Was versuchst du denn zu erreichen?
    In meinem Python-Script das ich sowohl hier als auch im Fröling-Forum gepostet habe kannst du sehen wie es - zumindest in python - funktioniert.
    Was nutzt du denn?

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


    Dann muss man also die Adresse als Dezimalzahl angeben.


    Hat mit mosquitto_pub -t... schon jemand erfolgreich Values in die Anlage geschrieben?
    Ich will mir da nichts zerschiessen.

    Ja, das funktioniert.
    Zur Not einfach den Wert an der Adresse auslesen und merken und zurück setzen, sollte nicht der richtige geändert worden sein.


    Solltest du den Start der Pelletsbefüllung-Wert ändern wollen kann ich dir auf jeden Fall sagen dass das geht ;)

    Hallo alle zusammen,


    nachdem ich seit letztem Jahr einen PE1-Kessel verbaut habe ist mir in meinem ersten Winter aufgefallen, dass dieser gerne auch anfängt zu heizen, wenn der Pelletstand im Behälter der Heizung bei 2% liegt. Was natürlich dafür sorgt, dass nach kurzer Heizphase abgestellt, der Behälter gefüllt und anschließend wieder geheizt wird. In dieser Zeit fällt nicht nur die Puffertemperatur stark ab, es wird zusätzlich einiges an Strom für das doppelte Anheizen verbraucht. Lösungen gibt es hierfür nicht wirklich, das einzige was wirklich hilft ist, direkt nach jedem Heizen den Behälter zu füllen.
    Da das Füllen allerdings recht laut ist und ich mich innerlich weigere, um die 70% des Behälters praktisch ungenutzt zu lassen, war das nicht wirklich eine Lösung.


    Deshalb habe ich auf Basis von horchis p4d ein Python-Script geschrieben, das dieses Problem löst.
    Es überprüft per MQTT den Status der Heizung, sowie den Pelletfüllstand. Daraufhin gibt es 2 Funktionen:

    • Wird erkannt, dass die Heizung nicht heizt (Zustand Betriebsbereit) und der Füllstand unter 35% gefallen ist wird der Pelletbehälter gefüllt.
      Dies geschieht, indem die Zeit bis zur nächsten Füllung auf 5 Minuten in der Zukunft gesetzt wird.
    • Wird gerade geheizt, der Füllstand ist noch ausreichend (über 1%) und die Zeit bis zur nächsten Füllung liegt weniger als 15 Minuten in der Zukunft wird diese Zeit um 30 Minuten verschoben.
      Das verhindert, dass während des heizens zur Füllung des Behälters unterbrochen wird.

    Hat man p4d in Benutzung muss nur ein MQTT-Broker und paho-mqtt installiert werden.


    Alles weitere findet ihr im github-Repository.
    Fragen/Anregungen immer gerne :)


    Vielen Dank an horchi, der mir bei Fragen zur Seite stand!


    Viele Grüße,
    David

    pi@raspberrypi:~ $ p4 menu | grep Partyschalter
    1441) Address: 0x0017, parent: 0x0136, child: 0x0000; 'Partyschalter'
    1443) Address: 0x0102, parent: 0x0136, child: 0x0000; 'Partyschalter'


    Das wäre dann das Output


    Was könnte ich alles Testen? @David92 ?


    Hallo johination,
    der erste Output ist ja die Adresse von oben, das wird der Wert mit der %-Angabe sein. Was auch immer das darstellen soll..


    Was ich mal testen würde, sofern du mosquito installiert und p4d entsprechend eingestellt (hier) hast:
    mosquitto_pub -t "mqtt2p4d/command" -m '{ "command" : "parstore", "address" : 258, "value" : "1" }'


    Dadurch sollte der Partschalter auf 1 gesetzt werden.

    Hallo Jörg,


    erneut danke für deinen Input! Das hat wirklich weitergeholfen!


    Ich habe mich übers Wochenende dran gesetzt und ein Python-Script gebastelt, das folgende Funktionalitäten erfüllt:

    • Wenn nicht geheizt wird (Status = Betriebsbereit) und der Pelletstand unter 35% fällt wird die Startzeit zum Befüllen auf 10 Minuten in der Zukunft gesetzt => Füllung erfolgt sofort
      (Wenn es vor 12 Uhr mittags ist wird die 1. Startzeit bearbeitet, nach 12 die 2.)
    • Wenn geheizt wird (Status = Vorbereitung, Vorwärmen, Zünden oder Heizen) und die Zeit zur nächsten Befüllung (Zeit 1 oder 2) unter 15 Minuten in der Zukunft liegt wird sie auf 30 Minuten in der Zukunft gesetzt.
      Dadurch wird verhindert dass der Kessel während der Heizphase aufhört zu heizen um einen noch genügend gefüllten Behälter zu füllen

    Zusätzlich hab ich ein Reset-Script gebaut, das die Zeiten auf Standard-Zeiten zurücksetzt.


    Die beiden Scripts werden per cron immer wieder aufgerufen (das Hauptscript alle 5 Minuten, der Reset jede Nacht um 5 nach 12)


    Gefunden werden können beide hier: https://github.com/DavidWelsch/p4d_Addon_Scripts


    Bei Fragen, Anregungen, usw. schreibt mir gern eine PN oder kontaktiert mich per github :)

    Hallo Jörg,
    am Freitag kam mein Raspi (Zero W) an, gestern hab ich mich mal dran gemacht deine Software zu installieren und was soll ich sagen? Es hat auf Anhieb alles funktioniert!


    Jetzt würde ich gern an die Umsetzung meiner Idee (Uhrzeit der Pelletbefüllung dynmisch ändern) gehen.
    Da hätte ich eine Frage dazu:
    Wenn ich sudo p4 setp -a xxx -v xxx ausführe muss ich immer bestätigen dass ich sicher bin. Gibt es ein weiteres Flag mit dem ich das unterdrücken kann?
    Oder denkst du es macht mehr Sinn dass meine Anwendung direkt in die Datenbank schreibt?


    Danke und einen schönen Sonntag!
    David

    Ich kenne keine Möglichkeit das über die COM1 zu triggern, ggf den richtigen Ausgang setzen, was aber m.E. nicht unkritisch ist.

    Hm, das ist schade. Was meinst du mit Ausgang setzen? Kann man mit deinem Tool beliebige Digitale Ausgänge schalten?


    Dann würde ich mich mal ran wagen.
    Wie ich mitbekommen hab kann man ja den Betriebsmodus wechseln, dann könnte man ja theoretisch einfach abfragen ob der Kessel heizt, wenn nicht und der Füllstand unter x% ist den Betriebsmodus auf „Aus“, den entsprechenden Ausgang setzen, warten bis voll, Ausgang wieder zurücksetzen, Betriebsmodus auf „Ein“, fertig.


    Allerdings müsste man dann testen ob man mitbekommt wann der Pelletbehälter voll ist, sonst wäre es natürlich doof..


    Edit: Was mir grade noch kommt:
    Kann man den Parameter zur 1./2. Befüllzeit anpassen? Dann könnte man immer beim Übergang zu Betriebsbereit den Füllstand checken und dann die Befüllzeit entsprechend auf 20 Minuten in der Zukunft setzen.


    Den Behälter jedesmal nach der Pufferladung füllen zu lassen würde bei mir theoretisch funktionieren, aber das finde ich übertrieben. Brauche pro Ladung nur etwa 30%. Könnte ich zur Not aber machen, da hast du recht pellet-heizer.

    Hallo an alle, vor allem hallo Jörg.
    Lese schon länger mit und habe jetzt entschieden mir einen Pi zu bestellen und das Ganze mal auszuprobieren!


    Habe nur eine Frage, passenderweise zum Setzen der Parameter:
    Ist es möglich die manuelle Befüllung des Pelletbehälters zu triggern?
    Mein Kessel springt nämlich in letzter Zeit immer bei unter 10% Füllstand an (zum Teil auch bei 0%..) und heizt dann für ein paar Minuten bis er wieder aus geht...


    Vielen Dank schon mal und riesen Respekt vor der Arbeit die da drin steckt, sowie den Support!!