Umlaute in Name für Reading

Begonnen von JoWiemann, 05 Januar 2016, 17:58:10

Vorheriges Thema - Nächstes Thema

JoWiemann

Hallo,

ich weiß das Umlaute seit Version 5.7 in Namen für Readings nicht mehr zulässig sind. Hat jemand eine Lösung, wenn der Name des Reading aus einer abgefragten HTML-Seite gebildet wird, wie z.B. im Modul 60_allergy.pm?

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

betateilchen

per regexp ersetzen


my %umlaute = ("ä" => "ae", "Ä" => "Ae", "ü" => "ue", "Ü" => "Ue", "ö" => "oe", "Ö" => "Oe", "ß" => "ss" );
my $umlautkeys = join ("|", keys(%umlaute));
$string =~ s/($umlautkeys)/$umlaute{$1}/g;
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Omega-5

Ich will mich ja nicht über fehlende Warnings bzw. Errors beschweren, aber ich bekomme keine. Update FHEM mindestens einmal die Woche.
Zitat2016.03.30 18:35:17 0: Featurelevel: 5.7
2016.03.30 18:35:17 0: Server started with 63 defined entities (fhem.pl:11144/2016-03-29 perl:5.014002 os:linux user:fhem pid:22749)
Das Modul 70_SMLUSB.pm ist allerdings noch vom 5. Feb. 2014 und da sind noch Umlaute in den Readings.
ZitatInternals:
   .lastTimeHT 1459420117.90779
   .lastTimeMomentanleistung 1459420117.90779
   .lastTimeNT 1459420117.90779
   .lastTimeZählerstand-Bezug-Total 1459420117.90779
   .lastTimeZählerstand-Tarif-1-Bezug 1459420117.90779
   .lastTimeZählerstand-Tarif-2-Bezug 1459420117.90779
   .lastTimestatMomentanleistungDayLast 1459375195.01655
   .lastTimestatMomentanleistungHourLast 1459418395.01909
   .lastTimestatZählerstand-Tarif-1-Bezug 1459420117.93462
   .lastTimestatZählerstand-Tarif-1-BezugLast 1459418395.01909
   .lastTimestatZählerstand-Tarif-2-Bezug 1459420117.93462
   .lastTimestatZählerstand-Tarif-2-BezugLast 1459418395.01909
   CHANGED
   DEF        /dev/ttyUSB1@9600
   DeviceName /dev/ttyUSB1@9600
   FD         16
   NAME       zaehler
   NR         47
   PARTIAL
   STATE      opened
   TYPE       SMLUSB
   .userReadings:
     HASH(0x13d58e8)
     HASH(0x1c87f88)
   Readings:
     2016-03-31 12:29:03   HT              12844.5 kWh
     2016-03-31 12:29:03   Momentanleistung 59.20
     2016-03-31 12:29:03   NT              48427.0 kWh
     2016-03-31 12:29:03   Zählerstand-Bezug-Total 61271493.80
     2016-03-31 12:29:03   Zählerstand-Tarif-1-Bezug 48426960.50
     2016-03-31 12:29:03   Zählerstand-Tarif-2-Bezug 12844533.30
     2016-03-31 12:28:37   statMomentanleistungDay Min: 42.50 Avg: 3352.66 Max: 22549.40
     2016-03-30 23:59:55   statMomentanleistungDayLast Min: 42.00 Avg: 2342.91 Max: 24735.60
     2016-03-31 12:28:37   statMomentanleistungHour Min: 58.60 Avg: 863.77 Max: 10800.30
     2016-03-31 11:59:55   statMomentanleistungHourLast Min: 42.60 Avg: 963.50 Max: 12891.00
     2016-03-31 12:28:37   statMomentanleistungMonth Min: 38.90 Avg: 3276.11 Max: 29784.40
     2016-02-29 23:59:55   statMomentanleistungMonthLast Min: 41.10 Avg: 3570.73 Max: 33513.40
     2016-03-31 12:28:37   statMomentanleistungYear Min: 38.90 Avg: 3404.38 Max: 33513.40
     2015-12-31 23:59:55   statMomentanleistungYearLast Min: 30.50 Avg: 2010.04 Max: 33486.90
     2014-12-15 15:56:23   statStateDay    opened: 15:56:26
     2014-12-14 23:59:55   statStateDayLast opened: 23:59:58
     2014-12-15 15:56:23   statStateMonth  opened: 4d 20:04:29 (since: 2014-12-10_19:51:44)
     2016-03-31 12:28:37   statZählerstand-Tarif-1-Bezug Hour: 0.00 Day: 39510.60 Month: 2047784.80 Year: 6432974.40
     2016-03-31 11:59:55   statZählerstand-Tarif-1-BezugLast Hour: 0.00 Day: 46764.30 Month: 2136983.60 Year: 14072522.10
     2016-03-31 12:28:37   statZählerstand-Tarif-2-Bezug Hour: 367.70 Day: 2462.80 Month: 352777.70 Year: 1046527.00
     2016-03-31 11:59:55   statZählerstand-Tarif-2-BezugLast Hour: 981.00 Day: 8463.70 Month: 351356.00 Year: 3398644.00
     2016-03-30 18:53:40   state           opened
Ich habe das Modul noch nicht "upgedateted", es läuft ja und andere User haben wohl Probleme mit den neueren Versionen.
https://forum.fhem.de/index.php/topic,14117.msg432144.html#msg432144
Matthias arbeitet wohl daran, aber mich würde interessieren warum bei mir die Version mit den Umlauten noch klappt. Es könnte ja Probleme geben wenn ich demnächst auf einen neuen Raspi umziehe.  ;)

Gruß Friedrich
RaspberryPi2, nanoCUL, 3x DS18B20, FS20: 4x Funk-Schalter ST-4, LaCrosseGW,
HomeMatic: HMLAN, HM-WDS10-TH-O, HM_MYS_RelaisBoard,
I2C: HYT221 über modifiziertes Modul I2_I2C_SHT21.pm (Q&D),

JoWiemann

Nach ist es nur ein Hinweis, siehe Versionsinformationen zu 5.7. In der nächsten offiziellen Fhem-Version führt es dann zu einem Fehler.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

betateilchen

Es gibt verschiedene Möglichkeiten, wie ein Modul readings generieren kann. Bei der "sauberen" Methode, in der die dazu vorgesehenen Funktionen verwendet werden, findet eine Prüfung statt, die in einer der Folgeversionen von fhem zu einer Ablehnung solcher Namen führen wird. Bei "unsauberer" Programmierung lässt sich natürlich unter Umgehung aller Prüfungen auch der größte Mist in einen Namen schreiben. Leider gibt es immer noch zu viele solcher Module, die "unsauber" arbeiten und das Problem ist, dass manche Entwickler solche Module als Vorlage für eigene Entwicklungen verwenden, ohne sich darüber bewußt zu sein, dass sie ggf. "unsauber" arbeiten.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!