Conn-Air Mobile WebApp

Haussteuerung per Smartphone und Tablet

Menu

[Wozu das Ganze?] - [Vorraussetzungen] - [Screenshots] - [History] - [TODO] - [Konfigurationshilfe] - [Installationshilfen WebServer] - [Tipps] - [Danksagung] - [Forum] - [Demo] - [Spenden] - [Download]




Umfragen, News und so weiter ...

Hat einer von euch das ITGW-433 Gateway von Intertechno erfolgreich im Einsatz? Es sollte ja funktionieren, aber laut WebSeite von Intertechno gibt es eine eue Version und es wäre ja interessant zu wissen ob sich etwas geändert hat :-)

Wenn ja schreibt mir doch unter [connair (ätt) l3x.de].



neues Design

letzte UPDATE: 2014-07-13 !!!

Die edit-Funktion kommt noch, aber das ist sehr aufwändig, leider.



Wozu das Ganze?

Die Conn Air ist eine von Simple-Solutions entwickelte Box die die Brücke zwischen Netzwerk und Funk (433 Mhz) schlägt. Somit kann man von einem PC, Tablet oder Smartphone die Steckdosen von Intertechno, Brennenstuhl oder Elro schalten.

Leider wird die Connair nicht mehr hergestellt. Aber das Gateway von brennenstuhl Brematic Home Automation Gateway GWY 433 ist 100% kompatibel. Es scheint die Connair im neuen Gewand zu sein ;-)


Da dies eine WebApp ist (Client und Server) benötigst du einen WebServer mit php Unterstützung.
Ich und viele andere Benutzer verwenden den Apache httpd und das php Addon.
Dieser kann auf einer FRITZBox, einem Raspberry PI oder einem normalen PC mit Windows, Linux oder Mac OS X laufen.
Ich werde hier nach und nach Installations-Vorschläge/Anleitungen veröffentlichen, um denen zu Helfen die dies nich jeden Tag tun ;-)
Für Windows könnt ihr z.B. zu XAMPP greifen.

Die App sollte dank jQueryMobile auf jedem HTML5 fähigen Gerät funktionieren.



Vorraussetzungen



Folgende Hardware/Steckdosen besitze ich:

Simple Solutions
Conn-Air

Intertechno
YCR-1000

Intertechno
ITR-1500



Folgende Steckdosen funktionieren auch (erfolgreich getestet von Benutzern):

ELRO
AB440S

Zhejiang Kanhtai
2603

Brennenstuhl
RCS-1000 N Comfort

Intertechno
PAR-1000

Danke an static77 und PatMo für die Fotos.



Screenshots

Start

Theme: Dunkel

Menü

Favoriten

Geräte

Gruppen

Räume

Timer

Einstellungen

Einstellungen

neues Gerät

neues Gerät

neuen Timer

neuen Timer

Geräte Status

Geräte Status

Geräte Status

Theme: Hell

Menü

Favoriten

Geräte

Gruppen

Räume

Timer

Einstellungen

Einstellungen

neues Gerät

neues Gerät

neuen Timer

neuen Timer



History

Version 0.6.11 (2014-07-13)

Version 0.6.10 (2014-07-13)

Version 0.6.9 (2014-07-06)

Version 0.6.8 (2014-07-06)

Version 0.6.7 (2014-07-06)

Version 0.6.6 (2014-07-05)

Version 0.6.5 (2013-04-11)

Version 0.6.4 (2013-04-01)

Version 0.6.3 (2013-03-27)

Version 0.6.2 (2013-03-24)

Version 0.6.1 (2013-03-16)

Version 0.6.0 (2013-03-16)

Version 0.5.1 (2013-03-09)

Version 0.5.0 (2013-02-27)

Version 0.4.1 (2013-02-16)

Version 0.4 (2013-02-16)

Version 0.3 (2013-02-11)

Version 0.2 (2013-02-08)

Version 0.1.1 (2013-02-06)

Version 0.1 (2013-02-03)



TODO




Konfigurationshilfe

Debugging

Ihr könnt bei Problemen den DebugModus aktivieren und in das dann erstellte debug.log schauen was so passiert.

    <config debug="true">
        ...
    </config>

Globale Einstellungen

Hier werden die globalen Einstellungen von der WebApp vorgenommen.

    <global>
        <timezone>Europe/Berlin</timezone>
        <longitude>9.44858</longitude>
        <latitude>48.64727</latitude>
    </global>

GUI (Graphical User Interface) Einstellungen

Hier kann die funktion der Oberfläche eingestellt werden. Es werden in Zukunft immer mehr Funktionen einstellbar sein.

    <gui>
        <showDeviceStatus>OFF</showDeviceStatus>
        <showRoomButtonInDevices>false</showRoomButtonInDevices>
        <showMenuOnLoad>true</showMenuOnLoad>
        <sortOrderDevices>SORT_BY_NAME</sortOrderDevices>
        <sortOrderGroups>SORT_BY_NAME</sortOrderGroups>
        <sortOrderRooms>SORT_BY_NAME</sortOrderRooms>
        <sortOrderTimers>SORT_BY_TYPE_AND_NAME</sortOrderTimers>
        <theme>LIGHT</theme>
    </gui>

Die Conn-Airs

Der einfachste Part ist der für die Conn-Air[s], einfach mehrere untereinander siehe Beispiel.

INFO: Du brauchst nur soviele connair Blöcke wie du auch Conn-Airs besitzt. Im Beispiel unten sind zwei Stück drin. Wenn du nur eine Conn-Air hast dann schmeiß eine in deiner config.xml raus.

    <connairs>
        <connair>
            <address>192.168.42.3</address>
            <port>49880</port>
        </connair>
        <connair type="itgw">
            <address>192.168.42.4</address>
            <port>49880</port>
        </connair>
    </connairs>

Die CULs

Hier könnt ihr eure CULs bekanntmachen. NUR Linux supported.

INFO: Hast du überhaupt eine CUL? Wenn nicht kann der ganze Block culs aus deiner config.xml raus. Du weißt nicht ob du eine CUL hast? So sieht eine CUL aus --> Wiki vom Hersteller

    <culs>
        <cul>
            <device>/dev/ttyACM0</device>
        </cul>
        <cul>
            <device>/dev/ttyACM1</device>
        </cul>
    </culs>

Die Geräte

    <devices>
        <device buttonLabelOn="AB" buttonLabelOff="AUF">
            <id>1</id>
            <name>Lichterkette Wohnzimmertür</name>
            <vendor>Intertechno</vendor>
            <address>
                <masterdip>M</masterdip>
                <slavedip>2</slavedip>
                <tx433version>1</tx433version>
                <rawCodeOn></rawCodeOn>
                <rawCodeOff></rawCodeOff>
            </address>
            <room>Flur</room>
            <favorite>false</favorite>
        </device>
    </devices>

Die Gruppen

    <groups>
        <group buttonLabelOn="AB" buttonLabelOff="AUF">
            <id>2</id>
            <name>gemütlicher Abend</name>
            <favorite>true</favorite>
            <deviceid onaction="on" offaction="off">1</deviceid>
            <deviceid onaction="off" offaction="none">3</deviceid>
        </group>
    </groups>


Die Timer

Aktuell werden die Timer via Cronjob angestartet. Details dazu unter Tipps.

    <timers debug="true">
        <timer>
            <id>1</id>
            <active>on</active>
            <type>device</type>
            <typeid>1</typeid>
            <day>M______</day>
            <timerOn>SD</timerOn>
            <timerOff>23:59</timerOff>
        </timer>
        <timer>
            <id>2</id>
            <active>off</active>
            <type>group</type>
            <typeid>2</typeid>
            <day>_____SS</day>
            <timerOn offset="-30">SD</timerOn>
            <timerOff>00:30</timerOff>
        </timer>
        <timer>
            <id>3</id>
            <active>on</active>
            <type>room</type>
            <typeid>Flur</typeid>
            <day>MDMDFSS</day>
            <timerOn>19:00</timerOn>
            <timerOff>23:00</timerOff>
        </timer>
    </timers>



Wie bekomme ich den richigen masterdip und slavedip heraus?

Ganz einfach :-)

Intertechno YCR-1000 und YCR-3500

Der Buchstabe ist der masterdip und die Zahl ist der slavedip.

    <devices>
        <device>
            <id>1</id>
            <name>Steckdose</name>
            <vendor>Intertechno</vendor>
            <address>
                <masterdip>A</masterdip>
                <slavedip>2</slavedip>
            </address>
            <room>Raum</room>
            <favorite>false</favorite>
        </device>
    </devices>


Intertechno PAR-1000

Der Buchstabe ist der masterdip und die Zahl 1 bis 3 ist der slavedip.

    <devices>
        <device>
            <id>1</id>
            <name>Steckdose</name>
            <vendor>Intertechno</vendor>
            <address>
                <masterdip>D</masterdip>
                <slavedip>1</slavedip>
            </address>
            <room>Raum</room>
            <favorite>false</favorite>
        </device>
    </devices>


ELRO AB440S

Die Schalter 1 bis 5 sind der masterdip und die Schalter A bis E sind der slavedip.

    <devices>
        <device>
            <id>1</id>
            <name>Steckdose</name>
            <vendor>ELRO</vendor>
            <address>
                <masterdip>11111</masterdip>
                <slavedip>00010</slavedip>
            </address>
            <room>Raum</room>
            <favorite>false</favorite>
        </device>
    </devices>


Zhejiang Kanhtai 2603

Die Schalter 1 bis 5 sind der masterdip und die Schalter 6 bis 10 sind der slavedip.

    <devices>
        <device>
            <id>1</id>
            <name>Steckdose</name>
            <vendor>ELRO</vendor>
            <address>
                <masterdip>10000</masterdip>
                <slavedip>00100</slavedip>
            </address>
            <room>Raum</room>
            <favorite>false</favorite>
        </device>
    </devices>


Intertek 0175926

Die Schalter 1 bis 5 sind der masterdip und die Schalter A bis E sind der slavedip.

    <devices>
        <device>
            <id>1</id>
            <name>Steckdose</name>
            <vendor>Elro</vendor>
            <address>
                <masterdip>11111</masterdip>
                <slavedip>00100</slavedip>
            </address>
            <room>Raum</room>
            <favorite>false</favorite>
        </device>
    </devices>


Brennenstuhl RCS-1000 N Comfort

Die Schalter 1 bis 5 sind der masterdip und die Schalter A bis E sind der slavedip.

    <devices>
        <device>
            <id>1</id>
            <name>Steckdose</name>
            <vendor>Brennenstuhl</vendor>
            <address>
                <masterdip>00011</masterdip>
                <slavedip>01010</slavedip>
                <tx433version>2</tx433version>
            </address>
            <room>Raum</room>
            <favorite>false</favorite>
        </device>
    </devices>



Installationshilfen WebServer

FRITZBox 7390

FRITZBox 7570 7170 7270 7240

Apple TV 2 (ATV2)

Mac OS X

Ubuntu

Windows XAMPP



Tipps

Du hast eine selbst lernenden Funksteckdosen von Intertechno ITR-1500 und kennst den Code nicht?

Einfach ein Device, wie oben beschrieben, anlegen mit z.B. masterdip B und slavedip 1 (kannst auch gerne andere Kombinationen nehmen) und dann die Steckdose in den Lernmodus versetzen (in eine Steckdose stecken) und innerhalb von 5 Sekunden das neu angelegte Device über die WebApp einschalten.. dann hat die Dose auch diesen Code gelernt (maximal 3 Codes möglich) und ist über die Fernbedienung und WebbApp (Conn-Air) erreichbar ..


Du mehrere Connairs und willst diese nutzen?

Du musst diese dann in der config.xml eintragen und jeder Connair eine eigene ID zuweisen

Connairs:
  <connairs>
    <connair>
      <id>1</id>
      <address>192.168.42.3</address>
      <port>49880</port>
    </connair>
    <connair>
      <id>2</id>
      <address>192.168.42.4</address>
      <port>49880</port>
    </connair>
  </connairs>
Devices:
  <devices>
    <device>
      <id>1</id>
        <senderid>1</senderid>
        <name>Lampe Sideboard</name>
        <vendor>intertechno</vendor>
        <address>
          <masterdip>C</masterdip>
          <slavedip>1</slavedip>
          <tx433version>1</tx433version>
        </address>
        <room>Wohnzimmer</room>
        <favorite>true</favorite>
        <status>OFF</status>
    </device>
    <device>
      <id>2</id>
        <senderid>2</senderid>
        <name>Lampe Bett</name>
        <vendor>intertechno</vendor>
        <address>
          <masterdip>C</masterdip>
          <slavedip>2</slavedip>
          <tx433version>1</tx433version>
        </address>
        <room>Schlafzimmer</room>
        <favorite>true</favorite>
        <status>OFF</status>
    </device>
  </devices>
Jetzt wird die "Lampe Sideboard" von der Connair mit der ID 1 geschaltet und die Lampe Bett von der Connair mit der ID 2. Wichitg ist dabei der Tag senderid im device.

Das ganze ist leider noch nicht in der Webapp verdrahtet, da musst du aktuell noch selber hand anlegen. Im Standard werden alle Geräte mit alles Connairs angesprochen.


Du möchtest auch ohne die schöne Oberfläche schalten?

Z.B. könnt ihr via crontab oder script schalten (die id ist durch einen gültigen Wert aus der config.xml zu ersetzen):

Geräte:
curl "http://sun/connair/index.php?action=on&type=device&id=1" 
curl "http://sun/connair/index.php?action=off&type=device&id=1"
Gruppen:
curl "http://sun/connair/index.php?action=on&type=group&id=1" 
curl "http://sun/connair/index.php?action=off&type=group&id=1"
Räume:
curl "http://sun/connair/index.php?action=on&type=room&id=flur" 
curl "http://sun/connair/index.php?action=off&type=room&id=flur"
Alles:
curl "http://sun/connair/index.php?action=allon" 
curl "http://sun/connair/index.php?action=alloff"



Timer schaltet zur falschen Uhrzeit?

Bist du dir sicher das du die richtige Zeitzone in der php.ini eingestellt hast?
Bei mir lieg die php.ini im Ordner /etc/php/apache2-php5.4/php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "Europe/Berlin"
date.default_latitude = 48.64727
date.default_longitude = 9.44858



Achtung: Richtige Rechte für Apache bei der Verwendung eines CULs

Welche Rechte hat das Device?
sun ~ # ls -lha /dev/ttyACM0 
crw-rw---- 1 root uucp 166, 0 16. Feb 22:33 /dev/ttyACM0

Gruppe dem User Apache zuordnen. In meinem Fall die Gruppe "uucp" (Geht natürlich auch händisch über die /etc/groups)
sun ~ # groupmems -g uucp -a apache
Danach am besten neustarten :-)



Du möchtest den Zugriff mit einem Passwort schützen?

Wenn du einen Apache Webserver verwendest kann ich dir da das Thema .htaccess ans Herz legen. Habe ich selbst auch im Einsatz um Zugriffe von außen zu schützen. Zugriffe aus dem Netz zu Hause sind dagegen ohne läßtiges Passwort möglich.
AuthType Basic
AuthName "Conn-Air Mobile WebApp"
AuthUserFile /etc/apache2/htpasswd.users
Require valid-user
Order deny,allow
Deny from all
Allow from 192.168
Satisfy any
Mit dem Befehl htpasswd könnt ihr die users Datei anlegen.
Bei SelfHTML gibt es auch einen guten Artikel dazu: .htaccess - Server-Reaktionen kontrollieren


Einrichten des Crontab-Timers

Um die Timersteuerung zu aktivieren, müsst Ihr noch einen Cronjob / Trigger alle 5 Minuten mit folgenden Link erstellen: http://LinkZurSeite/index.php?timerrun=1
Unter Linux wir meist dazu der Befehl crontab -e benutzt. Jenach dem ob euch wget oder curl zur Verfügung steht hier zwei Beispiele.
*/5 * * * * curl -s -S http://localhost/connair/index.php?timerrun=1 >> /dev/null
*/5 * * * * wget -q http://localhost/connair/index.php?timerrun=1 -O /dev/null >> /dev/null
Wenn der crontab Aufruf nicht auf demselben Server läuft wie der Webserver dann müsst ihr localhost durch den richtige Netzwerknamen oder die IP Adresse ersetzen.
INFO: Die aktuelle Umsetzung verlangt das der Aufruf im 5 Minutentakt ist und nicht jede oder alle zwei Minuten.


Wie kann ich die WebApp debuggen?

Zum einen gibt es den oben beschriebenen debug=true Schalter in der config.xml, zum anderen kann man aber auch eine zweite connair einrichten und mit der IP Adresse des eigenen Rechners versehen. Dann kommen die Befehle auch am PC an und werden in der Console ausgegeben. Hierzu werwendet man netcat.
netcat -l -u -p 49880
INFO: Leider muss nach jedem Empfangen der netcat Befehl erneut gestartet werden :-(

Besser gehts noch mit tcpdump ...
sudo tcpdump -v -q -A -n -i wlan0 udp port 49880



Danksagung

Danke an morsix, perrpf, muckel, manu, vorband, schmiedel, qualidat, olliberlin, ollihamburg, tecxmecx, cyberdev, cinos22, elduffy, static77, carlsan, stromer und den anderen aus dem Forum für die Pionierarbeit und Unterstützung

Forum-Thread:Steuern per Rechner ...
Forum-Thread:Conn-Air Mobile WebApp (iPhone, iPad, Android, PC, ...)



Forum

Das PowerSwitch Team hat ein Forum aufgesetzt und ich habe ein Stück abbekommen. Vielen Dank Jungs.

zum WebApp Forum



Demo

Demo starten



Spenden

Die WebApp ist und bleibt kostenlos für private Anwender. Diese Spende ist freiwillig und man erwirbt dadurch kein Recht auf Support oder Garantie auf Funktion (du kannst auch nach der Installation und wenn du zufrieden bist spenden :), zu gleich ich aber bemüht bin die Anwendung zu pflegen. Aber dies geschieht in meiner Freizeit in der du evtl. gemütlich ein kaltes Bier zischt und aus der Bar zuhause Licht an und aus schaltest. ;-) Würden wir gemeinsam in dieser Bar sitzen würdest du mir vermutlich auch ein Bier spendieren, oder?



Download

Ihr könnt gerne die App privat nutzen und verändern.
Dies geschieht auf eigenes Risiko!

Ich würde mich sehr über Feedback, neue Features und Ideen unter [connair (ätt) l3x.de] freuen.


connair-0.6.11.zip
connair-0.6.10.zip
connair-0.6.9.zip
connair-0.6.8.zip
connair-0.6.7.zip
connair-0.6.6.zip
connair-0.6.5.zip
connair-0.6.4.zip
connair-0.6.3.zip
connair-0.6.2.zip
connair-0.6.1.zip
connair-0.6.0.zip
connair-0.5.1.zip
connair-0.5.0.zip
connair-0.4.1.zip
connair-0.3.zip
connair-0.2.zip
connair-0.1.1.zip


Startseite Impressum