Autor Thema: HomePlus - Hybrid frontend mobile-app UI-Framework (Android, iOS, Web)  (Gelesen 17731 mal)

Offline Real-TTX

  • Full Member
  • ***
  • Beiträge: 141
Hallo Zusammen,

bin aktuell dran eine Cross-Plattform App für FHEM zu bauen.

Ich habe für mich eine Lösung gesucht, welche die ganzen "komplizierten" Namen von Geräten, Channels, Readings versteckt. Einfach zu bedienen ist und auf jedem Gerät gleich aussieht. Egal ob Tablet, Handy oder am PC.

Die einfache Konfiguration in FHEM direkt über das eigentliche Gerät oder mit einem "dummy" Device - Alle Parameter sind frei konfigurierbar: Wie werden Daten von FHEM gelesen? Wie werden sie wieder abgeschickt?

Aktuelle Funktionen:
HTTP
HTTPS
BASIC AUTH
Autoupdate
Favoriten (Lokal)
Anzeigeberechtigung über Bit-Vergleich

Aktuelle Home-Expressions: (s. Screenshot "FHEM - Gerät-Konfiguration" - Ausdruck zur Manipulation bei lesen und schreiben von Werten)
IF
REGEX
REGEX-REPLACE
REPLACE
TEXT
DEVICE
DEVICE-READING-VALUE
DEVICE-READING-TIME
DEVICE-INTERNAL
MATH
MATH-ROUND

Aktuelle Controls:
GROUP
SWITCH
SWITCH-RANGE
RANGE
THERMOSTAT
LABEL
LABEL-VALUE
LABEL-VALUE-LIST
LABEL-BUTTON
LABEL-BUTTON-LIST
TEXT
TEXTBOX
TEXTBOX-BUTTON
BUTTON
BUTTON-BAR
COLOR-PICKER
DROPDOWN-LIST
RADIO-BUTTON-LIST
PROGRESS

Screenshots
http://homeplus.risx.de/Images/Screenshot_Room.png (App - Raum)
http://homeplus.risx.de/Images/Screenshot_Navigation.png (App - Menü)
http://homeplus.risx.de/Images/Screenshot_Device.png (App - Gerät)
http://homeplus.risx.de/Images/Screenshot_Web.png (App - Web)
http://homeplus.risx.de/Images/Screenshot_FHEM_Config.png (FHEM - Gerät-Konfiguration)

Dokumentation
http://homeplus.risx.de/Docs.aspx?Category=Default&Item=Installation

Download
http://homeplus.risx.de/Download.aspx

Erste Schritte
http://homeplus.risx.de/Install.aspx

Aktuelle Änderungen:
http://homeplus.risx.de/Changelog.aspx

« Letzte Änderung: 10 März 2017, 20:24:22 von Real-TTX »
Server: 3x Supermicro A1SAi-2750F, FHEM @ Debian-VM
Bandwidth: 800 Mbit / 100 Mbit, Failover LTE
Homematic: 2x HM-MOD-RPI-PCB (via Pi3 socat)
Z-Wave: Z-Wave.Me USB Stick (via Pi3 socat)
RFXTrx: RFXCom (via Pi3 socat)
Gefällt mir Gefällt mir x 2 Liste anzeigen

Offline Real-TTX

  • Full Member
  • ***
  • Beiträge: 141
Antw:Home+ - Android,iOS,Web FHEM App
« Antwort #1 am: 24 November 2016, 00:58:59 »
@Mods: Habe es irgendwie geschafft die - IMHO - falsche Kategorie auszuwählen. Sollte doch lieber in "Mobile Devices"...  ::)
Server: 3x Supermicro A1SAi-2750F, FHEM @ Debian-VM
Bandwidth: 800 Mbit / 100 Mbit, Failover LTE
Homematic: 2x HM-MOD-RPI-PCB (via Pi3 socat)
Z-Wave: Z-Wave.Me USB Stick (via Pi3 socat)
RFXTrx: RFXCom (via Pi3 socat)

Offline visionsurfer

  • Sr. Member
  • ****
  • Beiträge: 895
Antw:Home+ - Android,iOS,Web FHEM App
« Antwort #2 am: 25 November 2016, 12:19:36 »
Hi,

das sieht gut aus. Klingt interessant.
Du musst mir nur mal erklären, wie ich das mit ios testen könnte ?
Das verstehe ich noch nicht ganz.

Ich bin schon länger auf der Suche nach einer guten Bedienung für mein IPHONE. Aktuell nutze ich die FHEM App. Aber eigentlich nur um mein Türschloss zu entriegeln. Weil gerade z.B. meine KNX Devices nicht in der App funktionieren.

Daher habe ich schon die ganze Zeit überlegt ob man nicht quasi eine Art Browser App bauen kann und das ganze so aussehen lassen könnte, das es wie eine native App wirkt.

Grüße,
Visionsurfer

Offline Real-TTX

  • Full Member
  • ***
  • Beiträge: 141
Antw:Home+ - Android,iOS,Web FHEM App
« Antwort #3 am: 25 November 2016, 16:55:35 »
Hi visionsurfer,

mit dieser App würde das ganze funktionieren.

Zum testen schick mir einfach eine PN mit deiner E-Mail Adresse. Ich lade dich zum Testen ein.
Für alle weiteren Informationen, bin ich aktuell dran eine Doku zu schreiben.

Viele Grüße
Server: 3x Supermicro A1SAi-2750F, FHEM @ Debian-VM
Bandwidth: 800 Mbit / 100 Mbit, Failover LTE
Homematic: 2x HM-MOD-RPI-PCB (via Pi3 socat)
Z-Wave: Z-Wave.Me USB Stick (via Pi3 socat)
RFXTrx: RFXCom (via Pi3 socat)

Offline C0mmanda

  • Full Member
  • ***
  • Beiträge: 250
Antw:Home+ - Android,iOS,Web FHEM App
« Antwort #4 am: 25 November 2016, 18:23:08 »
Für iOS würd ich es mir auch mal anschauen wollen, kann momentan aber keine zeitliche Zusagen machen! (Aktuell wenig Zeit zum "basteln").

grtz
CmdA

Offline visionsurfer

  • Sr. Member
  • ****
  • Beiträge: 895
Antw:Home+ - Android,iOS,Web FHEM App
« Antwort #5 am: 26 November 2016, 19:52:00 »
Hi,

Ich hab dir eine pn geschrieben.

Grüße
Visionsurfer

Offline miche

  • New Member
  • *
  • Beiträge: 39
Antw:Home+ - Android,iOS,Web FHEM App
« Antwort #6 am: 26 November 2016, 20:20:48 »
Hi,

die IOS Version würde mich auch interessieren

Offline visionsurfer

  • Sr. Member
  • ****
  • Beiträge: 895
Antw:Home+ - Android,iOS,Web FHEM App
« Antwort #7 am: 29 November 2016, 22:00:32 »
Hi,

also ich hab die IOS Version am laufen. Zumindest sehe ich jetzt mal in unsorted das Test dummy.

Nun wollte ich mal echte Geräte einbinden. Aber ich scheitere schon am einfachsten. Ich möchte einfach den an uns aus Schalter von meinem Esstischlampe aus dem Raum Essen einbinden.

uiDeviceType = Switch
uiDisplayName = Esstischlampe
uiShow = 1
uiDeviceTypeParameter ???
Hier weiß ich leider nicht was eingetragen werden muss um einen einfachen an und aus Button zu bekommen ?

Grüße,
Visionsurfer

Offline Real-TTX

  • Full Member
  • ***
  • Beiträge: 141
Antw:Home+ - Android,iOS,Web FHEM App
« Antwort #8 am: 29 November 2016, 22:04:28 »
Habe vor kurzem die Doku aktualisiert. Dort findest du ein Bsp. zum Switch.
s.http://www.risx.de/HomePlus/

Denk daran, dass uiDeviceType case-sensitive ist :-)
Server: 3x Supermicro A1SAi-2750F, FHEM @ Debian-VM
Bandwidth: 800 Mbit / 100 Mbit, Failover LTE
Homematic: 2x HM-MOD-RPI-PCB (via Pi3 socat)
Z-Wave: Z-Wave.Me USB Stick (via Pi3 socat)
RFXTrx: RFXCom (via Pi3 socat)

Offline visionsurfer

  • Sr. Member
  • ****
  • Beiträge: 895
Antw:Home+ - Android,iOS,Web FHEM App
« Antwort #9 am: 29 November 2016, 22:44:14 »
Hi,

ok. Danke. Muss ich mir anschauen. Sieht auf den ersten Blick recht kompliziert aus.

Wobei ich auch kein Programmierer bin und keine Ahnung von diesen Dingen habe:

   Get:          value AS HOMEEXPRESSION(OF BOOL)
   Set:          cmd AS HOMEEXPRESSION
      Variables:    %VALUE% AS BOOL (0 or 1)

Meine Esstischlampe liefert im State z.B. on und off. Ich werde morgen mal deinen Code vom Beispiel übernehmen und schauen was passiert :)

Grüße,
Visionsurfer

Offline Real-TTX

  • Full Member
  • ***
  • Beiträge: 141
Antw:Home+ - Android,iOS,Web FHEM App
« Antwort #10 am: 30 November 2016, 15:29:52 »
Hi visionsurfer,

das bedeutet:

uiGet: Ausdruck, der als Ergebnis 0 oder 1 liefert. (Konvertieren z.B. mit Home-Expression)
uiSet: Command, der ausgeführt werden soll. %VALUE% ist hier entweder 0 oder 1.
im Detail:
uiGet: "mydevice:state"  - ohne HomeExpression (wäre bei dir "on" oder "off")
uiGet: "[[DEVICE:mydevice:state]]" - mit HomeExpression, ohne Konvertierung (wäre bei dir "on" oder "off")
uiGet: "[[DEVICE:mydevice:state|IF:"%1%"="on",1,0]] - mit HomeExpression, mit Konvertierung wäre in deinem Fall dann 1 oder 0

IF:"%1%"="on",1,0

bedeutet soviel wie:

Falls der 1. Teil des Expressions also DEVICE:mydevice:state gleich on ist, ist das Ergebnis 1, ansonsten 0.

Ich habe mich dafür entschieden, dass jedes Control einen definierten Eingabe / Ausgabe Wert hat damit ich es für jedes Gerät verwenden kann. Egal ob Homematic, HUE oder sonst etwas. Ein Hue Device hat zb ein Reading "onoff" welches 0 oder 1 hat. Beim setzen eines Wertes wird aber ein "on" bzw. "off" erwartet. Somit würde ich auf die Schnauze fallen, sobald mein Control SWITCH einen "TRUE-VALUE" und "FALSE-VALUE" Parameter hat. Im Falle des HUE Devices ist nämlich das lesen von Werten anders als das schreiben von Werten.


Server: 3x Supermicro A1SAi-2750F, FHEM @ Debian-VM
Bandwidth: 800 Mbit / 100 Mbit, Failover LTE
Homematic: 2x HM-MOD-RPI-PCB (via Pi3 socat)
Z-Wave: Z-Wave.Me USB Stick (via Pi3 socat)
RFXTrx: RFXCom (via Pi3 socat)

Offline visionsurfer

  • Sr. Member
  • ****
  • Beiträge: 895
Antw:Home+ - Android,iOS,Web FHEM App
« Antwort #11 am: 30 November 2016, 15:36:09 »
Hi,

ok. Danke. Könnten wir vielleicht das ganze als Beispiel an einem genauen Device machen. Hier z.B. meine Esstischlampe. Hier das List:

Internals:
   DEF        1/1/12:dpt1
   DEVNAME    lamp1
   IODev      KNX
   KNX_MSGCNT 15
   KNX_RAWMSG C112bw110c00
   KNX_TIME   2016-11-28 23:24:31
   LASTInputDev KNX
   MSGCNT     15
   NAME       lamp1
   NR         147
   NTFY_ORDER 50-lamp1
   STATE      off
   TYPE       KNX
   Gaddr:
     1          1/1/12
   Gcode:
     1          110c
   Model:
     1          dpt1
   Readings:
     2016-11-28 23:24:31   getG1           off
     2016-11-28 23:24:31   last-sender     1/1/43
     2016-11-21 19:57:20   setG1           off
     2016-11-28 23:24:31   state           off
   Readingsname:
Attributes:
   IODev      KNX
   alias      esstischlampe
   room       Alexa,Essen
   uiDeviceType Switch
   webCmd     on:off

Weil ich muss doch dann Device und mydevice durch Werte vom Gerät ersetzen, oder ?

Grüße,
Visionsurfer

Offline Real-TTX

  • Full Member
  • ***
  • Beiträge: 141
Antw:Home+ - Android,iOS,Web FHEM App
« Antwort #12 am: 30 November 2016, 16:04:58 »
Also.

1.) uiDeviceType ist case-sensitive! also "SWITCH" und nicht "Switch"

2.) uiShow muss 1 sein. Damit es in der App angezeigt wird.

3.) uiDeviceParameter muss angegeben sein. Beim Switch z.B.  "Eingeschaltet"

4.) uiGet wäre in deinem Fall : [[DEVICE:lamp1:state|IF:"%1%"="on",1,0]]

5.) uiSet wäre in deinem Fall : set lampe1 [[IF:"%VALUE%"="1",on,off]]

Jetzt sollte es gehen?


Server: 3x Supermicro A1SAi-2750F, FHEM @ Debian-VM
Bandwidth: 800 Mbit / 100 Mbit, Failover LTE
Homematic: 2x HM-MOD-RPI-PCB (via Pi3 socat)
Z-Wave: Z-Wave.Me USB Stick (via Pi3 socat)
RFXTrx: RFXCom (via Pi3 socat)

Offline visionsurfer

  • Sr. Member
  • ****
  • Beiträge: 895
Antw:Home+ - Android,iOS,Web FHEM App
« Antwort #13 am: 30 November 2016, 16:11:17 »
Hi,

ok. Danke. Nur das hier verstehe ich noch nicht. Was meinst du damit ?

Zitat
3.) uiDeviceParameter muss angegeben sein. Beim Switch z.B.  "Eingeschaltet"

Grüße,
Visionsurfer

Offline Real-TTX

  • Full Member
  • ***
  • Beiträge: 141
Antw:Home+ - Android,iOS,Web FHEM App
« Antwort #14 am: 30 November 2016, 16:17:07 »
uiDeviceParameter gibt die Parameter für das jeweilige Gerät an. Beim Switch wird hier ein Parameter verlangt. Der Parameter ist beim Switch das Label/der Text der vor dem Schalter angezeigt wird.  Deswegen kannst du ihn einfach auf "Eingeschaltet" setzen. Schaus dir dann einfach in der App an.
Server: 3x Supermicro A1SAi-2750F, FHEM @ Debian-VM
Bandwidth: 800 Mbit / 100 Mbit, Failover LTE
Homematic: 2x HM-MOD-RPI-PCB (via Pi3 socat)
Z-Wave: Z-Wave.Me USB Stick (via Pi3 socat)
RFXTrx: RFXCom (via Pi3 socat)

 

decade-submarginal