Hallo,
in einem sehr frühen Stadium möchte ich mein IPSLibrary-Projekt „HeatingControl“ kurz vorstellen. Die Software soll die vollständige Steuerung meiner Heizungsanlage übernehmen.
Die Software soll – nach Fertigstellung – folgende Aufgaben erfüllen:
[ol]
[li] Visualisierung der Heizungsanlage mit Statusinformationen, wie Temperaturen, Pumpe läuft, Soll- und Ist-Werte, etc.[/li][li] Steuerung aller Heizungskomponenten, wie Mischer, Pumpen, Temperaturen der Heizkreise, Steuerung des Heizkessels und der Solaranlage, Einbinden von Wetterdaten, Bedarfsinformationen, etc.[/li][/ol]
Die Software ist modular aufgebaut. Es können beliebige Komponenten definiert werden. Die Komponenten haben Verbindungen nach außen (Wasser, Steuerung, Temperaturinformationen, etc.). Mit Hilfe der Verbindungen (Connector) können die Komponenten miteinander verschaltet werden.
Die Komponenten lassen sich weiterhin in Gruppen zusammenfassen. Pro Gruppe (oder Komponente) kann eine Steuerungslogik definiert werden. Zusätzlich ist eine zentrale Steuerungslogik sinnvoll.
Aktuell habe ich mich fast ausschließlich mit der Visualisierung des Heizungsplans beschäftigt. Als Ausgabe-Format habe ich SVG gewählt. Die Komponenten werden hierbei automatisch in der Bilddatei platziert und die Verbindungen mittels A-Star Pathfinder automatisch berechnet. Die Berechnung der Verbindungslinien ist leider sehr zeitaufwendig (aktuell für meinen unfertigen Heizungsplan 12 Sekunden). Dies spielt aber produktiv keine Rolle, da der Heizungsplan sich nach Fertigstellung ja nicht mehr ändert und die berechneten Verbindungen in eine Cache-Datei serialisiert werden können.
Anbei die aktuelle Grafik meines Heizungsplans:
Anbei der aktuelle Softwarestand als RAR-Datei. Das Verzeichnis „HeatingControl“ muss in den Ordner „<Pfad zu IP-Symcon>\scripts\IPSLibrary\app\modules\“ kopiert werden. Das Script („test.php“) zum Testen liegt direkt im Ordner „HeatingControl“. Gegebenenfalls müssen die Variablennamen angepasst werden.
Bitte beachtet: Die Software ist bei weitem nicht fertig und kann im Moment max. zu Visualisierungszwecken für kleinere Systeme eingesetzt werden. Ich muss sicherlich noch einige 100 Stunden investieren bis man die Software produktiv einsetzen kann. Auf Grund meines dauerhaft akuten Zeitmangels ist dies nicht immer einfach. Eine erste produktive Version würde ich gerne bis zur nächsten Heizperiode fertig haben.
Aktuell umfasst das Projekt 165 Dateien und ca. 1 MB Sourcecode. Als Entwicklungsumgebung verwende ich „Visual Studio 2013“ (da ich sonst nur .NET-Software schreibe) zusammen mit „PHP Tools for Visual Studio“ und Resharper. Die Kommunikation zu IP-Sysmcon erfolgt mit Hilfe des „ips_wrapper.php“-Scripts.
Auf Grund des Zeitmangels würde ich gerne andere Entwickler mit ins Boot nehmen, die sich an dem Projekt beteiligen möchten. Insbesondere für Aufgaben um die ich mich nicht kümmern müsste, wenn ich das Projekt nur für mich alleine realisiere wäre dies hilfreich.
Hier ein paar Aufgaben, die ich gerne abgeben möchte:
a) Alles was mit der „IPSLibrary“ zu tun hat und sonstige administrative Aufgaben, wie:
[ul]
[li] Kommunikation mit den Verantwortlichen für die „IPSLibrary“.[/li][li] Github-Repository-Integration und Sourcecontrol-Verwaltung und Versions Handling.[/li][li] Erstellen der Installationsscripte[/li][/ul]
b) Alles was mit der GUI-Integration in IP-Symcon und IPSLibary zu tun hat.
[ul]
[li] Masken zur Darstellung der Modulkomponenten[/li][li] Designer zur Zusammenstellung des Heizungsplans[/li][li] etc.[/li][/ul]
c) Entwicklung von zusätzlich Komponenten und Komponentengruppen
[ul]
[li] GUI der jeweiligen Komponente[/li][li] Steuerung[/li][li] Eventuell Hardwareanbindung[/li][li] Dokumentation, etc.[/li][/ul]
d) Alles was mit Hardware zu tun hat
[ul]
[li] Welche Hardware benötige ich zum Ansteuern von Relays, Mischern, des Heizungskessels, etc.[/li][li] etc.[/li][/ul]
e) Weitere Aufgaben???
Bitte meldet Euch bei Interesse!!!
Grüße
Eisi2003
HeatingControl.rar (306 KB)