Diese Software hat am 06.11.2016 die seit demAnfang Oktober 2016 im Heizungskeller laufende Software HSX SG 0.3 abgelöst
Nomenklatur : SG im Namen HSX SG deutet auf ein ScriptGUI Programm hin.
Hardware : Raspi mit PiFace, USB zu 1Wire Interface (LinkUSB)
Betriebssystem : PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)", Version: March 2016, Release date: 2016-03-18, Kernel version:4.1
node.js : v0.10.29
CCU.IO : 1.0.52
OWFS : /usr/lib/owfs/owfs version: 3.1p1, libow version: 3.1p1
owfs.js (CCU.IO Adapter) : 0.3.6
Highcharts : 1.1.4
ScriptGUI : 0.70.1
DashUI : 0.9beta120
SlimUI : 1.0.0
Adapter : owfs, rpi
Basisfunktionalität :
Beschreibung : Diese Regelung funktioniert auch als reine Heizungssteuerung. Der Regelbaustein ist optional, da dieser (noch) sehr individuell ist. Die Anpassung an schwankende Außentemperaturen durch manuelle Eingriffe und Umprogrammierung ist natürlich jederzeit möglich.
DashUI und SlimUI
Es gibt zwei WEB-Masken :
Die DashUI Maske ist nicht als gesonderte Datei gespeichert, sondern in der Datei /opt/ccu.io/datastore/dashui-views.json als Subprogramm enthalten. Neben dem eingebauten grafischen Editor ist diese auch editierbar mit jedem JSON Editor, z.B. per Chrome Erweiterung JSON, oder unter DashUI. Die folgenden Screenshots stammen von einem smarten iPhone. Sie sehen aus wie mühsam programmierte Apps, sind aber nur einfache Links auf dem Homescreen.
e1 :
Die Glühbirne ist als Datenpunkt mit WWanfo verbunden, die Temperaturen zeigen die Warmwasser- und Kesseltemperatur an.
SlimUI Maske e2 (iPhone Screenshot) :
Zusätzlich werden die Laufzeit in Minuten, Temperaturen und Regelparameter angezeigt :
(Bestimme Heizfaktor/Heizdauer)
( ) Regelung scharf
SlimUI Masken sind sehr schlank. Der Aufruf klappt mobil auch mit der Verbindung "E" (Weniger als "3G") ohne Probleme. Das Datum bei jedem Datenpunkt zeigt an, wann dieser Datenpunkt zuletzt einen neuen Wert zugewiesen bekommen hat. Mehr bunter Schnick-Schnack per HTML5 und CSS ist natürlich möglich.
Bei Hinzufügen zum Home-Bildschirms eines iPhone gibt es etwas zu beachten, solange noch an der Maske editiert wird. Der Aufruf für Safari auf dem Home-Bildschirm sollte dann so aussehen : http://hsx01:8080/slimui/e2.htm?reload . Ohne "?reload" werden Änderungen an der Maske im Cache nicht aktualisiert. Es erscheinen alte, schon längst nicht mehr existente Masken. Leider funktioniert "?reload" auch nicht immer. Eventuell muß man zwischendrin in der .htm Datei die Zeile
<meta name="apple-mobile-web-app-capable" content="yes">
mal kurz ersetzen durch
<meta name="apple-mobile-web-app-capable" content="no">
und dann die Seite ein paar Mal mit Safari aufrufen. Nur "Verlauf und Websitedaten löschen" in der Safari Einstellung reicht irgendwie nicht. Wie exakt man den Cache am einfachsten löschen kann, ist noch nicht ganz klar. Es gibt im Netz sehr viel zu dem Thema
"How can I clear the cache of an IOS Web App on the Homescreen?". Viel Spaß beim Stöbern, ;-) .
ScriptGUI Darstellung
heizen.prg : Heizen und Warmwasser Bereitung. Regelmäßig, und per Smartphone/Webbrowser Anforderung. Brenner und Pumpen laufen definierte Zeitspannen
taster.prg : Die Tasten auf dem PiFace des Raspis toggeln die Aggregate
mittel.prg : bildet einen Temperatur-Mittelwert. Es mag wesentlich elegantere Methoden geben, :-)
Alle 72 Minuten wird ein Temperaturwert gespeichert, sodaß über den Tag 20 Werte vorliegen.
Mit dem Mittelwert kann jetzt gearbeitet werden. Eine Division gibt es leider nicht als fertigen Funktionsblock. Der Mittelwert wird dadurch sehr viel handlicher, dass er in einem EXPERT Baustein durch 20 geteilt wird. In den Expert-Baustein kann per JS dividiert werden; es muß nur eine Zeile rein : "out1=in1/20;" . Das Ergebnis sieht dann so aus :
zaehler.prg : erfasst die Laufzeiten von Brenner und Pumpen. Das kann zwar auch aus den Log-Dateien ermittelt werden. So ist das Ganze aber viel komfortabler :
regeln.prg : besorgt die Regelung
Abschalten bei Erreichen der Zieltemperatur : Sobald eine bestimmte Temperatur im Wohnzimmer erreicht ist, wird der Brenner abgeschaltet und die Pumpen laufen noch etwas nach. Das funktioniert einmal pro Tag. Um Mitternacht wird die Abschaltung wieder "scharf" gestellt. Wird diese Automatik nicht gewünscht, wird die "Solltemp" auf einen unrealistisch hohen Wert eingestellt. Diese Code-Schnipsel sind dafür in "heizen.prg" integriert :
Highcharts :
So verhalten sich die Temperaturen der Heizung in Abhängigkeit von der Brennerlaufzeit (PIFACEOUT.OUT0, unterste Kurve). Ausgeblendet sind die Schaltzeiten der Pumpen (OUT1, OUT4, OUT5), die für das "Gewackel" der Kurven verantwortlich sind.
Algorithmus :
Das Studium der Verbräuche im folgenden Diagramm führt zu richtigem Einsatz von Heizenergie. t_BRc ist die durch 10 geteilte Brennerlaufzeit (BR) in Minuten pro Tag. Entsprechend geben t_xxc die Laufzeiten der 3 Pumpen pro Tag an. Der mittlere Sinus zeigt die Wohnzimmertemperatur. Das Maximum der Wohnzimmertemperatur ist abends so gegen 17:00 h, wie gewünscht. Der Temperaturanstieg im Wohnzimmer ist im Wesentlichen abhängig von der mittleren Aussentemperatur und der Laufzeit des Brenners. Die große Schwankung von t_HKc ist auf eine sehr schwankende Benutzung der Heizkörper (HK) im 1.Obergeschoß zurückzuführen.
Langzeitverhalten :
Download der Programme :
Alle nötigen Programme sind bei github abgelegt :
Noch das SG02 : https://github.com/Ekkib/hsxspec/tree/master/hsx_sg_02