Neues Frontend: FhemNative Updates

Begonnen von Syrex-o, 16 Juli 2019, 14:50:24

Vorheriges Thema - Nächstes Thema

Syrex-o

FhemNative
Ein Frontend mit nativen Funktionen für FHEM auf der Basis von Angular, Capacitor und Ionic.

FhemNative Doku/Playground: Fhemnative.de
Feature Fortschritt Tracker: https://github.com/Syrex-o/FhemNative/projects/2

Hallo Zusammen,
Ich habe jetzt schon eine ganze Weile an meiner Alternative zur FHEM Tablet UI gebastelt, da mir die manuelle Programmierung aller Seiten auf Dauer sehr mühselig war.
Daher habe ich eine auf Ionic basierende App geschrieben, um Native Funktionen des Geräts benutzen zu können und keinen Browser mehr zu öffnen.

Die englische/deutsche Beschreibung befindet sich im Github: https://github.com/Syrex-o/FHEMNative
Der gesamte Code ist jetzt bei GitHub. Wer Erweiterungen schreiben möchte, ist herzlich eingeladen.

Das kann FhemNative:
  • FhemNative ist als "Raum-basierte" Umgebung angelegt
  • Räume können erstellt werden (manuell/automatisch), nachträglich verändert, neu angeordnet oder gelöscht werden
  • Räume können mit Komponenten gefüllt werden
  • Räume können als Gruppen verwendet werden
  • Globale Einstellungen verändern den Style und das Verhalten der App
  • Erstellte Räume und Komponenten werden lokal auf dem Gerät gespeichert
  • Gespeicherte Einstellungen können exportiert/importiert werden, um Oberflächen auf andere Geräte zu übertragen
  • Es können mehrere Schnittstellen verwendet werden, damit FhemNative mit FHEM kommunizieren kann
  • FhemNative Tasks



Verfügbare Komponenten:
  • Box
  • Button
  • Button Menu
  • Button Multistate
  • Chart
  • Circle Menu
  • Circle Slider
  • Clock
  • Color Picker
  • Html
  • IFrame
  • Icon
  • Input
  • Image
  • Label
  • Line
  • Medialist
  • Picker
  • Pinpad
  • Popup
  • Select
  • Slider
  • Sprinkler
  • Swiper
  • Switch
  • Tabs
  • Table
  • Thermostat
  • Time Picker
  • Weather
Detailbeschreibungen sind unter https://fhemnative.de/components verfügbar



Installation:
Es stehen aktuell 2 verfügbare Schnittstellen zur Verfügung, damit FhemNative mit FHEM kommunizieren kann:

Option 1: Websocket von ntruchsess:
  • sudo cpan App::cpanminus
  • sudo cpanm Protocol::WebSocket
  • sudo cpanm JSON
  • Inhalt des GitHub Ordners 00_Websocket nach opt/fhem/FHEM kopieren
  • define wsPort websocket 8080 global
  • define wsPort_json websocket_json

Option 2: Fhemweb Websocket:
  • Beim FHEM Gerät WEB das Attribut longpoll auf websocket setzen



Ich hoffe ich erleichtere damit einigen Leuten die Erstellung von eigenen Oberflächen.

Thyraz

Sehr schön ein weiteres Frontend für FHEM zu sehen.

Werde ich heute Abend gleich mal testen und bin gespannt wie erweiterbar und anpassbar das Ganze ist.

Auf alle Fälle Daumen hoch für deine Mühen. :)
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

klausw

Werde hier mal mitlesen  :)

Hat es einen Grund das du die Websocket Implementierung von ntruchsess verwendest?
fhemweb unterstützt auch Websockets. Dafür müsste nix separat installiert werden.

Grüße
Klaus
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Syrex-o

Hallo Klaus,

Nein, dass hat tatsächlich keinen bestimmten Grund.
Diese Variante hat mir einfach am besten gepasst  :D

Und ich bin damit bisher sehr zufrieden.

Liebe Grüße

Syrex-o

Zitatbin gespannt wie erweiterbar und anpassbar das Ganze ist.
Es gibt schon eine Art Developer Plan um ganz einfach eigene Komponenten hinzufügen zu können.
Die App ist so ausgelegt, dass sich eigene Angular Components einfach anbinden können.

Sollte etwas Bewegung entstehen, werde ich einen Guide dafür schreiben.

Liebe Grüße

ThomasMagnum

Das klingt sehr spannend, werde mal den Thread verfolgen und das Ganze bei Gelegenheit mal testen (wird aber noch ein wenig dauern).
Noch habe ich nähmlich keine wirklich zufriedenstellende "Oberflächengestaltung" für mich gefunden.

Was hier so steht ist schon mal ein prima Ansatz, vielen Dank.

Syrex-o

Zitat von: ThomasMagnum am 17 Juli 2019, 08:01:07
Das klingt sehr spannend, werde mal den Thread verfolgen und das Ganze bei Gelegenheit mal testen (wird aber noch ein wenig dauern).
Noch habe ich nähmlich keine wirklich zufriedenstellende "Oberflächengestaltung" für mich gefunden.

Was hier so steht ist schon mal ein prima Ansatz, vielen Dank.

Hey,

Das freut mich zu hören.
Die finale Idee ist ja, dass nichts mehr händisch programmiert werden muss, dass Maß an "customizability" aber erhalten bleibt.

Freue mich schon auf Feedback.

Liebe Grüße

binford6000

Moin,
tolle Sache was du da auf die Beine gestellt hast!   8)

Ich habe schon immer mit TabletUI und FUIP geliebäugelt - habe aber weder Zeit noch Lust mich
da einzuarbeiten... Deshalb bin ich sehr gespannt auf FhemNative!

Sobald ich aus dem Urlaub zurück bin werde ich das mal auf meine Testumgebung loslassen!

VG Sebastian

Syrex-o

Update: 17.07.2019
Fix:

  • Kopieren von Komponenten in Popups/aus Popups ist nun möglich.
  • Kopierte Komponenten werden immer oben-links platziert und nicht mehr übereinander.

Tedious

Vielen Dank für die Arbeit, liest sich definitiv spannend. Wenn ich am WE dazu kommen sollte schau ich mir das sehr gerne mal an.
FHEM auf Proxmox-VM (Intel NUC) mit 4xMapleCUN (433,3x868) und Jeelink, HUE, MiLight, Max!, SonOff, Zigbee, Alexa, uvm...

hsepm

Ich bin auch sehr interessiert, vielen Dank für die Arbeit bis jetzt.

Mit FTUI habe ich schlechte Erfahrung mit den Updates über Websockets gemacht, in Verbindung mit fully auf Android. Deshalb habe  ich mich auf Home Assistant mit Lovelace als Frontend verlegt. Die Kommunikation fhem --> Home Assistant ist via MQTT.

Das funktioniert ziemlich gut, aber im Prinzip wäre ich sehr an einem Frontend interessiert, welches MQTT direkt unterstützt, alternativ zu websockets. Natürlich funktioniert das ohne große Kopfstände nur "lokal".

Wäre die Unterstützung von MQTT eine Möglichkeit, die einfach umzusetzen wäre?

willib

Ich find´s auch super. ;D
Sieht gut aus was da bei github zu sehen ist.
Ich werde definitiv testen. Ich hoffe die app läuft auf meinem ebook reader.
FHEM in Debian 10 LXC unter Proxmox auf NUC, Homematic, Hue, Intertechno, Jeelink, RFXTRX, Harmony Hub, VU+ Uno 4K, Sonos, AMAD

Syrex-o

Zitat von: hsepm am 17 Juli 2019, 16:47:04
Wäre die Unterstützung von MQTT eine Möglichkeit, die einfach umzusetzen wäre?
Hallo hsepm,

Ich habe bisher noch nichts mit MQTT gemacht. Daher kann ich das nicht so einfach sagen.
Was hast du denn gegen Websockets?

Ich habe in der aktuellen Variante noch nie einen spürbaren Abbruch gesehen.

Liebe Grüße

rudolfkoenig

ZitatWas hast du denn gegen Websockets?
Websockets ist aufwendiger beim Proxy einzurichten.
Apple/Safari kann ueber Websockets keine (basic) Authentifizierung.

Syrex-o

Zitat von: rudolfkoenig am 17 Juli 2019, 19:16:11
Websockets ist aufwendiger beim Proxy einzurichten.
Apple/Safari kann ueber Websockets keine (basic) Authentifizierung.

OK, ich hab mich mal eingelesen. Eventuell könnte man beide Optionen in Zukunft anbieten.

Ich probier mich Mal in der nächsten Woche daran.
Da ich noch nichts mit MQTT und Fhem gemacht habe ist die Frage: Gibt es eine Variante die aktuell am meisten akzeptiert ist, um sich daran zu orientieren?

Liebe Grüße