Android APP

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • RE: Android APP

      So, nun habe ich schon einmal einen kleinen Vorgeschmack für euch.
      Beim Start werden die Räume aufgelistet, klickt man einen Raum wird man in die Raumansicht geleitet und kann dort die Bedienvorgänge wie gewohnt durchführen.
      Es funktionieren schon alle Schaltbaren Elemente, Sensoren und Eingänge. Grafisch muss ich das ganze noch überarbeiten, aktuell stehen erst einmal die Funktionen im Vordergrund.

      Geplante Funktionen für die erste Version:
      • Tablet Ansicht bei der die Raum Liste links angezeigt wird und die Raumansicht rechts daneben
      • in der Tablet Ansicht kommen noch die Icons dazu (ähnlich wie in der normalen Web Ansicht)
      • automatisches Synchronisieren im Hintergrund (jeweils nur der aktuell angezeigte Raum)
      • dauerhaft laufender Service der benachrichtigt (per Notifiaction) wenn ein Schaltserver oder Sensorpunkt nicht mehr erreichbar ist (kann per Einstellung abgewählt werden)
      • ein Benutzer kann in den Einstellungen definiert werden mit dem sich die APP am SHC Anmeldet (wenn leer dann als Gast)

      spätere geplante Features:
      • Benutzer zu Hause Funktion einbinden
      • Remote Support (also die Funktionen des SHC über das Internet bedienen)

      Die App wird sobald sie fertig ist auch im PlayStore Kostenlos zur Verfügung stehen und damit alle Vorzüge in Form von automatischen Updates usw.

      Wenn ihr noch Ideen und Anregungen habt immer raus damit.
      Images
      • shc_app.png

        146.36 kB, 538×1,007, viewed 188 times
      • shc_app1.png

        181.28 kB, 538×1,007, viewed 182 times
    • RE: Android APP

      So langsam nimmt die APP Form an. Ich habe jetzt die Tablet Ansicht soweit funktionsfähig, nur das Aussehen gefällt mir noch nicht 100%.

      Wenn die APP für den Produktiven Einsatz bereit ist wird es auch ein Update für das SHC auf Version 2.2.5 geben welches die APP Schnittstelle mitbringt. Zudem musste ich einige Icons austauschen weil die alten für Android nicht verwertbar waren. -> https://github.com/agent4788/SHC_Framework/milestones/v2.2.5

      Wenn es gut läuft kann ich denke ich die erste Test Version bereit stellen, die dann aber erst einmal nur mit der aktuellen Development Version funktioniert.

      The post was edited 1 time, last by agent47 ().

    • RE: Android APP

      Nun ist es soweit, wer möchte kann die erste Testversion laden und ausprobieren. Ich habe mich auch dazu entschieden auch die Testversion schon im Play Store zu veröffentlichen, daher kann die App ganz einfach geladen werden und ihr werdet über Updates automatisch informiert.

      Im Play Store findet ihr die App mit dem Suchbegriff "SHC" ganz leicht, oder unter folgendem Link: https://play.google.com/store/apps/details?id=de.rpi_controlcenter.shc

      Was geht schon?
      • Smartphone Ansicht
      • Tablet Ansicht
      • automatisches Synchronisieren im Hintergrund

      Was geht noch nicht?
      • Anmelden mit bestimmten Benutzer (aktuell nur als Gast)
      • Notification bei Fehlern (was in der Weboberfläche in der Gelben Meldebox steht)

      Erster Start:
      Wenn ihr die App zum ersten mal startet bekommt ihr die Meldung das dass SHC nicht zu erreichen ist und bekommt angeboten die Konfiguration zu ändern. In der Konfiguration müsst ihr IP, Port und Pfad des Servers angeben, danach kann sich die App mit dem SHC verbinden.

      Voraussetzungen:
      Für die App ist mindestens Android 4.0 oder höher nötig, getestet ist aber alles mit Android 5. Das SHC muss mindestens die aktuelle Developer Version haben, sobald die App fertig ist wird es wie schon erwähnt ein Update auf Version 2.2.5 geben welches dann auch Grundvoraussetzung für die Verwendung der App sein wird.

      Feedback:
      Wenn ihr die App ausprobiert wäre ein Feedback nicht schlecht, das ist meine erste native Android App. Ggf. kann es sein das der Workflow oder das Aussehen noch nicht optimal sind. Solltet ihr abstürze der App haben, dann betätigt bitte den Melden Button. Dadurch bekomme ich in der Play Store Developer Console einen Fehlerbericht mit dem ich das ganze untersuchen kann.
    • RE: Android APP

      dobi wrote:


      was genau muss unter Pfad stehen?
      var/www/shc ??

      habe jetzt folgendes eingetragen:
      IP Adresse 127.0.0.1
      Port 9274
      Pfad var/www/shc
      mein Benutzernamen mit Passwort, bekomme aber keine Verbindung hin.
      Habe Jessie mit SHC 2.2.4 drauf


      agent47 wrote:


      Es muss nur der Pfad rein unterhalb von /var/www in deinem Fall also shc.
      Du musst auf die development Version wechseln, in Version 2.2.4 sind nicht die nötigen Schnittstellen enthalten.


      Hi Agent,

      ich hab die App gestern auch mal geladen und werde in den nächsten Tagen ein wenig testen. Eins direkt vorweg: Die einrichtung hat auf Anhieb funktioniert. Falls noch jemand Interesse zum testen hat, müsst Ihr, wie Agent bereits schrieb, zunächst in den development branch auf git wechseln.

      Source Code

      1. cd /var/www/shc
      2. git checkout development


      anschließend das Update aus dem aktuellen Entwicklungszweig ziehen:

      Source Code

      1. git pull


      Danach wie Agent bereits erklärt hat die Verbindung einrichten. Mir gefällt an der App ganz gut, dass durch die Icons etwas Farbe ins Spiel kommt und man nicht immer mit offenen Tabs im Browser hantieren muss. Ich habe bereits verschiedene Aktivitäten als Elemente im Pie launcher (per ssh und tasker) auf meinem Handy angelegt für Beleuchtung an und aus zu schalten, möchte ich jetzt einfach die ganze Übersicht haben, kann ich schnell die App starten. Sehr praktisch !

      The post was edited 1 time, last by xerox ().

    • Android APP

      Schön das euch die App gefällt. Optisch lässt sich da sicher auch noch einiges machen. Nichts desto trotz würde ich die App in aktuellem Funktionsumfang (mit noch ein paar Fehlerbehebungen) am Wochenende in Version 1.0 freigeben.


      Die Notifications bei Fehlern im SHC (die Gelbe Box auf der Webseite) wird mit Version 1.2 in nicht allzu ferner Zukunft folgen. Die Benutzer Online Funktion folgt dann mit Version 1.4. Diese Funktionen habe ich auf GitHub jetzt auch entsprechend als Milestones erstellt, so das ihr den aktuellen Stand nachverfolgen könnt.

      Aktuell bin ich noch am überlegen ob ich noch ein Widget programmiere, so das man die wichtigsten Funktionen gleich vom Startbildschirm steuern kann.

      Mit der App zusammen wird auch die Version 2.2.5 vom SHC kommen, die noch ein paar kleinere fehlerbehebungen mitbringen wird, aber Vorrangig die neue Schnittstelle für die App. Soweit möglich habe ich auch schon für die geplanten zukünftigen Versionen der App die Schnittstelle ausgelegt, so das nich gleich wieder ein SHC Update her muss wenn es in der App eine neue Funktion gibt.

      Gesendet von meinem SM-T800 mit Tapatalk
    • RE: Android APP

      Die Schnittstelle ist eigentlich einfach gehalten, eine grobe Schnittstellenbeschreibung könnte ich diese Woche noch mit machen. Als welche URL's welche Parameter und was kommt an Daren zurück. Die Ausführliche die theoretisch jeder verstehen kann, in der auch alles im Dateil beschrieben ist dauert aber noch etwas.

      Prinzipjell gibt es 3 Wichtige Schnittstellen:
      • die Auflistung der Räume
      • die Auflistung der Elemente eines Raumes
      • die Synchronisationsdaten eines Raumes

      Zusätzlich gibt es noch für die geplanten Funktionen:
      • die Auflistung der Beuntzer zu Hause mit ID, Name und Status
      • die Auflistung der anstehenden Meldungen (die Gelbe Box auf der Weboberfläche)

      Alles läuft über JSON und HTTP Anfragen.

      The post was edited 1 time, last by agent47 ().

    • RE: Android APP

      Die URL "index.php?app=shc&a&ajax=roomsjson&user=test&password=123456" gibt die Liste mit Räumen zurück.


      Source Code

      1. [
      2.    {
      3.        "id": 6,
      4.        "name": "Wohnzimmer"
      5.    },
      6.    {
      7.        "id": 1,
      8.        "name": "Kinderzimmer"
      9.    },
      10.    {
      11.        "id": 2,
      12.        "name": "Sensoren"
      13.    }
      14. ]
      Display All


      Benutzer und Passwort sind die Zugangsdaten des in der App verwendeten Users, sind diese nicht angegeben wird automatisch die Berechtigung vom Gast verwendet.
      Alle Räume sind automatisch nach ihrer Order ID sortiert.

      Die URL "index.php?app=shc&a&ajax=roomelementsjson&id=1&user=test&password=123456" gibt die Liste mit den Elementen eines Raumes zurück.


      Source Code

      1. [
      2.    {
      3.        "id": 4,
      4.        "name": "Fernsehen",
      5.        "icon": "shc-icon-tv",
      6.        "state": 1,
      7.        "type": "RadioSocket",
      8.        "buttonText": 1
      9.    },
      10.    {
      11.        "id": 5,
      12.        "name": "NAS",
      13.        "icon": "shc-icon-nas",
      14.        "state": 1,
      15.        "type": "Activity",
      16.        "buttonText": 1
      17.    },
      18.    {
      19.        "id": 7,
      20.        "name": "Test Neustart",
      21.        "icon": "",
      22.        "state": 0,
      23.        "type": "Reboot"
      24.    },
      25.    {
      26.        "id": 8,
      27.        "name": "Internet neu Verbinden",
      28.        "icon": "shc-icon-reconnect",
      29.        "state": 1,
      30.        "type": "FritzBox",
      31.        "function": 5
      32.    },
      33.    {
      34.        "type": "Input",
      35.        "id": 10,
      36.        "name": "Test Eingang",
      37.        "state": 1
      38.    },
      39.    {
      40.        "id": 11,
      41.        "name": "Test WOL",
      42.        "icon": "",
      43.        "state": 0,
      44.        "type": "WakeOnLan"
      45.    },
      46.    {
      47.        "id": 3,
      48.        "name": "Countdown",
      49.        "icon": "shc-icon-countdown",
      50.        "state": 1,
      51.        "type": "RadioSocket",
      52.        "buttonText": 1
      53.    }
      54. ]
      Display All


      Source Code

      1. [
      2.    {
      3.        "type": "Box",
      4.        "name": "AVM Steckdosen",
      5.        "elements": [
      6.            {
      7.                "id": "08761 0184476",
      8.                "name": "Sensor-ID-08761 0184476",
      9.                "icon": "shc-icon-avmPowerSensor",
      10.                "type": "AvmMeasuringSocket",
      11.                "temp": "21,8 °C",
      12.                "power": "6,3 W",
      13.                "energy": "45,15 kWh"
      14.            },
      15.            {
      16.                "id": "08761 0174723",
      17.                "name": "Sensor-ID-08761 0174723",
      18.                "icon": "shc-icon-avmPowerSensor",
      19.                "type": "AvmMeasuringSocket",
      20.                "temp": "21,8 °C",
      21.                "power": "125,8 W",
      22.                "energy": "79,67 kWh"
      23.            },
      24.            {
      25.                "id": "08761 0184596",
      26.                "name": "Sensor-ID-08761 0184596",
      27.                "icon": "shc-icon-avmPowerSensor",
      28.                "type": "AvmMeasuringSocket",
      29.                "temp": "21,4 °C",
      30.                "power": "14,7 W",
      31.                "energy": "32,98 kWh"
      32.            }
      33.        ]
      34.    },
      35.    {
      36.        "id": "5",
      37.        "name": "Licht",
      38.        "icon": "shc-icon-ldr",
      39.        "type": "LDR",
      40.        "val": "98%"
      41.    },
      42.    {
      43.        "id": "4",
      44.        "name": "Feuchte",
      45.        "icon": "shc-icon-hygrometer",
      46.        "type": "Hygrometer",
      47.        "val": "50%"
      48.    },
      49.    {
      50.        "id": "3",
      51.        "name": "Regen",
      52.        "icon": "shc-icon-rain",
      53.        "type": "RainSensor",
      54.        "val": "50%"
      55.    },
      56.    {
      57.        "type": "Box",
      58.        "name": "Temperaturen",
      59.        "elements": [
      60.            {
      61.                "id": "1",
      62.                "name": "Test DHT",
      63.                "icon": "shc-icon-dht",
      64.                "type": "DHT",
      65.                "temp": "28,5 °C",
      66.                "hum": "56,8%"
      67.            },
      68.            {
      69.                "id": "28-ab08de9275",
      70.                "name": "Test DS18X20",
      71.                "icon": "shc-icon-ds18x20",
      72.                "type": "DS18x20",
      73.                "temp": "28,5 °C"
      74.            },
      75.            {
      76.                "id": "2",
      77.                "name": "BMP",
      78.                "icon": "shc-icon-bmp",
      79.                "type": "BMP",
      80.                "temp": "28,5 °C",
      81.                "press": "1.011,4 hPa",
      82.                "alti": "340,5m"
      83.            }
      84.        ]
      85.    }
      86. ]
      Display All


      Benutzer und Passwort sind wie bei den Räumen, die ID ist die Raum ID. Wie auch bei den Räumen sind alle Elemente automatisch richtig sortiert.
      Die beide Boxen zeigen einen Querschnitt über alle möglichen Elemente, anhand des Eintrages "type" können die möglichen Elemente unterschieden werden.

      Die URL "index.php?app=shc&a&ajax=roomsyncjson&id=1&user=test&password=123456" gibt die Liste mit den Statusdaten der Elementen eines Raumes zurück.

      Source Code

      1. {
      2.    "success": true,
      3.    "switchables": {
      4. "3": 1,
      5.        "4": 1,
      6.        "5": 1,
      7.        "7": 0
      8.    },
      9.    "wol": {
      10.        "11": 0
      11.    },
      12.    "readables": {
      13.        "10": 1
      14.    },
      15.    "ds18x20": [],
      16.    "dht": [],
      17.    "bmp": [],
      18.    "analog": [],
      19.    "syncAvmPowerSocket": []
      20. }
      Display All


      Source Code

      1. {
      2.    "success": true,
      3.    "switchables": [],
      4.    "wol": [],
      5.    "readables": [],
      6.    "ds18x20": {
      7.        "28-ab08de9275": {
      8.            "temp": "28,5 °C"
      9.        }
      10.    },
      11.    "dht": {
      12.        "1": {
      13.            "temp": "28,5 °C",
      14.            "hum": "56,8%"
      15.        }
      16.    },
      17.    "bmp": {
      18.        "2": {
      19.            "temp": "28,5 °C",
      20.            "press": "1.011,4 hPa",
      21.            "alti": "340,5m"
      22.        }
      23.    },
      24.    "analog": {
      25.        "5": {
      26.            "value": "98%"
      27.        },
      28.        "4": {
      29.            "value": "50%"
      30.        },
      31.        "3": {
      32.            "value": "50%"
      33.        }
      34.    },
      35.    "syncAvmPowerSocket": {
      36.        "08761-0184476": {
      37.            "temp": "21,8 °C",
      38.            "power": "6,3 W",
      39.            "energy": "45,15 kWh"
      40.        },
      41.        "08761-0184596": {
      42.            "temp": "21,4 °C",
      43.            "power": "14,7 W",
      44.            "energy": "32,98 kWh"
      45.        },
      46.        "08761-0174723": {
      47.            "temp": "21,8 °C",
      48.            "power": "125,8 W",
      49.            "energy": "79,67 kWh"
      50.        }
      51.    }
      52. }
      Display All


      Auch hier sind Benutzername und Passwort nötig, zurück bekommst du die aktuelle Statusdaten eines Raumes. Der Index ist jeweils die ID des Elements und die Einträge die jeweiligen Daten.

      Mit diesen 3 Schnittstellen kannst du alles abbilden was die aktuelle Android App kann. Um die Funktionen zu schalten musst du jeweils nur die URL "index.php?app=shc&a&ajax=executeswitchcommand&sid=3&command=0" aufrufen, wobei die ID die Element ID ist und der Command 0 für "aus und "1" für an.

      zurück bekommst du ein JSON String der entweder nur wie folgt aussieht wenn alles i.O. ist:

      Source Code

      1. {
      2.    "success": true
      3. }


      oder im Fehlerfall z.B.:

      Source Code

      1. {
      2.    "success": false,
      3.    "message": "Ungültige ID"
      4. }



      Wenn du noch Fragen hast melde dich einfach. Wie gesagt die Detailtiere Doku in der auch alle Elemente beschrieben sind wird noch etwas dauern, mit ein bisschen Probieren reicht das aber denke ich fürs erste aus. Ich habe mir einfach nach und nach die Elemente erstellt und die Einbindung in der APP Programmiert.

      The post was edited 1 time, last by agent47 ().

    • RE: Android APP

      Die App ist jetzt in Version 1.0.0 im Play Store und auf GitHub -> https://github.com/agent4788/SHC_Android_APP/releases/tag/v1.0.0 verfügbar. Mindestvoraussetzung sind lediglich ein Android Smartphone mit Android 4 oder höher und das SHC mit mindestens Version 2.2.5.

      [IMG:https://developer.android.com/images/brand/de_app_rgb_wo_45.png]

      Für die App gibt es jetzt auch eine eigene Foren Kategorie.

      The post was edited 1 time, last by agent47 ().