Neues Modul readingsGroup

Begonnen von Niko, 24 August 2013, 11:59:11

Vorheriges Thema - Nächstes Thema

MaJu

Danke. Da die Temperaturen immer gleichzeitig vom openweather-Modul gesetzt werden sollten, müssen sie nicht separat getriggert werden.

Die erste Variante ohne "°C" ist nicht so schön.
Bei der zweiten übersteigt es aktuell meinen Horizont.
Die Dritte Möglichkeit klingt sehr gut, auch wenn ich bisher mit "userReading" noch keinerlei Erfahrung habe, aber das klingt machbar.



Ja, ich habe nonames auf "1" gesetzt. (Ich habe noch "noheading" auf 1). Insbesonde bei Einfärbung der Zeilen im Floorplan sieht man sehr gut, dass die Zeilenfarbe nicht bei Pixel Null beginnt, sondern erst bei Pixel 6.

Ich habe im Anhang einen stark vergrößerten Ausschnitt eines Teils der TV-Programm-Readingsgroup reingepackt. Das hellgrün ist die definierte zweite Zeilenfarbe (das dunkelgrün entspricht der definierten Hintergrundfarbe des Floorplan, daher starten dies offensichtlich schon ganz links, das liegt aber nur am gleichfarbigen Hintergrund).

Für den Floorplan habe ich bei der Readingsgroup das Attribut auf 280,0,0
Erlebnisreiche Grüße aus Leipzig!

Elektrolurch

Hallo Andre,

jetzt hat sich durch die überarbeitete Version der rg doch ein Problem ergeben:

Ich habe im EM (EnergieMonitor) so ca. 40 Geräte, die jeweils mit 5 Verbrauchswerten (stündlich, täglich, wöchentlich, monatilich, jährlich) angezeigt werden.
In der rg definiere ich
attr EM_rg valueFormat %d Wh
damit die Nachkommastellen der ca. 200 Werte nicht angezeigt werden.
Nun kam der Spieltrieb dazu und über drei Menüs kann ich die Darstellung der rg umstellen:
attr EM_rg commands {'mode' => 'mode:', 'typ' => 'typ:', 'view' => 'view:'}

attr EM setList mode:all,groups,rooms view:collapse,expand type:aktual,last

Bislang gab es durch die Definition von valueFormat in der rg drei Fehlermeldungen, weil die Werte von type,mode und view ja nicht numerisch sind, aber die Menüs wurden angezeigt.

Seit der Umstellung der rg sind nun dort keine Menüs mehr, sondern " 0 Wh".

Ich müsste jetzt dynamisch einen hast für valueFormat berechnen und definieren, der so ca. 400 Wertepaare enthält....

Im Augenblick habe ich als Workaround "valueFormat" in der rg gelöscht, damit die Menüs wieder angezeigt werden.

Ev. eine Idee für eine Alternative?

Und dann habe ich bzgl. von Knöpfen zur Umstellung von Darstellungen noch ein Problem mit der Bildschirmaktualisierung:

http://forum.fhem.de/index.php/topic,32305.msg247193.html#msg247193

Vielleicht hierzu auch eine Idee? Betrifft ja immer readingsGroup.


Elektrolurch



configDB und Windows befreite Zone!

justme1968

du kannst das valueFormat so setzen:{return "" if($READING =~ m/mode|typ|view/); return "%d Wh";}

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

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

Tommy82

Hi, ich möchte auf meinem FP slider in der ReadingsGroup optisch anders darstellen, dafür gibts in der .css des FP diesen eintrag:
body     { background-color: #444444; font-family:LCARS, Arial, Helvetica, sans-serif; font-size:13px; background-image:url(../images/default/fhemicon_dark.png); background-repeat:no-repeat; }
body[id~=Media]     { background-color: #A5A5A5; font-family:Arial, Helvetica, sans-serif; font-size:13px; background-image:url(../icons/Media.bak); background-repeat:no-repeat; }
#logo { display:none !important;}
#backimg {position:absolute; top:0px; left:0px;}
#fpmenu.fp_arrange   { position:absolute; bottom:20px; left:30px; min-width:310px; font-size:9px; border:1px solid #CCCCCC; background: #111111; -moz-border-radius:8px; border-radius:8px; border-spacing: 6px; padding: 6px;
box-shadow:5px 5px 5px #000; }

#menu    { position:absolute; top:180px; left:30px; width:128px; -moz-border-radius:8px; border-radius:8px; border-spacing: 6px; padding-bottom: 6px; padding-top: 6px;}
#menu.floorplan  { position:absolute; top:180px; left:30px; width:128px; font-size:13px; border:1px solid #CCCCCC; background: #111111; box-shadow:5px 5px 5px #000; padding: 6px;}

#hdr     { position:absolute; top:15px; left:190px; border:1px solid #CCCCCC; background: #111111; -moz-border-radius:8px; border-radius:8px; border-spacing: 6px; padding: 6px;
box-shadow:5px 5px 5px #000; margin-bottom: 10px;}
#content { position:absolute; top:50px; left:180px; bottom:10px; right:10px; text-align:center}
#startcontent {position:absolute; top:20px; left:200px; text-align:left; font-size: 16px; color:gray; }
#errmsg { background-color: #000000; color: #FFFFFF; position:absolute; top:0px; left:40px; z-index: 10; }

a { color:#CCCCCC; text-decoration:none;}
td {padding-left: 3px; padding-right: 3px; padding-top: 3px; padding-bottom: 3px;}

img { -moz-border-radius:8px; border-radius:8px;}

table { -moz-border-radius:8px; border-radius:8px; }
table tr.sel { backround: #333333;}
table a:hover {color: #ffffff;}
table.weather { color: #ffffff; font-size: 14px;}

.fp_Home {border:0px solid red;}

.devicename     { font-size: 14px; text-align:center; color: #FFFFFF; }
.devicestate    { text-align:center; color: #FFFFFF; }
.devicecommands { font-size:14px; text-align:center; color: #FFFFFF; }
        .devicetimestamp{ font-size:10px; text-align:center; color: #FFFFFF; }

#Wettervorhersage1_MaxTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage2_MaxTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage3_MaxTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage4_MaxTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage5_MaxTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage1_MinTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage2_MinTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage3_MinTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage4_MinTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage5_MinTemp {font-size:28px; color: #FFFFFF; }
#Wettervorhersage1_Tag {font-size:28px; color: #FF00FF; }
#Wettervorhersage2_Tag {font-size:28px; color: #FF00FF; }
#Wettervorhersage3_Tag {font-size:28px; color: #FF00FF; }
#Wettervorhersage4_Tag {font-size:28px; color: #FF00FF; }
#Wettervorhersage5_Tag {font-size:28px; color: #FF00FF; }


#Heizung_Fenster    { color: #ffffff; font-size: 14px;}
#sz_Rollo.devicecommands {font-size:12px; text-align:center; }
#ez_Aussentemperatur_dummy.devicestate  {color:green; font-size:30px; }
#HomeStatus.devicestate  {color:green; font-size:30px; }
table.dummy              {min-width:100px;}
table.FHT                {min-width:100px; }
#Wettervorhersage3_MaxTemp.devicestate      {color:green; font-size:11px; }
#ez_FHT.devicestate      {color:green; font-size:30px; }
#Home.fp_Home       {font-size:14px; width:100px; }
#Home.fp_Media           {font-size:14px; text-align:left; }
#Media                   {font-size:14px; }
#Grundriss               {font-size:14px; text-align:left; }
#YahooWetter            {font-size:16px; color:#D4D4D4}
#w_WertListe1            {font-size:20px; color:gray}
.fp_tempvalue            {color:red; font-size:20px; }
.fp_humvalue             {color:blue; font-size:20px; }


h2,h3,h4 { color:#52865D; line-height:1.3; margin-top:1.5em; font-family:Verdana; }


/* detail-selector & slider */
select {  margin-left:5px; margin-right:5px; }
.set,.attr { margin-bottom:5px; float:left; }
.slider { margin-left:10px; float:left; width:140px; height:26px; border:2px solid; color:grey; }
.set .slider { background:#101010; border-radius:8px; }


/* timepicker */
.set .set { margin-bottom:2px; margin-top:3px; }

.handle { position:relative; cursor:pointer; width:50px; height:20px;
          line-height:20px; border:2px solid; color:white; text-align:center; }
.downText { margin-top:2px; }

/* next lines are for openautomation-svg */
svg { height:32px; width:32px; fill:#fff; vertical-align:middle; margin:2px 0; }
g.on { fill:red; }

/* next lines are for remotecontrol */
.rc_body              { border-style: solid; border-color: gray; border-width: 2px;
                        padding: 5px; background: #101010; font-size:6px;}
.rc_button            { padding: 5px 7px;}
.rc_button img        { border-style: solid; border-width: 1px; border-color: transparent; }
.rc_button img:active { border-color: gray; }


Allerdings werden die Slider der ReadingsGroup "normal" angezeigt und nicht mit dem Layout aus der .css, was mache ich da noch falsch?

Die rd sieht so aus:
Internals:
   DEF        <Gerät>,<Soll>,<Ist>
Gaeste_WC_Clima:desired-temp,measured-temp Heizung_Flur_Clima:desired-temp,measured-temp
Kueche_Clima:desired-temp,measured-temp
Heizung_Tuer_ClimRT_tr:desired-temp,measured-temp
HeizungFenster_Clima:desired-temp,measured-temp
   NAME       rd_Heizungs_Slider
   NR         214
   NTFY_ORDER 50-rd_Heizungs_Slider
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     Gaeste_WC_Clima 1
     HeizungFenster_Clima 1
     Heizung_Flur_Clima 1
     Heizung_Tuer_ClimRT_tr 1
     Kueche_Clima 1
   Content2:
   DEVICES:
     ARRAY(0x279ee50)
     ARRAY(0x2b35528)
     ARRAY(0x2b358a0)
     ARRAY(0x25f6420)
     ARRAY(0x2799160)
     ARRAY(0x2710f70)
   Fhem:
     lastDefChange 5
     last_update 1421698451.65953
   Helper:
     DEF
     nameStyle  style="color:yellow;font-weight:bold"
     Commands:
       desired-temp desired-temp:slider,5,0.5,30,1
     Mapping:
       Gaeste_WC_Clima Gäste WC
       HeizungFenster_Clima Heizung Wohnzimmer Fenster
       Heizung_Flur_Clima Heizung Flur
       Heizung_Tuer_ClimRT_tr Heizung Wohnzimmer Tür
       Kueche_Clima Küche
Attributes:
   commands   { 'desired-temp' => 'desired-temp:slider,5,0.5,30,1' }
   fp_Heizung 215,207,0,
   group      Heizung
   mapping    {'Gaeste_WC_Clima' => 'Gäste WC', 'Heizung_Flur_Clima' => 'Heizung Flur', 'Heizung_Tuer_ClimRT_tr' => 'Heizung Wohnzimmer Tür', 'Kueche_Clima' => 'Küche', 'HeizungFenster_Clima' => 'Heizung Wohnzimmer Fenster'}
   nameStyle  style="color:yellow;font-weight:bold"
   noheading  1
   room       Flur Erdgeschoss,Gäste_WC,Küche,Wohnzimmer
   style      style="font-size:20px;color:lightgray;text-align:left"


Danke
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

ext23

Hallo,

ich habe mir jetzt auch mal eine ReadingsGroup angelegt. Die aus dem Wiki für die HM Heizung hat es mir angetan. Ich habe es noch ein bissel erweitert um Boost Funktion und Fenster Status etc. Screenshots siehe Anhang. Wirklich Klasse, macht viel Arbeit aber sieht am Ende echt gut aus, da kann man viel mit machen.

Ich habe da aber mal eine Frage. Ich habe bei vielen Geräten eine eventMap die open durch Auf und sowas ersetzt. Bei der ReadingsGroup matche ich immer auf die ursprünglichen Werte, also state.on und .off und .open und .closed etc. Es kommt aber manchmal vor, dass in der ReadingsGroup das ganze wechselt! Mal sehe ich mein Icon, mal steht da Offen oder Aus (ohne Icon natürlich). Woran liegt das? Klar ich kann die ValueIcons doppelt anlegen, aber muss ich das wirklich, oder ist das ein Bug?

Gruß
Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

strauch

lustig an dem gleichen Ding war ich gestern auch dran. Was mich da auch noch interessieren würde:
Kann ich den Link vom Device auch auf den Raum umlenken, so das ich im Wohnzimmer nicht auf wz_Heizung_Clima lande sondern im Room Wohnzimmer?
Und um an die Frage oben anzuschließen kann ich Werte hier auch mappen. Ich hab eine Readingsgroup für meine Gastherme gemacht und da gibt es zum einen 1 und 0 für die Pumpe (was ich aber gegen ein Icon tausche) und zum anderen aber auch die Heizungsmodi von 0-4. Die würde ich gerne gegen Texte tauschen wie Aus, Frost, Nacht, Tag ohne das bei der Pumpe dann aber die 1 gegen Frost getauscht wird.

FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

moonsorrox

#1131
ich habe jetzt mal ein Problem welches ich am Screenshot am besten zeigen kann.
Ich habe mir eine Readingsgroup erstellt im Def stand folgendes:
<%fts_shutter_automatic@#B0C4DE>,<Datum - Uhrzeit> di_rollladenSZ:timer.*

und im cellStyle:
{ "r:1"=>'style="font-weight:normal;font-size:16px;color:#FAEBD7;"',"c:0"=>'style="font-weight:normal;font-size:14px;text-align:left;padding-left:0pt;color:#B0C4DE;"'}

Nach dem speichern (save) war noch alles OK, aber als ich Fhem eingelesen habe war im Def und im cellStyle nur noch folgendes wie auf dem Screenshot drin...

Kann mir das jemand erklären..! Ich habe diese Prozedur nach einem Neustart nochmals gemacht und immer fehlt der restliche Code.
Kann es sein das die # bei der Farbe der Fehler ist, wenn ja wie muss ich das formatieren..?
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

justme1968

im fhem config file darf kein # vorkommen weil es als kommentar interpretiert und alles danach abgeschnitten wird.

schau ob du passende farb namen findest (siehe z.b. hier: http://html-color-codes.info/color-names/) oder stecke den string in eine sub in 99_myUtils die den string zurück gibt. entweder alles was in cell style steht oder nur das rechts vom =>

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

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

moonsorrox

OK vielen Dank ich dachte mir schon soetwas ;) habe Farbnamen genommen
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

justme1968

@ext23: in den events (für die longpoll aktualisierung) ist eventMap angewendet. beim aufbau wird das reading direkt gelesen und event map ist nicht angewendet. ich habe vorhin eine änderung eingecheckt die das handling von state ändert. schau mal ob das problem damit weg ist.


@strauch: du kannst dir links 'umbiegen' in dem du eigene links erzeugst und diese statt dem namen anzeigst.

zu den icons: wenn es der device status ist kannst devStateIcon im oringial device so setzen das es das icon ist das du möchtest und dann %devStateIcon als mapping verwenden. wenn das nicht geht kannst du kannst zuerst mit valueFormat den value so ändern das der device name oder ein typ oder sonst etwas eindeutiges darin auftaucht und dann diesen geänderten eindeutigen wert per valueIcon auf das icon mappen. also so: für die pumpe machst du aus 0 und 1 pumpe.0 und pumpe.1 und für deine heizung entsprechend.

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

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

Reinerlein

Hallo justme1968,

ich habe für das Sonos-Modul deine Readingsgroup für die Anzeige der Titel und Coverinformationen verwendet. Dabei habe ich für jeden Player eine eigene ReadingsGroup gebaut, die dann die jeweiligen Informationen des Players anzeigt.
Das funktioniert auch ganz gut.

Nun habe ich den Punkt, dass die Informationen nicht immer von dem entsprechenden Player direkt geholt werden dürfen, da dieser in einer Gruppe mit einem anderen Player sein kann (und nur dieser die aktuellen Informationen hat). Das bekomme ich prinzipiell auch hin, allerdings wird der Inhalt dann nicht mehr per longpoll aktualisiert, da er nicht auf Events des anderen Players lauscht (da er ja auch gar nicht weiß, welches Device dass nun ist).

Das habe ich definiert, um die normale Anzeige zu machen (läuft super, auch mit longpoll):

define Sonos_WohnzimmerRG ReadingsGroup Sonos_Wohnzimmer:<{SONOS_getCoverTitleRG($DEVICE)}@infoSummarize2>


Das habe ich gemacht, um die Informationen des Gruppenmasters anzuzeigen (Zeigt korrekt an, aber kein longpoll):

define Sonos_WohnzimmerRG ReadingsGroup Sonos_Wohnzimmer:<{SONOS_getCoverTitleRG(SONOSPLAYER_GetMasterPlayerName($DEVICE))}@infoSummarize2>


Die Variante, nur ein Reading anzuzeigen (der eigentliche Zweck des Moduls :) ) geht auch mit longpoll:

define Sonos_WohnzimmerRG ReadingsGroup Sonos_Wohnzimmer:infoSummarize2@{SONOSPLAYER_GetMasterPlayerName($DEVICE)}
Allerdings ist das nur ein Reading, und nicht meine Cover-/Titelinformationen.

Gibt es irgendwie eine Möglichkeit die beiden Möglichkeiten zu kombinieren?
Es würde ja z.B. reichen, wenn man die Deviceangabe vor dem Doppelpunkt als Perl-Code schreiben könnte:

define Sonos_WohnzimmerRG ReadingsGroup {SONOSPLAYER_GetMasterPlayerName('Sonos_Wohnzimmer')}:<{SONOS_getCoverTitleRG($DEVICE)}@infoSummarize2>


Hast du vielleicht eine Idee?
Danke schon mal für deine Unterstützung...

Grüße
Reinerlein

justme1968

es sollte gehen wenn du statt der <...> variante ein 'pseudo reading' verwendest. etwa so:define Sonos_WohnzimmerRG readingsGroup Sonos_Wohnzimmer:!coverTitleRg@{SONOSPLAYER_GetMasterPlayerName($DEVICE)}
attr Sonos_WohnzimmerRG valueFormat SONOS_getCoverTitleRG(SONOSPLAYER_GetMasterPlayerName($DEVICE))}


mit dem ! flag vor dem reading namen wird ein reading auch dann in die readingsGroup aufgenommen wenn es im device nicht vorhanden ist. es greifen bei der anzeige alle weiteren attribute die das reading beeinflussen.

die variante ist neuer als die <...> version und flexibler.

vermutlich ist es sinnvoll auf diese readingsGroup noch ein modify zu machen wenn sich die sonos gruppierung ändert da der perl code im im DEF teil nur beim define ausgewertet wird.

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

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

Reinerlein

Hi Andre,

danke für die schnelle Idee.

Ich habe das nun wie beschrieben umgesetzt. Leider wird nichts angezeigt, und einige Fehlermeldungen im Log erzeugt:

2015.01.27 12:25:29.424 1: PERL WARNING: Invalid conversion in sprintf: "%"" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.424 1: PERL WARNING: Invalid conversion in sprintf: "%3A" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.424 1: PERL WARNING: Argument "coverTitleRg" isn't numeric in sprintf at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.424 1: PERL WARNING: Missing argument in sprintf at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.424 1: PERL WARNING: Invalid conversion in sprintf: "%253a" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.424 1: PERL WARNING: Invalid conversion in sprintf: "%28S" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.424 1: PERL WARNING: Invalid conversion in sprintf: "%26v" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.424 1: PERL WARNING: Invalid conversion in sprintf: "%3C" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.424 1: PERL WARNING: Invalid conversion in sprintf: "%20t" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.424 1: PERL WARNING: Invalid conversion in sprintf: "%22t" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.424 1: PERL WARNING: Invalid conversion in sprintf: "%20he" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.424 1: PERL WARNING: Invalid conversion in sprintf: "%20m" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.424 1: PERL WARNING: Invalid conversion in sprintf: "%20-" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.425 1: PERL WARNING: Invalid conversion in sprintf: "%20w" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.425 1: PERL WARNING: Invalid conversion in sprintf: "%20z" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.426 1: PERL WARNING: Invalid conversion in sprintf: "%20r" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.426 1: PERL WARNING: Invalid conversion in sprintf: "%2C" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.426 1: PERL WARNING: Invalid conversion in sprintf: "%22w" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.426 1: PERL WARNING: Invalid conversion in sprintf: "%22S" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.426 1: PERL WARNING: Invalid conversion in sprintf: "%20a" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.426 1: PERL WARNING: Invalid conversion in sprintf: "%22ht" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.426 1: PERL WARNING: Invalid conversion in sprintf: "%20C" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.426 1: PERL WARNING: Invalid conversion in sprintf: "%20P" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.426 1: PERL WARNING: Invalid conversion in sprintf: "%20S" at ./FHEM/33_readingsGroup.pm line 732.
2015.01.27 12:25:29.426 1: PERL WARNING: Invalid conversion in sprintf: "%202001-" at ./FHEM/33_readingsGroup.pm line 732.


Auf der Konsole kam noch das raus:

Modification of a read-only value attempted at ./FHEM/33_readingsGroup.pm line 732.


Das was die Prozedur "SONOS_getCoverTitleRG()" zurückliefert ist natürlich rieser HTML-Code. Gibt es denn seitens des Moduls bei der Verwendung als valueFormat da Grenzen? Direkt funktioniert es ja.

Grüße
Reiner

justme1968

ja. value format schaut nach ob es % zeichen gibt und verwendet dann ein sprintf.

nimm mal statt dessen folgendes:attr Sonos_WohnzimmerRG valueFormat {""}
attr Sonos_WohnzimmerRG valuePrefix SONOS_getCoverTitleRG(SONOSPLAYER_GetMasterPlayerName($DEVICE))}


Präfix und suffix wird 1:1 durchgereicht.

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

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

Reinerlein

Hi Andre,

danke für den Tipp. Die Anzeige funktioniert jetzt. Allerdings hatte er keine Aktualisierung per longpoll gemacht.
Beim Neuladen der Seite hatte er dann die aktuellen Inhalte. Ich habe jetzt anstatt des nicht existierenden Readings ein existierendes angegeben, auf dessen Änderung auch die andere ReadingsGroup reagiert ("infoSummarize2"). Jetzt klappt es auch mit longpoll :)

Jetzt bin ich gerade bei der Geschichte mit den Gruppenwechseln.
Gibt es ein "set" oder "get" (in der Oberfläche angeboten wird ja nur "toggle"), womit ich die readingsGroup dazu anregen kann, die Definition neu einzulesen?
Ein Modify ist ja insofern unpraktisch, weil man ja die neue Definition identisch zur alten nochmal setzen möchte.

Grüße
Reiner