Hauptmenü

Icons :-)

Begonnen von Markus, 26 Dezember 2012, 00:37:39

Vorheriges Thema - Nächstes Thema

Fennek

Hi,

meine funktionierende Config für devStateIcon sieht so aus.


attr WOZ_VD_001_HM devStateIcon 0.*:WOZ_VD_001_0% \d.%:WOZ_VD_001_7% 1\d.*:WOZ_VD_001_14% 2\d.*:WOZ_VD_001_21% 3\d.*:WOZ_VD_001_28% 4\d.*:WOZ_VD_001_35% 5\d.*:WOZ_VD_001_42% 6\d.*:WOZ_VD_001_49% 7\d.*:WOZ_VD_001_56% 8\d.*:WOZ_VD_001_63% 9\d.*:WOZ_VD_001_70% 10\d.*:WOZ_VD_001_77% 11\d.*:WOZ_VD_001_70% 12\d.*:WOZ_VD_001_77% 13\d.*:WOZ_VD_001_84% 14\d.*:WOZ_VD_001_91% 100\d.*:WOZ_VD_001_100%
attr WOZ_VD_001_HM fp_2_Obergeschoss 250,1078,0,


dazu noch im fhem/www/images/default Verzeichnis die png's

WOZ_VD_001_0%.png
WOZ_VD_001_14%.png
.
.
.
WOZ_VD_001_91%.png
WOZ_VD_001_100%.png
FHEM Cubietruck mit 50GB SSD
HMLAN: TC,VD,DN,DIM,SW,SEC,TH
HUEBridge, HUEDevice:LCT,LLC
Sonos: 5xPL1,2xPB,2xSUB
iBeacon's

Markus

probiere mal mit .* oder valve davor
ich hab die hm vd die melden zb: "18 %" du musst aber auch noch das valve abfangen.
Da musst du halt ein wenig Probieren, ich weiß auch nicht was jetzt genau greift...

zb.:
.*\d.%:9%
oder
valve 10\d.*:9%


@ Andreas Was hast du für Symbole? kannst du die zur Verfügung stellen oder muss ich selber noch welche zeichnen? komme aber diese Woche nicht mehr dazu...

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

Stefan 69

Hallo,

danke für die Hinweise. Habe es jedoch bis her nicht hinbekommen.

Mir fehlen da irgendwie Grundlagen. Schade, dass es für dieses "Problem" scheinbar keine anfängertaugliche Beschreibung gibt (bin jedenfalls nicht fündig geworden).


Wie bzw. mit welchem Eintrag kann man denn in der floorplanstyle.css  die Schriftgröße für den angezeigten STATE des FHT8V (valve ...) separat einstellen?

Würde dann halt auf die Icons verzichten und nur den state anzeigen :-(

Gruß Stefan

Fennek

Hi Stefan,

wenn es um Grundlagen geht bietet sich die Einsteiger Lektüre ( http://fhem.de/Heimautomatisierung-mit-fhem.pdf), WIKI und Commandref an. ;-)

so nun zum Thema:

poste doch bitte mal die Deviceconfig aus der fhem.cfg

@Markus

meine Icon's für den State der Heizkörper sind Eigenkreationen und noch lange nicht perfekt.
Ich habe sie erstellt wo es das devStateIcon noch nicht gab, um den aktuellen Zustand der VD's dynamisch darzustellen

anbei mal eine Config, ist zwar umständlich gewesen aber tut.

[code]
sub calc_WZ_HZ_Bild{

 my $WZ_ventil=ReadingsVal("WZ_Thermostat","actuator","0%");
    $WZ_ventil=(substr($WZ_ventil,0,(length($WZ_ventil)-1)));
    if ($WZ_ventil<1) {
      fhem "set WZ_HZ_Bild 1";
    }elsif ($WZ_ventil>1 && $WZ_ventil<7) {
      fhem "set WZ_HZ_Bild 2";
    }elsif ($WZ_ventil>7 && $WZ_ventil<14) {
      fhem "set WZ_HZ_Bild 3";
    }elsif ($WZ_ventil>14 && $WZ_ventil<21) {
      fhem "set WZ_HZ_Bild 4";
    }elsif ($WZ_ventil>21 && $WZ_ventil<28) {
      fhem "set WZ_HZ_Bild 5";
    }elsif ($WZ_ventil>28 && $WZ_ventil<35) {
      fhem "set WZ_HZ_Bild 6";
    }elsif ($WZ_ventil>35 && $WZ_ventil<42) {
      fhem "set WZ_HZ_Bild 7";
    }elsif ($WZ_ventil>42 && $WZ_ventil<49) {
      fhem "set WZ_HZ_Bild 8";
    }elsif ($WZ_ventil>49 && $WZ_ventil<56) {
      fhem "set WZ_HZ_Bild 9";
    }elsif ($WZ_ventil>56 && $WZ_ventil<63) {
      fhem "set WZ_HZ_Bild 10";
    }elsif ($WZ_ventil>63 && $WZ_ventil<70) {
      fhem "set WZ_HZ_Bild 11";
    }elsif ($WZ_ventil>70 && $WZ_ventil<77) {
      fhem "set WZ_HZ_Bild 12";
    }elsif ($WZ_ventil>77 && $WZ_ventil<84) {
      fhem "set WZ_HZ_Bild 13";
    }elsif ($WZ_ventil>84 && $WZ_ventil<91) {
      fhem "set WZ_HZ_Bild 14";
    }elsif ($WZ_ventil>91 && $WZ_ventil<100) {
      fhem "set WZ_HZ_Bild 15";


(siehe Anhang / see attachement)
 
(siehe Anhang / see attachement)
 
(siehe Anhang / see attachement)

FHEM Cubietruck mit 50GB SSD
HMLAN: TC,VD,DN,DIM,SW,SEC,TH
HUEBridge, HUEDevice:LCT,LLC
Sonos: 5xPL1,2xPB,2xSUB
iBeacon's

Stefan 69

Hallo Andreas,

diese Lektüre liegt hier sogar ausgedruckt. Finde aber trotz dem nicht die "Kurve" zu diesen devStateIcons.
Geht halt nur langsam vorann mit dem Verständniss für's programmieren.

Config hatte ich oben schon mal, macht aber nix :-)

# Heizkörpersteuerung im Wohnzimmer
define stellantriebeWZ FHT8V 1234
attr stellantriebeWZ comment Wohnzimmer.8v.FHT.01
attr stellantriebeWZ fp_Erdgeschoss 412,690,3,state
#attr stellantriebeWZ devStateIcon
attr stellantriebeWZ room Heizungen


Danke, Stefan


Fennek

ersetze mal

attr stellantriebeWZ fp_Erdgeschoss 412,690,3,state

durch

attr stellantriebeWZ fp_Erdgeschoss 412,690,0

dadurch wir nur das Icon angezeigt was definiert sein sollte un im .../images/default abgelegt wird.

z.Bsp. für einen zugeregelteten Antrieb: attr stellantriebeWZ.0.png
FHEM Cubietruck mit 50GB SSD
HMLAN: TC,VD,DN,DIM,SW,SEC,TH
HUEBridge, HUEDevice:LCT,LLC
Sonos: 5xPL1,2xPB,2xSUB
iBeacon's

Stefan 69

so, ersetzt. Jetzt steht noch immer valve 0 im Floorplan.

Die einzelnen icons heißen zB. 10%.png
Müsste ich die in stellantriebeWZ.0.png umbenennen?

Muss jetzt jedes einzelne Icon definiert werden und dann jeweils das Attribut gesetzt werden?


Fennek

ZitatMüsste ich die in stellantriebeWZ.0%.png umbenennen?

ja musst Du :-)

die Syntax ist

<DeviceName>.<state>%.png

Zitatmeine funktionierende Config für devStateIcon sieht so aus.

attr WOZ_VD_001_HM devStateIcon 0.*:WOZ_VD_001_HM_0% \d.%:WOZ_VD_001_HM_7% 1\d.*:WOZ_VD_001_HM_14% 2\d.*:WOZ_VD_001_HM_21% 3\d.*:WOZ_VD_001_HM_28% 4\d.*:WOZ_VD_001_HM_35% 5\d.*:WOZ_VD_001_HM_42% 6\d.*:WOZ_VD_001_HM_49% 7\d.*:WOZ_VD_001_56% 8\d.*:WOZ_VD_001_63% 9\d.*:WOZ_VD_001_70% 10\d.*:WOZ_VD_001_77% 11\d.*:WOZ_VD_001_HM_70% 12\d.*:WOZ_VD_001_HM_77% 13\d.*:WOZ_VD_001_HM_84% 14\d.*:WOZ_VD_001_HM_91% 100\d.*:WOZ_VD_001_HM_100%
attr WOZ_VD_001_HM fp_2_Obergeschoss 250,1078,0,



dazu noch im fhem/www/images/default Verzeichnis die png's

WOZ_VD_001_HM_0%.png
WOZ_VD_001_HM_7%.png
.
.
.
WOZ_VD_001_HM_91%.png
WOZ_VD_001_HM_100%.png
FHEM Cubietruck mit 50GB SSD
HMLAN: TC,VD,DN,DIM,SW,SEC,TH
HUEBridge, HUEDevice:LCT,LLC
Sonos: 5xPL1,2xPB,2xSUB
iBeacon's

Stefan 69

ich bin verwirrt, entschuldige bitte :-(

die Syntax ist

<DeviceName>.<state>%.png


bei deinen Icons ist doch aber kein . zwischen <DeviceName>.<state>%

WOZ_VD_001_HM_0%.png


Noch eine Erklärung bitte:
Habe ja nun nicht für jedes % ein Icon. Zeigt er nun immer nur das Icon beim entsprechenden Wert, oder bleibt die Gültigkeit des Icons bis zum nächsten Icon was in der Datei ist?


Danke, Stefan

Fennek

Sorry mein Fehler, ist in der Tat verwirrend geschrieben.

das

<DeviceName>.<state>%.png bezieht sich nicht auf devStateIcon, sondern auf wenn keins definiert ist.

Du möchtest aber defStateIcon einsetzen.

Ich habe mir 15 Icon's gebastelt und nach meinem Device benannt + den %Wert. Also 15 Stufen 0-14.

1 = 0-7%
2 = 8-14%
3 = 15-21%
usw.

Da ich eine Definition zu defStateIcon noch nicht gefunden habe, nahm ich die von Markus und habe sie
erweitert bis es lief.
FHEM Cubietruck mit 50GB SSD
HMLAN: TC,VD,DN,DIM,SW,SEC,TH
HUEBridge, HUEDevice:LCT,LLC
Sonos: 5xPL1,2xPB,2xSUB
iBeacon's

Markus

Zitat
ZitatMüsste ich die in stellantriebeWZ.0%.png umbenennen?


ja musst Du :-)
Stimt aber bei dieser Methode brauchst du 100 Symbole ;-)
deshalb verwende ich devStateIcon...

Ich hab leider auch keine Doku gefunden mir hat justme1968 geholfen ...

abgefragt wird vor dem : nachher ist der Name der Bilddatei ohne .png
0.*:0% nur um die null abzufragen
d.%:9% fragt die zahlen 1 bis 9 ab und weist es dem Bild 9%.png zu
1\d.*:10% fragt alles was mit 10 beginnt ab also 10,11,12,13
2\d.*:20% fragt alles was mit 20 beginnt ab also 20,21....

du musst einfach ein bisschen experimentieren ich weiß auch nicht genau was du brauchst..
Versuches einfach mal mit

valve 1\d.*:10
valve.1\d.*:10
.*1\d.*:10

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

Stefan 69

Hallo Markus und Andreas,

danke für eure Unterstützung!

Bin seit 7.00 am probieren, wird nix, steht beharrlich valve .. im Floorplan :-(


Kann ich das eigentlich nur mit einem Wert testen, oder muss ich die ganze "Iconpalette" bzw. Einträge in der .cfg dafür ändern?
Habe immer alle Werte geändert, daher frage ich. Mit einem ist es halt einfacher und schneller.


Glaube ich gebe die devStateIcon auf :-(  Hab den Heizkörper jetzt mit zum Hintergrundbild genommen und werde mich mit dem valve zufrieden geben.

Weis jemand, ob man die Schriftgröße für valve separat angeben kann?

In der floorplanstyle.css kann man ja nur einen Wert für alle devices angeben (bin ich der Meinung).
Jedenfalls ändert sich die Schriftgöße für den state der "Wunschtemperatur" dann jedesmal mit.

Danke für Eure Bemühungen!!!

Stefan

DC

Hallo Stefan,

Nicht verzweifeln... ;) Es gibt einen einfachen Weg, herauszufinden, was passiert: Die meisten Browser haben die Möglichkeit, sich den Seitenquelltext anzuschauen. Also einfach auf den Floorplan surfen, den Seitenquelltext anschauen und nach dem Namen suchen, also z.B. Stellantrieb, wenn das Teil so im Floorplan bezeichnet wird. In der unmittelbaren Nähe gibt es dann einen Eintrag "<img=.../....png> Das, was da steht, ist der Name des Icons, den der Floorplan aktuell sucht.

Die Icon Namen können auf mehreren Wegen bestimmt werden. Ein Weg ist, das Icon mit dem kompletten Device-Namen incl DeviceState anzugeben (s.oben die langen Namen mit z.B. "WOZ_VD_001_HM_0%". Dieses Icon funktioniert NUR mit dem Gerät "WOZ_VD_001_HM_". Alle Geräte, die einen anderen Namen haben, bekommen nach wie vor das Standard-Icon. Und natürlich musst Du für jeden Gerätezustand den DeviceState annehmen kann, auch ein Icon in FHEM hinterlegen.

Besser ist es, generische Icons zu verwenden, die man nicht nur für ein Gerät sondern für mehrere Geräte des selben Typs verwenden kann, z.B. "Heizung.10%.png" - und dieses Icon dann dem Gerät zuzuordnen. Bisher habe ich das bei mir nur mit Schaltern gemacht (die Erleuterungen rechts natürlich nicht in die Datei eintragen):
define W.TV CUL_HM 12345601                         <- Gerät TV im Wohnzimmer als W.TV Schaltkanal 01 definiert
attr W.TV fp_Wohnzimmer 300,600,2,TV                <- Gerät im Floorplan fp_Wohnzimmer platziert,
                                                       mit Name, Icon & Befehlen, Name im Floorplan ist TV
attr W.TV fp_Wohnzimmer.image btn_blue.{state}.png  <- Icon des Gerätes NUR im Floorplan zuweisen,
                                                       hier ein blauer Button.  Es gibt insgesamt 4 DeviceStates:
                                                       on,set_on,off,set_off => 4 Icons:
                                                       btn_blue.on.png,btn_blue.set_on.png,btn_blue.off.png,btn_blue.set_off.png

Damit das richtig funktioniert, musst Du fp_Wohnzimmer.image noch als globales Attribut am Anfang der fhem.cfg definieren:attr global userattr devStateIcon ...... fp_Wohnzimmer fp_Wohnzimmer.image icon webCmd .....

Bei den Ventilwerten sind das mit theoretisch 0..100% plus dem Befehl set... rund 200 icons, die man hinterlegen müsste - etwas viel.
Ich werde mir das in den nächsten Tagen mal genauer anschauen

---------
Edit:

Ich habe mir gerade den HTML-Code angeschaut. Im Floorplan ist bei Ventilen und Temperaturreglern kein Icon vorgesehen.
Sorry, geht also im Moment nicht. Aber ich bin an der Stelle am Basteln mit den Icons (meine Buttons sollen von fhem beschriftet werden). Ich behalte das mal im Hinterkopf und wenn ich einen Weg finde, poste ich das hier.
----------
FHEM auf rPi, HMLAN, HM
Mac, iPad, iPhone

Stefan 69

Danke für eure Bemühungen!

Es ist hilfreich wenn man zum weitermachen unterstützt wird!

Da die Steuerung ja soweit geht, werde ich diese Icon-Geschichte mal im Auge behalten.
Evtl. könnte man ja die Lösung auch in diesem Thema kurz erwähnen, damit man sie unter einem andern Post finden kann (stelle ich mir jedenfalls so vor).

Werde mich jetzt mal dem Thema Rolladen widdmen. Oh je, da gibts auch Icons :-(

Gruß Stefan

Markus

Ich hab heute ein paar Heizkörper Symbole gezeichnet und möchte sie für die FHEM Gemeinde zur Verfügung stellen !!

Ich verwende HomeMatic und damit sie auch schön verwendet werden und ich nicht alle Bilder für jeden Raum neu benennen muss hab ich diesen Code eingebaut, geht sicher auch einfacher aber es Klappt :-D
attr <name> devStateIcon 0.*:Heizung.0% 1.*:Heizung.1% 2.*:Heizung.2% 3.*:Heizung.3% 4.*:Heizung.4% 5.*:Heizung.5%\
6.*:Heizung.6% 7.*:Heizung.7% 8.*:Heizung.8% 9.*: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%


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