Eine kleine WEB-Anwendung

User stellen ihre Haussteuerung vor

Moderator: Co-Administratoren

Antworten
Bruno
Beiträge: 33
Registriert: 30.08.2006, 10:54
Wohnort: BE/Schweiz

Eine kleine WEB-Anwendung

Beitrag von Bruno » 28.02.2007, 19:56

Hallo zusammen,

Ich möchte hier die Gelegenheit nutzen mein kleines Projekt einer WEB-Anwendung kurz vorzustellen.

Ich gehe nicht gross auf die Schalterei und der installierten Komponenten ein.

Wieso kam ich auf FHZ:
Da ich seit bald 7Jahren mit der Lieferfirma der Wärmepumpen Bodenheizung gekämpft habe um diese besser zu steuern, gab ich auf und habe mir eine eigene Lösung überlegt.
Nach längerem recherchieren kam ich auf die FHZ.

Was war mir wichtig:
Da mittlerweilen alle Heizungen in unserem Hause über die FHZ laufen, war mir die Effizienz meines
Programms sehr wichtig. Um dies am besten zu kontrollieren gab es nur eine Lösung und die war, Datenerfassung und das Statistische auswerten!
Da ich ab und zu unterwegs bin wollte ich dies auch aus jeder Ecke der Welt kontrollieren.
Also blieb nur eines übrig, es musste eine WEB-Anwendung her.
Habe dann den Original WEB-Server von Contronics gekauft, musste leider aber sehr schnell feststellen das der für meine Ansprüche nicht ausreichte.

Was habe ich für eine Installation:
Window XPHome / Apache Server / FHZ1300PC/USB mit homeputer Studio
Im Haus wird die WEB-Anwendung mit einem Touchscreen im Erdgeschoss bedient.(http://localhost/..)
(Server ist im Dachgeschoss).
Von Extern wird die Seite über eine DynDns Adresse aufgerufen.
(http://....dyndns.org)

Wie kann man eine WEB-Anwendung erstellen;
Unter der Seite
http://homematic-forum.de/forum/viewtop ... =1587#1587
hat Stefan Hendricks kurz erklärt wie man mittels PHP die Studiosoftware abfragen und steuern kann.

An Hand eines Raumreglerobjekt möchte ich mal einige Möglichkeiten zeigen:
Bild


Nach betätigen des Raumreglerobjekt, erscheint die Schaltzentrale.
Nun hat man die Möglichkeit den Raumregler zu beeinflussen oder die Statistik anzuwählen.
Ich Zeige hier mal die Statistikmöglichkeit.
Bild

Jeder Raumregler hat zwei Statistiktypen.
Verbraucher Statistik / Temperatur und Schalt Statistik
Bild

Hier ein Beispiel der Temperatur und Schaltstatistik.
Bild

Hier ein Beispiel der Verbraucher Statistik.
Bild

Bei mir haben Schalterobjekte immer vier Zustände. Kann mit der WEB-Anwendung schön
dargestellt werden.
Bild

Nachfolgend noch einige Bilder:
Bild

Bild


Fazit:
Die Bedienung der Hausinstallation erfolgt ausschliesslich über die WEB-Anwendung, die Studiosoftware wird nur noch für die Programmierung verwendet.


Hoffe habe euch nicht gelangweilt.

Gruss
Bruno
Zuletzt geändert von Bruno am 01.03.2007, 09:08, insgesamt 1-mal geändert.

theklaus
Beiträge: 3
Registriert: 28.02.2007, 22:17

Beitrag von theklaus » 28.02.2007, 22:24

Hallo Bruno!

Das gefällt mir. Mache gerade mit ähnlicher Konfiguration meine ersten Gehversuch (Frühstadium). Werde mich vielleicht mal bei dir per PN melden.

Gruß
Klaus

Gangerl
Beiträge: 102
Registriert: 21.08.2006, 17:17
Wohnort: Bayern

Beitrag von Gangerl » 14.04.2007, 23:30

Hallo Bruno,

bin begeistert, das brauch ich auch!

Hast Du auch eine Verbrauchsmessung Heizöl, Strom etc. integriert?
Viele Grüße, Gangerl

-------------------------------------------
CCU3, CCU2, FHZ2000, eine tote FHZ1300WLAN, KS300, jede Menge FS20 und FHT80, kein Ende abzusehen und jeden Tag eine neue Idee :-)

Bruno
Beiträge: 33
Registriert: 30.08.2006, 10:54
Wohnort: BE/Schweiz

Beitrag von Bruno » 16.04.2007, 09:51

Hallo Gangerl

Ja ich habe jeden Verbraucher der an der FHZ hängt, auf den Verbrauch
überwacht.
Wir heizen nicht mit Öl, deshalb ist es sehr einfach auch den
Energiebedarf der Heizungen auf den Rp.(Cent) zu ermitteln.

In diesem Winter habe ich nun das erste mal alle Heizungen selbst
gesteuert. Es war zwar schon ein extrem warmer Winter, bin aber
trotzdem überrascht wie wenig Verbrauch wir hatten.
Bei den Original Thermostaten meiner Heizungen war beispielsweise die
Hysterese nicht einstellbar und viel zu gross, die haben manchmal geheizt obwohl es gar
nicht mehr nötig war. Dies kann man jetzt schön selbst Steuern mit
Einbeziehung neuer Möglichkeiten, beispielsweise Tendenz der Assentemperatur oder die direkte Messung der
Bodenplattentemperatur etc..
Muss aber ehrlicherweise zugestehen habe lange gehabt bis ich den
jetzigen Überwachungs und Regelungs-Zustand hatte.(Und der ist
vermutlich noch nicht fertig)
Ich habe mein Haus komplett neu kennengelernt da ich nun auf viele neu
Möglichkeiten reagieren kann.
Aber wie hat jemand mal in diesem Forum so schön gesagt:
Einige haben die Modeleisenbahn und wir haben die FHZ !

Hier die Graphik des gesamten Heizungsverbrauchs für die Monate 10.06-03.07
Bild

Benutzeravatar
Sanys
Beiträge: 270
Registriert: 31.01.2007, 12:29
Wohnort: Wetterau

Beitrag von Sanys » 20.04.2007, 08:37

Hallo Bruno,

Respekt, das sieht alles sehr gut aus. Und war bestimmt auch sehr viel Arbeit.
Was mich interessieren würde: In welcher Form erzeugst Du die Daten, die dann so schön ausgewertet werden? Schreibst Du direkt aus der Studiosoftware Text-Dateien (schreibedatei...) oder über php mit einer Datenbank? Wenn ja, über MySQL (wie hast Du das dann in Studio integriert) oder mit SQLite?.
Und zu welchen Zeiten schreibst Du die Daten. Ich stelle mir das so vor, daß ich z.B. Temperaturen und andere Werte alle in einer Datenbank zusammenfasse, jeweils mit Datum und Uhrzeit, und diese Daten schreibe sobald sie in Studio "ankommen". Also wenn der Tempsensor eine Temperatur meldet wird das Objekt ausgeführt, welches ALLE Daten in die Datenbank schreibt, ebenso könnte man das auch noch Zeitgesteuert machen.
Ich bin mit meiner Steuerung jetzt so weit, das alles so funktioniert wie ich es mir vorstelle, nun möchte ich an die Protokollierung gehen. Der Weg über php mit Auswertung im Browser scheint mir auch der vernünftigste zu sein, denn eine eigene Anwendung ist dann wieder schlecht "ferzusteuern".
Würde mich freuen, wenn Du ein paar Ideen Deines Weges beschreiben könntest.

Vielen Dank schon mal.


Stephan
FHZ 1350PC Prof. mit HomeputerStudio 100224 + Direktsendebefehle à la tsa (v 8.0)
WIN XP Pro SP3 (neuester Stand) + buempi's Minibrowser + etliche fs20+HMS+FHT Komponenten + nie genug Zeit, das alles fertig zu bekommen ;-)

Bruno
Beiträge: 33
Registriert: 30.08.2006, 10:54
Wohnort: BE/Schweiz

Beitrag von Bruno » 20.04.2007, 10:38

Hallo Sanys,

Wie du ja weist führen viele Wege nach Rom,
Ich habe den für mich einfachste Weg gewählt. Ich versuche es mal etwas zu erklären.

Man hat es hier mit einfachen Listen zu tun, und die Verwalte ich prinzipiell nie mit
MySQL, Perfomanc test haben ergeben das solch einfache Listen bei MySQL langsamer sind.
(Aber lassen wir das mal, da sind sicher andere, anderer Meinung. Egal!)

Die Listen-Daten erzeuge ich im Makro des entsprechenden Raumregler

SCHREIBEDATEI("c:\.....","%<DatumNow>,%<Uhr>,%<RaumRegler.Temperatur>,")


Ergibt:

22.03.07,09:58:10,21.0,20.8,
22.03.07,10:00:05,21.0,20.8,
22.03.07,10:02:05,21.0,20.8,


Nun wird es etwas komplizierter, habe mal ein Skizze erstellt wie das bildlich so abläuft.

Bild


Das wichtigste an der Geschichte ist der Server.
Hier habe ich den mit Stefan Hendricks zusammen entwickelte Server(ServerExecStudio)
weiter für meine Bedürfnisse ausgebaut.

PHP Beispiel wie ich den Server anspreche für eine Temperatur Statistik

$resultGetStudio =
GetStudio("TempVonBis: "
.$_SESSION['vondate']." "
.$_SESSION['bisdate']." ".
$_SESSION['tempsenslog'])
or die("<br><b>Fehler beim Einlesen von .$_SESSION['tempsenslog'");

Der Befehl "TempVonBis: " bewirkt das der Server in der obigen erklärten Datei, den
Bereich ausfiltert und in eine Tempdatei zurück schreibt.
Diese wiederum wird von PHP entsprechend ausgewertet und einem PHP-Graphiktool übergeben.

while (!feof($datei)){
$zeile = fgets($datei,1024);
$ZSplitt = explode(",",$zeile);

$ZSplitt[0]...... // Datum
$ZSplitt[1]...... // Uhrzeit
$ZSplitt[2]...... // Temperaturwert
...........
...........
...........
}


Dies könnte man jetzt sicherlich auch ohne Serversoftware Händeln, bin aber kein PHP
Speziallist und habe die Funktionalität dort gebaut wo ich mich besser auskenne.
Da bei mir die ganze Hausinstallation über den Browser läuft, benötige ich sowieso
die Serversoftware.

Gruss
Bruno

Benutzeravatar
Sanys
Beiträge: 270
Registriert: 31.01.2007, 12:29
Wohnort: Wetterau

Beitrag von Sanys » 20.04.2007, 10:59

Danke Bruno für die ausführliche Info.Ich hätte jetzt eine Datenbank bei Dir vermutet, da ich eigentlich der Meinung bin, das wäre schneller und vermutlich eleganter. Aber die schreibedatei aus Studio ist wohl auch fix genug.
Der Rest ist prinzipiel klar, allein die Ausführung ist schleppend, da eben kein Programmierer sondern Autodidakt was php und Studio angeht. Jedenfalls konnt ich bisher meine Probleme lösen und werde mich als übernächstes an diese Servergeschichte wagen. Im Moment programmiere ich gerade so eine Art INI-File für Studio, um mal schnell ein paar Variablen zu lesen und ggf. zu ändern.

Danke nochmal!

Stephan
FHZ 1350PC Prof. mit HomeputerStudio 100224 + Direktsendebefehle à la tsa (v 8.0)
WIN XP Pro SP3 (neuester Stand) + buempi's Minibrowser + etliche fs20+HMS+FHT Komponenten + nie genug Zeit, das alles fertig zu bekommen ;-)

Benutzeravatar
Sanys
Beiträge: 270
Registriert: 31.01.2007, 12:29
Wohnort: Wetterau

Beitrag von Sanys » 06.08.2007, 14:49

Hallo Bruno,

nun habe ich bei mir einen Server installiert und die ersten Gehversuche mit der Studio-Fernsteuerung übers Netz hinter mir. Immerhin kann ich schon Zustände und Variablen abfragen sowie Objekte steuern.
Das ist allerdings noch frühes Entwicklungsstadium, aber ich habe immerhin die Wege herausgefunden, um meine Vorhaben zu realisieren.
Nun wollte ich mich an die grafische Auswertung machen. Dazu beabsichtige ich die JpGraph Erweiterung für php zu verwenden. Damit sollten alle nötigen Diagramm einfach zu erstellen sein. Nun habe ich Deine Beschreibung oben nochmals gelesen. Du schreibst:
Hier habe ich den mit Stefan Hendricks zusammen entwickelte Server(ServerExecStudio)
weiter für meine Bedürfnisse ausgebaut.

PHP Beispiel wie ich den Server anspreche für eine Temperatur Statistik

$resultGetStudio =
GetStudio("TempVonBis: "
.$_SESSION['vondate']." "
.$_SESSION['bisdate']." ".
$_SESSION['tempsenslog'])
or die("<br><b>Fehler beim Einlesen von .$_SESSION['tempsenslog'");

Der Befehl "TempVonBis: " bewirkt das der Server in der obigen erklärten Datei, den
Bereich ausfiltert und in eine Tempdatei zurück schreibt.
Diese wiederum wird von PHP entsprechend ausgewertet und einem PHP-Graphiktool übergeben.
Ist diese Erweiterung in der downloadbaren Version der StudioServerExec enthalten?

Weitere Frage: WO speichere ich die Textfiles am besten ab? Wenn ich mit php vom Server aus direkt zugreifen möchte müssen diese ja im "Web"-Verzeichnis liegen. Bei der o.g. Erweiterung vermute ich irgendowo da, wo auch die Studio-Software läuft. Bei mir stehen die Texte momentan im SPG-Verzeichnis, da ich bei schreibedatei() kein Verzeichnis mit angegeben habe.
Die von Dir genannte Erweiterung ist aber wohl nötig, um nicht immer die ganze Datei zu übertragen (außer die Serversoftware läuft da, wo auch Studio läuft).

Ich würde mich nochmals sehr freuen, wenn Du mir ein paar Tipps geben kannst.

Danke!

Sanys
FHZ 1350PC Prof. mit HomeputerStudio 100224 + Direktsendebefehle à la tsa (v 8.0)
WIN XP Pro SP3 (neuester Stand) + buempi's Minibrowser + etliche fs20+HMS+FHT Komponenten + nie genug Zeit, das alles fertig zu bekommen ;-)

Bruno
Beiträge: 33
Registriert: 30.08.2006, 10:54
Wohnort: BE/Schweiz

Beitrag von Bruno » 06.08.2007, 19:37

Hallo Sanys,

Ja es ist eine Erweiterung zur ServerExecStudio und ist nicht downloadbar! War mehr gedacht für Eigenbedarf.
Kann dir aber die Version und die Umgebung bekannt geben !

Habe übrigens auch JpGraph verwendet. Läuft soweit Ok bis auf einen kleinen BUG in der ipgraph.php. Weiterst nicht schlimm.

Ich versuche mal einen TemperaturSensor von meiner Anwendung zu extrahieren, so siehst du wie ich es gelöst habe.

Schicke Dir ein PN mit meiner E-Mail Adresse, kannst somit deine bekannt geben!

Gruss
Bruno

Bruno
Beiträge: 33
Registriert: 30.08.2006, 10:54
Wohnort: BE/Schweiz

Beitrag von Bruno » 15.10.2007, 20:02

Thema Helligkeitssensor:

Habe einen HMS100 T umgebaut als Helligkeitssensor.
Mal vorweg, bin keine Elektroniker habe die Lösung rein experimentell erzielt !
Also bitte keine allzu grosse Kritik, es funktioniert !

Bild

Den HMS100 T habe ich demontiert und in ein Kunststoffgehäuse eingebaut.
http://www.distrelec.com/ishopWebFront/ ... /is/1.html
(Hmm, etwas teuer, gäbe sicherlich andere Gehäuse!)
Den Transparenten Deckel habe ich mit Schmiergeldtuch etwas untransparenter gemacht.

Und so sieht es auf meiner WEB-Seite aus

Bild


Ich habe den Sensor so eingestellt das er in etwa zwischen 0-70 bewegt!

Bild

Gruss Bruno

Antworten

Zurück zu „Projektvorstellungen“