FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: tux75at am 25 August 2019, 10:52:15

Titel: Floorplan - erste Versuche
Beitrag von: tux75at am 25 August 2019, 10:52:15
Ich bin dabei einen Floorplan zu erstellen, weiss aber nicht, ob ich dies umsetzen kann.

Ich möchte einen Button haben, der den zustand eines Gerätes zeigt.
attr Office_Light devStateIcon off:switch_off:on on:switch_on:off

Ähnlich zum Code oberhalb. Dieser Code funktioniert, ich kann damit auch eine Lampe schalten.
Für die Rollos möchte ich den Zustand haben (agbestuft auf folgende Zustände: auf, 25%, 50%, 75% und zu).
Diese Zustände sollten möglich sein, jedoch möchte ich bei Betätigung weitere Buttons einblenden, welche auf genau diese Zustände geht und dann erst eine Aktion ausführen.

Ich dachte hierbei an einen Weblink, es wäre sogar ein weiterer Floorplan möglich, den ich bei druck auf die Taste öffnen würde. Jedoch müsste man das Command verbiegen.

Ich benötige keine vollständige Lösung, sondern nur ob mein Weg der richtige ist.

devStateIcon: Leerzeichen getrennte Auflistung von regexp:icon-name:cmd

Buttons auf andere Floorplans habe ich schon eingebaut:
define Menue_OG weblink htmlCode {'<a class="svg" href="/fhem/floorplan/FLOOPLAN_OG"><object data="/fhem/icons/myfloorplan/menue_og.svg" type="image/svg+xml"></object></a>' }

Sollte es gehen, wenn ich beides verbinde:
attr Office_Light devStateIcon off:switch_off:{'<a class="svg" href="/fhem/floorplan/FLOOPLAN_Office_Light"></a>'} on:switch_on:{'<a class="svg" href="/fhem/floorplan/FLOOPLAN_Office_Light"></a>'}

Habe ich das falsch verstanden, kleine Syntax Fehler, ungenügende Angaben zur Link Erstellung?
Resultat meines ersten Tests sind ausfälle der Floorplans die schon funktioniert haben. Obiger code passt also nicht ganz. Ich habe auch bemerkt, dass die FHEM Oberfläche danach nicht mehr funktioniert. Obige Zeile macht etwas böses.
Wenn es eine Möglichkeit gibt Elemente ein- und auszublenden, wäre dies vielleicht die bessere Variante. Ich konnte aber noch nichts diesbezüglich finden.


Eine weitere Frage, da ich es nicht hinbekomme:
define Office_Temp dummy
attr Office_Temp devStateStyle style="text-align:right"
attr Office_Temp fp_STATUS 310,1218,0

Damit habe ich versucht die Ausgabe rechtsbündig zu machen. Damit die Einheit von Mehreren Sensordaten bündig ist. Eine leichte Verschiebung durch unterschiedliche Zeichenbreiten bei der Schriftart nach vorne ist nicht so schlimm, wie ein unsortierter Haufen an Einheiten untereinander. Jedoch ändert sich nichts, wenn ich text-align:right oder text-align:left angebe. Kann es sein, dass dies durch eine andere Angabe, welche ich nicht finde, überschrieben wird? Im CSS sehe ich keine text-align oder ähnliches.
Titel: Antw:Floorplan - erste Versuche
Beitrag von: tux75at am 25 August 2019, 17:17:16
Zum ersten Teil habe ich inzwischen einen Workaround gefunden.

Das Triplet beim devStateIcon kann keine Weblinks (vermute ich), da die Kommandos an das Device gesendet werden.

Mein Weblink würde an den Dummy gesendet --> geht nicht --> FHEM ist instabil !!

Workaround (wird dann für Rollos verwendet, dich ich derzeit noch nicht habe, also jetzt einmal mit Licht):
attr Office_Light devStateIcon off:switch_off:noFhemwebLink on:switch_on:noFhemwebLink
attr Office_Light fp_EG 445,730,0,

Es wird ein Icon angezeigt, welches kein Kommando hat (also nur Statusanzeige)

define Menue_EG_Rollo weblink htmlCode {'<a class="svg" href="/fhem/floorplan/FLOORPLAN_EG_ROLLO"><object data="/fhem/icons/floorplan/switch_invis.svg" type="image/svg+xml"></object></a>' }
attr Menue_EG_Rollo fp_EG 445,730,0,

Damit mach ich mir einen invisible Button an der gleichen stelle mit gleichen Dimensionen wie die Statusanzeie und lege ihn darüber. Wenn es Probleme mit der Reihenfolge gibt, dann muss man hier noch die Ebene anpassen.

(Meine Namensgebung hab ich etwas geändert, damit es leichter lesbar ist)

Mein Design kann ich damit umsetzen, ist zwar mühsam, aber muss wohl so sein.

Gibt es eine andere Möglichkeit?

Zum zweiten Teil habe ich noch keine Lösung gefunden.