iControl - App für iPad, iPhone und Apple-Watch
- Jürgen
- Autor
- Offline
- Moderator
Hier ein kleiner Erfahrungsbericht über die App iControl Web von Sebastian Bub.
Diese App ermöglicht die Steuerung von beliebigen Geräten über HTTP-Befehle. Somit ist eine Steuerung der PHC-Anlage über die Steuereinheit STM 942 (V3-Steuermodul - über LAN-Schnittstelle) von PEHA. Über dieses Steuermodul könne sämtliche Eingänge über so genannte „Action-URL“ (Beispiel: http://192.168.178.123:80/postEvent.html?action=input&STM=0&MOD=2&CHA=7&EVT=4) angesprochen werden.
Die Konfiguration der App geht über eine JSON-Datei.
Die App generiert eine Beispielkonfiguration (guisample.json), an Hand derer die Anpassung relativ einfach geht. Allerdings ist die JSON-Syntax etwas unübersichtlich. Eventuell ist ein JSON-Editor hier hilfreich.
Die große Kunst ist nach der App-Installation diese JSON-Datei zu finden. Hierzu benötigt man iTunes. Das iPhone oder iPad muss mit iTunes verbunden sein – anschließend wählt man das Gerät aus und geht auf die Auswahl „Apps“ (alles ausführlich ersichtlich in den Screen-Shots im Anhang). Hier scrollt man dann nach unten – dort erscheint der Bereich „Freigabe“. Nun wählt man die App iControl aus und im rechten Fenster sieht man schon die guisample.json. Diese Datei zieht man nun mit der Maus (Drag & Drop) auf den lokalen Rechner, benennt sie um in „gui.json“ und bearbeitet diese mit einem Editor eurer Wahl.
Die neue Konfigurationsdatei wird dann einfach wieder in den Freigabebereich von iTunes hineingezogen. Hier muss natürlich das iPhone oder iPad immer noch mit iTunes verbunden sein, ansonsten fehlt der Freigabebereich! Die Datei wird sofort (manuelles synchronisieren ist nicht notwendig) auf das iPhone/iPad kopiert.
Jetzt kommen wir zum spannenden Teil: Die Konfiguration
Leider reagiert iControl etwas empfindlich, wenn die Syntax (achtet auf die vielen Klammern) nicht stimmt. Bei einem Fehler wird sich iControl nach dem Start einfach kommentarlos wieder schließen. Die Fehlersuche kann dann etwas umständlich werden. Ich empfehle Änderungen schrittweise immer wieder auf das i-Device zu kopieren, um etwaige Fehler frühzeitig zu merken.
Ein kleines Beispiel der gui.json habe ich auch mal angehängt.
Beispiel (Auszug):
{
"pages": [
{
"pageLabel": "Rolladen-Steuerung",
"timeout": 2,
"compactHeight": false,
"_comment": "iPhone: For each page you can set a request timeout (in seconds) and specify if you want a more compact view",
"controls": [
{
"button1": "Heben",
"button2": "Senken",
"cmd1": "http://192.168.178.199:80/postEvent.html?action=input&STM=0&MOD=2&CHA=7&EVT=4",
"cmd2": "http://192.168.178.199:80/postEvent.html?action=input&STM=0&MOD=2&CHA=6&EVT=4",
"headline1": "Wohnzimmer",
"sizeType": "medium"
},
{
"button1": "Stop",
"cmd1": "http://192.168.178.199:80/postEvent.html?action=input&STM=0&MOD=2&CHA=6&EVT=2",
"sizeType": "large"
}
Was mir noch fehlt, wäre die Konfigurationsmerkmale von Farben für die Oberfläche und vielleicht eine bessere Debug-Möglichkeit.
Gruß
Jürgen
Link zur App: itunes.apple.com/de/app/icontrol-web/id580659303?mt=8
Homepage von Sebastian Bub: der-bub.de/
"The quiter you become the more you are able to hear ..."
(PHC STM V3, EMD, AMD, JRM, Netatmo-Wetterstation - Visualisierung mit OpenHAB)
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Jürgen
- Autor
- Offline
- Moderator
Als Endausbaustufe ist geplant für jede Etage eine Seite in iControl abzubilden. Die erste Seite allerdings wird eine zentrale Rolladensteuerung, damit ich endlich abends nicht mehr von Raum zu Raum laufen muss
"The quiter you become the more you are able to hear ..."
(PHC STM V3, EMD, AMD, JRM, Netatmo-Wetterstation - Visualisierung mit OpenHAB)
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Ricotchet
- Offline
- Senior Boarder
- Beiträge: 69
- Dank erhalten: 1
Was mir fehlt ist die Einbindung der Rückmeldung hat hier schon jemand Erfolg gehabt?
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Jürgen
- Autor
- Offline
- Moderator
(Frei nach dem Motto: Haben die Kinder im 1. OG jetzt das Licht ausgemacht oder nicht?)
Speziell im Fall von PHC und der Steuermodul V3 müsste über dessen Homepage der Modulstatus ausgelesen werden (siehe Anhang).
Vielleicht wäre das eine Anregung für den Programmierer Sebastian Bub?
"The quiter you become the more you are able to hear ..."
(PHC STM V3, EMD, AMD, JRM, Netatmo-Wetterstation - Visualisierung mit OpenHAB)
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Ricotchet
- Offline
- Senior Boarder
- Beiträge: 69
- Dank erhalten: 1
Wir ist die Zuordnung der Module?
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Jürgen
- Autor
- Offline
- Moderator
Ja - der Status ist einfach zu erkennen.
Auf der Web-Seite sind sämtliche Eingangs- und Ausgangsmodule aufgelistet. Zuerst kommen alle Eingangsmodule - Bezeichnung beginnend mit "Module 00", "Module 01", usw. - und zwar in der Reihenfolge der Modul-Adressen.
Die Ausgangsmodule folgen dann beginnend mit "Module 40", "Module 41", usw.
Jedes Modul hat die Spalten "Channel", "Input", "Output" und "SimInput" - Klar ist für mich derzeit neben dem Channel nur die Spalte Output (= Signalzustand). Eine Dokuentation hierzu habe ich nicht gefunden.
Im angehängten Beispiel wurde auf dem Ausgangsmodul mit der Adresse 1 (also "Module 41") den Kanal 6 (Licht) geschaltet. Nach dem Einschalten des Lichts steht in der Spalte "Output" eine "1".
Da die Seite ohne jeglichen Grafik-Schnickschnack aufgebaut ist, dürfte ein parsen der Seite eigentlich keine Probleme darstellen.
Hier ein Auszug des HTML-Quelltextes (Kanal 6="1"):
<div style="float:bottom;margin-right:10px;margin-left:10px">
<h2>Module 41</h2><form action="">
<table border="1"><tr><th>Channel</th><th>Input</th><th>Output</th><th>SimInput</th></tr><tr><td>0</td><td>0</td><td>0</td><td>n/a</td></tr>
<tr><td>1</td><td>0</td><td>0</td><td>n/a</td></tr>
<tr><td>2</td><td>0</td><td>0</td><td>n/a</td></tr>
<tr><td>3</td><td>0</td><td>0</td><td>n/a</td></tr>
<tr><td>4</td><td>0</td><td>0</td><td>n/a</td></tr>
<tr><td>5</td><td>0</td><td>0</td><td>n/a</td></tr>
<tr><td>6</td><td>0</td><td>1</td><td>n/a</td></tr>
<tr><td>7</td><td>0</td><td>0</td><td>n/a</td></tr>
<tr><td>8</td><td>0</td><td>0</td><td>n/a</td></tr>
<tr><td>9</td><td>0</td><td>0</td><td>n/a</td></tr>
<tr><td>10</td><td>0</td><td>0</td><td>n/a</td></tr>
<tr><td>11</td><td>0</td><td>0</td><td>n/a</td></tr>
<tr><td>12</td><td>0</td><td>0</td><td>n/a</td></tr>
<tr><td>13</td><td>0</td><td>0</td><td>n/a</td></tr>
<tr><td>14</td><td>0</td><td>0</td><td>n/a</td></tr>
<tr><td>15</td><td>0</td><td>0</td><td>n/a</td></tr>
</table>
</form>
</div>
"The quiter you become the more you are able to hear ..."
(PHC STM V3, EMD, AMD, JRM, Netatmo-Wetterstation - Visualisierung mit OpenHAB)
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Ricotchet
- Offline
- Senior Boarder
- Beiträge: 69
- Dank erhalten: 1
Wenn der Bub das mit aufnimmt dann haben wir alle Möglichkeiten.
Eine andere Art den Status abzufragen ist ja über die Programmiersoftware dazu gibt es rechts neben den Ausgängen eine kleine gelbe Lampe auf blauen Hintergrund jedoch wenn ich da auf Status abrufen klicke passiert nichts ist das bei dir auch so?
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Jürgen
- Autor
- Offline
- Moderator
anstehend eine Antwort von Sebastian Bub. Er wird da voraussichtlich keine entsprechende Anpassung bezüglich "Status auslesen" vornehmen. Dafür werden ein paar andere Features wie 3er-Button oder Mehrfach-Requests kommen:
Hallo,
aktuell unterstützt die App keine Visualisierung in welchem Zustand sich ein Gerät befindet. Das ist eher eine Usability-Entscheidung. Die Chance, dass der Button den falschen Zustand hat ist sehr hoch, sobald man mehr als 1 Gerät mit Haussteuerung verwendet (Frau, Kinder). Die App müsste also aktiv den Status abfragen und die Antwort verstehen/interpretieren. Da man idR keinen Einfluss auf das Format hat, mit dem der Server antwortet, müssten verschiedene Formate explizit unterstützt werden (man könnte dies auch über regexp lösen; allerdings vermute ich, dass damit der Benutzerkreis noch weiter eingeschränkt wird). Da lohnt sich der Aufwand nicht für den zersplitterten Markt bei einer kostenlosen App.
Allerdings entwickle ich die App stetig weiter. Aktuell mit deiner Uhr-Erweiterung. Mehrfach ist die Anfrage nach einem 3-er-Button (für Jalousien/Markisen) an mich herangetragen worden. Das werde ich auch mit einbauen. Ein größeres Redesign steht an. Ggf. mehrfach-requests (Knopf festhalten für zB „lauter“ auf einer Fernbedienung). usw.
Viele Grüße, Sebastian Bub
Über das Thema "Status abfragen" in der Programmiersoftware bin ich auch gestolpert. Wenn du das machst (also rechte Maustaste - Status abfragen), wird aus Deinem Mauszeiger eine "Sanduhr" - richtig?
Das bedeutet lediglich, dass man (bis man mal wieder mit der Maus klickt - oder ESC drückt) in Realtime sämtliche Statusänderungen im oberen Reiter "Befehlshistorie" angezeigt bekommt. Also einfach mal starten und irgendeinen Schalter betätigen der auf diesem Ausgangsmodul eine Aktion auslöst.
Gruß
Jürgen
"The quiter you become the more you are able to hear ..."
(PHC STM V3, EMD, AMD, JRM, Netatmo-Wetterstation - Visualisierung mit OpenHAB)
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Fossibaer58809
- Offline
- Expert Boarder
- Beiträge: 98
- Dank erhalten: 20
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Andreas
- Offline
- Platinum Boarder
- Beiträge: 270
- Dank erhalten: 56
Zur Visualisierung der Eingangs und Ausgang Stati und auch zum Schalten der Ausgänge würde sich ein Server auf Basis eines Raspberry, Arduino usw. anbieten, der das XML-RPC Protokoll zur Komunikation mit den Clients unterstützt. Zur Kommunikation mit den Systemen sollte eine Treibercollection geschaffen werden, die bei Bedarf den/die entsprechenden Treiber dynamisch einbindet. So könnten sogar unterschiedliche Systeme wie z.B. PHC, KNX, LON usw. In einer Visualisierung bedient werden. Ist nur so eine Idee
Genau das ist ja der Ansatz mit OpenHAB - da muss also nichts neu erfunden werden.
Durch die sehr vielen Bindings (Treiber) können die unterschiedlichsten Systeme in einer Visualisierung laufen und auch zusammen agieren. Es fehlt hier nur leider das Binding für PHC.
Mein PHC-Gateway stellt ein Server da, der auf der einen Seite mit OpenHAB über eine Standard-Kommunikation redet (somit musste ich hier kein neues Binding implementieren) und auf der anderen Seite mit der PHC-Steuerung. Ob hier das binäre-Protokoll eingesetzt wird, oder XML-RPC ist dann nur eine Frage der Implementierung. Da ich nur eine V2 habe und der Integrationsserver nur auf Windows läuft, konnte ich nur das binäre Protokoll verwenden.
PHC STM V2, EMD,AMD,JRM und DIM-Module, Wind, Regen und Sonnen-Sensor, Visualisierung mit OpenHAB
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Jürgen
- Autor
- Offline
- Moderator
Die Beiträge sind hier: phc-forum.de/index.php/forum/visualisier...indings-fuer-openhab
Gruß
Jürgen
"The quiter you become the more you are able to hear ..."
(PHC STM V3, EMD, AMD, JRM, Netatmo-Wetterstation - Visualisierung mit OpenHAB)
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Cybernetrunner
- Offline
- Junior Boarder
- Beiträge: 24
- Dank erhalten: 4
Bitte Anmelden oder Registrieren um der Konversation beizutreten.
- Aktuelle Seite:
- Startseite
- Forum
- PHC-Forum
- iControl Web - für iOS und Android
- iControl - App für iPad, iPhone und Apple-Watch