[gelöst] Icon für Teil eines readings

Begonnen von Vize, 17 August 2015, 18:21:59

Vorheriges Thema - Nächstes Thema

Vize

Hallo zusammen,

ich habe mal eine Frage zu Icons in einer readingsGroup.

In einem dummy habe ich readings mit "mehrteiligen" Werten angelegt:
Internals:
   NAME       du_muellabfuhr
   NR         174
   STATE      ???
   TYPE       dummy
   Readings:
     2015-08-17 16:48:48   Biotonne        9 Mittwoch
     2015-08-17 16:48:48   GelberSack      2 Mittwoch
     2015-08-17 16:48:48   Papiertonne     23 Mittwoch
     2015-08-17 16:48:48   Restmuell       2 Mittwoch


Diese übergebe ich so in eine readingsGroup, also steht dann z.B. in der readingsGroup auch "9 Mittwoch".

Ist es möglich nur die Zahlen (hier also die 9) in der readingsGroup gegen ein Icon auszutauschen während gleichzeitig das "Mittwoch" als Wort stehenbleibt?

Wenn ja, wie? Ich hab schon den WIKI-Eintrag für readingsGroup durchgeackert, aber finde dort dazu nichts.
Bin wie immer für jede Hilfe dankbar...

Gruß
Andreas

justme1968

du kannst das icon ganz normal per valueIcon setzen und dann mit valueSuffix den wochentag als text dran hängen.

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

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

Vize

Hi andre,

danke für den Tipp...aber wenn ich das aus dem Wiki zu readingsGroup übernehme:
{ Biotonne => " ".ReadingsVal ($DEVICE,$READING,0) ." " }

dann steht immer noch "9 Mittwoch" dahinter...

Würdest du mir bitte nochmal helfen, wie es auszusehen hat, damit nur der zweite Teil - also der Wochentag - stehenbleibt....

Danke!
Gruß
Andreas

BlackStone

#3
hm, kann man da mit split drin werkeln ?
{ Biotonne => " ".((split / /, ReadingsVal ($DEVICE,$READING,0))[1]) ." " }




justme1968

ja. genau in der art. du kannst beliebigen perl code verwenden:

..., reading => '{...}', ...

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

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

Vize

Hi,

super, hat geklappt...

Danke euch beiden!

Gruß
Andreas

Vize

Moin,

ich hab das
Zitat von: BlackStone am 17 August 2015, 19:02:17
{ Biotonne => " ".((split / /, ReadingsVal ($DEVICE,$READING,0))[1])." " }
mal in meine Müllabfuhr-Visualisierung eingebaut.

Ich meine, dass erst seitdem im log diese Warnung auftaucht:
PERL WARNING: Useless use of private variable in void context at ...

Weiß jemand, warum die Warnung ausgegeben wird und wie diese mit dem code oben zusammenhängen könnte?

Gruß
Andreas

justme1968

stacktrace einschalten und
schauen wo die meldung genau her kommt.

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

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

Vize

Hi,

mit stacktrace kommt dieses:
2015.08.18 17:15:29 1: PERL WARNING: Useless use of private variable in void context at (eval 6358) line 1.
2015.08.18 17:15:29 3: stacktrace:
2015.08.18 17:15:29 3:     main::__ANON__                      called by (eval 6358) (1)
2015.08.18 17:15:29 3:     (eval)                              called by ./FHEM/33_readingsGroup.pm (342)
2015.08.18 17:15:29 3:     main::lookup2                       called by ./FHEM/33_readingsGroup.pm (605)
2015.08.18 17:15:29 3:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (992)
2015.08.18 17:15:29 3:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1081)
2015.08.18 17:15:29 3:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (1493)
2015.08.18 17:15:29 3:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (806)
2015.08.18 17:15:29 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (435)
2015.08.18 17:15:29 3:     main::FW_Read                       called by fhem.pl (3045)
2015.08.18 17:15:29 3:     main::CallFn                        called by fhem.pl (648)
2015.08.18 17:15:29 1: PERL WARNING: Useless use of private variable in void context at (eval 6361) line 1.
2015.08.18 17:15:29 3: stacktrace:
2015.08.18 17:15:29 3:     main::__ANON__                      called by (eval 6361) (1)
2015.08.18 17:15:29 3:     (eval)                              called by ./FHEM/33_readingsGroup.pm (342)
2015.08.18 17:15:29 3:     main::lookup2                       called by ./FHEM/33_readingsGroup.pm (605)
2015.08.18 17:15:29 3:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (992)
2015.08.18 17:15:29 3:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1081)
2015.08.18 17:15:29 3:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (1493)
2015.08.18 17:15:29 3:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (806)
2015.08.18 17:15:29 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (435)
2015.08.18 17:15:29 3:     main::FW_Read                       called by fhem.pl (3045)
2015.08.18 17:15:29 3:     main::CallFn                        called by fhem.pl (648)
2015.08.18 17:15:29 1: PERL WARNING: Useless use of private variable in void context at (eval 6374) line 1.
2015.08.18 17:15:29 3: stacktrace:
2015.08.18 17:15:29 3:     main::__ANON__                      called by (eval 6374) (1)
2015.08.18 17:15:29 3:     (eval)                              called by ./FHEM/33_readingsGroup.pm (342)
2015.08.18 17:15:29 3:     main::lookup2                       called by ./FHEM/33_readingsGroup.pm (605)
2015.08.18 17:15:29 3:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (992)
2015.08.18 17:15:29 3:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1081)
2015.08.18 17:15:29 3:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (1493)
2015.08.18 17:15:29 3:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (806)
2015.08.18 17:15:29 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (435)
2015.08.18 17:15:29 3:     main::FW_Read                       called by fhem.pl (3045)
2015.08.18 17:15:29 3:     main::CallFn                        called by fhem.pl (648)
2015.08.18 17:15:29 1: PERL WARNING: Useless use of private variable in void context at (eval 6377) line 1.
2015.08.18 17:15:29 3: stacktrace:
2015.08.18 17:15:29 3:     main::__ANON__                      called by (eval 6377) (1)
2015.08.18 17:15:29 3:     (eval)                              called by ./FHEM/33_readingsGroup.pm (342)
2015.08.18 17:15:29 3:     main::lookup2                       called by ./FHEM/33_readingsGroup.pm (605)
2015.08.18 17:15:29 3:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (992)
2015.08.18 17:15:29 3:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1081)
2015.08.18 17:15:29 3:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (1493)
2015.08.18 17:15:29 3:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (806)
2015.08.18 17:15:29 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (435)
2015.08.18 17:15:29 3:     main::FW_Read                       called by fhem.pl (3045)
2015.08.18 17:15:29 3:     main::CallFn                        called by fhem.pl (648)


Kannst du da was mit anfangen?

Gruß
Andreas

Vize

Hi,

ich glaub, ich hab es selber gelöst...

Ich wollte das Ganze eigentlich mit dem valuePrefix
{ $READING => " ".((split / /, ReadingsVal ($DEVICE,$READING,0))[1]) ." " }
zusammenfassend für alle readings vereinfachen.

Das "$READING =>" braucht man aber wohl nicht, und wenn ich es auf das hier reduziere (inkl. löschen der zu viel gesetzten Klammern):
{ " ".(split / /, ReadingsVal ($DEVICE,$READING,0))[1]." " }

ist die Warnung im log weg...

Gruß
Andreas

justme1968

$READING => geht auch nicht da die variable zum zeitpunkt des ersten eval noch nicht belegt ist. für die hash variante müssen die keys konstante strings sein. wenn ein attribut für alle werte gelten soll geht es ohne hash einfach direkt mit perl code.

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

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

kvo1

Moin Vize,
keine schlechte Idee, merk ich mir mal  ;)
kvo1
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB