Umstieg von 3 auf 4 - Connected und andere dinge

Begonnen von draddy, 17 Januar 2025, 10:45:26

Vorheriges Thema - Nächstes Thema

draddy

Hi,
schon was länger her, aber bis jetzt lief bei der 3er alles, als ich nun etwas ergänzen wollte, habe ich gesehen das unser Jens sehr fleißig war und es Version 4 gibt.

Da diese beim 1. überfliegen sehr viele vorteile bringt, die ich bei 3 vermisst habe, fange ich langsam mit 4 an, aber es gibt stolpersteine :D

bei 3 gab es die Connected Panels womit man mehrere devices in einem panel sehen und schalten konnte. Das soll mit 4 auch irgendwie gehen, da man ja mehrere device Keys machen kann und so mehrere Devices in ein Panel machen kann, nur, irgendwie erscheinen im Panel die anderen dann nicht?

ne andere sache, ehr kleinigkeit, bei 3 konnte man wenn man nen Slider gebaut hat,  diesen "benennen" sah z.b. so aus

    {
"leftBtn": "mdi-power-off",
"leftClick": ["state::off"],
"text": "DIM",
"slider": ["pct::pct %v:%n:0:100:1"],
"rightBtn": "mdi-power-on",
"rightClick": ["state::on"]
    }

damit stand vor dem Slider DIM - habe das gemacht um den Dimmer vom Colortemp Slider z.b. kenntlich zu machen.
Das gibts gar nicht mehr oder?

schon mal danke fürs öffnen der knoten in meinem Kopf :D
OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1, DoorBird 2103V

jemu75

Hallo Draddy,

schön, dass Du auf Version 4 umsteigen möchtest.

Ja, eine der wesentlichen Änderungen in Version 4, ist die Art, wie man mehrere FHEM Devices mit einem Panel verknüpft.
In den Templates kann man jetzt Devicekeys definieren. Das sind faktisch Variablen, denen man im Panel dann ein bestimmtes FHEM Device zuordnet. Wichtig ist, dass man in der Template- oder Panelkonfiguration, die Variable richtig verwendet.

Ich habe das verschiedene Beispiele in der Hilfe beschrieben.

Hast du schon ein Template oder ein Panel konfiguriert? Wenn ja, schicke gern mal die Konfiguration. So kann ich sicher am besten weiter helfen.

Das Thema mit dem Slider gehen wir als nächstes an.

Beste Grüße
Jens :)

draddy

Moin Jens,

also normales Panle habe ich am laufen, habe auch mein ShellyDuo mit "doppel Main" wieder hingebracht wo man umschalten kann zwischen DIM und CT Slider ... nur für die Multi dinger fehlt mir gerade noch irgendwo der Hint.

Das mit den DeviceKeys habe ich glaub inzwischen auch verstanden! Das war in 3 so nicht nötig, und da wo man ähnliche gebraucht hat hatten wir am ende irgendeine ersetzung, welche immer auf das Device gezeigt hat (in einigen wenigen Fällen haben wir ja spezifische fhem befehle gebraucht ...) seis drum ... hier mein kläglicher versuch eines Multipanels ... leider, wiegesagt, taucht nur die Jens_Light auf.

{
"name": "Jens",
"template": "switch",
"panel": {
"devices": [
"switch:Jens_Light",
"switch2:Jens_Displays"
],
"navigation": [
"Home"
]
},
"status": {},
"main": [
{
"level": {}
}
],
"info": {}
}


eine andere sache dir mir aufgefallen ist, Hast du die Formatierung extra umgestellt, oder ist das jetzt vom Framework so? Beispiel:
{
"level": {
"mid": "slider",
"left1": "btn",
"right2": "btn"
},
"mid": {
"slider": [
"dimmer-pct::set dimmer pct %v:%n(0):success:0:100"
],
"size": [
"8"
]
},
"left1": {
"btn": [
"::mdi-lightbulb-outline"
],
"click": [
"::set dimmer off"
]
},
"right2": {
"btn": [
"::mdi-lightbulb-on-outline"
],
"click": [
"::set dimmer on"
]
}
}

dieser recht aufgeblähnte Main Ausdruck, hat mir in der alten Formatierung alla
{
"level": {
"mid": "slider",
"left1": "btn",
"right2": "btn"
},
"mid": {
"slider": ["dimmer-pct::set dimmer pct %v:%n(0):success:0:100"],
"size": ["8"]
},
"left1": {
"btn": ["::mdi-lightbulb-outline"],
"click": ["::set dimmer off"]
},
"right2": {
"btn": ["::mdi-lightbulb-on-outline"],
"click": ["::set dimmer on"]
}
}
einfach deutlich besser gefallen  (von der lesbarkeit und so) klar, kann ich am ende machen wie ich will, aber gerade in punkto, dass ich ja eventuell doch das ein oder andere Template wieder frei gebe /  hier teile, versuche ich mich dann schon immer an den gegebenen Style zu halten.

so long
(der andere) Jens
OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1, DoorBird 2103V

jemu75

Hallo Jens,

du hast in deinem Panel mit dem Name "Jens" auf das Template "switch" verwiesen. Damit ich prüfen kann, weshalb es noch nicht funktioniert, bräuchte ich bitte das Template mit dem Name "switch".

Bezüglich der JSON-Formatierung gibt es folgende Veränderung zwischen V3 und V4.
In V3 wurde der JSON-String direkt im FHEM-Attribute "appOptions" als reiner Text abgelegt. Eine Validierung der JSON-Definitionen gab es in V3 nicht.
In V4 wird die gesamte Konfiguration in ein separates JSON-File geschrieben und auch validiert. Zudem wurde mit V4 eine Oberfläche zur Bearbeitung aller Einstellungen bereitgestellt. Deshalb ist eine Bearbeitung der Konfiguration in JSON nicht unbedingt nötig. Die Umbrüche und Tabs werden nur in der JSON-Ansicht (und automatisch) erzeugt. Aktuell ist nicht geplant, "individuelle Formatierungen" der JSON-Definitionen in die Konfiguration zu schreiben, da diese durch Leerzeichen, Tabs und Zeilenumbrüche dann auch unnötig aufgebläht wird.

Beste Grüße
Jens :)

draddy

Moin,

bin tatsächlich ein guten Schritt weiter gekommen.

wenn ich das richtig verstehe, muss ich das Panel 1. expanden, 2. muss ich für jedes device einen Mainpart anlegen.

In summe sind diese Multipanels damit natürlich nicht mehr so schlank schnell dynamisch gemacht wie in der 3er - allerdings macht man das ja gsd nicht jedentag für all seine devices. also  egal xD


gibt es die Möglichkeit, einen Horizontalen Divider zu machen (Vertikal geht ja zwischen Left Mid Right)?

Hänge meine Multipanel vorlage mal an, ob das so im sinne des erfinders ist, bin für vorschläge offen :D


aber, bin irgendeinem Bug auf der Spur, vll. kannst du aber schon abhilfe schaffen und mein Wissen ergänzen:
Habe eine Vorlage gemacht die ich für den Shelly 2.5 im relay mode Nutze - also letztlich doppelter Lichtschalter. Im grunde nutzt relay 0 die vorlage, für relay 1 kopiere status und main in den raw vom Device - und ändere 0 zu 1 ... dabei hatte ich wohl den info part gelöscht und gespeichert ....
Ergebnis ist sehr ärgerlich: in den Einstellungen und Panels werden KEINE Panels mehr angezeigt. Die angelegten sind da, fuktionieren auch, aber ich kann nichts mehr bearbeiten.
Das einzige wie ich mir helfen konnte, war den config file zu öffnen, das besagte device raus schneiden und dann die  config neu einlesen zu lassen.

Hier fände ich eine art "ACHTUNG TU DAS NICHT" ganz schick. Was mir aber da echt aufgefallen ist. wenn es soo einfach ist die Config komplett zu zerlegen. wäre es nicht ein Überlegung ein Backup erstellen zu lassen wenn man auf SAVE drückt, und im FHEM Device für die APP die möglichkeit zu geben "Lade Backupconfig"?

OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1, DoorBird 2103V

Himbi777

Hi Draddy
Der horizontale Divider wird in der entsprechenden Ebene programmiert.

Für ein Backup legst du dir einfach eine zweite FHEMAPP-Instanz an. Du kopierst dann das Config.json der ersten Instanz nachts in deine zweite Instanz.
Backup-Befehl:
`sudo cp /opt/fhem/conf/fhem4_config.fhemapp.json /opt/fhem/conf/fhem4backup_config.fhemapp.json`;;

Restore-Befehl:
`sudo cp /opt/fhem/conf/fhem4backup_config.fhemapp.json /opt/fhem/conf/fhem4_config.fhemapp.json`;;

Ich hab es auch schon das ein- oder andere Mal benötigt.

Gruß Gerhard
Raspberry Pi4, OMV, FHEM, FHEM-App // Tasmota-Geräte, Zigbee2Tasmota, 433Mhz Funksender, WLED-Stripes, AI-on-the-edge Wasserzähler, Nuki-Türschlösser

draddy

hast du für den devider ein beispiel / code schnipsel an der hand?

backup - ja so hänlich mache ich das auch, aber, einmal nachts bringt mir halt gar nix - hab gestern wirklich paar mal die 30 minuten zerstört, bis ich gechecked habe wo vermutlich das problem liegt - sag ja, sollte eigentlich ähnlich FHEM selbst laufen, also bei speichern sollte ein backup angelegt werden das ist dann noch immer arg kritisch, weil man entgegen fhem bei fhemapp4 ja quasi alle paar sekunden speichert wenn man gerade am device was fummelt zum ausprobieren ...

das ärgerliche bei dem fehler gestern ist halt, man tut und macht, und sieht wirklich  erst wenn man aus dem device raus geht, das plötzlich keine panels mehr angezeigt werden in der edit ansicht -.-

weiß nicht was das Framework hergibt, vll wäre auch eine art "Save" und "Apply" möglich, das eine übernimmt die änderungen für die vorschau, das andere schreibt es endgültig in die config?  in Kombinatio mit dem autobackup beim endgültigen speichern, könnte das sehr viel frust vermeiden. oder bin ich da tatsächlich das einzige "opfer"? :D

lg
jens
OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1, DoorBird 2103V

Himbi777

Zitat von: draddy am 19 Januar 2025, 15:58:11hast du für den devider ein beispiel / code schnipsel an der hand?

Wenn du nach Codeschnipsel fragst, bearbeitet du deine Panelsmit einem Editor.
Hier ein Bsp. Wo der horizontale Divider definiert wird:
{
            "level": {
                "left1": "btn",
                "mid": "info",
                "right2": "btn",
                "divider": [
                    "::true"
                ]
            },
            "left1": {
                "btn": [
                    "bht-desired-temp:14.5:mdi-minus:",
                    "::mdi-minus:true"
     ........         
               
Raspberry Pi4, OMV, FHEM, FHEM-App // Tasmota-Geräte, Zigbee2Tasmota, 433Mhz Funksender, WLED-Stripes, AI-on-the-edge Wasserzähler, Nuki-Türschlösser

draddy

#8
ahh bei lvl - ok das macht tatsächlich sinn wenn man es so sieht xD

danke

p.s.

gibts eine beschränkung das es beim ersten main im panel nicht funktioniert?

    "main": [
        {
            "level": {
                "left1": "info",
                "mid": "info",
                "right2": "btn",
                "divider": [
                    "::true"
                ]
            },
            "left1": {
                "status": [
                    "device1-state:off:0",
                    "device1-state:on:100"
                ]
            },
            "mid": {
                "text": [
                    "device1-a-alias::%s:text-left text-h6"
                ]
            },
            "right2": {
                "btn": [
                    "device1-state:on:mdi-power::success",
                    "device1-state:off:mdi-power-off:"
                ],
                "click": [
                    "device1-state:on:set device1 off",
                    "device1-state:off:set device1 on"
                ]
            }
        },
        {
            "level": {
                "left1": "info",
                "mid": "info",
                "right2": "btn",
                "show": [
                    "device2-state:on:true",
                    "device2-state:off:true",
                    "device2-state::false"
                ],
                "divider": [
                    "::true"
                ]
            },
das ist aus dem oben verlinken multipanel ... der devider unter dem 2. device wird gezeigt, der unter dem 1. nicht? hab schon den show part testhalber entfernt aber ändert auch nix ...

ERLEDIGT mein fehler! xD hab fürs erste den Mainpart im Panel bearbeitet weil der Status vorne sich nach dem pct  richten soll ... - also muss ich auch da im main den divider dazu packen noch
OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1, DoorBird 2103V

draddy

mal sone grundsatz frage ...

eigentlich sollten Templates ja vorlagen sein, jedoch für sowas wie besagte Multipanel, finde ich das ehr "schwierig" aber, ich kann auch kein Panel ohne Template erstellen, oder?

Macht das jetzt wirklich sinn, das ich fast die ganze vorlage nochmal ins Panel zu kopieren um änderungen an z.b. Buttons etc vor zu nehmen, oder, tue ich mir nicht am ende leichter einfach für jedes Multipanel eine eigene Vorlage zu machen, und über Panel nur noch die devices zu füttern?

letztlich nutze ich die auf der "Home" Seite zur übersicht und schnell schaltung von z.B. Lichtern und so.
OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1, DoorBird 2103V

marvin78

Panels können ohne Probleme auch ohne Vorlagen verwendet werden.

Hast du die Doku mal von vorne bis hinten durchgelesen?

draddy

ja, habe ich, und nein, ich überkneiße vll. nicht alles beim durch lesen, bin ein sehr praktischer Mensch und lerne deutlich besser durch probieren oder lesen von Codes / Code ausschnitten.

Können ja auch nicht alle Procoder sein.  ;D
OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1, DoorBird 2103V

marvin78

Du lernst hier aber nicht durch ausprobieren sondern durch das Stellen von Fragen, die sich sehr einfach über die Doku beantworten lassen. Das heißt du verschwendest die Zeit von anderen. Tatsächlich braucht man keinerlei Coder-Skills, um die Doku zu verstehen.

draddy

wenn ich deine zeit verschwende, überlies mich bitte in zukunft einfach.

es ist toll wenn du aus der doku alle infos rausziehen kannst. grundlegend bekomme ich da auch sehr viele infos. aber dinge wie z.b. den Divider sehe ich da, wüsste auch wie ich ihn baue, aber WO im code der hin kommt scheint mir wohl der skill zu fehlen das zu verstehen. Ein code schnipsel wie z.B. von Himbi klärt die sache halt in wenigen sekunden.

Dazu habe ich fast 2 jahre nix gemacht, ausser hier und da mal nen zusätzlichen adapter eingebunden und der umstieg von 3 auf 4 ist halt auch nicht ganz trivial, ja, wenn man das täglich macht ist man eben anders drin.

vielleicht bin ich auch nur fehl in der Ahnnahme, dass es sich um ein Hilfeforum handelt, Entschuldigung dafür!
OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1, DoorBird 2103V

marvin78

Das ist es, wenn du die Doku liest, wirst du merken, dass du gar nicht wirklich im JSON rumwerkeln musst. Das läuft alles über die GUI.

Und nein, wir nehmen hier niemandem das Lesen ab. Helfen heißt nicht, dass wir hier nochmal erklären, was woanders schon geschrieben steht.

jemu75

#15
Hallo,

erstmal Dank an alle, die draddy beim Umstieg von v3 auf v4 helfen. Bisher fand ich es immer sehr gut, dass der FHEMApp Bereich hier im Forum sehr konstruktiv genutzt wird. Bitte behaltet das bei! ;)

@draddy: Die Erfahrung anderer Neulinge und auch Umsteiger hat tatsächlich gezeigt, dass es ratsam ist sich über die App-Einstellungen an die Konfiguration der Panels und Templates ranzutasten. Als geübten "v3-Nutzer", wo alles nur über JSON ging, kann ich dich natürlich verstehen. Aber probiere gern mal über die App-Einstellungen ein Panel und oder Template zu erstellen und schau danach dann mal, wie das JSON aussieht. Zum Thema Panel vs. Template. Ich empfehle für alle Panels, die mehr als einmal in deiner App auftauchen ein Template zu erstellen. Für spezielle Sachen kannst du auf ein Template verzichten. Die Struktur von Panels und Templates sind grundsätzlich gleich, können also auf die gleiche Weise mit allen verfügbaren Parametern konfiguriert werden. Wenn du in einem Panel auf ein Template verweist, dann braucht dein Panel faktisch keine eigene Konfiguration. Es ist aber auch möglich ein Panel mit ein paar individuellen Parametern zu versehen und trotzdem mit einem Template zu verknüpfen. Wichtig in dem Fall ist, dass die Panel Konfiguration immer die Template Konfiguration übersteuert. (Praxisbeispiel: du hast mehrere baugleiche Shellys im Einsatz. Alle verwendest du für Steckdosen nur einen für einen Lichtschalter. In dem Fall kannst du dein Template mit einem Icon für eine Steckdose versehen. Und in dem Panel für den Lichtschalter kannst du das gleiche Template verwenden und nur die Definition von das Steckdosen-Icon durch eine Definition mit einem Lampen-Icon ersetzen) 

Grüße
Jens  :)

draddy

Hi Jens,

jau bin ja wieder fast drin ^^

Thema man muss nicht im json basteln - also ob ich jetzt im editor ein .json schreibe oder direkt im webinterface ändert ja nix das es json ist und wenn ich halt gerne das darstellen / umsetzen will was ich im Kopf habe, muss ich halt was schreiben - die Multipanels z.B. gehen eben nicht mit ein bischen klick klick :) (klar um nen shelly schalter / plug  einzubinden brauchts nur ein paar klicks)

Paar sachen sind halt wie so oft - man hat im Kopf "frühr ging das so!" und hängt sich selber irgendwo auf ... besonders da hilft halt manchmal einfach ein stoß in die richtige richtung. Genau darum habe ich auch den FHEMAPP Bereich immer gemocht, man hat sich Unterstützt und nicht erwartet das jeder das Rad neu erfindet.

Was hier eigentlich nur noch stehen bleibt (also die grund und Multipanel laufen inzwischen alle - umstieg auf v4 ca. bei 60%) wäre die sache mit der Config - also eine art Fallback funktion. Wenns wegen nem blöden klick oder so wirklich die config zerschießt, ist das halt echt ärgerlich ^^

Danke nochmal für deine Arbeit und Wort Jens :)
OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1, DoorBird 2103V

marvin78

#17
Zitat von: draddy am 22 Januar 2025, 22:37:47Thema man muss nicht im json basteln - also ob ich jetzt im editor ein .json schreibe oder direkt im webinterface ändert ja nix das es json ist und wenn ich halt gerne das darstellen / umsetzen will was ich im Kopf habe, muss ich halt was schreiben - die Multipanels z.B. gehen eben nicht mit ein bischen klick klick :)

Warum meinst du, dass das nicht geht? Ich behaupte, dass fast alles geht, ohne das JSON anzufassen. Es gibt nur wenige spezielle Dinge, die einen Eingriff in das JSON erfordern. Dazu gehört bei mir das Kopieren und Sortiern von Abschnitten.

@jemu75: Eine Funktion, die die Ebenen kopieren kann (innerhalb des selben Panels aber ggf. auch darüber hinaus), wäre nicht schlecht. Auch Ebenen sortieren wäre sinnvoll. Das würde noch einige EIngriffe weniger nötig machen.

Zitat von: draddy am 22 Januar 2025, 22:37:47Paar sachen sind halt wie so oft - man hat im Kopf "frühr ging das so!" und hängt sich selber irgendwo auf ... besonders da hilft halt manchmal einfach ein stoß in die richtige richtung. Genau darum habe ich auch den FHEMAPP Bereich immer gemocht, man hat sich Unterstützt und nicht erwartet das jeder das Rad neu erfindet.

Das erwartet auch niemand. Aber deine Fragen oben haben gezeigt, dass du die Doku nicht gelesen hast. Das Forum ist nicht dafür da, das Lesen der Doku zu ersetzen. Das ist und bleibt so. Fragen, die darauf aufbauen werden immer gerne beantwortet.  Tatsächlich ist es für alle Beteiligten (auch dich) weniger aufwändig, wenn man dir nicht alles von Grund auf erklären muss und schon geklärte Fragen nochmal durchkaut. Es ist also in deinem Sinne, wenn du die Doku liest und verstehst.

Zitat von: draddy am 22 Januar 2025, 22:37:47Was hier eigentlich nur noch stehen bleibt (also die grund und Multipanel laufen inzwischen alle - umstieg auf v4 ca. bei 60%) wäre die sache mit der Config - also eine art Fallback funktion. Wenns wegen nem blöden klick oder so wirklich die config zerschießt, ist das halt echt ärgerlich ^^

Was zerschießt die Config denn wirklich? Eigentlich fällt mir da nicht viel ein. Im internen Editor wird man ja gewarnt, wenn das JSON Fehler hat. Für alles andere gibt es ja ein Backup.

draddy

Zitat von: marvin78 am 23 Januar 2025, 07:56:11Warum meinst du, dass das nicht geht? Ich behaupte, dass fast alles geht, ohne das JSON anzufassen. Es gibt nur wenige spezielle Dinge, die einen Eingriff in das JSON erfordern. Dazu gehört bei mir das Kopieren und Sortiern von Abschnitten.

weil ich sowas wie das Multipanel, um das es Ursprünglich mal ging, nicht mit klicki klacki hin bekomme, also muss ich es schreiben. Ob für dich jetzt ein json nur ein file im Editor ist, oder  wie für mich auch das Umschreiben im WebUI ein json ist, obliegt dir. am ende ists halt das gleiche. Nicht standard = du schreibst json.

Zitat von: marvin78 am 05 Juli 1975, 04:05:37Was zerschießt die Config denn wirklich? Eigentlich fällt mir da nicht viel ein. Im internen Editor wird man ja gewarnt, wenn das JSON Fehler hat. Für alles andere gibt es ja ein Backup.

hier quote ich mich selbst

Zitataber, bin irgendeinem Bug auf der Spur, vll. kannst du aber schon abhilfe schaffen und mein Wissen ergänzen:
Habe eine Vorlage gemacht die ich für den Shelly 2.5 im relay mode Nutze - also letztlich doppelter Lichtschalter. Im grunde nutzt relay 0 die vorlage, für relay 1 kopiere status und main in den raw vom Device - und ändere 0 zu 1 ... dabei hatte ich wohl den info part gelöscht und gespeichert ....
Ergebnis ist sehr ärgerlich: in den Einstellungen und Panels werden KEINE Panels mehr angezeigt. Die angelegten sind da, fuktionieren auch, aber ich kann nichts mehr bearbeiten.
Das einzige wie ich mir helfen konnte, war den config file zu öffnen, das besagte device raus schneiden und dann die  config neu einlesen zu lassen.

kurz: Panel mit Vorlage, im Panel selbst nimmst du anpassungen vor und löschst den
"info":{}

part einfach raus und speicherst das ganze - dein panel funktioniert, alles schick - das böse erwachen kommt, wenn du zurück auf die Panel ebene gehst und feststellst, das kein einziges mehr angezeigt wird zum bearbeiten.


Wiegesagt, will mich hier nicht streiten, aber immer nur RTFM schreien bringt halt nichts, manchmal überreißt man sachen einfach nicht, auch wenn man sie 5 mal liest, siehe auch meinen anderne beitrag wegen Expandable, ob ich da einfach zu blöd bin sei mal dahin gestellt :P ändert aber nichts daran, dass ich mit der Doku in dem Moment nicht ans Ziel komme. Und viele Dinge werden halt auch klarer / selbstverständlicher, wenn man die ganze zeit dran ist, bzw. liegen im Nebel wenn man gerade erst rein kommt (und dann sofort zuviel will^^).

lg
Jens
OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1, DoorBird 2103V

marvin78

#19
Dann musst du deine Probleme mit der GUI mal genauer beschreiben. Ich denke nämlich, dass du das so nicht machen musst. Auch dein Problem mit der kaputten Config rührt ja daher, dass du direkt in der JSON rumhantierst, was auch in dem Fall möglicherweise gar nicht möglich war. Tatsächlich sage ich gar nicht pauschalt RTM, ich sage lies es und die Probleme, werden sich teilweise lösen. Bzw. lies und komm mit dem konkreten Problem zurück.  Es hat im Übrigen nichts mit Klicki-Bunti zu tun. Da ist nichts Klicki-Bunti sondern es handelt sich um eine klar sturkturierte GUI zur Konfiguration.

Panel mit mehreren Devices und mehreren Ebenen sind sehr einfach hinzubekomen, ohne dass du das JSON ändern musst. Die Doku und viele Beiträge hier im Forum geben tatsächlich auch gute Hinweise darauf, wie das zu machen ist. Deshalb schreib hier einfach mal auf, was konkret davon dir Probleme bereitet und erwarte nicht, dass jemand deine Fehler abfängt, die du machst, weil du das JSON direkt anfasst, wo es nicht nötig ist bzw. ggf. auch auf eine Art, die nicht sinnvoll ist.

Das Pferd von hinten aufzäumen ist niemals eine gute Idee. Auch hier nicht.

Mal so gefragt: Wo editierst du das JSON denn? Ein eigener Editor ist keine gute Idee. Kannst du machen, aber dann kannst du ja auch selbst dafür sorgen, dass es ein Undo gibt.

draddy

wir sollten uns mal einigen WAS genau DU mit JSON meinst xD

für mich ist das alles JSON, ein Panel, ist ein JSON (weil in JSON geschrieben) ein Template ist ein JSON, die Config von FHEMAPP ist ein JSON.

Im Anhang einfach mal eins meiner Multipanels.

und besagten fehler erreichst du über das Web GUI -  du gehst auf ein Panel, gehst auf raw ansicht weil du z.B. den Mainpart austauschen willst (weil du z.B. nicht relay_0 sondern relay_1 ansprechen musst) und denkst dir (in unwissenheit oder copy paste fehler) "info kann weg, da ändere ich ja eh nichts"  ... da motzt der Raw editor von vom web GUI gar nix, weil für ihn die Struktur OK ist. Allerdings: das fehlen des info Parts scheint die config der APP zu zerschießen. Und das einzige was da hilft ist ein Backup, ODER das "rumfummeln" in der config.json

Ob ich eine editor wie Notepad++ oder den Internen der WebGUI nutze hängt tatsächlich immer daovn ab wie groß das ist was ich mache, die Übersicht im Editor ist ist halt meist etwas konfortabler. ABER, in FHEMAPP übernehmen mache ich über die WEB Gui ins Panel oder Template halt. Originale Templates lasse ich wie sie sind, kopiere sie maximal und erstelle neue daraus wenn ich was ändern will, die neuen eben auch über die WEB Gui. 

hatte das als vorlage geplant, hat sich in der Praxis aber als nicht Praktikabel gezeigt, wiegesagt, in 3 hat man das mit 3 zeilen gemacht und in die devices einen "Panel" part dazu gemacht. Letztlich ist es jetzt "CopyPast" Vorlage halt ^^
OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1, DoorBird 2103V

marvin78

#21
Aber warum machst du das im RAW? Ich habe es noch nicht verstanden. Ein JSON ist ein JSON. Konfigirierst du über die GUI (und damit meine ich nicht RAW), siehst du kein JSON, egal, wie du es definierst. Da ist keine Einigung nötig. Editierst du das JSON nicht direkt, kann auch kein Info Bereich rausfliegen. Ja, ich editiere auch mal in RAW, aber das betrifft nur spezielle Fälle, in denen ich etwas kopiere oder sortiere. Andere Fälle, in denen ich das machen müsste, fallen mir nicht ein und ich habe sehr komplexe Panels mit bis zu 60 Devices oder auch Ebenen in einem Panel.

Für den Fall, dass du externe Editoren nutzt, ist kein Abfangen in FHEMApp selbst nötig, da kannst du selbst für Undo sorgen. Es gibt auch keinen echten Grund das zu tun  (siehe oben). Es ist sogar zu vermeiden.


Ich habe den Eindruck, du hast noch nicht verstanden, was die GUI von FHEMApp alles kann. Lass RAW mal aus, schalte "erweitert" an und schau dir das an. Du kannst jede Einstellung und jede Ebene, die Devices und Ansichten über die Gui konfigurieren ohne auch nur eine Zeile im RAW-Json anzufassen.  Für einiges kannst du vordefinierte Vorlagen auswählen. Kopierst du bspw. aber Vorlagen aus dem Forum oder willst selbst welche ändern, kopierst du sie kurz in RAW, machst dann RAW wieder aus und du kannst dann die gesamte Vorlage über die GUI konfigurieren und das JSON dazu schreibst sich selbst, ohne dass du es anfassen musst.

draddy

also, so ganz grundlegend bin ich, für MICH, deutlich schneller unterwegs, wenn ich einfach einen Mainpart Kopiere, Einfüge, und z.B. von device4 auf device5 eben umänder im RAW. Denke wir sollten hier auch keine Diskusion auf reißen wie man was besser schneller toller macht, hat so Microsoft Vibes "Die System übersicht erreichen sie über Start, Systemsteuerung, System" - ja oder ich Drücke Windowstaste+Pause - "ja das geht auch, ist aber falsch" ...

und ja, natürlich, meine Panels und Templates habe ich lokal zusätzlich gespeichert, alleine schon wegen meiner Arbeit mit editor. Bringt aber trotzdem nichts wenn durch mehrfach beschriebenes verhalten (ob das nun gut, schlecht, faul, dumm sein mag...) die fhemapp_config.json zerschossen wird - weil DIE habe auch ich in der regel in keinem editor oder sonste wo, weil man da wirklich nicht ran muss (solange sie funktioniert)

ich arbeite nunmal lieber so, ich drücke auch lieber Windowstaste + R und gebe notepad++ oder excel oder services.msc ein, statt irgendwo ein symbol zu suchen. Es ist geil was die neue GUI kann! Aber nur weil man Autos Rosafolieren kann, muss es doch nicht jeder machen?

und ja, nachdem ich das weiß, sichere auch ich meine Config immer wieder mit cp app_config.fhemapp.json irgendwo anders hin. Ändert aber eben auch nichts an dem Feature Request, ob man eventuell eine automatische Backup funktion in betracht ziehen sollte. In FHEM wird ja auch nicht nur aus spaß ein backup angelegt, wenn ich auf Configspeichern klicke.

Für mich ist das hier an der stelle jetzt auch durch, wir beide drehen uns da im kreis, letztlich ist das eine Sache die Jens überlegen / beurteilen und im zweifel implementieren muss, und hat nichts mit den vorlieben des einen oder anderen zutun (gut oder nur bedingt aber aus deinen worten entnehme ich, auch du hast szenarien im Kopf, sich die  config zu zerschießen)

ich mach den kasten hier zu.

Lg
Jens

OMV5@AsRock j3455 8GB RAM
FHEM@Docker, Shelly "starter pack" 4x PlugS, 2x Bulb Duo RGB, Shelly 2.5, Shelly Plus 1, DoorBird 2103V