diff --git a/FHEM/33_readingsGroup.pm b/FHEM/33_readingsGroup.pm
index 90a241a6c..cbff7f4b7 100644
--- a/FHEM/33_readingsGroup.pm
+++ b/FHEM/33_readingsGroup.pm
@@ -1109,6 +1109,7 @@ readingsGroup_2html($;$)
($informid,$v,$devStateIcon) = readingsGroup_value2html($hash,$calc,$name,$name2,$n,$v,$cell_row,$cell_column,$type);
next if( !defined($informid) );
#$informid = "informId=\"$d-item:$cell_row:$item\"" if( $format );
+ $informid =~ s/"$/:$format"/ if( $format );
my $cell_style0 = lookup2($hash->{helper}{cellStyle},$name,$n,$v,$cell_row,0);
my $cell_style = lookup2($hash->{helper}{cellStyle},$name,$n,$v,$cell_row,$cell_column);
@@ -1218,8 +1219,6 @@ readingsGroup_Update($$$)
my ($hash, $item, $value) = @_;
my $name = $hash->{NAME};
- #Log 1, "$name, $item, $value";
-
$hash->{changed} = 1;
if( $hash->{alwaysTrigger} ) {
@@ -1234,7 +1233,13 @@ readingsGroup_Update($$$)
$ntfy->{inform}{type} ne "status");
next if( !$ntfy->{inform}{devices}{$name} );
if(!FW_addToWritebuffer($ntfy,
- FW_longpollInfo($ntfy->{inform}{fmt}, "$name-$item", "", $value )."\n" )) {
+ FW_longpollInfo($ntfy->{inform}{fmt}, "$name-$item", "", $value ) ."\n" )) {
+ my $name = $ntfy->{NAME};
+ Log3 $name, 4, "Closing connection $name due to full buffer in FW_Notify";
+ TcpServer_Close($ntfy, 1);
+ }
+ if(!FW_addToWritebuffer($ntfy,
+ FW_longpollInfo($ntfy->{inform}{fmt}, "$name-$item-ts", "", TimeNow() ) ."\n" )) {
my $name = $ntfy->{NAME};
Log3 $name, 4, "Closing connection $name due to full buffer in FW_Notify";
TcpServer_Close($ntfy, 1);
@@ -1298,8 +1303,10 @@ readingsGroup_Notify($$)
$hash->{DEF} =~ s/ $//;
}
readingsGroup_updateDevices($hash);
+
} elsif( $dev->{NAME} eq "global" && $s =~ m/^DEFINED ([^ ]*)$/) {
readingsGroup_updateDevices($hash);
+
} else {
next if(AttrVal($name,"disable", undef));
@@ -1511,7 +1518,11 @@ readingsGroup_Notify($$)
$value = "
$value
" if( $value_style );
#FIXME: create {'$n.$reading'} = $value hash to avaid multiple events and calculations if same reading is included multiple times
- $triggers{"$n.$reading"} = $value;
+ if( $format ) {
+ $triggers{"$n.$reading:$format"} = $value;
+ } else {
+ $triggers{"$n.$reading"} = $value;
+ }
if( my $cells = $hash->{helper}{positions}{"$n.$reading"} ) {
foreach my $cell ( split( ',', $cells ) ) {
@@ -2143,14 +2154,14 @@ readingsGroup_Attr($$$;$)
notime
Wenn der Wert auf 1 gesetzt, wird der Readings-Timestamp nicht angezeigt.
mapping
- Kann ein einfacher String oder ein in {} eingeschlossener Perl-Ausdruck sein, der einen Hash zurückgibt, der den Reading-Name dem angezeigten Namen zuordnet.
+ Kann ein einfacher String oder ein in {} eingeschlossener Perl-Ausdruck sein, der einen Hash zurückgibt, der den Reading-Name dem angezeigten Namen zuordnet.
Der Schlüssel kann entweder der Name des Readings oder <device>.<reading> oder <reading>.<value> oder <device>.<reading>.<value> sein.
%DEVICE, %ALIAS, %ROOM, %GROUP, %ROW und %READING werden durch den Gerätenamen, Gerätealias, Raumattribut ersetzt. Sie können diesen Keywords auch ein Präfix voranstellen $ anstatt von %. Beispiele:
attr temperatures mapping $DEVICE-$READING
attr temperatures mapping {temperature => "%DEVICE Temperatur"}
separator
- Das zu verwendende Trennzeichen zwischen dem Gerätealias und dem Reading-Namen, wenn keine Zuordnung angegeben ist, standardgemäß ':'
+ Das zu verwendende Trennzeichen zwischen dem Gerätealias und dem Reading-Namen, wenn keine Zuordnung angegeben ist, standardgemäß ':'
Ein Leerzeichen wird so dargestellt
setList
Eine durch Leerzeichen getrennte Liste von Befehlen, die zurückgegeben werden "set name ?",
@@ -2163,7 +2174,7 @@ readingsGroup_Attr($$$;$)
attr temperatures style style="font-size:20px"
cellStyle
Geben Sie einen HTML-Stil für eine Zelle der Readings-Tabelle an. Normale Zeilen und Spalten werden gezählt beginnend mit 1,
- Die Zeilenüberschriften beginnt mit der Spaltennummer 0. Perl-Code hat Zugriff auf $ROW und $COLUMN. Schlüssel für Hash-Lookup können sein:
+ Die Zeilenüberschriften beginnt mit der Spaltennummer 0. Perl-Code hat Zugriff auf $ROW und $COLUMN. Schlüssel für Hash-Lookup können sein:
r:#, c:# oder r:#,c:# , z.Bsp:
attr temperatures cellStyle { "c:0" => 'style="text-align:right"' }
nameStyle
@@ -2179,7 +2190,7 @@ readingsGroup_Attr($$$;$)
Geben Sie einen HTML-Colspan für die Readings-Werte an, z.Bsp:
attr wzReceiverRG valueColumns { eventdescription => 'colspan="4"' }
valueFormat
- Geben Sie eine Sprintf-Stilformat-Zeichenfolge an, die zum Anzeigen der Readings-Werte verwendet wird. Wenn die Formatzeichenfolge undef ist
+ Geben Sie eine Sprintf-Stilformat-Zeichenfolge an, die zum Anzeigen der Readings-Werte verwendet wird. Wenn die Formatzeichenfolge undef ist
wird dieser Messwert übersprungen. Es kann als String angegeben werden, ein Perl-Ausdruck, der einen Hash- oder Perl-Ausdruck zurückgibt, der einen String zurückgibt, z.Bsp:
attr temperatures valueFormat %.1f °C
attr temperatures valueFormat { temperature => "%.1f °C", humidity => "%i %" }
@@ -2244,12 +2255,12 @@ readingsGroup_Attr($$$;$)
attr temperatures valueStyle {($DEVICE =~ m/aussen/)?'style="color:green"':'style="color:red"'}
- Hinweis: Nur valueStyle, valueFomat, valueIcon und <{...}@reading> werden bei Longpoll-Updates ausgewertet und valueStyle muss für jeden möglichen Wert einen nicht leeren Stil zurückgeben. Alle anderen Perl-Ausdrücke werden nur einmal während der HTML-Erstellung ausgewertet und geben keine Wertupdates mit longpoll wieder.
+ Hinweis: Nur valueStyle, valueFomat, valueIcon und <{...}@reading> werden bei Longpoll-Updates ausgewertet und valueStyle muss für jeden möglichen Wert einen nicht leeren Stil zurückgeben. Alle anderen Perl-Ausdrücke werden nur einmal während der HTML-Erstellung ausgewertet und geben keine Wertupdates mit longpoll wieder.
Aktualisieren Sie die Seite, um den dynamischen Stil zu aktualisieren. Für nameStyle funktioniert das Farbattribut momentan nicht, die font -... und background Attribute funktionieren.
Berechnung: Bitte sehen Sie sich dafür diese Beschreibung an in der Wiki.
z.Bsp: define rg readingsGroup .*:temperature rg:$avg
-
+
=end html_DE