[b][i]WICHTIG:
Im Wiki sind noch viel mehr Screenshots, da man hier nur 10 Dateien anhängen darf!
Link zum Wiki-Tutorial: Ernies Heizungsscript[/i][/b]
Hallo,
ich habe letzte Woche mein IPS und die dazugehörige Heizungssteuerung (HomeMatic CCU + Thermostate und Stellantriebe) in Betrieb genommen.
Da ich auf Anhieb kein Heizungssteuerungs-Script gefunden habe, dass meinen Wünschen entspricht, habe ich kurzerhand gestern ein eigenes geschrieben …
Mir alle Scripte anzuschauen, ob Sie einigermaßen das umsetzen können, was ich davon erwarte, war mir zu aufwendig; mein eigenes Script kenne ich dafür jetzt in und auswendig … Aber ihr dürft gerne etwas zu meinen Überlegungen sagen Es ist ja noch kein Meister vom Himmel gefallen.
Kern-Gedanke für das gesamte Script ist der, ich durch meine Selbstständigkeit oft erst am Tag vorher weiß, ob ich im Büro bin oder nicht. Daraus hat sich für mich als wichtigste Anforderung die ergeben, dass man im nach hinein die An- und Abwesenheit in den einzelnen Räumen sehr einfach über IPS selbst verändern können soll.
Die Featureliste ist aktuell ziemlich kurz, aber ich habe die Scripte so abstrakt gehalten, dass man Sie zum einen noch einfach erweitern kann und zum anderen die Anbindung von weiteren Heizungskomponenten sehr einfach ist.
Grundsätzlich habe ich die Config komplett in das PHP Script gepackt. Dateien oder MySQL war mit zu aufwendig. Von dort wird jeden Tag einmal um 00:01 Uhr der Heizplan für den gestrigen Tag in Zukunft (also 6 Tage vorraus) erstellt. Dies passiert indem das PHP Script IPS-Varibalen inklusive Profil und vordefiniertem Wert dynamisch in der Tages-zugehörigen Kategorie erstellt. Damit kann man individuell die Anwesenheit für die nächsten 7 Tage vorgeben sowie bei Bedarf die Heizung direkt per Dashboard, WebFront oder iFront manuell anschmeisen.
Ein Trigger Script vergleicht die vorgegebenen Wunsch-Werte alle 2 Minuten mit der aktuellen Soll-Werten und passt diese eventuell an.
Feature Liste
[ul]
[li] Dashboard, WebFront und iFront zum einstellen der An-/Abwesenheit zu den verschiedenen Zeiten und Räumen
[/li][li] Abstrakt und Objektorientiert geschrieben - die Implementation für die verschiedenen Heizungssysteme sind in einem Interface gekapselt, dass sich das Script leicht an weitere Komponenten anpassen lässt. Bisher sind implementiert:
[/li][LIST]
[li] HomeMatic
[/li][li] HomeMatic SOLL/IST Vergleich (hier übernimmt IPS und nicht die Wandthermostate die Stellantriebssteuerung)
[/li][li] EinsWire-Wago Kombination
[/li][/ul]
[li] config der Steuerung direkt im PHP Code (siehe ScreenShot)
[/li][li] Variable Zeitprofile:
[/li][ul]
[li] Büro: Morgens (6 bis 12 Uhr) , Mittags (12 bis 18 Uhr) Abends (18 bis 22 Uhr)
[/li][li] Bad: Morgens (6 bis 7 Uhr), Tagsüber (7 bis 22 Uhr), spät Abends (22 bis 24 Uhr)
[/li][li] Abstellkammer: immer gleich
[/li][li] …
[/li][/ul]
[li] Raumprofile (Temperaturprofile)
[/li][ul]
[li] Büro Anwesend: 19 Grad
[/li][li] Büro Abwesend: 16 Grad (damit man es schnell wieder warm bekommt)
[/li][li] Abstellkammer: Immer 12 Grad
[/li][li] …
[/li][/ul]
[li] Standard-Anwesenheit
[/li][ul]
[li] Büro: nie Anwesend
[/li][li] Bad: Morgens und Abends Anwesend
[/li][li] Wohnzimmer: unter der Woche nie Anwesend, am Wochenende immer Anwesend
[/li][li] …
[/li][/ul]
[li] Auslesen von Fensterkontakten zum Absenken der Temperatur bei offenen oder gekippten Fenstern
[/li][li] 7 Tage im Vorraus Profile veränderbar (siehe ScreenShots)
[/li][/LIST]
Gruß,
ernie
Wiki-Tutorial: Ernies Heizungsscript
[UPDATE Revision 3.0 (26.02.2011)]
[ul]
[li] Heizungs-Interface HomeMaticHeizenJaNein hinzugefügt
[/li][li] Heizungs-Interface EinsWireWagoKomponenten hinzugefügt
[/li][li] Erstellung kurzer Namen für Heizplan-Variablen im iFront möglich
[/li][li] zwei verschiedene Variablen-Profile für die Nutzung des iFronts oder WebFronts
[/li][li] SOLL-IST Vergleich zum schalten der Raum Temperatur im Eins-Wire-Wago und HomeMaticHeizenJaNein Interface
[/li][li] Funktion checkAllObjectIDs() hinzugefügt, dass alle definierten Objekt-IDs auf deren Existenz überprüft
[/li][li] GETESTET mit IPS Version v2.30#1832
[/li][/ul]
[/UPDATE 3.0]
[UPDATE Revision 2.2 (09.02.2011)]
[ul]
[li]vergessene aktionsScripte-changeWebFrontVariable.ips.php in die .zip Datei eingefügt
[/li][/ul]
[/UPDATE 2.2]
[UPDATE Revision 2.1 (09.02.2011)]
[ul]
[li]include Fehler in createHeizplanOneWeek.php gefixt
[/li][li]vergessene debugger.php Klasse in die .zip Datei eingefügt
[/li][/ul]
[/UPDATE 2.1]
[UPDATE Revision 2.0 (02.12.2010)]
Nachdem die Bilder im Wiki nun stehen, habe ich endlich die Doku und die neue Version (Revision 2) online gestelllt Wer fragen hat, einfach hier melden.
[/UPDATE 2.0]
2010.11.06 - ernies heizungssteuerung (version 0.02).zip (10.7 KB)
erniesHeizungssteuerung_revision02.zip (13 KB)
erniesHeizungssteuerung_revision_2.2_version0.09b.zip (16.4 KB)
erniesHeizungssteuerung_revision_3.0_version0.16.zip (19.8 KB)