Hi,
ich würde gerne eine Floorplan Visu machen, so ähnlich wie die Floorplan Visu in Fhem. Hat das jemand schon mal gemach? Wie platziere ich die Elemente auf dem Floorplan am besten?Floorplan als Huntergrund, dann ein Grid drüber legen, wo ich die einzelnen Elemente positionieren kann oder gibt es da noch was besseres?
Danke euch
Kai
Hi Kai,
warum eine Floorplan- Visu? Floorplan in FHEM ist doch genial. Leider fehlt dort seit Langem der Maintainer.
Wäre das nicht was für dich? Ich melde mich schon mal als Tester... ;)
Gruß
Frank
Hallo Kai,
in smartVISU gibt es das exmple3.graphic zum Erstellen einer Visu auf Basis von Grundrissen. Die Widgets mit Parametern für die Positionierung der Visu-Elemente sind gleich mitgeliefert. Eine Anleitung ist auch dabei.
Gruß
Wolfram
Zitat von: wvhn am 08 Februar 2022, 17:25:52
Hallo Kai,
in smartVISU gibt es das exmple3.graphic zum Erstellen einer Visu auf Basis von Grundrissen. Die Widgets mit Parametern für die Positionierung der Visu-Elemente sind gleich mitgeliefert. Eine Anleitung ist auch dabei.
Gruß
Wolfram
Moin Wolfram,
ach das ist mehr echt durchgegangen ,das es so ein Widget gibt. Ich habe es grade mal getestet und funktioniert. Vielen Dank dafür.
Zitat von: Kai-Alfonso am 09 Februar 2022, 08:09:09
Moin Wolfram,
ach das ist mehr echt durchgegangen ,das es so ein Widget gibt. Ich habe es grade mal getestet und funktioniert. Vielen Dank dafür.
Hallo Wolfram,
ich habe noch mal eine Frage zu dem Widget win_shut - so ganz verstehe ich nicht, wie ich dort den Status des Fensters einbinden kann (open,tilted,closed)
{{ ovbasic.win_shut ('','Arbeitszimmer', '37%', '8%', '', '', 'Rolllade_Arbeitszimmer.value', '', 'Fenster_Arbeitszimmer.status','Fenster_Arbeitszimmer.status', 'midi', '') }}
Ich bräuchte eigentlich den Windows Status als one wig, wenn ich das Macro richtig verstehe, wird erstmal nur mit 2 Flügeln unterstützt - deswegen habe ich den Status des Fensters 2 mal angegeben
Fenster_Arbeitszimmer.status ist bei mit das GAD des Fensters mit den Stati open,closed,tilted
Allerdings sehe ich keinen Unterschied - siehst du, was ich falsch mache?
Moin Kai,
das Macro stellt ein 2-flügeliges Fenster mit Rolladen und mit den Bedienelementen für den Rolladen dar. Andere Varianten gibt es in der window.html, u.a. auch einflüglige Fenster ohne Rolladen.
Leider steht nur in der window.html der Hinweis
* Displays opening status of a window with text and/or icon
* 0 = closed, 1 = tilt. 2 = open
D.h. du müsstest den Status entweder fhem-seitig auf 0,1,2 setzen, oder im Widget die fhem-Stati in 0,1,2 umwandeln.
{% if gad_window_l == 'closed' %} {% set gad_window_l = '0' %} {% endif %}
usw. ab Zeile 351.
Gruß
Wolfram
Zitat von: wvhn am 09 Februar 2022, 12:33:10
Moin Kai,
das Macro stellt ein 2-flügeliges Fenster mit Rolladen und mit den Bedienelementen für den Rolladen dar. Andere Varianten gibt es in der window.html, u.a. auch einflüglige Fenster ohne Rolladen.
Leider steht nur in der window.html der Hinweis
* Displays opening status of a window with text and/or icon
* 0 = closed, 1 = tilt. 2 = open
D.h. du müsstest den Status entweder fhem-seitig auf 0,1,2 setzen, oder im Widget die fhem-Stati in 0,1,2 umwandeln.
{% if gad_window_l == 'closed' %} {% set gad_window_l = '0' %} {% endif %}
usw. ab Zeile 351.
Gruß
Wolfram
Ach super - ich hab mal per Hand das entsprechende Reading auf 0,1,2 gesetzt in Fhem und der Status passt dann im Widget. So ein Kombiwidget mit Shutter und Window-Status hat mir echt gefehlt. Den kann ich doch bestimmt auch außerhalb eines Flooplans, in einer normalen Visu verwenden?
Ich hab den Code zum ersetzen von closed,tilt und open nach 0,1,2 in die ov.html eingetragen
{% macro win_shut (id, txt, left, top, gad_move, gad_stop, gad_pos, gad_shade, gad_window_r, gad_window_l, type, hide) %}
{% import "widgets/window.html" as window %}
{% import "basic.html" as basic %}
{% import "icon.html" as icon %}
{% if gad_window_r == 'closed' %} {% set gad_window_r = '0' %} {% endif %}
{% if gad_window_r == 'tilted' %} {% set gad_window_r = '1' %} {% endif %}
{% if gad_window_r == 'open' %} {% set gad_window_r = '2' %} {% endif %}
{% if gad_window_l == 'closed' %} {% set gad_window_l = '0' %} {% endif %}
{% if gad_window_l == 'tilted' %} {% set gad_window_l = '1' %} {% endif %}
{% if gad_window_l == 'open' %} {% set gad_window_l = '2' %} {% endif %}
Es scheint aber nicht zu funktionieren. Weißt Du zufällig wieso?
Ich muss mich echt entschuldigen. Das war eine komplette Fehlleistung.
Dies im Twig/html zu machen, kann nicht funktionieren. Das geht nur dynamisch im JavaScript.
Den Code kannst Du löschen. er macht nichts kaputt, aber nutzt überhaupt nichts.
Ich mach Dir heute Abend mal einen Vorschlag zur Änderung der window.js.
Gruß
Wolfram
Zitat von: wvhn am 09 Februar 2022, 16:31:23
Ich muss mich echt entschuldigen. Das war eine komplette Fehlleistung.
Dies im Twig/html zu machen, kann nicht funktionieren. Das geht nur dynamisch im JavaScript.
Den Code kannst Du löschen. er macht nichts kaputt, aber nutzt überhaupt nichts.
Ich mach Dir heute Abend mal einen Vorschlag zur Änderung der window.js.
Gruß
Wolfram
Quatsch, da gibts nichts zu entschuldigen. Bin ja froh, wenn ich hier Hilfe bekomme und dankbar dafür.
Moin Kai,
mit dem angehängten Code für die window.js funktioniert bei mir die Anzeige mit den Readings im Textformat.
ovbasic.win_shut habe ich nicht getestet, aber das ruft ja das Widget window.complete direkt auf.
Gruß
Wolfram
Zitat von: wvhn am 09 Februar 2022, 17:22:19
Moin Kai,
mit dem angehängten Code für die window.js funktioniert bei mir die Anzeige mit den Readings im Textformat.
ovbasic.win_shut habe ich nicht getestet, aber das ruft ja das Widget window.complete direkt auf.
Gruß
Wolfram
Perfekt - danke dir - grade getestet und funktioniert. Jetzt muss ich nur schauen, wie ich das selbe Widget noch einmal mit den Icons für Einflüglig Links, Einflüglich Rechts und Terassentür hinbekomme
Die items sind ja optional. Insofern reicht es, nur für den jeweils aktiven Flügel ein item anzugeben und das andere leer zu lassen.
Wenn Du andere Formen brauchst wie Terrassentür oder andere Fensterformen, müsstest Du neue Widgets anlegen.
- in der html ist die Grundform des Fensters als svg definiert. Da kannst Du von den in smartVISU enthaltenen icons ausgehen und musst die Flügel neu als Linienzug definieren
- in der js wird der jeweilige Flügel transformiert. Das musst Du anpassen
- Die Berechnung der Linien für den Rolladen (fx.grid ...) kannst Du parametrieren
Gruß
Wolfram
Zitat von: wvhn am 09 Februar 2022, 18:18:25
Die items sind ja optional. Insofern reicht es, nur für den jeweils aktiven Flügel ein item anzugeben und das andere leer zu lassen.
Wenn Du andere Formen brauchst wie Terrassentür oder andere Fensterformen, müsstest Du neue Widgets anlegen.
- in der html ist die Grundform des Fensters als svg definiert. Da kannst Du von den in smartVISU enthaltenen icons ausgehen und musst die Flügel neu als Linienzug definieren
- in der js wird der jeweilige Flügel transformiert. Das musst Du anpassen
- Die Berechnung der Linien für den Rolladen (fx.grid ...) kannst Du parametrieren
Gruß
Wolfram
Danke dir für die Erläuterungen. Ich versuche das mal zu verstehen, wie das aufgebaut ist und ich hoffe, es ist ok, wenn ich dann hier nachfragen stelle
Die Version der window.js hatte noch ein Problem mit der Farbdarstellung. Ich habe einen Fix eingespielt und oben im Originalpost die Datei ausgetauscht.
Zudem habe ich die Änderung mit den Texten "open", "tilted" und "closed" in das Widget basic.window übernommen.
Im kurz bevorstehenden Wartungsrelease wird dann beim example3.graphic in der window.html das Macro "window.comlete" einschließlich der window.js verschwinden. Im Widget "ovbasic.win_shut" wird stattdessen das Widget "basic.window" aufgerufen. Wer nur ovbasic.win_shut verwendet, merkt von der Änderung nichts.
Gruß
Wolfram
Zitat von: wvhn am 11 Februar 2022, 11:57:30
Die Version der window.js hatte noch ein Problem mit der Farbdarstellung. Ich habe einen Fix eingespielt und oben im Originalpost die Datei ausgetauscht.
Zudem habe ich die Änderung mit den Texten "open", "tilted" und "closed" in das Widget basic.window übernommen.
Im kurz bevorstehenden Wartungsrelease wird dann beim example3.graphic in der window.html das Macro "window.comlete" einschließlich der window.js verschwinden. Im Widget "ovbasic.win_shut" wird stattdessen das Widget "basic.window" aufgerufen. Wer nur ovbasic.win_shut verwendet, merkt von der Änderung nichts.
Gruß
Wolfram
Hi,
ich habe die Änderungen bei mir hinbekommen und 2 Widgets mit win_shut_one und win_shut_two erstellt. Ich schau mir mal deine Änderungen an und mach dann ggf ein merge