neues Attribut: uiTable - DOIF User Interface, neues Attribut: DOIF_Readings

Begonnen von Damian, 07 Oktober 2017, 23:29:48

Vorheriges Thema - Nächstes Thema

Damian

Version v0.16. Jetzt auch als Floorplan-Alternative

Edit: Bild geändert
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

the ratman

das geht auch auf floorplan?
also quasi doif-floorplan auf fhem-floorplan?

wenn ja, dann: DAMIAN FÜR PRÄÄÄSIDENTE!!!

sag als nächstes, dass du das noch als popup/versteckbar machen willst und ich will ein kind von dir *g*.
→do↑p!dnʇs↓shit←

Damian

Zitat von: the ratman am 04 November 2017, 08:33:53
das geht auch auf floorplan?
also quasi doif-floorplan auf fhem-floorplan?

nein, es ist eine Floorplan-Alternative

Hintergrundbild, paar Widgets drauf und fertig:

uiTable
{
  $TABLE = "text-align:center; font-weight:bold;color:red; width:300px; height:300px; background-image:url($FW_ME/www/pgm2/images/Grundriss.jpg); background-size: 300px 300px;";
  $TR{1,3} = "class=''";
  $TPL{switch}="iconSwitch,on,off,off,on";
}

WID([$SELF:SZ],$TPL{switch})|WID([$SELF:Kue],$TPL{switch})|WID([$SELF:Bad],$TPL{switch})
" "|" "|WID([$SELF:Diele],$TPL{switch})
WID([$SELF:WZ1],$TPL{switch})|WID([$SELF:Ki],$TPL{switch})|" "
WID([$SELF:WZ2],$TPL{switch})|WID([$SELF:Balkon],$TPL{switch})|" "


Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

the ratman

schade - wirst also nicht der trump-nachfolger *fg*

ich seh da keine koordinaten, wie hast den das gelöst, wenn ich fragen darf?
machste das nur mit zellen?
→do↑p!dnʇs↓shit←

Damian

Zitat von: the ratman am 04 November 2017, 08:43:42
schade - wirst also nicht der trump-nachfolger *fg*

ich seh da keine koordinaten, wie hast den das gelöst, wenn ich fragen darf?

siehst im vorherigen Post: Bild plus Tabelle. Man muss sich das Bild als Tabellenraster vorstellen und dann die passende Tabelle definieren.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

the ratman

na dann war ich eh am richtigen weg ... btw das neue bild gfallt ma besser *g*

und das "$FW_ME" ist ne feste variable oder oder hab ich da wieder mal was verpennt?


btw - weißt du, was ich lustig fände, wo ich grad deine lamperl anguck?
könnte man irgendwie in den knob anstelle von zahlen grafiken bauen? knob in knob geht ja auch.
sinn der idee: dimmbare lampen - in der mitte die lampe und rund herum ein knob für die helligkeit - am besten dann noch ein knob für hue usw. ... müßte geil aussehen und schön platz sparen gegenüber den schiebereglern.
→do↑p!dnʇs↓shit←

Damian

Zitat von: the ratman am 04 November 2017, 09:52:15
na dann war ich eh am richtigen weg ... btw das neue bild gfallt ma besser *g*

und das "$FW_ME" ist ne feste variable oder oder hab ich da wieder mal was verpennt?


btw - weißt du, was ich lustig fände, wo ich grad deine lamperl anguck?
könnte man irgendwie in den knob anstelle von zahlen grafiken bauen? knob in knob geht ja auch.
sinn der idee: dimmbare lampen - in der mitte die lampe und rund herum ein knob für die helligkeit - am besten dann noch ein knob für hue usw. ... müßte geil aussehen und schön platz sparen gegenüber den schiebereglern.

$FW_ME ist eine globale FHEM-Variable. Man kann auch relative Pfade angeben ./www/...

Man kann aus den vorhandenen FHEMWEB-Widgets sich etwas (z. B. über Templates) zusammenstellen. Ich denke aber, dass langfristig einige neue Widgets entstehen werden. DOIF ist ja kompatibel zu der FHEMWEB-Schnittstelle.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

the ratman

Zitat von: Damian am 04 November 2017, 10:13:30~~~ snip ~~~
Ich denke aber, dass langfristig einige neue Widgets entstehen werden. DOIF ist ja kompatibel zu der FHEMWEB-Schnittstelle.
naja, bastelkasten fände ich schöner.
z.b. wünscht die meinige sich immer schon einen rgb-slider/knob. der wäre zwar sehr "ungenau", aber für schnelles, ungefähres farb-einstellen für sie ausreichend. glaub nicht, dass sowas noch viele andere wollen würden und somit die wahrscheinlichkeit für ein solches widget doch recht absinkt, denk ich mal.
→do↑p!dnʇs↓shit←

Damian

Zitat von: the ratman am 04 November 2017, 15:44:27
naja, bastelkasten fände ich schöner.
z.b. wünscht die meinige sich immer schon einen rgb-slider/knob. der wäre zwar sehr "ungenau", aber für schnelles, ungefähres farb-einstellen für sie ausreichend. glaub nicht, dass sowas noch viele andere wollen würden und somit die wahrscheinlichkeit für ein solches widget doch recht absinkt, denk ich mal.

So abwegig ist das nicht. Ich fand persönlich die meisten FHEMWEB-Widget bescheiden. Viele hier eingesetzte Widgets sind neu (iconLabel, iconSwitch, iconRadio). Ellert hat sie während der uiTable-Entstehung in Absprache programmiert. Z. Zt. entsteht ein selbst einfärbendes Icon-Widget, da ist ein rgb-Knob nicht mehr weit entfernt ;)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

the ratman

ich bin echt schon neugierig, wie das alles in ein paar monaten aussehen wird.
was mir ja sehr gfallt is, das ihr gruppenarbeit machts ... wenn das schule macht, wirds verdammt mächtige spielsachen geben.
→do↑p!dnʇs↓shit←

Damian

Hier mal ein Beispiel für ein Zisternen-Icon-Template mit Füllstandsanzeige. So etwas lässt sich einfach auf Batterien, Rollläden und andere Icons anpassen, bei denen ein Pegel/Level sichtbar sein soll.

Inhalt der Template-Datei Zisterne.tpl

{
  sub FUNC_zisterne {
    my($val)= @_;
    my $ret= "<div style=\"position:absolute;bottom:-11px;left:6px;width:20px;height:23px;background:linear-gradient(to top, blue, lightblue ".$val."%, rgba(0,0,0,0) ".$val."%);\"></div>";
    return $ret;
  }
}

DEF TPL_Zisterne("<div style='width:32px;height:20px;position:relative;'>".FUNC_zisterne($1)."<div style='position:relative;'>".FW_makeImage('Zisterne')."</div></div>",STY($1."%","font-weight:bold;font-size:8pt;"))


Definition im uiTable-Attribut:

IMPORT ./contrib/DOIF/Zisterne.tpl

TPL_Zisterne([HMdummy_Labor:level])

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Per


Damian

Anwendungsfall: Visualisierung Regen-/Leitungswassernutzung

Ausgangssituation:

Abhängig vom Wasserstand in der Zisterne wird zwischen Zisternenwasser (Regenwasser) und Leitungswasser umgeschaltet. Die Umschaltung erfolgt automatisch gesteuert über ein DOIF.

Anforderung der Visualisierung:

Falls Zisternenwasser genutzt wird, soll ein Zisternensymbol mit aktuellem Füllstand angezeigt werden, sonst ein Wasserhahn als Symbol für Leitungswasser

Lösung:

Template:

{
  sub FUNC_zisterne {
    my($val)= @_;
    my $ret= "<div style=\"position:absolute;bottom:4px;left:6px;width:20px;height:23px;background:linear-gradient(to top, darkorange, lightgrey,  ".$val."%, rgba(0,0,0,0) ".$val."%);\"></div>";
    return $ret;
   }
}

DEF TPL_Zisterne    ("<div style='width:32px;height:36px;position:relative;'>". ($2 eq "Zisterne" ? FUNC_zisterne($1):"").
"<div style='position:relative'>".($2 eq  "Zisterne" ? FW_makeImage('Zisterne@darkorange'):FW_makeImage('sani_water_tap@darkorange'))."</div></div>")


Aufruf des Templates:

TPL_Zisterne([Wasserzisterne],[Zisterne])

[Wasserzisterne] enthält den Füllstand der Zisterne in Prozent (0-100)
[Zisterne] enthält den aktuellen Zustand der Schaltung "Leitung"/"Zisterne"

Im Anhang Symboldarstellung für Leitungswasser, Zisternenwasser mit Füllstand 60% und mein aktueller Statusbildschirm mit dem angewandten Template im Bereich "Umwelt" (aktuell: Leitungswasser)


Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ellert


Damian

Anwendungsfall: Visualisierung von Netzbezug/Netzeinspeisung

Ausgangssituation

Im Reading [zaehler:l-momentan] befindet sich die aktuelle Netz-Einspeisung (negative Zahl) bzw. der aktuelle Netz-Bezug (positive Zahl) in KW.

Anforderung

Bei Netzeinspeisung soll ein Blitzsymbol weiß erscheinen und die aktuelle Leistung in einer Farbskalierung von gelb (0 KW) bis grün (4 KW) in KW mit einer Nachkommastelle angezeigt werden.

Bei Netzbezug soll ein Blitzsymbol orange erscheinen und die aktuelle Leistung in einer Farbskalierung von orange (0 KW)  bis rot (-4 KW) in KW als negative Zahl mit einer Nachkommastelle angezeigt werden.


Lösung

Template:

{
sub FUNC_KW
{
    my ($kw)=@_;
    if ($kw > 0) {
      return ("font-weight:bold;font-size:10pt;color:".DOIF_hsv ($kw,0,4,60,120,60,90));
    } else {
      return ("font-weight:bold;font-size:10pt;color:".DOIF_hsv ($kw,-4,0,0,30,100,100));
    }
}
}

DEF TPL_power(STY(-$1." KW",FUNC_KW (-$1)) . FW_makeImage($1 > 0 ? "fa_bolt\@Darkorange":"fa_bolt") )



Aufruf des Templates:

TPL_power([zaehler:l-momentan:d1])

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF