Hauptmenü

% werte in icons anzeigen

Begonnen von Markus, 21 Februar 2013, 21:23:37

Vorheriges Thema - Nächstes Thema

Markus

Hallo

Ich hab jetzt für meine HM Dimmer 100 Lampen Icons angelegt jetzt wird im web immer schön eine Lampe mit entsprechendem wert angezeigt.

zb: "20 %.png"

Leider wird die Lampe auch für meine HM Stelantriebe verwendet...
Ich überlege jetzt auch 100 Symbole für die Heizung zu erstellen aber um die dann richtig zuzuweisen mus ich bei 6 Heizkörpern 600 Icons umbenennen

zb: "Heizkorper_Wohnzimmer.20 %.png"

gibt es nicht eine Möglichkeit das ich die Symbole nur "Heizung.20 %.png" benenne und dann werden sie für alle Heizkörper verwendet.

ich erinnere mich das der stell antrieb früher "set_20%" anzeigte jetzt zeigt er nur mehr"20 %" an vielleicht kann ich ja auch das wieder verändern leider weiß ich nicht wie...
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

justme1968

schau mal nach devStateIcon

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

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

Markus

ja das hab ich schon gefunden aber mus ich da nicht auch 100 einträge pro aktor anlegen?

attr Bad_Rolladen devStateIcon hoch:shutter_open runter:shutter_closed halb:shutter_halfopen
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

justme1968

nur wenn du 100 unterschiedliche icons willst...

sonst kannst du mit wildcards arbeiten:on:shutter_closed off:shutter_open \d+.*:shutter_halfopen

z.b. 1\d.* 2\d.* ... für 10er schritte

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

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

Markus

Danke!
Ich habs jetzt so gemacht scheint zu Funktionieren nur bei Null wird weiterhin 0% angezeigt.

attr Heizkorper_Kuche devStateIcon 0\d.*:0% 1\d.*:10% 2\d.*:20% 3\d.*:30% 40\d.*:40% 5\d.*:50% \
6\d.*:60% 7\d.*:70% 8\d.*:80% 9\d.*:90% 100\d.*:100%


Gruß Markus
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

justme1968

die null ist ja auch ein stetig also nur 0.*

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

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

Markus

Jetzt schaut es so aus und Funktioniert Perfekt!!
Danke!!
devStateIcon 0.*:0% 1.*:9% 2.*:9% 3.*:9% 4.*:9% 5.*:9% 6.*:9% 7.*:9% 8.*:9% 9.*:9% \
1\d.*:10% 2\d.*:20% 3\d.*:30% 40\d.*:40% 5\d.*:50% 6\d.*:60% 7\d.*:70% 8\d.*:80% 9\d.*:90% 100\d.*:100%


Gruß Markus
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

Markus

zu früh gefreut jetzt wird immer das 9% icon geladen der rest interesiert fhem nicht mehr :-(


devStateIcon 0.*:0% 1.*:9% 2.*:9% 3.*:9% 4.*:9% 5.*:9% 6.*:9% 7.*:9% 8.*:9% 9.*:9% \
1\d.*:10% 2\d.*:20% 3\d.*:30% 40\d.*:40% 5\d.*:50% 6\d.*:60% 7\d.*:70% 8\d.*:80% 9\d.*:90% 100\d.*:100%


gruß Markus
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

justme1968

du hast gesagt alles das mit 1,2,3,... anfängt soll auf 9 gemappt werden. 10,20,30,... fangen auch alle mit 1,2,3,... an!

die einstelligen solltest du so erwischen \d.%:9%

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

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

justme1968

und noch eine version ganz ohne icons mit dem neuen devStateIcon feature von heute.

das hier im web interface als devStateIcon eingeben:{my $v=Value("RolladenBuero");my $p=33; $p=int($v/3) if($v ne "up");  return '<div align="top" style="width:33px;height:'.(33-$p).'px;margin-bottom:'.$p.'px;border: 1px solid #000;background-color:#888;"></div>'}

RolladenBuero durch den device namen ersetzen und up durch den zustand den der rolladen  hat wenn er ganz oben ist.

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

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

Markus

Jetzt Funktioniert es Danke Andre!

das hab ich nicht probiert... wo muss ich es eingeben? In das Eingabefeld ganz oben neben dem verwirrendem "Save" Button? ;-)
oder soll es auch Funktionieren wen ich es direkt in die .cfg Eingebe?
Würde der Code dann so ausschauen?
attr Heizkorper_Kuche devStateIcon {my $v=Value("Heizkorper_Kuche");my $p=33; $p=int($v/3) if($v ne "Heis");  return '<div align="top" style="width:33px;height:'.(33-$p).'px;margin-bottom:'.$p.'px;border: 1px solid #000;background-color:#888;"></div>'}


Gruß Markus

ps sorry für meine vielen Fragen aber ich kann die Doku für devStateIcon nicht finden.
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

justme1968

am  besten gibst du es hier ein:

(siehe Anhang / see attachement)

und zwar nur den teil mit den {} und danach auf den "attr" button klicken.

das beispiel ist eher für einen rolladen. wenn es eine temperatur sein soll ist es vielleicht besser die breite auf 10px zu ändern, die farbe auf #f00 und marin-bottom zu marin-top.

gruss
  andre

ach ja: diese feature geht erst seit etwa einer woche. also nur mut aktuellem update.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Markus

ok Danke habs hingekrigt aber mir gefält es mit Bildern besser.

Gruß Markus
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

Markus

Wenn ich jetzt 100 Bilder erstellen würde, ist es dann auch möglich alle mit einer Formel zu erwischen zb durch Weitergabe des wertes..

attr Heizkorper_Kuche devStateIcon %.*:Heizung.%*

nimmt dann halt das richtige Bild zb:

Heizung.14%.png
Heizung.15%.png"

es Funktioniert aber ist doch auch keine Lösung oder?... :-(

devStateIcon 0.*:Heizung.0% \d.%:Heizung.9% 10.*:Heizung.10% 11.*:Heizung.11% \
12.*:Heizung.12% 13.*:Heizung.13% 14.*:Heizung.14% 15.*:Heizung.15% 16.*:Heizung.16% 17.*:Heizung.17% \
18.*:Heizung.18% 19.*:Heizung.19% 20.*:Heizung.20% 21.*:Heizung.21% 22.*:Heizung.22% 23.*:Heizung.23% \
24.*:Heizung.24% 25.*:Heizung.25% 26.*:Heizung.26% 27.*:Heizung.27% 28.*:Heizung.28% 29.*:Heizung.29% \
30.*:Heizung.30% 31.*:Heizung.31% 32.*:Heizung.32% 33.*:Heizung.33% 34.*:Heizung.34% 35.*:Heizung.35% \
36.*:Heizung.36% 37.*:Heizung.37% 38.*:Heizung.38% 39.*:Heizung.39% 40.*:Heizung.40% 41.*:Heizung.41% \
42.*:Heizung.42% 43.*:Heizung.43% 44.*:Heizung.44% 45.*:Heizung.45% 46.*:Heizung.46% 47.*:Heizung.47% \
48.*:Heizung.48% 49.*:Heizung.49% 50.*:Heizung.50% 51.*:Heizung.51% 52.*:Heizung.52% 53.*:Heizung.53% \
54.*:Heizung.54% 55.*:Heizung.55% 56.*:Heizung.56% 57.*:Heizung.57% 58.*:Heizung.58% 59.*:Heizung.59% \
60.*:Heizung.60% 61.*:Heizung.61% 62.*:Heizung.62% 63.*:Heizung.63% 64.*:Heizung.64% 65.*:Heizung.65% \
66.*:Heizung.66% 67.*:Heizung.67% 68.*:Heizung.68% 69.*:Heizung.69% 70.*:Heizung.70% 71.*:Heizung.71% \
72.*:Heizung.72% 73.*:Heizung.73% 74.*:Heizung.74% 75.*:Heizung.75% 76.*:Heizung.76% 77.*:Heizung.77% \
78.*:Heizung.78% 79.*:Heizung.79% 80.*:Heizung.80% 81.*:Heizung.81% 82.*:Heizung.82% 83.*:Heizung.83% \
84.*:Heizung.84% 85.*:Heizung.85% 86.*:Heizung.86% 87.*:Heizung.87% 88.*:Heizung.88% 89.*:Heizung.89% \
90.*:Heizung.90% 91.*:Heizung.91% 92.*:Heizung.92% 93.*:Heizung.93% 94.*:Heizung.94% 95.*:Heizung.95% \
96.*:Heizung.96% 97.*:Heizung.97% 98.*:Heizung.98% 99.*:Heizung.99% 100.*:Heizung.100%
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

wkarl

Hallo,

zusätzliche Frage: geht es das icon und den Wert anzuzeigen?

ciao walter
FHEM 5.7 & TabletUI 2.2 auf Fedora22 Server auf NUC5i5RYK
CUL 868 > FAST EnergyCam
HMLAN > HomeMatic TCs & VDs, Bewegungsmelder, Schalter, Taster, Steckdosen

justme1968

im prinzip schon aber nur mit eigenem perl code.

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

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

rudolfkoenig

Ersetzungen kann man (neuerdings) auch in der Datei iconalias.txt machen, das muss jeweils im Bilderverzeichnis liegen, eine Beispieldatei liegt in www/images/openautomation.

Fuer Freunde von Perl ist folgende Variante gedacht:

attr Heizkorper_Kuche devStateIcon { ".*%:Heizung.".Value("Heizkorper_Kuche") }

Siehe auch http://fhem.de/commandref.html#devStateIcon

wkarl

Hallo Rudolf,

ich hab das bei mir versucht, leider mit wenig Erfolg. Es wird kein icon angezeigt.


(siehe Anhang / see attachement)


Irgendeine Idee warum es nicht tut?

Danke und ciao walter
FHEM 5.7 & TabletUI 2.2 auf Fedora22 Server auf NUC5i5RYK
CUL 868 > FAST EnergyCam
HMLAN > HomeMatic TCs & VDs, Bewegungsmelder, Schalter, Taster, Steckdosen

RobertJ

Zitat von: justme1968 schrieb am Mo, 25 Februar 2013 23:39und noch eine version ganz ohne icons mit dem neuen devStateIcon feature von heute.

das hier im web interface als devStateIcon eingeben:{my $v=Value("RolladenBuero");my $p=33; $p=int($v/3) if($v ne "up");  return '<div align="top" style="width:33px;height:'.(33-$p).'px;margin-bottom:'.$p.'px;border: 1px solid #000;background-color:#888;"></div>'}

RolladenBuero durch den device namen ersetzen und up durch den zustand den der rolladen  hat wenn er ganz oben ist.

gruss
  andre

Wie geil ist das denn? Und ich habe gerade angefangen Balken zu zeichnen ....
Hehe, danke.
Gruss, Robert.

FB 7930; CUL HM; CUL MAX!
HM-LC-Bl1PBU-FM - UP Rolladen / HM-HM-PB-6-WM55 - 6CH Taster / HM-LC-SW2-FM - UP 2CH / div. MAX! Komp.

RobertJ

Und zu früh gefreut....
Also ich habe das ganze etwas umgebaut, um den Stand eines Rolladens in den Floorplan einzubauen. Sieht im Floorplan so aus:

(siehe Anhang / see attachement)


und in der room-Übersicht:

(siehe Anhang / see attachement)


Das ist der Code dazu: den ich direkt in der Webübericht in das Feld eintrage:
{my $v=Value("Rollo_AZ"); my $p=90; my $x=int($v); my $y=$x/100; $p=int($p*$y) if($v ne "off"); return '<div align="top" style="width:5px;height:'.(90-$p).'px;margin-bottom:'.$p.'px;border: 1px solid #000;background-color:#FFC;"></div>'}

Das Problem ist jetzt das das ganze auch funktioniert. Bis ich einen "shutdown restart" mache.
Dann kommt zwar die fhem Startseite, sobald ich aber auf den room Rolladen klicke geht fhem down.

Gruss, Robert.

FB 7930; CUL HM; CUL MAX!
HM-LC-Bl1PBU-FM - UP Rolladen / HM-HM-PB-6-WM55 - 6CH Taster / HM-LC-SW2-FM - UP 2CH / div. MAX! Komp.

justme1968

das problem ist das #FFC. wenn fhem das aus dem config file liesst ist # das kommentar zeichen und die zeile wird danach abgebrochen und ist fehlerhaft.

der einfachste weg das in den griff zu bekommen ist das ganze als funktion in 99_myUtils zu definieren und im devStateIcon die funktion aufzurufen.

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

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

RobertJ

Ok, funktioniert jetzt so ...
Aufruf im devStateIcon:
{rolloIcon("<Name Rollo>",<länge Rollo>,"<Aurichtung Rollo>")}
z.B.:
{rolloIcon("Rollo_AZ",90,"NS")}

Wobei die Ausrichtung "NS" für NordSüd steht.

und in der 99_myUtils.pm
sub rolloIcon($$$)
{
my ($name) = @_[0];
my ($laenge) = @_[1];
my ($ausri) = @_[2];
my $val=Value("$name");
my $valx=int($val);
my $valx=$valx/100;
if ($ausri eq "NS"){
my $p = int($laenge*$valx) if ($val ne "off");
return '<div align="top" style="width:5px;height:'.($laenge-$p).'px;margin-bottom:'.$p.'px;border: 1px solid #000;background-color:#FFC;"></div>'
}
else {
my $p = int($laenge*$valx) if ($val ne "off");
return '<div align="top" style="width:'.($laenge-$p).'px;height:5px;margin-bottom:'.$p.'px;border: 1px solid #000;background-color:#FFC;"></div>'

}
}


Vielen Dank für den Schubs in die richtige Richtung
Gruß, Robert.
Gruss, Robert.

FB 7930; CUL HM; CUL MAX!
HM-LC-Bl1PBU-FM - UP Rolladen / HM-HM-PB-6-WM55 - 6CH Taster / HM-LC-SW2-FM - UP 2CH / div. MAX! Komp.