Neues Modul readingsGroup

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

Vorheriges Thema - Nächstes Thema

Elektrolurch

Zitat:
nein. $DEVICE ist jeweils der name eines device dessen reading angezeigt wird. $name ist der name der readingsGroup selber.

Hast ja wie immer recht... -D

Zitat:
da fällt mir ein ich wollte ja noch einbauen das man eine komplette readingsGroup refreshen kann. ohne das die komplette seite aktualisiert wird. kommt noch ...


Ich komme gar nicht so schnell hinterher, alle die netten neuen Featurs einzubauen...

Aber Attribute per rg setzen ist nett, habe mir gerade die dummys für die Treppenhauslichtsteuerung für drei Etagen herausgeworfen und ein kleines Modul gemacht. Die Einstellungen liegen jetzt in Attributen.
Schaut viel ordentlicher aus... :-D

(Auch wenn das Rudi vielleicht nicht hören mag :-(

Gruß
configDB und Windows befreite Zone!

fruit

One of my readingsGroup does not show icons since yesterday's update. I hoped the update this morning may bring them back - but still no icons.
All other readingsGroup are fine - with some recent minor modifications.

Based very much on http://forum.fhem.de/index.php/topic,32382.msg254621.html#msg254621 my fhem.cfg contains
define rgWasteCalendar readingsGroup wastecalendar:!title \ wastecalendar:!day|0,!Grey_bin|0,!Blue_bin|0,!Brown_bin|0 \ wastecalendar:!day|1,!Grey_bin|1,!Blue_bin|1,!Brown_bin|1 \ wastecalendar:!day|2,!Grey_bin|2,!Blue_bin|2,!Brown_bin|2 \ wastecalendar:!day|3,!Grey_bin|3,!Blue_bin|3,!Brown_bin|3 \ wastecalendar:!day|4,!Grey_bin|4,!Blue_bin|4,!Brown_bin|4 \ wastecalendar:!day|5,!Grey_bin|5,!Blue_bin|5,!Brown_bin|5 \ wastecalendar:!day|6,!Grey_bin|6,!Blue_bin|6,!Brown_bin|6 \ wastecalendar:!day|7,!Grey_bin|7,!Blue_bin|7,!Brown_bin|7 \ wastecalendar:!day|8,!Grey_bin|8,!Blue_bin|8,!Brown_bin|8 \ wastecalendar:!day|9,!Grey_bin|9,!Blue_bin|9,!Brown_bin|9 \ wastecalendar:!day|10,!Grey_bin|10,!Blue_bin|10,!Brown_bin|10 \ wastecalendar:!day|11,!Grey_bin|11,!Blue_bin|11,!Brown_bin|11 \ wastecalendar:!day|12,!Grey_bin|12,!Blue_bin|12,!Brown_bin|12 \ wastecalendar:!day|13,!Grey_bin|13,!Blue_bin|13,!Brown_bin|13 \ wastecalendar:!day|14,!Grey_bin|14,!Blue_bin|14,!Brown_bin|14
attr rgWasteCalendar cellStyle { "r:1"=>'style="font-weight:bold;;;;font-size:16px"',"c:1"=>'style="font-weight:bold;;;;text-align:right;;;;padding-left:28pt;;;;"'}
attr rgWasteCalendar group rg2
attr rgWasteCalendar nonames 1
attr rgWasteCalendar valueColumns { title => 'colspan="7"' }
attr rgWasteCalendar valueFormat {if($READING eq 'title'){$VALUE="recycling"}else{my($r,$d)=split(/\|/,$READING);;;;;;;;my $v=fhem("get wastecalendar days $d",1);;;;;;;;if($v eq "none"){$VALUE=undef}else{if($r eq 'day'){if($d==0){$VALUE="Today"}elsif($d==1){$VALUE="Tomorrow"}else{$VALUE="In $d Days"}}else{if($v=~m/$r/){$VALUE=1}else{$VALUE=' '}}}}}
attr rgWasteCalendar valueIcon {if($VALUE eq 'recycling'){$VALUE}elsif($VALUE eq 1){if($READING=~m/Grey_bin/){$VALUE='dustbin@5C5959'}elsif($READING=~m/Blue_bin/){$VALUE='dustbin@0617EE'}elsif($READING=~m/Brown_bin/){$VALUE='dustbin@E86915'}}else{$VALUE=''}}
attr rgWasteCalendar valueSuffix {'title'=>' Recycling'}
attr rgWasteCalendar verbose 0

The result should look something like the attached image but I see no icons at all and no error messages.

I suspect I have missed some obvious change through google translate but I have no idea how to get the icons back
Feel free to follow up in German if you prefer

punker

Hi,

habe nach dem heutigen Update diese Warnings im Log:

PERL WARNING: Argument "12.1 C (measured)" isn't numeric in numeric gt (>) at (eval 141) line 1.
PERL WARNING: Argument "12.1 C (measured)" isn't numeric in sprintf at /opt/fhem/FHEM/33_readingsGroup.pm line 523


Ich weiß, dass diese Meldungen von meinen Dect200-Steckdosen verursacht werden, aber wie bekomme ich sie weg?
LG

Dieter

The truth is out there!

justme1968

@fruit: i have just fixed the icon problem.

@punker: das es die meldung erst heute gibt kann ich mir nicht vorstellen. du musst alles was nach der zahl kommt abschneiden. z.b. mitattr <rg> valueFormat {$NUM}

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

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

punker

Zitat von: justme1968 am 21 Juni 2015, 10:27:36
@punker: das es die meldung erst heute gibt kann ich mir nicht vorstellen. du musst alles was nach der zahl kommt abschneiden. z.b. mitattr <rg> valueFormat {$NUM}

stimmt, ich hatte die "use warnings" auskommentiert!

Hab das so wie du schreibst gemacht, aber die Meldung kommt wieder:

PERL WARNING: Argument "17.7 C (measured)" isn't numeric in numeric gt (>) at (eval 137) line 1.
:(
LG

Dieter

The truth is out there!

fruit

Zitat von: justme1968 am 21 Juni 2015, 10:27:36
@fruit: i have just fixed the icon problem.

Thanks, I guess I hadn't missed anything in translation then.
Feel free to follow up in German if you prefer

justme1968

schalte mal stacktrace ein um zu sehen wo die meldung genau her kommt und zeig mir das log.

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

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

punker

2015.06.21 11:23:23 3: stacktrace:
2015.06.21 11:23:23 3:     main::__ANON__                      called by (eval 612) (1)
2015.06.21 11:23:23 3:     (eval)                              called by /opt/fhem/FHEM/33_readingsGroup.pm (340)
2015.06.21 11:23:23 3:     main::lookup2                       called by /opt/fhem/FHEM/33_readingsGroup.pm (622)
2015.06.21 11:23:23 3:     main::readingsGroup_value2html      called by /opt/fhem/FHEM/33_readingsGroup.pm (990)
2015.06.21 11:23:23 3:     main::readingsGroup_2html           called by /opt/fhem/FHEM/33_readingsGroup.pm (1079)
2015.06.21 11:23:23 3:     main::readingsGroup_detailFn        called by /opt/fhem/FHEM/01_FHEMWEB.pm (2548)
2015.06.21 11:23:23 3:     main::FW_devState                   called by /opt/fhem/FHEM/01_FHEMWEB.pm (1428)
2015.06.21 11:23:23 3:     main::FW_showRoom                   called by /opt/fhem/FHEM/01_FHEMWEB.pm (801)
2015.06.21 11:23:23 3:     main::FW_answerCall                 called by /opt/fhem/FHEM/01_FHEMWEB.pm (433)
2015.06.21 11:23:23 3:     main::FW_Read                       called by fhem.pl (3023)
2015.06.21 11:23:23 3:     main::CallFn                        called by fhem.pl (643)
2015.06.21 11:23:23 1: PERL WARNING: Argument "17.7 C (measured)" isn't numeric in numeric gt (>) at (eval 614) line 1.
LG

Dieter

The truth is out there!

justme1968

in deinem valueStyle musst du auch $NUM statt $VALUE verwenden.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

punker

Vielen Dank! 8)
Sieht so aus, als ob die Meldungen weg sind!
LG

Dieter

The truth is out there!

franky08

#1390
hallo andre. Habe heute, nach 5 Monaten, nun endlich einen update von fhem gemacht. Leider zeigt meine Heizungswerte2 readingsGroup jetzt ein seltsames Verhalten. Die Buttons für up (red), down (blue) und white "zappeln" völlig sinnlos herum. D.h. alle paar Sekunden wechseln die Buttons die Farbe, zeigen mal up, mal down und mal die Farbe weis an, obwohl sich an den Temperaturen nichts ändert. Anbei mal die Codes:

define notifyHeizungUpDown notify .*:desired-new.* { myUtils_HeizungUpDownNotify($NAME,$EVTPART1);; }
attr notifyHeizungUpDown DbLogExclude .*
define Heizungswerte2 readingsGroup <%sani_heating>, < >,<Act>,<Soll>,<Ist> \
Bad_Heizung_ClimRT_tr|Kueche_Heizung_ClimRT_tr|SZ_Heizung_links_ClimRT_tr|SZ_Heizung_rechts_ClimRT_tr|Kinderzimmer_Heizung_links_ClimRT_tr|Kinderzimmer_Heizung_rechts_ClimRT_tr|Flur_Heizung_Clima|WZ_links_Heizung_Clima|WZ_rechts_Heizung_Clima:ValvePosition,desired-temp,measured-temp,<{myUtils_HeizungUpDown($DEVICE,"down")}@desired.*>,desired.new,<{myUtils_HeizungUpDown($DEVICE,"up")}@desired.*>
attr Heizungswerte2 DbLogExclude .*
attr Heizungswerte2 fp_Heizung_FP 40,250,0,
attr Heizungswerte2 fp_Le_Status 58,650,0,
attr Heizungswerte2 fp_Status 120,1050,0,
attr Heizungswerte2 group Thermostate
attr Heizungswerte2 nameStyle style="color:yellow"
attr Heizungswerte2 noheading 1
attr Heizungswerte2 room Heizung
attr Heizungswerte2 valueStyle {($VALUE eq "00")?'style="visibility:hidden"':''}


Und die sub:

sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}

#Heizung regeln in readingsGroup
sub
myUtils_HeizungUpDown($$)
{
  my($DEVICE,$CMD) = @_;

  my $icon = $CMD;
  my $VALUE = ReadingsVal($DEVICE,"desired-new","20" );
  $VALUE = ReadingsVal($DEVICE,"desired-temp","20" )
     if( !$VALUE || $VALUE == 0 );
  my $link;

  if( $CMD eq "up" ) {
    $icon = "control_arrow_upward";
    $VALUE += 1;

    if( $VALUE <= 24 ) {
      $icon .= "\@red";
      $link = "setreading $DEVICE desired-new $VALUE";
    }
  } elsif( $CMD eq "down" ) {
    $icon = "control_arrow_downward";
    $VALUE -= 1;

    if( $VALUE >= 18 ) {
      $icon .= "\@blue";
      $link = "setreading $DEVICE desired-new $VALUE";
    }
  }

  my $notify = "notifyHeizungUpDown";
  if( !defined($defs{$notify}) ) {
    CommandDefine(undef,
                   "$notify notify .*:desired-new.* "
                   ."{ myUtils_HeizungUpDownNotify(\$NAME,\$EVTPART1); }" );
  }

  my $ret = "%$icon";
  $ret .= "%$link" if( $link );

  return $ret;
}
sub
myUtils_HeizungUpDownNotify($$)
{
  my($DEVICE,$VALUE) = @_;

  return if( $VALUE == 0 );

  my $at = "triggerHeizungUpDown_$DEVICE";
  CommandDelete(undef, $at) if( defined($defs{$at}) );
  CommandDefine(undef,
                 "$at at +00:00:03 "
                 ."{my \$v = ReadingsVal(\"$DEVICE\",\"desired-new\",undef);"
                 ."fhem(\"set $DEVICE desired-temp \$v\") if( \$v );"
                 ."fhem(\"setreading $DEVICE desired-new 00\");}" );

  return undef;
}


Vielleicht siehst du ja den Fehler, ich habe, bis auf das update, nichts an der Konfiguration geändert.

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

igami

#1391
Hallo andre,

für eine readingsGroup in der mehrere EIB aktoren dargestellt werden benutze ich zur Icon Zuweisung !readings. In diesem Fall !light !skylight und !window. Diese werden dann durch valueFormat wieder auf state gemappt

'light' => '{ReadingsVal($DEVICE, "state", "")}'

Nur werden sie nun nicht mehr via longpoll aktualisiert.
Gibt es dazu eine einfache Lösung? Mir würde momentan nur einfallen ein eventMap in den Devices anzulegen z.B.

eventMap on:light_on off:light_off

und dann das icon über state.light_on etc. zuzuweisen.

Edit: Geht natürlich nicht, da ich dann das internal STATE abfragen müsste, welches auch nicht aktualisiert wird. Bleiben nur userreadings.

Grüße
igami
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

justme1968

@franky08: gibt es im event monitor events die das flackern auslösen?

@igami: longpoll updates gehen nur wenn es ein original reading gibt und dieses entweder direkt verwendet oder über <{...}@reading> eingebunden wird. ich bin mir nicht sicher ob ich verstehe warum du überhaupt über !readings gehst.

ich würde sagen das einfachste ist im device selber das icon per devStateIcon zu vergeben und dann im der readingGroup in das value icon auf {state => '%devStateIcon'} zu setzen. und ganz nebenbei hast du auch noch im original device ein passendes icon.

alternativ kannst du zwei stufig vorgehen und zuerst per valueFormat ein eindeutiges reading aus devicetyp und state erzeugen und dann dieses per valueIcon anzeigen. aber das ist in deinem fall eigentlich schon zu kompliziert.

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

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

franky08

#1393
Hallo Andre, ich hab mal einen Ausschnitt vom Event Monitor eingefügt, leider geht das mit dem Filter bei mir nicht, bekomme keine Dialogbox.

Ich hab das Verhalten der readingsGroup mal als Video angehangen.

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

franky08

#1394
Habe jetzt aus meinem Backup die:
# $Id: 33_readingsGroup.pm 7406 2015-01-02 15:02:11Z justme1968 $

zurück kopiert, mit der Version zeigt die readingsGroup wieder "normales" Verhalten.

P.S. eine etwas neuere Version habe ich leider nicht, da mein letztes update Ende Januar war

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1