Hallo,
ich habe eine Frage zum http Binding
Ich betreibe seit mehr als 10 Jahren eine selbstentwickelte Haussteuerung auf CAN-Bus Basis (wer mehr dazu wissen will, möge bis zum Ende lesen).
"Damals" wollte ich noch Touch Bedienteile Unterputz in die Räume einbauen, basierend auf Modulen mit Windows CE. Zum Glück bin ich auch damals nie dazu gekommen, das anzufangen. :-) Dann ist es aus Zeitgründen um das Frontend ruhig geworden.
Seit ungefähr 5 Jahren soll es nun ein Web basiertes Frontend werden. Dazu habe ich auch schon mal mit jquery mobile gespielt. Wenn ich doch nur mehr Zeit hätte...
Umsetzen wollte ich das auf einem Cortex-M3 µController mit CAN und Ethernetschnittstelle, weil ich dafür alle nötigen Zutaten in der Firma haben. Dort laufen auch schon einige Kundenprojekte, wo direkt ein Web-Server auf der Steuerung läuft. Das "kann" ich also. Von Linux habe ich keine Ahnung, die über das Aufsetzen vom raspberry PI für XBMC/KODI und Enigma2 basierten Sat-Receivern hinausgeht. Aktuell haben nun alle Familienmitglieder ein Smartphone und ich will das Thema mal zum Abschluss bringen (oder zu einem neuen Anfang).
Nach langer Zeit habe ich letzte Woche also mal wieder auf die openHAB Homepage geschaut und bin der Meinung, dass ich damit nun relativ schnell zum Erfolg kommen sollte, da so ziemlich alles da ist, was ich brauche, es dort eine tolle Regel Engine gibt und eine Eigententwicklung eigentlich keinen Sinn mehr macht.
Für meine Steuerung würde ich dann ein LAN-CAN Gateway mit einer REST API programmieren, so dass ich oH per http binden kann. Kommandos und Responses habe ich ja komplett selbst in der Hand.
Dummerweise habe ich da allerdings noch ein Verständnisproblem, welches sich auch durch intensives Wühlen in der Doku nicht gelöst hat:
Nehmen wir ein einfaches Relais.
Ein-/Ausschalten kann ich das durch ein passendes GET oder POST Kommando.
Nur - was erwartet oH dann als Antwort auf dieses GET/POST im Body? Oder ist das egal?
Wie bekomme ich den Status der Aktoren zu oH?
Ich hatte mir das eigentlich so vorgestellt:
Kommandos schicken per GET oder POST - Antwort wichtig?
Status lesen aller Aktoren/Kontakte per Caching über EINE XML Datei, z.B. so:
<relais1>ON<\relais1> oder auch <relais1>1<\relais1>
<relais2>OFF<\relais2> oder auch <relais2>0<\relais2>
<dimmer1>0<\dimmer1>
<dimmer2>75<\dimmer2>
<contact1>0<\contact1> oder 1,2 oder closed, open, kipp oder was auch immer
usw.
Nur wie bekomme ich dann die Zuordnung zu meinen Items hin?
Im englischen Wiki ist nur "Befehl out" oder "Status in" beschrieben - oder ich verstehe es falsch.
Hat da evtl. jemand ein einfaches Beispiel für mich? Danke! Denke, ich habe da aktuell einfach nur ein Brett vor dem Kopf.
Dirk
Hier für alle die mehr wissen wollen:
Ich bin ausgebildeter Radio und Fernsehtechniker und Dipl.Ing.f.Nachrichtentechnik und seit fast 20J in der Hard- und Softwareentwicklung von Industrieelektronik tätig.
Es gibt in fast jedem Raum unseres Einfamilienhauses eine ca. DIN A4 große selbst entwickelte Leiterplatte in einem Unterputzkasten. Diese enthält:
- 9 Eingänge für (Licht-)Taster - Habe in jedem Raum einen Doppeltaster (2 Wippen je auf/ab = 4 Taster) neben den Türen - diese sind mehrfach belegt, siehe unten
- 9 Relais für bis zu 9 geschaltete Ausgänge oder alternativ 3 Ausgänge und 3x Rollo auf/ab (oder irgendwas dazwischen)
- 3 Dimmerausgänge Phasenanschnitt (leider für LED nicht mehr ganz zeitgemäß - müsste heute Phasenabschnitt rein...)
- 4x4 Tastenmatrix für bis zu 16 Dioden entkoppelte Kontakte an Türen und Fenster (alle Fenster verfügen über zwei Reedkontakte mit zu/auf/kipp Erkennung, alle Außen- UND Innentüren (wenn schon, denn schon) über einen Kontakt zur auf/zu Erkennung, dann gibt es noch zwei Regensensoren auf dem Dach und je ein bisher nicht angeschlossenes Kabel im Briefkasten, Regenwassersteuerung und Heizung.
- Es liegt von den Modulen ein 7x 1,5 Stromkabel einmal rundum im Raum, mit einer Dauerphase und vier geschalteten Adern. Es sind tiefe Unterputzdosen verbaut. So kann ich auch nachträglich leicht eine Dose schaltbar machen, oder eben wieder auf Dauerphase legen.
- CAN Bus der Module untereinander, Protokoll angelehnt an das www.canathome.de Projekt - das passte damals und ich musste nicht drüber nachdenken.
- PC mit VB 6.0 Software zur Konfiguration, jeder Taster hat die Aktionen 1x,2x, 3x, 4x 5x, tasten und "halten". Jedem Aktor sind nun beliebig über die PC Software die Taster zuzuordnen.
Folgende Aktionen und Regeln sind aus dem System heraus aktuell steuerbar:
Mit 1x tasten werden üblicherweise die Relais und Dimmer ein/ausgeschaltet, mit 2x die Rollos auf/ab gefahren, mit 3x selten benutze Funktionen geschaltet und mit "halten" gedimmt. 4-5x tasten benutze ich kaum, nur im Flur für "alles aus". Mit den Tür/Fensterkontakten kann man auch eben solche Aktionen auslösen. So geht in der Abstellkammer das Licht an, wenn man die Tür öffnet und wieder aus, wenn man sie schließt (wie im Kühlschrank).
Wenn man ein Fenster auf Kipp stellt und das Rollo ist ganz runter, so fährt es so weit auf, bis die Lammellen "auf Lüftung stehen".
Den Aktoren kann man bei Bedarf noch eine max. Einschaltdauer mitgeben, damit das Licht in der Waschküche nicht ewig brennt. Auf Wunsch auch mit einer Vorwarnung. So flackert das Licht 2x 30sec (einstellbar) bevor es ausgeht.
Zeitschaltuhrfunktion (aktuell nur über den PC) für den ganzen Weihnachtsnippes, entweder zu festen Zeiten oder Sonnenauf-/Untergang +/- Zeit x
Aktuell sind 16 Module im 2005 gebauten EFH verbaut. Seit jeher träume ich von einem web Frontend mit zusätzlichen Regeln, hatte aber nie die Zeit das umzusetzen (Frau, Kinder und nun auch noch ein Hund...).
ich habe eine Frage zum http Binding
Ich betreibe seit mehr als 10 Jahren eine selbstentwickelte Haussteuerung auf CAN-Bus Basis (wer mehr dazu wissen will, möge bis zum Ende lesen).
"Damals" wollte ich noch Touch Bedienteile Unterputz in die Räume einbauen, basierend auf Modulen mit Windows CE. Zum Glück bin ich auch damals nie dazu gekommen, das anzufangen. :-) Dann ist es aus Zeitgründen um das Frontend ruhig geworden.
Seit ungefähr 5 Jahren soll es nun ein Web basiertes Frontend werden. Dazu habe ich auch schon mal mit jquery mobile gespielt. Wenn ich doch nur mehr Zeit hätte...
Umsetzen wollte ich das auf einem Cortex-M3 µController mit CAN und Ethernetschnittstelle, weil ich dafür alle nötigen Zutaten in der Firma haben. Dort laufen auch schon einige Kundenprojekte, wo direkt ein Web-Server auf der Steuerung läuft. Das "kann" ich also. Von Linux habe ich keine Ahnung, die über das Aufsetzen vom raspberry PI für XBMC/KODI und Enigma2 basierten Sat-Receivern hinausgeht. Aktuell haben nun alle Familienmitglieder ein Smartphone und ich will das Thema mal zum Abschluss bringen (oder zu einem neuen Anfang).
Nach langer Zeit habe ich letzte Woche also mal wieder auf die openHAB Homepage geschaut und bin der Meinung, dass ich damit nun relativ schnell zum Erfolg kommen sollte, da so ziemlich alles da ist, was ich brauche, es dort eine tolle Regel Engine gibt und eine Eigententwicklung eigentlich keinen Sinn mehr macht.
Für meine Steuerung würde ich dann ein LAN-CAN Gateway mit einer REST API programmieren, so dass ich oH per http binden kann. Kommandos und Responses habe ich ja komplett selbst in der Hand.
Dummerweise habe ich da allerdings noch ein Verständnisproblem, welches sich auch durch intensives Wühlen in der Doku nicht gelöst hat:
Nehmen wir ein einfaches Relais.
Ein-/Ausschalten kann ich das durch ein passendes GET oder POST Kommando.
Nur - was erwartet oH dann als Antwort auf dieses GET/POST im Body? Oder ist das egal?
Wie bekomme ich den Status der Aktoren zu oH?
Ich hatte mir das eigentlich so vorgestellt:
Kommandos schicken per GET oder POST - Antwort wichtig?
Status lesen aller Aktoren/Kontakte per Caching über EINE XML Datei, z.B. so:
<relais1>ON<\relais1> oder auch <relais1>1<\relais1>
<relais2>OFF<\relais2> oder auch <relais2>0<\relais2>
<dimmer1>0<\dimmer1>
<dimmer2>75<\dimmer2>
<contact1>0<\contact1> oder 1,2 oder closed, open, kipp oder was auch immer
usw.
Nur wie bekomme ich dann die Zuordnung zu meinen Items hin?
Im englischen Wiki ist nur "Befehl out" oder "Status in" beschrieben - oder ich verstehe es falsch.
Hat da evtl. jemand ein einfaches Beispiel für mich? Danke! Denke, ich habe da aktuell einfach nur ein Brett vor dem Kopf.
Dirk
Hier für alle die mehr wissen wollen:
Ich bin ausgebildeter Radio und Fernsehtechniker und Dipl.Ing.f.Nachrichtentechnik und seit fast 20J in der Hard- und Softwareentwicklung von Industrieelektronik tätig.
Es gibt in fast jedem Raum unseres Einfamilienhauses eine ca. DIN A4 große selbst entwickelte Leiterplatte in einem Unterputzkasten. Diese enthält:
- 9 Eingänge für (Licht-)Taster - Habe in jedem Raum einen Doppeltaster (2 Wippen je auf/ab = 4 Taster) neben den Türen - diese sind mehrfach belegt, siehe unten
- 9 Relais für bis zu 9 geschaltete Ausgänge oder alternativ 3 Ausgänge und 3x Rollo auf/ab (oder irgendwas dazwischen)
- 3 Dimmerausgänge Phasenanschnitt (leider für LED nicht mehr ganz zeitgemäß - müsste heute Phasenabschnitt rein...)
- 4x4 Tastenmatrix für bis zu 16 Dioden entkoppelte Kontakte an Türen und Fenster (alle Fenster verfügen über zwei Reedkontakte mit zu/auf/kipp Erkennung, alle Außen- UND Innentüren (wenn schon, denn schon) über einen Kontakt zur auf/zu Erkennung, dann gibt es noch zwei Regensensoren auf dem Dach und je ein bisher nicht angeschlossenes Kabel im Briefkasten, Regenwassersteuerung und Heizung.
- Es liegt von den Modulen ein 7x 1,5 Stromkabel einmal rundum im Raum, mit einer Dauerphase und vier geschalteten Adern. Es sind tiefe Unterputzdosen verbaut. So kann ich auch nachträglich leicht eine Dose schaltbar machen, oder eben wieder auf Dauerphase legen.
- CAN Bus der Module untereinander, Protokoll angelehnt an das www.canathome.de Projekt - das passte damals und ich musste nicht drüber nachdenken.
- PC mit VB 6.0 Software zur Konfiguration, jeder Taster hat die Aktionen 1x,2x, 3x, 4x 5x, tasten und "halten". Jedem Aktor sind nun beliebig über die PC Software die Taster zuzuordnen.
Folgende Aktionen und Regeln sind aus dem System heraus aktuell steuerbar:
Mit 1x tasten werden üblicherweise die Relais und Dimmer ein/ausgeschaltet, mit 2x die Rollos auf/ab gefahren, mit 3x selten benutze Funktionen geschaltet und mit "halten" gedimmt. 4-5x tasten benutze ich kaum, nur im Flur für "alles aus". Mit den Tür/Fensterkontakten kann man auch eben solche Aktionen auslösen. So geht in der Abstellkammer das Licht an, wenn man die Tür öffnet und wieder aus, wenn man sie schließt (wie im Kühlschrank).
Wenn man ein Fenster auf Kipp stellt und das Rollo ist ganz runter, so fährt es so weit auf, bis die Lammellen "auf Lüftung stehen".
Den Aktoren kann man bei Bedarf noch eine max. Einschaltdauer mitgeben, damit das Licht in der Waschküche nicht ewig brennt. Auf Wunsch auch mit einer Vorwarnung. So flackert das Licht 2x 30sec (einstellbar) bevor es ausgeht.
Zeitschaltuhrfunktion (aktuell nur über den PC) für den ganzen Weihnachtsnippes, entweder zu festen Zeiten oder Sonnenauf-/Untergang +/- Zeit x
Aktuell sind 16 Module im 2005 gebauten EFH verbaut. Seit jeher träume ich von einem web Frontend mit zusätzlichen Regeln, hatte aber nie die Zeit das umzusetzen (Frau, Kinder und nun auch noch ein Hund...).