Hauptmenü

FHEMApp4 - Beta Version

Begonnen von jemu75, 25 Februar 2024, 19:19:13

Vorheriges Thema - Nächstes Thema

Benni

#15
Zitat von: jemu75 am 26 Februar 2024, 14:43:58Zum einen muss geprüft werden, ob das FHEM Modul die Konfigurationsdatei erstellt, wenn es sich um eine Erstinstallation handelt.

Ich habe eben mal auf die Schnelle geprüft (sowohl unter configDB, als auch unter fhem.cfg), ob die Config initial für ein neues FHEMAPP-Device geschrieben werden kann.
Es hat in beiden Fällen funktioniert.
Aber, auch der allererste Speichervorgang muss durch fhemapp4 ausgelöst werden. Es wird vom Modul selbst keine initiale Config angelegt.
Macht ja auch Sinn, denn das Modul interessiert sich nicht für den Inhalt der fhemapp-Config.

Also, so lange von fhemapp4 aus nicht gespeichert werden kann, wird auch keine Config abgelegt.

UND, wie weiter oben schon erwähnt, legt das FHEMAPP-Modul das ./conf Verzeichnis an, wenn es noch nicht existiert, aber auch das passiert erst beim ersten, von fhemapp4 ausgelösten Speicher-Vorgang. (Bei Verwendung von configDB wird das Verzeichnis nicht angelegt, da es nicht benötigt wird ;) )

Es sollte also nicht nötig sein, irgendetwas von Hand anzulegen ;)

gb#

binford6000

ZitatHierfür bitte in der URL den Querstring ?loglevel=6 verwenden. (siehe auch den Hinweis in der Doku)
Das brachte das hier zu Tage:
15:38:42,419 No CSRF Token received.
Danach war es einfach mit

attr fhemweb csrfToken random
mein Problem zu lösen. (Das Attribut stand vorher auf 'none').

Danach wird bei Änderungen auch der Speichern Button aktiv.
Die config Datei wird dann auch automatisch angelegt wie Benni beschrieben hat.

Danke @Jens und @Benni

Jamo

yep, mit "attr fhemweb csrfToken random" gehts auch bei mir.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

juemuc

Dazu folgende Info aus der FHEM-Doku:

ZitatcsrfToken
Falls gesetzt, wird der Wert des Attributes als fwcsrf Parameter bei jedem über FHEMWEB abgesetzten Kommando verlangt, es dient zum Schutz von Cross Site Resource Forgery Angriffen. Falls der Wert random ist, dann wird ein Zufallswert beim jeden FHEMWEB Start neu generiert, falls er none ist, dann wird kein Parameter verlangt. Default ist random für featurelevel 5.8 und größer, und none für featurelevel kleiner 5.8

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

juemuc

Hallo zusammen,

ich finde die Möglichkeiten von FHEMApp sehr gut. Nachdem ich neu damit beginne, vermisse ich die ganzen Templates, die in der Version 3 zur Verfügung stehen. Muss ich alles selbst definieren oder habe ich bei der Installation etwas vergessen, oder sind diese in der beta noch nicht verfügbar?

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

jemu75

Guten Abend an alle fleißigen Tester,

ich habe eben ein neues Release (v4.0.20-beta) bereit gestellt. Damit könnt ihr gleich mal ein Update von FHEMApp via FHEM testen. ;)
In dem Update habe ich das Handling für csrf-Token geändert. Auch wenn in der FHEM Doku die Verwendung der CSRF-Token als Sicherheitsmaßnahme empfohlen wird, so kann FHEMApp4 jetzt auch ohne csrf-Token arbeiten. D.h. wenn auch in FHEM attr WEB csrfToken none gesetzt ist, funktioniert es.

Weiterhin gab es die Frage, was mit den Standard-Templates aus FHEMapp 3.x ist. Grundsätzlich habe ich auch in FHEMApp4 die Möglichkeit zur Auslieferung von Standard-Templates implementiert. Aktuell ist hier nur ein ShellyPlus_1pm für Testzwecke enthalten. Natürlich könnte ich alle Templates, die ich aktuell erstellt habe, über diesen Weg veröffentlichen. (siehe Liste unten) Jedoch sind das letztlich Templates, die meine persönlichen Wünsche erfüllen. Ob das auch allen anderen Benutzern gefällt kann ich nicht einschätzen.  ;) Ich bin generell noch unschlüssig, was bzgl. der Templates der beste Ansatz wäre. Auf der einen Seite macht es wenig Sinn, wenn jeder Benutzer seine Templates selbst erstellen muss. Und hier wäre vielleicht eine Art "Bibliothek" eine gute Lösung. Auf der anderen Seite hat vielleicht jeder Anwender besondere Vorstellungen und möchte jedes Template individuell anpassen oder erstellen. Ihr könnt ja gern mal eure Meinungen zu dem Thema in die Runde werfen. So finden wir vielleicht gemeinsam eine Lösung für das Thema.  :)

aktuell habe ich für folgende Devices Templates erstellt:
proplanta
HM-TC-IT-WM-W-EU
HM-SEC-SD
HM-SEC-SCO
HM-WDS10-TH-O
HM-LC-BL1PBU-FM
HM-ES-PMSW1-PL
HM-LC-SW
HM-LC-DIM1TPBU-FM
HM-SEC-MDIR
shellyswitch
shellydimmer
shellyrgbw2
shellyPlus_1pm
SSCam
sonosplay
chart_thermostat


jemu75

Zitat von: marboj am 25 Februar 2024, 23:08:21Allerdings erscheint ein Fehler beim Aufruf: FHEM Config Device nicht gefunden. Das Fhem-Device, was in der Config angegeben wurde, konnte nicht gefunden werden.

Hallo Marco,

tritt der Fehler bei Dir noch auf? Wenn ja, kannst du bitte mal ein list von deinem fhemapp Device in FHEM machen. Weiterhin bitte mal die komplette URL, über die du FHEMApp4 aufrufst.

Grüße
Jens  :)

juemuc

Hallo Jens,

bezüglich Templates halte ich den Bibliotheks-Gedanken für gut. Gerade für den Einstieg ist die Bereitstellung von einigen Templates sehr hilfreich. Eventuell kann man hier auch einen eigenen Bereich aufmachen, wo man seine selbst erstellten Templates zur Verfügung stellen kann (Import-Funktion?).

Auf jeden Fall schon einmal vielen Dank für Deine Arbeit.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

juemuc

#23
Hallo Jens,

folgende Templates würden mir den Einstieg deutlich erleichtern  8)

Zitat von: jemu75 am 26 Februar 2024, 22:12:00proplanta
HM-SEC-SCO
HM-ES-PMSW1-PL
SSCam
sonosplay
chart_thermostat

Das Update war problemlos möglich.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

marboj

Zitat von: jemu75 am 26 Februar 2024, 22:40:57
Zitat von: marboj am 25 Februar 2024, 23:08:21Allerdings erscheint ein Fehler beim Aufruf: FHEM Config Device nicht gefunden. Das Fhem-Device, was in der Config angegeben wurde, konnte nicht gefunden werden.

Hallo Marco,

tritt der Fehler bei Dir noch auf? Wenn ja, kannst du bitte mal ein list von deinem fhemapp Device in FHEM machen. Weiterhin bitte mal die komplette URL, über die du FHEMApp4 aufrufst.

Grüße
Jens  :)

Danke der Nachfrage, klappt nun... der Aufruf war falsch...
meine FHEM-Konfiguration: Raspberry Pi4, BT-Dongle, CUL868, CeeBee II

binford6000

#25
Hallo Jens,
ich habe noch zwei Dinge bemerkt:
  • Der Tag/Nacht-Modus wird nach einem Reload der Seite immer wieder auf Nacht gestellt.
  • Nachdem ich gestern ein eigenes Template gelöscht habe, kann ich keine Neuen mehr erstellen.
    Beim Eingeben von 'Name für neue Vorlage' kann ich nur ein Zeichen eingeben, danach erscheint
    folgender Fehler in der Konsole:
    index-dc76d176.js:13 TypeError: Cannot read properties of undefined (reading 'toUpperCase')
        at SettingsView-d3ee4dca.js:14:33231
        at Array.sort (<anonymous>)
        at SettingsView-d3ee4dca.js:14:33212
        at Gd.fn (index-dc76d176.js:9:9403)
        at Gd.run (index-dc76d176.js:9:1517)
        at get value (index-dc76d176.js:9:9648)
        at SettingsView-d3ee4dca.js:14:36316
        at Object.r (index-dc76d176.js:13:4792)
        at default (index-dc76d176.js:48:98805)
        at Hw (index-dc76d176.js:13:53364)
    JU @ index-dc76d176.js:13



VG Sebastian

EDIT: Vermutlich war in meinem Template ein Fehler enthalten. Manuelles Löschen des Templates aus der config
behebt es leider auch nicht. In Panels unter der Template-Auswahl erscheint nur [object - Object] (siehe Screenshot).

juemuc

#26
Hallo,
vielleicht sollte man für die Fehlermeldungen aus den Tests einen eigenen Bereich erstellen. Jens, was ist für dich besser?

Ich kann aktuell im Bereich Optionsmenue keine Befehle erstellen. Das "+" reagiert nicht. Somit bleibt auch die "Diskette inaktiv. Beta 4.0.20

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

Benni

Zitat von: jemu75 am 26 Februar 2024, 22:12:00Weiterhin gab es die Frage, was mit den Standard-Templates aus FHEMapp 3.x ist. Grundsätzlich habe ich auch in FHEMApp4 die Möglichkeit zur Auslieferung von Standard-Templates implementiert. Aktuell ist hier nur ein ShellyPlus_1pm für Testzwecke enthalten. Natürlich könnte ich alle Templates, die ich aktuell erstellt habe, über diesen Weg veröffentlichen.

Ich glaube tatsächlich, dass die meisten Templates eher individuell sind. Allerdings könnte man doch so eine Art Standard-Templates mit ausliefern, also bspw. ein einfacher Switch, der  die zustönde on und off behandelt. oder eine einfaches Heizthermostat, Soll-Temperatur +/- und Ist-Temperaturanzeige.

Ich habe in meinen Templates meisten auch mehrere Geräte und v.a. Nutzung sehr spezifischer Attribute (userattr). Auch nutze ich die Sprachvariablen, von daher sind meine Templates evtl. als Inspiration interessant, aber eben nicht zur direkten Übernahme in eine fremde Installation.

Fürs Erste könnte man doch auch einfach einen Thread aufmachen, in dem jeder der möchte seine Templates als Raw-JSON veröffentlichen kann.

Daraus könnte man später immer noch eine, wie auch immer geartete Bibliothek aufbauen.

gb#

jemu75

#28
Guten Abend,

folgende Rückmeldungen zu den heutigen Themen:

Den Fehler von Jürgen (Hinzufügen von FHEM Befehlen im Optionsmenü) habe ich in der aktuell verfügbaren Beta-Version 4.0.21 gefixt. Danke Jürgen für's Testen! :)

Den Fehler von Sebastian konnte ich ebenfalls nachstellen. Grundsätzlich ist es nicht zu empfehlen, Änderungen direkt in der Konfigurationsdatei vorzunehmen. Das direkte Editieren der Konfigurationsdatei sollte nur im absoluten Ausnahmefall erfolgen, wenn FHEMApp die Konfiguration zum Beispiel nicht mehr einlesen kann. Benni hat für diesen Sonderfall auch noch eine Erweiterung an dem FHEM-Modul vorgenommen, damit manuelle Änderungen der Konfigurationsdatei erneut in FHEM eingelesen werden können. @Sebastian: vermutlich ist mind. eine deiner Templatedefinitionen strukturell fehlerhaft, sodass der Fehler ausgelöst wird. Es gibt einen recht einfachen Weg, wie ich in dem Fall weiterhelfen kann. Rufe bitte mal deine App mit dem loglevel 7 auf. (also z.B in der Form: http://fhem:8083/fhem/fhemapp4/index.html#/myapp/?loglevel=7) Die Kopfzeile wird nun rot dargestellt und oben rechts wird ein Infobutton eingeblendet. Bei Klick auf den Infobutton, kannst deine Konfiguration sehen, so wie sie aus der Konfigurationsdatei eingelesen wurde. Über den Kopieren Button (oben rechts) kannst du deine gesamte Konfiguration in die Zwischenablage kopieren und hier gern einstellen. Dann kann ich schnell sehen, wo deine Konfiuration kaputt ist und dir helfen, diese wieder zu korrigieren.

Zur Frage bzgl. Tag/Nacht-Modus von Sebastian. FHEMApp wird standardmäßig im dunklen Modus geöffnet und kann dann über das Optionsmenü umgeschaltet werden. Wenn man FHEMApp stattdessen im hellen Farbmodus öffnen möchte, dann kann man das über den URL-Parameter dark steuern. (also z.B in der Form: http://fhem:8083/fhem/fhemapp4/index.html#/myapp/?dark=0)

Zur Frage bzgl. Meldung von Fehlern von Jürgen. Am besten ist es, wenn Fehler oder Wünsche direkt in Github als Issue eingestellt werden. So behalte ich den Überblick und stelle sicher, dass nichts vergessen wird. Da jedoch nicht alle FHEM-User einen Github-Account haben, könnt ihr eure Fehler oder Wünsche auch gern hier in diesen Beitrag schreiben. Ich übernehme diese dann als Issue in Github. siehe auch Github - Issues

So, ich hoffe nichts überlesen zu haben. Meldet euch gern, falls noch was offen ist. :)

Ps.: und danke schonmal für euer Feedback zu den Templates. Ich denke noch etwas drauf rum und melde mich kurzfristig mit einem Lösungsvorschlag.

Grüße
Jens

juemuc

Danke Jens,

Update hat den Fehler behoben. In meinen Test sind weitere Fragen entstanden:

  • Beim Format %d() würde ich gerne die Möglichkeit haben, die Sekunden auszublenden. Ist das möglich? z.B. anstatt "27.02.24 18:00:00" "27.02.24 18:00"
  • Wie kann ich andere Icons einbinden? In FHEM gibt es ja diverse Pfade mit Icons. Es wäre schön, wenn man diese nutzen könnte

Viele Grüße
Jürgen

PS.: Ich bin gespannt auf Eure Templates. Ich habe heute Stunden damit verbracht ein Thermostat zu bauen  :-[ 
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).