PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Passendes WEB Frontend für die Hausautomation



Duesentrieb
25.03.2014, 07:24
Hallo,

ich habe es mittlerweile hinbekommen, meine bisher über CAN betriebene Hausautomation teilweise auf Raspberry Pi umzustellen. Über eine I2C Schnittstelle steure ich Relais und Frage Temperaturen und Zählerstände von Wasser und Strom ab.
Nun möchte ich gerne Web-Frontends in die Rechner schreiben um dort direkt Einstellungen über den Webbrowser vorzunehmen.
Hat jemand eine Idee wie ein solches Frontend über Python realisiert werden kann?
die einzige Idee die mir bisher gekommen ist, ist eine MySQL Datenbank auf die ich über PHP aus d Web und via Python aus dem Raspberry zugreifen kann.
Das müsste aber auch einfacher gehen, oder?

Daniel

Socke
25.03.2014, 12:37
Hallo Duesentrieb,

falls auch Perl in Frage kommt, dann könnte evtl. "FHEM" für Dich interessant sein.
(Ist aber kein reines Web-Frontend.)
Das läuft hervorragend auf dem Raspberry.

Gruß Socke

Duesentrieb
25.03.2014, 14:27
Hallo Socke,
danke für den Hinweis! Über FHEM habe ich mir auch schon einmal Gedanken gemacht.
Da ich aber sehr spezifisch über den Raspberry und seine I2C Schnitttstelle steuere kann ich damit m.E. nichts anfangen.
Gibt es da schon eine Lösung?

Socke
25.03.2014, 19:23
Hallo Duesentrieb,

über FHEM kann man auch selbstgeschriebene Programme und Betriebssystemfunktionen zeitgesteuert oder ereignisgesteuert aufrufen.
Ich steuere z.B. über einen RS232<->CAN - Umsetzer per Raspberry mit FHEM zeitgesteuert meine Rollläden.

Gruß Socke

snafu
19.03.2015, 17:35
Also, ich bin ein Fan von simplen Lösungen (oder vielleicht von Lösungen, die ich noch verstehe :-):
(Das liegt daran, dass ich ein Programmierer mit ganz hervorragenden Google - Kenntnissen bin, hihi)

Mein CAN Bus wird von einem Python script angesprochen. In dem Script laufen allerlei Prozesse, die regelmäßig passieren sollen, Temperaturen loggen usw. Bin ich durch die regelmäßigen Aufgaben in der Schleife durch, suche ich in einem Verzeichnis (des Webservers) nach Dateien *.can.

In denen stehen direkt die Kommandos, die ich auf den Bus schreiben will. Das Script schreibt die dem Alter nach dann raus und löscht die Datei(en).

Die *.can Dateien werden von einem kleinen PHP Script erzeugt, das auf dem Apache Webserver läuft. (remote_control.php)

Für das User-Interface hab ichs mir einfach gemacht, und ein kleines Filebasiertes CMS installiert: CMSimple, das ich schon lange kenne. Da haben die Schaltfunktionen dann einfach Links wie: http://192.168.178.33/rc2/remote_control.php?can=%3Aadhara%20setport%204%201

29976

Noch ein paar extra bits:

SD-Card Abnutzung...: Ich schalte da paar mal am Tag was an und aus, das muss die abkönnen ;)

Antworten vom CAN Bus werte ich derzeit nur innerhalb des Python scripts aus, die über die Files abgesetzten Funktionen werden einfach nur stumpf ausgeführt. Ich plane aber, die Antworten in ebensolchen Files zurückzugeben und via PHP anzuzeigen.

Die Files *.can haben an der Stelle des * einen Unique Identifyer, eine Zufallszeichenfolge.

Ach - und mein CAN bus ist nur auf physikalischem Niveau CAN. Das Protokoll ist Eigenbau (Muss nicht jeder Mensch mal sein eigenes Protokoll geschrieben haben? ;)

viele Grüße und viel Spaß noch
snafu