Topic-icon iControl - App für iPad, iPhone und Apple-Watch

Mehr
06 Jun 2015 15:39 - 07 Jun 2015 09:57 #1 von Jürgen
„iControl Web“ – App für iPad, iPhone und neuerdings auch für Apple-Watch

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: https://itunes.apple.com/de/app/icontrol-web/id580659303?mt=8

Homepage von Sebastian Bub: http://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)
Letzte Änderung: 07 Jun 2015 09:57 von Jürgen.
Folgende Benutzer bedankten sich: ansgar75, Andreas

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
07 Jun 2015 11:50 #2 von Jürgen
Hier übrigens noch ein Screenshot meines iPhones mit iControl.

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)
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
07 Jun 2015 15:50 #3 von Ricotchet
Jörgen danke für die Review ich benutze icontrol auch seid kurzem und finde die App sehr gelungen
Was mir fehlt ist die Einbindung der Rückmeldung hat hier schon jemand Erfolg gehabt?

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
07 Jun 2015 16:16 #4 von Jürgen
Das scheint die App leider nicht herzugeben. Aber du hast Recht - genau das würde mir auch noch fehlen.
(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? :cheer:

"The quiter you become the more you are able to hear ..."
(PHC STM V3, EMD, AMD, JRM, Netatmo-Wetterstation - Visualisierung mit OpenHAB)
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
09 Jun 2015 18:36 #5 von Ricotchet
Hast du schon mal gesehen das sich der Status auf der Homepage ändert?
Wir ist die Zuordnung der Module?

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
09 Jun 2015 19:12 #6 von Jürgen
Hallo Ricotchet,

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)
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
10 Jun 2015 00:10 #7 von Ricotchet
Danke das hört sich gut an ich werde es testen.
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.

Mehr
10 Jun 2015 13:32 - 10 Jun 2015 13:35 #8 von Jürgen
Hallo!

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)
Anhänge:
Letzte Änderung: 10 Jun 2015 13:35 von Jürgen.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
17 Jun 2015 11:41 #9 von Fossibaer58809
Fossibaer58809 antwortete auf iControl - App für iPad, iPhone und Apple-Watch
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 ;)

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
17 Jun 2015 14:24 #10 von Andreas

Fossibaer58809 schrieb: 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.

Mehr
18 Jun 2015 22:14 #11 von Jürgen
Ich habe von hier einige Beiträge in die "Visualisierungs-Kategorie" verschoben, da es um OpenHAB-Anbindung von PHC ging.

Die Beiträge sind hier: http://phc-forum.de/index.php/forum/visualisierung/26-entwicklung-eines-phc-bindings-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)
Folgende Benutzer bedankten sich: ansgar75

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
30 Dez 2015 17:39 #12 von Cybernetrunner
Cybernetrunner antwortete auf iControl - App für iPad, iPhone und Apple-Watch
Hallo, ich bin neu hier im Forum und finde dieses echt super, da es mir schon oft bei der Programmierung von meiner Anlage geholfen hat. Danke dafür. Hab nun aber eine Frage. Ich habe hier von IControl Web gelesen, habe aber von den Editor Einträgen keinen blassen Schimmer. Gibt es vielleicht eine Hilfe wie die Programmierung sich aufbaut? Danke schon mal.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Powered by Kunena Forum