update readingsGroup

Begonnen von justme1968, 08 Juli 2014, 11:47:10

Vorheriges Thema - Nächstes Thema

Elektrolurch

Hallo Andre,

in der readingsGroup_2html
habe ich folgendes ergänzt:
Und zwar hinter die Stelle, an der die Ausgabe von "commands" gemacht wird.

# Elektrolurch: auf leeres html_txt abragen

           if($htmlTxt &&  $htmlTxt =~ m/<td colspan='2'>(.*)<\/td>/s ) {
              $v = $1;

# Elektrolurch: row eingefügt
              my $mapped = lookup($mapping,$name,$a,$set,"",$room,$group,$row,undef);
              if( defined($mapped) ) {
                $v =~ s/$set&nbsp;/$mapped&nbsp;/;
# Elektrolurch: Falls ein valueFormat vorhanden, hinter das cmd hängen, um Einheiten darzustellen
# Elektrolurch ValueFormat hinter commands ausgeben
my $vv = lookup2($value_format,$name,$n,undef);
if($vv)
{
$vv =~s/%.{0,2}[sfd]//;
$vv = "<div $value_style>$vv</div>" if( $value_style && !$devStateIcon );
$v.= "<div informId=\"$d-$name.$n\">$vv</div>";
} # vv anhängen
            }
              $webCmdFn = 1;

Erläuterung: Falls der Formatstring eine %-Anweisung für die Formatierung enthält, substituiere ich ihn heraus, so dass nur der Bezeichner übrig bleiben sollte. Damit müsste valueFormat sowohl für die "statischen" Ausgaben eines readings, als auch als Bezeichner hinter einem Textfeld oder Menü funktionieren. Letzteres habe ich getestet und alles Paletti.

Vorsichtshalber hänge ich noch mal meine 33_readingsGroup.pm komplett an, an einigen Stellen hatte ich für den html-txt noch eine zusätzliche Abfrage auf undef eingebaut. Wahrscheinlich tust Du Dich mit einem diff leichter, als ich....

Gruß

Elektrolurch
configDB und Windows befreite Zone!

wkarl

Hallo,

so, folgendes macht nun was ich möchte.
controlMode@{$DEVICE=~s/_TC//g;$DEVICE."_HK_ClimRT_tr"}

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

wkarl

Hallo Andre,

an dieser Stelle möchte ich mich für Deine Arbeit bzgl dieses tollen Modules bedanken. Outstanding job! Wie meine US-Kollegen sagen würden. Ich habe schon mehrere Ansätze gefahren mit den gegebenen Mitteln eine Oberfläche für meine Mädchens hier anzubieten. Leider aber immer mit demselben Ergebnis - keine Akzeptanz.
Mit Deinem Modul habe ich eine erste Version, die einfach, übersichtlich und funktionell ist. Und eine guten WAF hat.

Danke nochmal 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

justme1968

freut mich das es funktioniert.

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

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

Elektrolurch

Hallo Andre,

hast Du Dir mal meine Ergänzungen von Nr. 15 angesehen?

Gruß

Elektrolurch
configDB und Windows befreite Zone!

justme1968

ich baue es im nächsten update ein.

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

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

Elektrolurch

configDB und Windows befreite Zone!

wkarl

Hallo Andre,

Sorry jetzt wird es deutscher ;-)

Wie Du in meinem screenshot oben sehen kannst habe ich die Spaltentitel zentriert. Dabei werden auch die Zeilentitel zentriert. Ist es möglich dies getrennt zu formatieren?

Nur eine Frage, keine Forderung.
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

das geht nur über einen umweg.

es sollte aber gehen als mapping etwas in der art zu verwenden:<div style="text-align:left;">%ALIAS</div>also die zeilentitel explizit linksbündig zu machen.

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

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

Spartacus

Gallo,
gibt es schon eine Lösung für das Ändern der Farbe der Mapping-Texte?
{'cloneTemp1' => 'Außen', 'cloneTemp2' => 'Gartenhaus', 'cloneAussen' => 'DS Außen', 'cloneGartenhaus' => 'DS Gartenhaus'}
In meinem Bsp. wäre das "Außen", "Gartenhaus", DS Außen" und "DS Gartenhaus"

Danke und Gruß,
Spartacus
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

justme1968

zur zeit über den gleichen workaround wie oben.

eine bessere lösung ist in arbeit.

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

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

Spartacus

Hallo Andre,
dann warte ich auf die neue Lösung!

Danke und Gruß,
Sparatcus
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

wkarl

lediglich zur Bestätigung:
{ 'Badezimmer_RL' => '<div style="text-align:left;">Badezimmer</div>' }

Funktioniert. Werde mich aber gedulden  ;D

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

#28
anbei eine test version mit dem neuen cellStyle attribut:

  • 'normale' zeilen und spalten werden mit 1 beginnend gezählt
  • die spalte mit den zeilentiteln hat die nummer 0
  • perl code hat zugriff auf $ROW und $COLUMN
  • als key für den hash lookup kann 'r:#' (zeile nummer #) oder 'c:#' (spalte nummer #) oder 'r:#y,c:#x' (die tabellen zelle in zeile #y und spalte #x) verwendet werden


um die spalte mit den device namen links bündig zu machen also z.b. so etwas: { 'c:0' => 'style="text-align:left"' }

gruss
  andre

ps: wer es bunt mag kann auch so etwas machen:{sprintf("style=\"color:#%02X%02X00\"",50+$ROW*50,25+$COLUMN*25)}
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

frank

cooles feature.

funktioniert leider nicht.

list
Internals:
   DEF        MeinWetter:<aktuell>,<heute>,<morgen>,fc3_day_of_week,fc4_day_of_week,fc5_day_of_week
MeinWetter:icon,fc1_icon,fc2_icon,fc3_icon,fc4_icon,fc5_icon
MeinWetter:wind_condition,fc1_high_c,fc2_high_c,fc3_high_c,fc4_high_c,fc5_high_c
MeinWetter:pressure,fc1_low_c,fc2_low_c,fc3_low_c,fc4_low_c,fc5_low_c
<Raum>,<Hum>,<Tist>,<Tau>,<Tsoll>,<Mode>,<Tnight>,<Tday>,<TC>,<Vist>,<Vsoll>,<Verr>,<VD>
Broetje:humidity,measured-temp,dewpoint
Thermostat.(WZ|OZ|AZ|Bad|Kueche|SZ|GZ|Bad.OG):humidity,measured-temp,dewpoint,desired-temp,controlMode@{$DEVICE."_Climate"},night-temp,day-temp,battery,ValvePosition@{valveOfDevice($DEVICE)},ValveDesired@{valveOfDevice($DEVICE)},R-valveErrorPos@{valveOfDevice($DEVICE)},battery@{valveOfDevice($DEVICE)}
   NAME       myTemp
   NR         461
   NTFY_ORDER 50-myTemp
   STATE      Initialized
   TYPE       readingsGroup
   mayBeVisible 1
   Content:
     Broetje    1
     MeinWetter 1
     Thermostat.AZ 1
     Thermostat.Bad 1
     Thermostat.Bad.OG 1
     Thermostat.GZ 1
     Thermostat.Kueche 1
     Thermostat.OZ 1
     Thermostat.SZ 1
     Thermostat.WZ 1
   Content2:
     Thermostat.AZ_Climate 1
     Thermostat.Bad.OG_Climate 1
     Thermostat.Bad_Climate 1
     Thermostat.GZ_Climate 1
     Thermostat.Kueche_Climate 1
     Thermostat.OZ_Climate 1
     Thermostat.SZ_Climate 1
     Thermostat.WZ_Climate 1
     Ventil.AZ.Nord 1
     Ventil.Bad 1
     Ventil.Kueche 1
     Ventil.SZ  1
     Ventil.WZ  1
   DEVICES:
     ARRAY(0x1511118)
     ARRAY(0x12b54b0)
     ARRAY(0x12b54c0)
     ARRAY(0x151e4a0)
     ARRAY(0x151e5c0)
     ARRAY(0x15110b8)
     ARRAY(0x13d8b98)
     ARRAY(0x13d8bf8)
     ARRAY(0x13d8c58)
     ARRAY(0x13d8a88)
     ARRAY(0x13d8a38)
     ARRAY(0x14ec498)
     ARRAY(0x1501318)
     ARRAY(0x14e9420)
   DEVICES2:
     ARRAY(0x1511118)
     ARRAY(0x12b54b0)
     ARRAY(0x12b54c0)
     ARRAY(0x151e4a0)
     ARRAY(0x151e5c0)
     ARRAY(0x15110b8)
     ARRAY(0x13d8b98)
     ARRAY(0x13d8bf8)
     ARRAY(0x13d8c58)
     ARRAY(0x13d8a88)
     ARRAY(0x13d8a38)
     ARRAY(0x14ec498)
     ARRAY(0x1501318)
     ARRAY(0x14e9420)
     ARRAY(0x151e530)
     ARRAY(0x151e810)
     ARRAY(0x151e850)
     ARRAY(0x151e890)
     ARRAY(0x151e8d0)
     ARRAY(0x151e660)
     ARRAY(0x15053e8)
     ARRAY(0x1505428)
     ARRAY(0x1505468)
     ARRAY(0x15054a8)
     ARRAY(0x151e870)
     ARRAY(0x1505448)
     ARRAY(0x151e820)
     ARRAY(0x15055e8)
     ARRAY(0x1505628)
     ARRAY(0x1505668)
     ARRAY(0x15056a8)
     ARRAY(0x15053f8)
     ARRAY(0x1505648)
     ARRAY(0x1505798)
     ARRAY(0x15057d8)
     ARRAY(0x1505818)
     ARRAY(0x1505858)
     ARRAY(0x1505528)
     ARRAY(0x15058f8)
     ARRAY(0x1505938)
     ARRAY(0x1505978)
     ARRAY(0x15059b8)
   Fhem:
     lastDefChange 1
     last_update 1406040168.67702
   Helper:
     Bm:
       Readingsgroup_attr:
         cnt        8
         dmx        0
         mAr
         max        0
         tot        0
       Readingsgroup_get:
         cnt        9
         dmx        0
         mAr
         max        0
         tot        0
       Readingsgroup_notify:
         cnt        1158
         dmx        0
         max        319
         tot        4984
         mAr:
           HASH(0x13bd918)
           HASH(0x1307aa0)
Attributes:
   cellStyle  { c:3 => 'style="background-color:white"'}
   commands   { 'desired-temp' => 'desired-temp:','controlMode' => 'controlMode:' }
   mapping    { 'Broetje' => 'Wetter','MeinWetter' => '','Thermostat.AZ' => 'EG Arbeitszimmer','Thermostat.SZ' => 'OG Schlafzimmer','Thermostat.WZ'=>'EG Wohnzimmer','Thermostat.Kueche' => 'EG Küche','Thermostat.GZ' => 'OG Gästezimmer','Thermostat.Bad' => 'EG Bad','Thermostat.Bad.OG' => 'OG Bad','Thermostat.OZ' => 'EG Kaminzimmer','desired-temp' => '','controlMode' => ''}
   nameStyle  style="color:yellow"
   notime     1
   room       01_INFO
   valueColumn {fc1_high_c => 2,fc1_low_c => 2}
   valueFormat { 'measured-temp' => "%0.1f °C",'dewpoint' => "%0.1f °C", 'fc1_high_c' => "%.1f °C", 'fc1_low_c' => "%.1f °C", 'fc2_high_c' => "%.1f °C", 'fc2_low_c' => "%.1f °C", 'fc3_high_c' => "%.1f °C", 'fc3_low_c' => "%.1f °C", 'fc4_high_c' => "%.1f °C", 'fc4_low_c' => "%.1f °C", 'fc5_high_c' => "%.1f °C", 'fc5_low_c' => "%.1f °C", 'ToutIst' => "%.1f °C", 'night-temp' => "%.1f °C", 'day-temp' => "%.1f °C", 'humidity' => "%.0f %%", 'ValvePosition' => "%.0f %%", 'ValveDesired' => "%.0f %%", 'R-valveErrorPos' => "%.0f %%" }
   valueIcon  {'battery.ok' => 'batterie@lightgreen','battery.low' => 'batterie@red','icon' => '%VALUE','fc1_icon' => '%VALUE','fc2_icon' => '%VALUE','fc3_icon' => '%VALUE','fc4_icon' => '%VALUE','fc5_icon' => '%VALUE'}
   valueStyle {if($READING eq "humidity"){      if($VALUE > 80){'style="color:dodgerblue"'}      elsif($VALUE > 60){'style="color:lightblue"'}      elsif($VALUE > 40){'style="color:lightgreen"'}      else{'style="color:yellow"'}}  elsif(($READING eq "measured-temp") || ($READING eq "ToutIst")){      if($VALUE > 24){'style="color:violet"'}      elsif($VALUE > 21){'style="color:orangered"'}      elsif($VALUE > 18){'style="color:orange"'}      elsif($VALUE > 15){'style="color:lightgreen"'}      else{'style="color:lightblue"'}}  elsif($READING eq "dewpoint"){      if(ReadingsVal($DEVICE,"measured-temp","") > ($VALUE + 3)){'style="color:lightgreen"'}      elsif(ReadingsVal($DEVICE,"measured-temp","") > $VALUE){'style="color:yellow"'}      else{'style="color:orangered"'}}    elsif($READING =~ m/day_of/){'style="color:yellow"'}    else{'style="color:lightgrey"'}}


mit
cellStyle  { 'c:3' => 'style="background-color:white"'}
passiert gar nichts. und mit
cellStyle  { c:3 => 'style="background-color:white"'}
sind dann fast all zellen weiss. siehe anhang.

gruss frank

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html