Hauptmenü

neuer style 8 für den floorplan

Begonnen von justme1968, 16 Februar 2015, 22:29:39

Vorheriges Thema - Nächstes Thema

justme1968

inzwischen sind die erweiterungen um beim klick auf ein icon ein popup (z.b. für einen slider) zu bekommen eingecheckt.

anbei eine erste version eines patches der diese infrastrutur nimmt und zusätzlich im floorplan einen neuen style 8 einbaut mit dem beim klick auf das device icon ein popup mit allen in webCmd definierten kommandos einblendet wird.

der patch ist noch nicht ganz vollständig. ich glaube eventMap wird eventuell noch nicht korrekt behandelt.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

UliM

Hi,
hab's mal eingebaut. weiss aber nicht wie ich's testen kann.
You have mail :)
Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

justme1968

na einfach style 8 setzen :)

define dddd dummy
attr dddd devStateIcon on:on:off off:off:on
attr dddd fp_fp 392,1014,8,,
attr dddd room popup
attr dddd setList on off pct:slider,0,5,100
attr dddd webCmd on:off:pct:pct 50


beim klick auf das icon kommt dann ein popup mit allen webCmd.

rudi hat aber gerade noch einen fehler im fhemweb.js.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

UliM

Zitat von: justme1968 am 17 Februar 2015, 18:45:38
na einfach style 8 setzen :)
Awas :)
Ich nutze webCmd und devStateIcon kaum, das ist mir alles zu kryptisch und ich hab keine Ahnung, wie die beiden zusammenspielen. Vielleicht braucht's dafür den nächsten Wizard ;-)

Ich probier's mal aus mit Deinem Beispiel - danke!

=8-)
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

UliM

Hi,
fnuzt prima.Allerdings wird das device schon das erste mal geschaltet, wenn man zum Öffnen des popup draufklickt.
Suboptimal. Aber keine Ahnung wie man das loswird. Du?
=8-)
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

gero

Hallo,

das Popup-Feature ist klasse! Danke Andre!
Es gibt aber scheinbar noch Probleme mit der Farbgebung innerhalb des Popups, oder?
Je nach FHEMWEB style, sind die Elemente mehr oder weniger gut sichtbar.

Eine andere Frage. Ich habe mir zum Testen folgenden dummy erstellt:

devStateIcon .*:on:state
fp_frontend_termine 232,255,8,,
room       popup
setList    state:slider,0,5,100
webCmd     state


Bei Style 8 wird kein Popup angezeigt. Bei Style 0, 1, 2 und 5 funktioniert es.
Hast du eine Idee, woran das liegt?
Dein Beispiel funktioniert.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

justme1968

#6
die ursache lag darin das du für dein device über devStateIcon auch schon ein popup mit einem kommando definiert hattest und die regex zum extrahieren des icons dadurch durcheinander gekommen ist.

der foglende patch behebt das, entfern einen überflüssigen js aufruf der inzwischen in fhemweb.js integriert ist und entfernt noch eine überflüssige zeile dir vermutlich durchs kopieren entstanden ist.

--- 95_FLOORPLAN.pm (revision 8044)
+++ 95_FLOORPLAN.pm (working copy)
@@ -696,17 +696,21 @@
               }
             }
           }
+
           $FW_ME = $oldMe;
+
           if( $style == 8 ) {
             $h =~ s/'/\\"/g;
-            if( $txt =~ m/<div([^>]*)><a[^>]*>(.*)<\/a>/ ) {
-              $txt = "<div $1><a onClick='FW_okDialog(\"$h\",this.children[0]);\$(\"a[href]\").each(function() { FW_replaceLink(this); })'\><div informId=\"$d\">$2</div></a></div>";
+            if( $txt =~ m/<div([^>]*)>.*>(<svg.*<\/svg>)/ ) {
+              $txt = "<div $1><a onClick='FW_okDialog(\"$h\",this.children[0]);'\><div informId=\"$d\">$2</div></a></div>";
             } else {
-           FW_pO "<td><div informId=\"$d-$text\">$txt</div>";                                    # reading
+       FW_pO "<td><div>$txt</div>";                              # reading
             }
-         FW_pO "<td><div informId=\"$d-$text\">$txt</div>";                                      # reading
+
+     FW_pO "<td><div>$txt</div>";                                # reading
           }
-       FW_pO "</tr>";
+
+   FW_pO "</tr>";
 
         } elsif($type eq "FileLog") {
#          $row = FW_dumpFileLog($d, 1, $row);


noch eine anmerkung: es gibt jetzt zwei möglichkeiten ein popup mit einem kommando zu bekommen. zum einen über devStateIcon -> diese version funktioniert überall in fhemweb und mit jedem florian style der ein icon anzeigt, und es gibt die variante über den florian style 8 der von devStateIcon unabhängig ist und alle webCmd kommandos im popup einblendet. falls für ein device beides gesetzt ist hat style 8 vorrang.

die probleme mit der farbgebung liegen an der nicht ganz aktuellen jquer-ui version die zur zeit noch mit fhem ausgeliefert wird. wenn du die version aus diesem post hier: http://forum.fhem.de/index.php/topic,32660.msg250460.html#msg250460 verwendest sollte das popup besser aussehen.

eine solche aktualisierte version sollte demnächst auch mit fhem ausgeliefert werden. es muss aber erst noch geklärt werden die jquer-ui styles mit den fhemweb styles integriert werden.

zu den styles: in den normalen fhemweb styles ist inzwischen für den colorpicker ein besonderer hintergrund konfiguriert wen er im hue oder ct slider mode verwendet wird. wie die beiden slider dann aussehen sieht man hier: Antw:fhemweb.js Umbau auf den screenshots. es ist eigentlich nichts weiter zu tun als die hintergründe in den css files zu konfigurieren: .colorpicker_ct .slider { background: url(../jscolor/ct_background.svg); }
.colorpicker_ct_mired .slider { background: url(../jscolor/ct_mired_background.svg); }
.colorpicker_hue .slider { background: url(../jscolor/hue_background.svg); }

wie bekommen wir das am besten auch in die floorplan styles? wenn es geht auch mit der standard slider width von width:250px; ich habe noch nicht rausgefunden was ich an den svg files ändern muss damit sie automatisch die volle breite des slider haben.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

gero

Danke für deine schnelle Antwort.

aber irgendwie funktioniert dein Patch bei mir nicht richtig.
Jetzt funktioniert mein Beispiel, aber deins nicht mehr.

Ich kann aber gerne warten, bis das Feature ausgereift ist.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

justme1968

sorry. mein fehler. ich hatte das diff im falschen verzeichnis gemacht. die version oben ist aktualisiert.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

gero

Funktioniert leider immer noch nicht. Nur, dass ich jetzt die Icons doppelt sehe.

Vielleicht liegt der Fehler auch noch bei mir. Habe gerade keine Zeit ausführlicher zu testen.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

gero

Ich habe heute in Ruhe nochmal alles getestet und es scheint jetzt zu funktionieren. Danke!

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

mrbreil

Ich glaube, das ist genau was ich suche. Leider kapier ich es nicht. Ist das jetzt schon im offiziellen Floorplan Modul, oder muss ich den Patch zusätzlich einspielen? Auch kapiere ich nicht wie ich das ganze "aktiviere", kann ich mein eigenes stylesheet weiter nutzen oder geht dann nur noch dieser 8 style. Ihr seht bestimmt schon allein an der Fragestellungen das ich auf dem Schlauch stehe;D. Könnte vielleicht auch jemand bitte zwei Bilder hochladen, damit man sich dieses Feature besser vorstellen kann?

Vielen Dank erstmal.

justme1968

das sollte in der aktuellen version eingebaut sein.

ein popup dialog erscheint entweder wenn du im device devStateIcon mit einem kommando das einen parameter erwartet definiert hast oder wenn du webCmd gesetzt hast und für das device den floorplan style 8 verwendest.

das ist unabhängig von stylesheets. style hier ist die art wie das das device auf dem floorplan angezeigt wird und wird über das entsprechende fp_... attribut im device gesetzt in dem auch die position steht.

screenshots kannst du in den posts hier: http://forum.fhem.de/index.php/topic,33766.msg261329.html#msg261329 und hier: http://forum.fhem.de/index.php/topic,33766.msg261394.html#msg261394 sehen.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

mrbreil


gosinus

Guten Morgen,

Ich hab da mal eine Frage zu dem Style 8 :

Wie bekomme ich das Popup Fenster in der css größer?

Vielen Dank

Gruß