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:
      -
    1. If both attributes are not set, any update of any reading of the device creates an event.
    2. -
    3. If any of the attributes is set, no events occur for updates or changes of readings - not listed in any of the attributes.
    4. -
    5. 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.
    6. +
    7. If both attributes are not set, any update of any reading of the device + creates an event.
    8. +
    9. If any of the attributes is set, no events occur for updates or changes + of readings not listed in any of the attributes.
    10. +
    11. 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: -

      -
    1. -

      Wenn - beide Attribute nicht gesetzt sind erzeugt jede Aktualisierung eines jeden "readings" - eines Gerätes ein Ereignis.

    2. -
    3. - Wenn eines der Attribute gesetzt ist, erzeugen nur Updates oder änderungen - von "readings" die nicht in einem der Attribute gesetzt sind ein Ereignis.
    4. -
    5. - 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.
    6. -
    + + 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: +


    - 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. +
  • +