diff --git a/fhem/CHANGED b/fhem/CHANGED
index 8354aeb87..d4689f5ff 100644
--- a/fhem/CHANGED
+++ b/fhem/CHANGED
@@ -31,14 +31,23 @@
- bugfix: rename may overwrite other devices
- feature: FLOORPLAN longpoll (Matthias)
- feature: support for recurring events added in 57_Calendar.pm (Boris)
- - feature: added support for OWL CM119,CM160 and CM180, energy sensors in TRX_WEATHER using RFXtrx433 (Willi Herzig)
- - feature: added support for KD101 smoke sensor (also set alert and pair) in TRX_SECURITY using RFXtrx433 (Willi Herzig)
- - change: changed dewpoint to work with event-on-change-reading and technoline TX3TH (Willi Herzig)
+ - feature: added support for OWL CM119,CM160 and CM180, energy sensors in
+ TRX_WEATHER using RFXtrx433 (Willi Herzig)
+ - feature: added support for KD101 smoke sensor (also set alert and pair) in
+ TRX_SECURITY using RFXtrx433 (Willi Herzig)
+ - change: changed dewpoint to work with event-on-change-reading and
+ technoline TX3TH (Willi Herzig)
- feature: new command fheminfo. Shows system informations. (M. Fischer)
- - feature: added support for UV sensors in TRX_LIGHT using RFXtrx433 (Willi Herzig)
- - feature: added on-till and on-timer for set in TRX_LIGHT using RFXtrx433 (Willi Herzig)
- - feature: generate devices with hexcodes as state for unknown types in TRX_ELSE using RFXtrx433 (Willi Herzig)
- - feature: new modules 10_OWServer.pm and 11_OWDevice.pm to interface with OWFS
+ - feature: added support for UV sensors in TRX_LIGHT using RFXtrx433 (Willi
+ Herzig)
+ - feature: added on-till and on-timer for set in TRX_LIGHT using RFXtrx433
+ (Willi Herzig)
+ - feature: generate devices with hexcodes as state for unknown types in
+ TRX_ELSE using RFXtrx433 (Willi Herzig)
+ - feature: new modules 10_OWServer.pm and 11_OWDevice.pm to interface with
+ OWFS
+ - feature: stateFormat (readingsFn modules) and showInternalValues attributes
+ - feature: new readingsFn modules: FS20 CUL_WS HMS CUL_EM CUL_TX EnOcean ZWave
- 2012-10-28 (5.3)
- feature: added functions trim, ltrim, rtrim, UntoggleDirect,
diff --git a/fhem/contrib/commandref_join.pl b/fhem/contrib/commandref_join.pl
index bd9a546f0..7aa511b40 100755
--- a/fhem/contrib/commandref_join.pl
+++ b/fhem/contrib/commandref_join.pl
@@ -61,26 +61,34 @@ foreach my $lang (@lang) {
foreach my $mod (sort keys %mods) {
my $tag;
my %tagcount= ();
+ my %llwct = (); # Last line with closed tag
open(MOD, $mods{$mod}) || die("Cant open $mods{$mod}:$!\n");
my $skip = 1;
+ my $line = 0;
while(my $l = ) {
+ $line++;
if($l =~ m/^=begin html$suffix$/) {
$l = ; # skip one line, to be able to repeat join+split
- $skip = 0;
+ $skip = 0; $line++;
} elsif($l =~ m/^=end html$suffix/) {
$skip = 1;
} elsif(!$skip) {
# here we copy line by line from the module
print OUT $l;
foreach $tag (TAGS) {
- $tagcount{$tag}+= ($l =~ /<$tag>/i);
- $tagcount{$tag}-= ($l =~ /<\/$tag>/i);
+ my $ot = ($tagcount{$tag} ? $tagcount{$tag} : 0);
+ $tagcount{$tag} +=()= ($l =~ /<$tag>/gi);
+ $tagcount{$tag} -=()= ($l =~ /<\/$tag>/gi);
+ $llwct{$tag} = $line if(!$llwct{$tag} || ($ot && !$tagcount{$tag}));
+ #print "$mod $line $tag $tagcount{$tag}\n" if($tagcount{$tag} ne $ot);
}
}
}
close(MOD);
foreach $tag (TAGS) {
- print("$lang $mods{$mod}: Unbalanced $tag\n") if($tagcount{$tag});
+ print("$lang $mods{$mod}: Unbalanced $tag ".
+ "($tagcount{$tag}, last line ok: $llwct{$tag})\n")
+ if($tagcount{$tag});
}
}
diff --git a/fhem/docs/commandref_frame.html b/fhem/docs/commandref_frame.html
index f9785ef39..17924a036 100644
--- a/fhem/docs/commandref_frame.html
+++ b/fhem/docs/commandref_frame.html
@@ -326,32 +326,50 @@ A line ending with \ will be concatenated with the next one, so long lines
devices.
-
The following attributes are honored by the modules that make use
- of the standardized readings updating mechanism in fhem.pl. Check the modules
- Attributes list if you want to know if it is supporting it.
-
+
+
+ readingFnAttributes
+ The following attributes are honored by the modules that make use
+ of the standardized readings updating mechanism in fhem.pl. Check the
+ modules attribute list if you want to know if it is supporting it.
+
+
+ stateFormat
+ Modifies the STATE of the device, shown by the list command or in the room
+ overview in FHEMWEB. If not set, its value is taken from the state reading.
+ If set, then every word in the argument is replaced by the value of the
+ reading if such a reading for the current device exists. If the value of
+ this attribute is enclused in {}, then it is evaluated. This attribute is
+ evaluated each time a reading is updated.
+
event-on-update-reading
- If not set, every update of any reading creates an event, which e.g. is handled
- by notify or FileLog. The attribute takes
- a comma-separated list of readings. You may use regular expressions in that list. If set, only updates of the listed readings create
- events.
+ If not set, every update of any reading creates an event, which e.g. is
+ handled by notify or FileLog.
+ The attribute takes a comma-separated list of readings. You may use regular
+ expressions in that list. If set, only updates of the listed readings
+ create events.
event-on-change-reading
- The attribute takes a comma-separated list of readings. You may use regular expressions in that list. If set, only changes of the listed readings create events. In other words, if a reading listed here is updated with the new value
- identical to the old value, no event is created.
+ The attribute takes a comma-separated list of readings. You may use regular
+ expressions in that list. If set, only changes of the listed readings
+ create events. In other words, if a reading listed here is updated with the
+ new value identical to the old value, no event is created.
- The precedence of event-on-update-reading and event-on-change-reading is as follows:
+ The precedence of event-on-update-reading and event-on-change-reading is as
+ follows:
- - If both attributes are not set, any update of any reading of the device creates an event.
- - If any of the attributes is set, no events occur for updates or changes of readings
- not listed in any of the attributes.
- - If a reading is listed in event-on-update-reading, an update of the reading creates an
- event no matter whether the reading is also listed in event-on-change-reading.
+ - If both attributes are not set, any update of any reading of the device
+ creates an event.
+ - If any of the attributes is set, no events occur for updates or changes
+ of readings not listed in any of the attributes.
+ - If a reading is listed in event-on-update-reading, an update of the
+ reading creates an event no matter whether the reading is also listed
+ in event-on-change-reading.
@@ -369,6 +387,7 @@ A line ending with \ will be concatenated with the next one, so long lines
attr weatherstation event-on-update-reading wind,temperature,humidity
attr weatherstation event-on-change-reading israining
attr weatherstation event-on-change-reading israining,state
+ attr heating stateFormat Temp:measured-temp, Valve:actuator
@@ -1037,6 +1056,14 @@ A line ending with \ will be concatenated with the next one, so long lines
receiver are considered a duplicate. Default is 0.5 seconds.
+
+ showInternalValues
+ Show data used for internal computations. If the name of an internal
+ value, reading or attribute starts with dot (.), then it is normally
+ hidden, and will only be visible, if this attribute is set to 1.
+ The attribute is checked by the list command, by the FHEMWEB room
+ overview and by xmllist.
+
diff --git a/fhem/docs/commandref_frame_DE.html b/fhem/docs/commandref_frame_DE.html
index fa8c363c1..069fde95d 100644
--- a/fhem/docs/commandref_frame_DE.html
+++ b/fhem/docs/commandref_frame_DE.html
@@ -326,49 +326,67 @@ Zeilen erstreckende Befehle, indem man keine \ am Zeilenende eingeben muss.
-
- Die folgenden Attribute werden bei Modulen verwendet, die standardisierte "readings"
- Aktualisierung der fhem.pl benutzen. Informieren Sie sich in der Liste der
- Modulattribute wenn Sie wissen möchten ob dies unterstützt wird.
+
+
+ readingFnAttribute
+ Die folgenden Attribute werden bei Modulen verwendet, die standardisierte
+ "readings" Aktualisierung der fhem.pl benutzen. Informieren Sie sich in der
+ Liste der Modulattribute wenn Sie wissen möchten ob dies
+ unterstützt wird.
+
+
+ stateFormat
+ Ändert den Gerätestatus, dies ist z.Bsp. in der Ausgabe des list
+ Kommandos zu sehen, oder in der Raumübersicht von FHEMWEB. Falls
+ nicht gesetzt, dann wird das state Reading übernommen. Sonst werden
+ alle Wörter im Wert des Attributes durch das entsprechende Reading des
+ Gerätes ersetzt (soweit vorhanden). Falls der Wert in {}
+ eingeschlossen ist, dann wird es als Perl Ausdruck ausgewertet. Die
+ Auswertung passiert bei jeder Änderung eines Readings.
+
event-on-update-reading
- Wenn nicht gesetzt, erzeugt jede Veränderung eines "readings" ein Ereignis,
- welches z.B. von
-
- notify oder
-
- FileLog berücksichtigt wird. Wenn gesetzt erzeugen nur Aktualisierungen
- der eingetragenen "readings" ein Ereignis.
+ If not set, every update of any reading creates an event, which e.g. is
+ handled by notify or FileLog.
+ The attribute takes a comma-separated list of readings. You may use regular
+ expressions in that list. If set, only updates of the listed readings
+ create events.
+
+
+
+ event-on-update-reading
+ Wenn nicht gesetzt, erzeugt jede Veränderung eines "readings" ein
+ Ereignis, welches z.B. von notify oder FileLog berücksichtigt wird. Wenn gesetzt erzeugen
+ nur Aktualisierungen der eingetragenen "readings" ein Ereignis.
event-on-change-reading
- Dieses Attribut enthält eine durch Kommata getrennte Liste von "readings".
- Wenn gesetzt, erzeugen nur Veränderungen der gelisteten "readings" ein
- Ereignis. Wenn die aktualiserten Werte der gelisteten "readings" identisch
- sind, wird kein Ereignis generiert.
- Die unterschiedlichen Bedeutungen von
- event-on-update-reading und event-on-change-reading sind folgende:
-
- -
-
Wenn
- beide Attribute nicht gesetzt sind erzeugt jede Aktualisierung eines jeden "readings"
- eines Gerätes ein Ereignis.
- -
- Wenn eines der Attribute gesetzt ist, erzeugen nur Updates oder änderungen
- von "readings" die nicht in einem der Attribute gesetzt sind ein Ereignis.
- -
- Wenn ein "reading" in event-on-update-reading aufgeführt ist, erzeugt eine
- Aktualisierung ein Ereignis unabhängig ob das "reading" auch in
- event-on-change-reading aufgelistet ist.
-
+
+ Dieses Attribut enthält eine durch Kommata getrennte Liste von
+ "readings". Wenn gesetzt, erzeugen nur Veränderungen der gelisteten
+ "readings" ein Ereignis. Wenn die aktualiserten Werte der gelisteten
+ "readings" identisch sind, wird kein Ereignis generiert. Die
+ unterschiedlichen Bedeutungen von event-on-update-reading und
+ event-on-change-reading sind folgende:
+
+ - Wenn beide Attribute nicht gesetzt sind erzeugt jede Aktualisierung
+ eines jeden "readings" eines Gerätes ein Ereignis.
+ - Wenn eines der Attribute gesetzt ist, erzeugen nur Updates oder
+ änderungen von "readings" die nicht in einem der Attribute gesetzt
+ sind ein Ereignis.
+ - Wenn ein "reading" in event-on-update-reading aufgeführt ist,
+ erzeugt eine Aktualisierung ein Ereignis unabhängig ob das
+ "reading" auch in event-on-change-reading aufgelistet ist.
+
- Gerätespezifische Attribute sind in der Beschreibung zum jeweiligen Gerät
- aufgeführt.
+ Gerätespezifische Attribute sind in der Beschreibung zum jeweiligen
+ Gerät aufgeführt.
Beispiele:
@@ -380,6 +398,7 @@ Zeilen erstreckende Befehle, indem man keine \ am Zeilenende eingeben muss.
attr weatherstation event-on-update-reading wind,temperature,humidity
attr weatherstation event-on-change-reading israining
attr weatherstation event-on-change-reading israining,state
+ attr heating stateFormat Temp:measured-temp, Valve:actuator
@@ -1068,25 +1087,34 @@ Zeilen erstreckende Befehle, indem man keine \ am Zeilenende eingeben muss.
verbose
- Setzt den Wert für die Häufigkeit/Intensität von Nachrichten. Mögliche
- Werte sind:
-
- - 0 - Server start/stop
-
- 1 - Fehlermeldungen oder unbekannte Pakete
-
- 2 - bedeutende Ereigbisse/Alarme.
-
- 3 - ausgesendete Kommandos werden gelogged.
-
- 4 - Sie sehen was von den einzelnen Geräten empfangen wird.
-
- 5 - Fehlersuche.
-
- Es wird der Wert 3 für den Normalgebrauch empfohlen.
+ Setzt den Wert für die Häufigkeit/Intensität von
+ Nachrichten. Mögliche Werte sind:
+
+ - 0 - Server start/stop
+
- 1 - Fehlermeldungen oder unbekannte Pakete
+
- 2 - bedeutende Ereigbisse/Alarme.
+
- 3 - ausgesendete Kommandos werden gelogged.
+
- 4 - Sie sehen was von den einzelnen Geräten empfangen wird.
+
- 5 - Fehlersuche.
+
+ Es wird der Wert 3 für den Normalgebrauch empfohlen.
dupTimeout
- Definert die Wartezeit, nach der 2 identische Ereignisse zweier
- Empfänger als Duplikat angesehen werden. Voreingestellt sind 0,5 Sekunden.
+ Definert die Wartezeit, nach der 2 identische Ereignisse zweier
+ Empfänger als Duplikat angesehen werden. Voreingestellt sind 0,5
+ Sekunden.
+
+ showInternalValues
+ Attribute/Geräte-Eintraege/Readings die mit Punkt (.) anfangen
+ werden nicht angezeigt, es sei denn das globale Attribut
+ showInternalValues ist gesetzt. Diese Variable wird bei dem list und
+ xmllist Befehl, und bei der FHEMWEB Raumansicht geprüft.
+
+