Hauptmenü

DWD_OpenData Probleme

Begonnen von roli, 10 Februar 2021, 17:40:00

Vorheriges Thema - Nächstes Thema

roli

Seit ich  meine FHEM Module   über "Update all"  aktualisiert habe, bekomme ich   einige Problem mit dem
Modul für Wetterdaten.

Alles andere Scheint ok zu sein !!   Ich habe gelesen, dass ich das  99_DWD_OpenData_Weblink
von gibhup ebenfalls erneuern muss   -  und ich habe es gemacht :

  FHEM/99_DWD_OpenData_Weblink     

Ich bekomme aber trotzdem Fehler :


2021.02.10 17:29:14 1: --- Start:  main::myUtils_Initialize
2021.02.10 17:29:14 1: --- Ende :  main::myUtils_Initialize
2021.02.10 17:29:14 1: Including fhem.cfg
2021.02.10 17:29:15 2: eventTypes: loaded 771 lines from /var/log/fhem/eventTypes.txt
2021.02.10 17:29:15 1: Including ./FHEM/rw_tempmessung.cfg
2021.02.10 17:29:15 1: Including ./FHEM/rw_Wetter.cfg
2021.02.10 17:29:15 1: reload: Error:Modul 55_DWD_OpenData deactivated:
Unknown warnings category 'experimental::smartmatch' at /opt/fhem/FHEM/55_DWD_OpenData.pm line 613
BEGIN failed--compilation aborted at /opt/fhem/FHEM/55_DWD_OpenData.pm line 613, <> line 14.

2021.02.10 17:29:15 0: Unknown warnings category 'experimental::smartmatch' at /opt/fhem/FHEM/55_DWD_OpenData.pm line 613
BEGIN failed--compilation aborted at /opt/fhem/FHEM/55_DWD_OpenData.pm line 613, <> line 14.

2021.02.10 17:29:15 1: Including ./FHEM/rw_I2C_AlarmBus.cfg
2021.02.10 17:29:16 1: Including ./FHEM/rw_alarmview.cfg
2021.02.10 17:29:16 1: Including ./FHEM/rw_alarmConfig.cfg
2021.02.10 17:29:16 1: Including ./FHEM/rw_Thermostat.cfg
2021.02.10 17:29:16 1: Including ./FHEM/rw_I2C_Bus.cfg
2021.02.10 17:29:16 1: Including ./FHEM/rw_Warmwasser.cfg
2021.02.10 17:29:16 1: Including ./FHEM/rw_LadenHeizung.cfg
2021.02.10 17:29:16 1: Including ./FHEM/rw_Sonnen.cfg
2021.02.10 17:29:16 1: Including ./FHEM/rw_bewegungsmelder.cfg
2021.02.10 17:29:16 1: Including ./FHEM/rw_SM8_Keller.cfg
2021.02.10 17:29:16 1: Including ./FHEM/rw_Stromzaehler.cfg
2021.02.10 17:29:16 1: Including ./FHEM/rw_Watchdog.cfg
2021.02.10 17:29:16 1: Including ./FHEM/rw_Trace.cfg
2021.02.10 17:29:16 1: Including ./FHEM/rw_Control.cfg
2021.02.10 17:29:16 1: Including ./FHEM/rw_VSTAR_CAM.cfg
2021.02.10 17:29:16 1: Including ./FHEM/rw_INIT.cfg
2021.02.10 17:29:16 1: Including /var/log/fhem/fhem.save
2021.02.10 17:29:17 1: Messages collected while initializing FHEM:configfile: Cannot load module DWD_OpenData
SecurityCheck:
  telnetPort is not password protected

Protect this FHEM installation by configuring the allowed device allowedApiWEB
You can disable this message with attr global motd none
Autosave deactivated
2021.02.10 17:29:17 1: --- Start:  main::rw_myUtils_InitGlobals
2021.02.10 17:29:17 1:  ** Batterie Mode   : AUTOMATIK
2021.02.10 17:29:17 1:  ** Batterie Limit  : 30 %
2021.02.10 17:29:17 1:  ** NT- Signal      : off
2021.02.10 17:29:17 1:  ** NT-Signal Dauer : 0 mins
2021.02.10 17:29:17 1:  ** Heizung Mode    : Automatik_Zeit(NT)
2021.02.10 17:29:18 1:  ** Boiler Sig      : off
2021.02.10 17:29:18 1:  ** Boiler Mode     : AUTOMATIK
2021.02.10 17:29:18 1:  ** ZWAVE           : off
2021.02.10 17:29:18 1:  ** AlarmAnl Mode   : AUTOMATIK
2021.02.10 17:29:18 1:  ** AlarmAnl Status : BEREIT
2021.02.10 17:29:18 1:  ** CAM im Gang     : AN
2021.02.10 17:29:18 1: --- Ende:  main::rw_myUtils_InitGlobals
2021.02.10 17:29:18 1: *** Trace :  Gestartet - Level: 2
2021.02.10 17:29:18 0: Featurelevel: 6
2021.02.10 17:29:20 2: AttrTemplates: got 217 entries


was ist das Problem ?   vor dem update gab es keine Probleme :

Meine Wetter Config sieht wie folgt aus:

# ————– Wetterdaten vom Deutschen Wetterdienst 
#   4933 Stgt -Hohenheim   ;    10320  Stgt Vaihingen
#   108416000   Warnungen Kreis Tübingen

define MeinWetter  DWD_OpenData
  attr MeinWetter alertArea       108416000
  attr MeinWetter forecastStation 10320
  attr MeinWetter forecastDays    5
  attr MeinWetter forecastWW2Text 1
  attr MeinWetter event-on-change-reading   state,fc_state,a_state,fc_time,fc0_Tn,fc0_Tx,fc1_Tn,fc1_Tx
  attr MeinWetter room     hidden


# DWD Wetter -Vorhersage

define DWD_Weblink_Generator DWD_OpenData_Weblink
attr  DWD_Weblink_Generator IODev        MeinWetter
attr  DWD_Weblink_Generator forecastDays 4
# refreshRate nur dann setzten, wenn der Browser Java-Script beherrscht:
#attr DWD_Weblink_Generator refreshRate 900
attr  DWD_Weblink_Generator room     hidden

define DWD_Weblink  weblink  htmlCode { DWD_OpenData_Weblink::AsHtmlH("DWD_Weblink_Generator") } 

define W_Zeit readingsProxy MeinWetter:fc_time
  attr W_Zeit group         Letzte Aktualisierung
  attr W_Zeit alias         &nbsp
  attr W_Zeit sortby        1   

define W_0 readingsProxy   ASensorTemp:state
  attr W_0 alias           Aktuelle Temp (gemessen)
  attr W_0 stateFormat     state &deg;;C
 
define W_1 readingsProxy   MeinWetter:fc0_Tn
  attr W_1 alias           Temps Heute
  attr W_1 stateFormat     {sprintf("(%5.1f -- %5.1f ) &deg;;C",ReadingsVal("MeinWetter","fc0_Tn",0),ReadingsVal("MeinWetter","fc0_Tx",0) )}
 
 
define W_3 readingsProxy MeinWetter:fc1_Tn
  attr W_3 alias   Temps Morgen
  attr W_3 stateFormat   {sprintf("(%5.1f -- %5.1f ) &deg;;C",ReadingsVal($name,"state",0),ReadingsVal("MeinWetter","fc1_Tx",0) )}

define W_Prognose dummy
  attr W_Prognose alias       Temps Offset Prognose
  attr W_Prognose stateFormat state &deg;;C





Keine Ahnung wieso ein neues , freigegebenes Modul nicht funktioniert.
FHEM auf Debian Wheezy(RASPI), 2 * CUL868/433 *  FS20 STR, 2 * HMS100 T, 2 * , 1* FS20 SU, 2 *  FS20 SM8, 2 ; 1-wire Temp, GPIO based Relais-Schalter;i2c Bus
Integration von Sonnenbatterie Eco8;
Elektro  Nachspeicher-Ofen Ladesteuerung,
Haus Lüftung,
Integration von HardwareAlarmanlag

jensb

Das Problem könnte mit deiner Perl-Version zusammen hängen. Das Schlüsselwort "smartmatch" wird scheinbar erst ab Perl 5.18 verstanden und du hast möglicherweise noch Version 5.14.

Bitte führe nachfolgende Tests durch. Ersetzte jeweils Zeile 613 durch

no if $] >= 5.017011, warnings => 'experimental::smartmatch';

bzw.

no if $] >= 5.017011, warnings => 'experimental';

Nach der Änderung jeweils FHEM neu starten und im Log prüfen, ob sich der Fehler wiederholt und die Ergebnisse melden, damit ich ggf. ein Update bereit stellen kann. Die Version, die bei dir funktioniert solltest du beibehalten, bis das Update zur Verfügung steht.
FHEM 6.1 - RPi 4 Raspbian 12 + PiTFT - OPi Zero Armbian 5.35
EnOcean - (W)LAN/Firmata: BMP180, TSL2561, SHT21, Heatronic 3, OBIS - WLAN/ESP8266: Gardena 1251, Zirkulationspumpe - RTL433: Oregon - Bluetooth - MQTT
Contributions: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/jensb

roli

Meine PERL Version ist :       PERL Version :   5.014002

Die Tests haben gezeigt  dass die Abfragen       

no if $] >= 5.017011, warnings => 'experimental';
no if $] >= 5.017011, warnings => 'experimental::smartmatch';

funktionieren und keinen Fehler werfen.

Dies war die Perl Version, welche im meiner letzten Modul Version abgefragt wurde.
Weshalb jetzt dies  auf  die Version :  5.010001   geändert wurde, ist mir nicht klar.
Auf jeden Fall funktioniert es nicht !

Ich habe es manuell auf  5.017011  geändert und alles scheint ok zu sein !
FHEM auf Debian Wheezy(RASPI), 2 * CUL868/433 *  FS20 STR, 2 * HMS100 T, 2 * , 1* FS20 SU, 2 *  FS20 SM8, 2 ; 1-wire Temp, GPIO based Relais-Schalter;i2c Bus
Integration von Sonnenbatterie Eco8;
Elektro  Nachspeicher-Ofen Ladesteuerung,
Haus Lüftung,
Integration von HardwareAlarmanlag

jensb

ZitatIch habe es manuell auf  5.017011  geändert und alles scheint ok zu sein !
Prima, dann lass es so. Es wird so im nächsten Update von DWD_OpenData umgesetzt.

ZitatWeshalb jetzt dies  auf  die Version :  5.010001   geändert wurde, ist mir nicht klar.
Wie das Schlüsselwort "experimental" andeutet wird hier mit Perl experimentiert und mit "no warnings" dafür gesorgt, dass Perl nicht meckert. Das war auch in den Vorgängerversionen des Moduls so. Ziel war es eigentlich klarzustellen, dass "experimental" auch für ältere Perl-Versionen gilt. Allerdings ist die geänderte Versionsnummer 5.010001 im Zusammenhang mit dem Schlüsselwort "smartmatch" schlichtweg die falsche Wahl gewesen. Das fällt leider nicht auf, wenn man mit einer Version ab 5.17.11 oder höher testet.

Der sauberste Weg wäre es, den Perl-Code zu überarbeiten und die experimentellen Anteile zu ersetzen. Anderseits geht es aber konkret "nur" um die "switch"-Anweisung. Dieses Konstrukt ist in vielen Programmiersprachen verfügbar und die bessere Wahl im Vergleich zu if/elseif/elseif/else-Ketten. Leider tut sich Perl damit schwer und unterstützt es nur "experimentell". Und damit man die diversen experimentellen Elemente von Perl getrennt ein- und ausschalten kann, haben sie nun eigene Namen bekommen, wie "smartmatch".
FHEM 6.1 - RPi 4 Raspbian 12 + PiTFT - OPi Zero Armbian 5.35
EnOcean - (W)LAN/Firmata: BMP180, TSL2561, SHT21, Heatronic 3, OBIS - WLAN/ESP8266: Gardena 1251, Zirkulationspumpe - RTL433: Oregon - Bluetooth - MQTT
Contributions: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/jensb

jensb

Die neue Version des Moduls 55_DWD_OpenData gibt es ab 22.02.2021 per FHEM Update.

Bitte Info, ob diese Version bei dir einwandfrei funktioniert.
FHEM 6.1 - RPi 4 Raspbian 12 + PiTFT - OPi Zero Armbian 5.35
EnOcean - (W)LAN/Firmata: BMP180, TSL2561, SHT21, Heatronic 3, OBIS - WLAN/ESP8266: Gardena 1251, Zirkulationspumpe - RTL433: Oregon - Bluetooth - MQTT
Contributions: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/jensb

roli

Update eingespielt und es funktioniert ohne Fehlermeldung.

Danke vielmals für die schnelle Reaktion
FHEM auf Debian Wheezy(RASPI), 2 * CUL868/433 *  FS20 STR, 2 * HMS100 T, 2 * , 1* FS20 SU, 2 *  FS20 SM8, 2 ; 1-wire Temp, GPIO based Relais-Schalter;i2c Bus
Integration von Sonnenbatterie Eco8;
Elektro  Nachspeicher-Ofen Ladesteuerung,
Haus Lüftung,
Integration von HardwareAlarmanlag

jensb

Vielen Dank für deine Rückmeldung.
FHEM 6.1 - RPi 4 Raspbian 12 + PiTFT - OPi Zero Armbian 5.35
EnOcean - (W)LAN/Firmata: BMP180, TSL2561, SHT21, Heatronic 3, OBIS - WLAN/ESP8266: Gardena 1251, Zirkulationspumpe - RTL433: Oregon - Bluetooth - MQTT
Contributions: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/jensb