HomePlus - Hybrid frontend mobile-app UI-Framework (Android, iOS, Web)

Begonnen von Real-TTX, 22 November 2016, 20:57:19

Vorheriges Thema - Nächstes Thema

Real-TTX

Konnte keinen Fehler feststellen - dein Dummy funktioniert bei mir. In der App wird weiterhin "Success" angezeigt? Dann sollte eigentlich dein Raum "Testraum" im Menü auftauchen.

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)

Esjay

So ich habe jetzt ein Paar Sachen eingerichtet, und ich komme immer besser zurecht.

Was ich mir noch wünschen würde:

Räume sortieren--> evtl. über auswerten des Sortroom Attribut?
Devices in den einzelnen Räumen sortieren
Deutlichere Abgrenzung der einzelnen Devices unter Android--> Im Screenshot im ersten Beitrag ist meiner Meinung nach die IOs Version zu sehen, und dort ist es deutlicher oder?
uiDeviceType-->THERMOMETER => Nur Anzeige von Temperatur und Feuchte
Verschiedene Styles
Die Möglichkeit uiDisplayName zu zentrieren und/oder Fett zu formatieren.
Den Text der durch uiDeviceTypeParameter angezeigt wird in abhängigkeit des Zustandes zu dynamisieren. Beispiel SWITCH

Wo ich noch Probleme habe:
Bei mir werden die Icons nicht angezeigt. Hier mal ein list eines Devices wo ich ein Icon erwarten würde. Evtl eine Idee dazu?

Internals:
   DEF        ShutterContact 10cb79
   IODev      Max_Steuerung
   NAME       MAX_10cb79
   NR         70
   STATE      closed
   TYPE       MAX
   addr       10cb79
   type       ShutterContact
   Readings:
     2017-03-10 07:02:55   RSSI            -72
     2017-03-10 07:02:55   battery         ok
     2017-03-10 07:02:55   onoff           0
     2017-03-10 07:02:55   state           closed
   Internals:
     interfaces switch_active;battery
Attributes:
   HomeContactType window
   HomeModeAlarmActive armaway
   HomeOpenMaxTrigger 2
   HomeOpenTimes 5
   HomeValues opened
   IODev      Max_Steuerung
   alias      Schlafzimmer_Fenster
   group      Fenster
   room       Schlafzimmer
   uiDeviceIcon ion-social-windows-outline
   uiDeviceType LABEL-VALUE
   uiDeviceTypeParameter Zustand
   uiDisplayName Fenster
   uiGet      [[DEVICE:MAX_10cb79:state|IF:"%1%"="closed",geschlossen,geöffnet]]
   uiShow     1
   userattr   HomeContactType:doorinside,dooroutside,doormain,window HomeModeAlarmActive HomeOpenDontTriggerModes HomeOpenDontTriggerModesResidents HomeOpenMaxTrigger HomeOpenTimeDividers HomeOpenTimes HomeReadings HomeValues


Das Erstellen eines Sliders für die Farbe einer Hue Lampe: Bin mir sicher, dass es am set Befehl liegt,besser gesagt, dass das %VALUE% dort nicht hingehört.

Internals:
   CHANGED
   DEF        1  IODev=Hue
   ID         1
   INTERVAL
   IODev      Hue
   NAME       HUEDevice1
   NR         30
   STATE      on
   TYPE       HUEDevice
   desired    1
   manufacturername Philips
   modelid    LCT001
   name       Flur Lampe
   swversion  5.23.1.13452
   type       Extended color light
   uniqueid   00:17:88:01:00:e7:d5:11-0b
   Readings:
     2017-03-10 11:37:43   alert           none
     2017-03-10 11:37:43   bri             254
     2017-03-10 21:45:55   colormode       hs
     2017-03-10 21:46:08   ct              500 (2000K)
     2017-03-10 11:37:43   effect          none
     2017-03-10 21:48:58   hue             40
     2017-03-10 21:36:07   onoff           1
     2017-03-10 21:36:07   pct             100
     2017-03-10 21:30:55   reachable       1
     2017-03-10 21:48:58   rgb             ff2120
     2017-03-10 21:45:55   sat             222
     2017-03-10 21:36:07   state           on
     2017-03-10 21:49:55   xy              0.6375,0.3292
   Helper:
     alert      none
     bri        254
     colormode  hs
     ct         500
     devtype
     effect     none
     hue        40
     pct        100
     reachable  1
     rgb        ff2120
     sat        222
     update_timeout -1
     xy         0.6375,0.3292
Attributes:
   IODev      Hue
   alias      Flur Lampe
   color-icons 2
   devStateIcon {(HUEDevice_devStateIcon($name),"toggle")}
   group      Kugellampen
   icon       hue_filled_white_and_color_e27_b22
   model      LCT001
   room       Flur
   subType    extcolordimmer
   uiDeviceIcon ion-power
   uiDeviceType COLOR-PICKER
   uiDeviceTypeParameter 0;65535
   uiDisplayName Farben
   uiGet      [[DEVICE:HUEDevice1:hue]]
   uiSet      set HUEDevice1 hue %VALUE%
   uiShow     1
   webCmd     rgb:rgb ff0000:rgb DEFF26:rgb 0000ff:ct 490:ct 380:ct 270:ct 160:toggle:on:off


Vielleicht geht ja einiges schon, und ich weiß noch nicht wie. Ist auch nicht auszuschließen. Ansonsten nochmal vielen Dank für deine App!

LG

Real-TTX

ZitatRäume sortieren--> evtl. über auswerten des Sortroom Attribut?
Ja, habs notiert.

ZitatDevices in den einzelnen Räumen sortieren
Gibt es : uiDisplayOrder

ZitatDeutlichere Abgrenzung der einzelnen Devices unter Android--> Im Screenshot im ersten Beitrag ist meiner Meinung nach die IOs Version zu sehen, und dort ist es deutlicher oder?
Jaa.. war die alte App. Die war aber an iOS angelehnt. Werde ich aber verbessern... stört mich auch.

ZitatuiDeviceType-->THERMOMETER => Nur Anzeige von Temperatur und Feuchte
Verschiedene Styles
Wie schon besprochen  8)

ZitatDie Möglichkeit uiDisplayName zu zentrieren und/oder Fett zu formatieren.
s. Oben (Deutliche Abgrenzung)

ZitatDen Text der durch uiDeviceTypeParameter angezeigt wird in abhängigkeit des Zustandes zu dynamisieren. Beispiel SWITCH
Geht schon - ab Version 0.6.0 kann bei jedem Attribut ein Home-Expression verwendet werden.

ZitatWo ich noch Probleme habe:
Bei mir werden die Icons nicht angezeigt. Hier mal ein list eines Devices wo ich ein Icon erwarten würde. Evtl eine Idee dazu?
Schau ich mir an, habe nichts gesehen. Werde es aber überprüfen und mich erneut melden.

ZitatDas Erstellen eines Sliders für die Farbe einer Hue Lampe: Bin mir sicher, dass es am set Befehl liegt,besser gesagt, dass das %VALUE% dort nicht hingehört.
COLOR-PICKER ist noch ziehmlich beta (sieht nicht so gut aus) - aber anstelle %VALUE% einfach %H% verweden für HUE... L und S fehlen noch komplett im Colorpicker.



Viele Grüße & Danke
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)

Esjay

Ich hab zu danken,für die ausführliche Antwort!! Ich werd die Sachen morgen mal ausprobieren.
Bei %H% bekomme ich im log
PERL WARNING: Argument "%H%" isn't numeric in addition (+) at ./FHEM/31_HUEDevice.pm line 492
Deswegen hab ich es erstmal mit %VALUE% probiert.
Grüße

hckoe

Gibt es zwischenzeitlich eigentlich ein Update für die Web-App?
Im ersten Beitrag finde ich keinen Link mehr.

Gruß
Helmut
# CT mit Debian Buster / FHEM aktuell / EnOcean TCM310 / Eltako FSA12, FUD12NPN, FSB12, FRW, FSRP-230V
# Permundo PCS234, Nodon NO-SIN-2-2-00, GTAGS

Real-TTX

Liegt hier bereit - ist aber noch nicht veröffentlicht, da ein Bug im HTTPSERV Modul ist - s. https://forum.fhem.de/index.php/topic,68800.0.html

Gesendet von meinem Pixel XL mit Tapatalk

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)

Gorean

Hallo,

ich find die Idee hinter Home+ auch sehr interessant. Beim Installieren laufe ich aber auf ein Problem auf...

Ich habe sowohl das WebInterface, als auch die aktuellste IOS App installiert. Dass das WebInterface aktuell veraltet ist habe ich mitbekommen.

Wenn ich aber in der IOS App meinen Server konfiguriere (https://192.168.178.xxx/fhem) dann zeigt er unter Sample ein &XHR=1 an. Wenn ich jsonlist2 XHR=1 im Interface aufrufe, findet er aktuell nichts. Wenn ich jsonlist2 uiShow=1 aufrufe, bekomme ich alle konfigurierten Geräte angezeigt.

Die Credentials sind hinterlegt und sollten nicht das Problem sein. Kann es sein, dass der Aufruf &XHR=1 aktuell nicht funktioniert?

Wie kann ich das Sample abändern und ist das überhaupt notwendig? Oder mache ich noch irgendwo einen anderen Denkfehler?

VG,
Peter

PS: Auch mit dem aktuellen WebInterface kann ich nicht connecten. Auch hier failed der Update :(

Real-TTX

Hi Gorean,

Vielen Dank erstmal  :P

wie sieht deine aktuelle Konfiguration aus? Du musst eigentlich nur, die Adresse eintragen: "192.168.178.xxx" - der Rest wird automatisch ermittelt. Was zeigt der Test an? Failed? Success? Was meinst du mit Sample? Das Test-Device "Hallo" ? Du musst es eigentlich nicht abändern - es ist nur ein Test, damit du überhaupt etwas in der App siehst. Die "aktuelle" / veraltete Version kann mit dem CSRF Token nicht umgehen. Du müsstest dein Token auf "none" setzen, damit die Web-App funktioniert.

Wie beschrieben, fehlt hier der Fix damit ich es veröffentlichen kann.

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)

drdownload

Könnte jemand ein Bild eines Thermostats veröffentlichen?

Ich habe derzeit Smartvisu aber auf den schwachen Android Tablets habe ich ernsthafte Performance Probleme.

Verwende derzeit: Thermostate, Schalter, Dimmer, RGB und MPD (inkl. Shortcuts für wichtige Sender und Snapcast-Zonen(
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

Esjay

Zitat von: drdownload am 27 März 2017, 20:39:46
Könnte jemand ein Bild eines Thermostats veröffentlichen?

Ich habe derzeit Smartvisu aber auf den schwachen Android Tablets habe ich ernsthafte Performance Probleme.

Verwende derzeit: Thermostate, Schalter, Dimmer, RGB und MPD (inkl. Shortcuts für wichtige Sender und Snapcast-Zonen(

Schau mal auf Seite 7. Dort ist ein Beispiel für ein Thermostat.

Gorean

Hallo Real-TTX,

ich habe in der App bei den Einstellungen als URL https://192.168.178.6:8083 eingestellt. In der Zeile "Sample" zeigt er dann https://192.168.178.6:8083/fhem?cmd=jsonlist2 XHR=1 an. Nachdem keines meiner Devices das Attribut XHR hat, kommt zumindest bei manuellem Aufruf eine leere Liste zurück. Darauf bezog sich meine Frage, ob man die Zeile "Sample" noch irgendwie anpassen muss.

Der Test zeigt "Failed" an, im Logfile steht lediglich "Update - Update failed".

Ich gebe zu, das mit dem Testdevice "Hallo" habe ich übersprungen und gleich alle relevanten Devices angepasst. Anbei der list von 3 verschiedenen Devices:

Rademacher Rolladen


Internals:
   IODev      Rademacher
   NAME       Blinds.Wohnzimmer_Balkon
   STATE      opened
   SUBTYPE    RolloTron Standard
   TYPE       DUOFERN
Attributes:
   IODev      Rademacher
   alexaName  rolladen am balkon
   alexaRoom  _Alexa
   alias      Rolladen Balkon
   genericDeviceType blind
   group      Rolladensteuerung Wohnzimmer
   icon       fts_shutter_automatic
   room       Wohnzimmer,_Blinds,_Alexa
   siriName   rolladen am balkon
   uiDeviceType RANGE
   uiDeviceTypeParameter 0;100;1
   uiDisplayName Rolladen Balkon
   uiDisplayRoom Wohnzimmer
   uiGet      [[DEVICE:*:position]]
   uiSet      set %D% position %VALUE%
   uiShow     1
   webCmd     position


Hue Lichtgruppe


Internals:
   IODev      hueBridge
   NAME       HGR.Licht_Wohnzimmer
   TYPE       HUEDevice
   class      Living room
   lights     35,36,7,61,5,60,8,62,6,63,23,24,26,31,34,10,25
   name       Wohnzimmer
   type       Room
Attributes:
   IODev      hueBridge
   alias      Licht Wohnzimmer
   color-icons 2
   delayedUpdate 1
   devStateIcon {(HUEDevice_devStateIcon($name),"toggle")}
   group      HUEGroup
   icon       hue_room_nursery
   room       _HUEDevice,_Alexa
   uiDeviceColor assertive
   uiDeviceIcon ion-ios-lightbulb-outline
   uiDeviceType SWITCH
   uiDeviceTypeParameter Eingeschaltet
   uiDisplayName Licht Wohnzimmer
   uiDisplayRoom Wohnzimmer
   uiGet      [[DEVICE:*:state|IF:"%1%"="on",1,0]]
   uiSet      set %D% [[IF:"%VALUE%"="1",on,off]]
   uiShow     1
   userattr   lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0


Rasenmäher


Internals:
   NAME       Indego
   TYPE       INDEGO 
Attributes:
   alias      Rasenmäher
   group      Rasenmäher
   icon       scene_robo_lawnmower
   room       Terrasse
   uiDeviceColor balanced;stable;
   uiDeviceType BUTTON-BAR
   uiDeviceTypeParameter Mähen;Pause;Zurück zur Basis
   uiDisplayName Rasenmäher
   uiDisplayRoom Terrasse
   uiSet      set Indego mow;set Indego pause;set Indego returnToDock
   uiShow     1
   webCmd     mow:pause:returnToDock


Das mit dem notwendigen Fix für die WebApp habe ich mitbekommen. Leider hat noch keiner auf deinen anderen Thread reagiert :(

Da ich das CSRF nicht dauerhaft auf "none" setzen will, benötige ich die IOS App. Hast Du noch eine Idee, woran es liegen könnte?

VG,
Peter

Real-TTX

Hi Gorean,

Das Sample sollte eigentlich https://192.168.178.6:8083/fhem?cmd=jsonlist2&XHR=1 anzeigen. XHR=1, ist der Parameter für eine "XHR freundliche" Rückgabe der Daten.

Wir müssen zuerst hinbekommen, dass die Verbindung klappt - kannst du zum testen HTTP verwenden anstelle von HTTPS? Und den Token nur für einen Versuch!! auf none setzen ?

Viele Grüße

Gesendet von meinem Pixel XL mit Tapatalk

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)

Gorean

Hi Real-TTX,

Du hast natürlich Recht. Muss ein Tastaturpreller gewesen sein. Es heisst definitiv &XHR=1 :)

Ich teste es heute Abend ohne SSL und nehme auch mal kurz den Token raus. Melde mich mit neuen Ergebnissen.

Gruß,
Peter

Pfriemler

So, nach einigen Wochen endlich Ruhe für mein Problem vom März ... irgendwie muss ich eine buggy definition in den ui...-attr gehabt haben, meine Apps (getestet auf Samsung S5 und Samsung Tab S2) kamen laut log nicht über ein "(device) compilating ... " hinaus - jetzt läuft alles in akzeptabler Geschwindigkeit sogar.

a) Was mir aktuell fehlt (und schon mal funktioniert hat) ist die richtige Anzeige der Position meiner Slider. ("RANGE") Das betrifft sowohl Homematic-Geräte (reading "pct") als auch meine Duofern-Rolläden (reading "position"). Die Befehle werden ausgeführt, der Slider bleibt dann auch auf der Position steht, landet aber unabhängig vom Wert beim nächsten Refresh bei 0.
Def siehe unten.

b) die zugewiesenen icons werden nicht angezeigt (lediglich ion-outlet funktioniert). Gibt es eine Liste der tatsächlich unterstützten Icons?

c) es hat mich eine Weile Probierarbeit gekostet, bis ich die "permissions" einigermaßen verstanden habe. Sehe ich das richtig, dass das Attribut ein Bitmuster vorgibt und die Permission eine Maske zur AND-Verknüpfung? Nur wenn der uiShow-Wert durch die permission-Maske passt, wird es angezeigt?
Die Kombinationsmöglichkeiten sind vielfältig ... sehr fein...

Die fraglichen Defs:
...
   uiDeviceIcon ion-android-bulb
   uiDeviceType RANGE
   uiDeviceTypeParameter 0;100;1
   uiDisplayName Esstisch-Lampe / LED Esstisch / LED Sofa (aus <--> an)
   uiDisplayOrder 510
   uiDisplayRoom Licht
   uiGet      [[DEVICE:EsstischLampe:pct]]
   uiSet      set %D% pct %VALUE%
   uiShow     2 ...


...
   uiDeviceIcon ion-android-menu
   uiDeviceType RANGE
   uiDeviceTypeParameter 0;100;1
   uiDisplayName Rollo Terrassentür (offen --- zu)
   uiDisplayOrder 1520
   uiDisplayRoom Rollos
   uiGet      [[DEVICE:RolloEGWzReDF:position]]
   uiSet      set RolloEGWzReDF position %VALUE%
   uiShow     2




"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

Real-TTX

Hi Pfriemler,

habe aktuell ne neue Version (0.7.x) bei 2-3 Testern draußen. Hier wird sich noch einiges an Performance tun  ::)

Aktuelle Änderungen:
* updated to ionic 2.3.0
* refactored device, server, reading management
+ added: multi-server support
+ added: secondary host addr
+ added: web-app support
+ added: get local fhem url, while running in FHEMs HTTPSERV
+ added: urls now supports previous directory like "../fhem"
+ added: predefined / undeletable server
! pending: bug fix requested: https://forum.fhem.de/index.php/topic,68800.0.html
* changed local data and config saving behavior (now debounced and run in background after 3 seconds delay)
+ added awesome font icon-font, now useable in device-icon attribute
* changed system status bar color to a darker blue
+ added math pipe for home expressions to evaluate math expressions
* updated to ionic 3.0.1




zu a) Verstehe ich nicht ganz, die Position wird nicht angezeigt?  Steht er immer auf 0 oder MAX ?

zu b) Liste gibt es hier: https://ionicframework.com/docs/ionicons/ (Für Version 0.7.x ist dann auch awesome-font verfügbar)

zu c) Ja, ist ein Bitvergleich, allerdings "OR"  8)


Zu deinen fraglichen Defs, was genau ist hier das Problem - funktionieren diese nicht?


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)