Modul für DWD Open Data

Begonnen von jensb, 21 Januar 2018, 14:38:48

Vorheriges Thema - Nächstes Thema

Benni

Zitat von: jensb am 20 April 2018, 22:31:44
Auf dem FHEM-Server in das FHEM-Hauptverzeichnis wechseln und das Kommando "contrib/commandref_join.pl" ausführen, um die Commandref zu aktualisieren, anschließend die Commandref aufrufen und die Installationsbeschreibung zu DWD_OpenDaten durchlesen. Alternativ die Modul-Datei mit einem Texteditor öffnen: die Modulhilfe ist ganz am Ende

Denn Schritt kann man sich sparen. Wenn die Moduldatei am richtigen fleck ist, dann genügt ein entsprechender help-Aufruf in der FHEMWEB-Kommandozeile:

help DWD_OpenData

Und noch eine kleine Anmerkung um mancher Verwirrung vorzubeugen:

Zitat von: jensb am 20 April 2018, 22:31:44
und im FHEM-Ordner speichern

Damit ist der Ordner "FHEM" unterhalb des eigentlichen "fhem"-Ordners in der Installation gemeint. Auf meinem Debian-System ist das bspw. /opt/fhem/FHEM

gb#

fini

ok, habe beide module in
/opt/fhem/FHEM gelegt

sudo apt-get install libtext-csv-xs-perl
und
sudo apt-get install libxml-libxml-perl
ausgeführt

fhem neu gestartet

define wetter_dwd DWD_OpenData

es kommt leider Unknown module DWD_OpenData

Benni

Zitat von: fini am 21 April 2018, 07:34:34
es kommt leider Unknown module DWD_OpenData

Sind die Dateiberechtigungen für die abgelegten Module in Ordnung?

fini

#123
rechte haben gestimmt...

musste den server neu starten und nicht nur fhem und dann kam bei eingabe

define wetter_dwd DWD_OpenData


define wetter_dwd DWD_OpenData: wetter_dwd: FHEM TZ environment variable undefined, see commandref for details how to fix


ja, verstehe ich aber nicht wie, wo und was machen sollte

jensb

@fini
Bitte schau noch mal in die Modulhilfe. Da steht, dass du in die FHEM-Startdatei (bei SystemV: /etc/init.d/fhem) den Eintrag "export TZ=`cat /etc/timezone`" hinzufügen soll. Bei einigen Systemen funktioniert es auch, den Eintrag in "/etc/profile" hinzuzufügen. Manchmals ist es auch erforderlich, statt des Verweises auf "timezone" die Zeitzone direkt einzutragen, also z.B. "export TZ=Europe/Berlin". Das genaue vorgehen hängt von der Linux-Distro ab.

Das gleiche Vorgehen sollte man mit LANG machen, also z.B. "export LANG=de_DE.UTF-8", aber natürlich nur, wenn man Deutsch will und das eigene System UTF-8 Zeichenkodierung verwendet.

Wenn das bei dir läuft wäre es toll, wenn du die Installationsschritte noch einmal zusammenfasst und hier postest. Dann würde ich daraus einen Wiki-Artikel machen. Alternativ kannst du den Wiki-Artikel gern auch selbst schreiben.

Grüße,
Jens
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

fini

Zitat von: jensb am 21 April 2018, 10:34:12
@fini
Bitte schau noch mal in die Modulhilfe. Da steht, dass du in die FHEM-Startdatei (bei SystemV: /etc/init.d/fhem) den Eintrag "export TZ=`cat /etc/timezone`" hinzufügen soll. Bei einigen Systemen funktioniert es auch, den Eintrag in "/etc/profile" hinzuzufügen. Manchmals ist es auch erforderlich, statt des Verweises auf "timezone" die Zeitzone direkt einzutragen, also z.B. "export TZ=Europe/Berlin". Das genaue vorgehen hängt von der Linux-Distro ab.

Das gleiche Vorgehen sollte man mit LANG machen, also z.B. "export LANG=de_DE.UTF-8", aber natürlich nur, wenn man Deutsch will und das eigene System UTF-8 Zeichenkodierung verwendet.

bin jetzt in der /etc/init.d/fhem
bei SystemV soll ich
export TZ=`cat /etc/timezone`
einfügen? SystemV  gibt es da nicht...  ???


jensb

Linux-Varianten unterscheiden sich in ihrem Startsystem. Aktuell verbreitet sind System-V und System-D. Wenn du dein FHEM-Skript in /etc/init.d findest, hast du wahrscheinlich einen System-V Start. Es bietet sich folgende Änderung an:

case "$1" in
'start')

        echo "Starting fhem..."

        # Timezone
        export TZ=`cat /etc/timezone`
        export LANG=de_DE.UTF-8


Grüße,
Jens
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

Intruder1956

und evtl. muss in dem Unterverzeichnis "/etc/", die Textdatei = Timezone mit dem Inhalt in der ersten Zeile "Europa/Berlin erstellt werden.

So war es jedenfalls bei mir, mit Debian 9 in einer VM

Gruß Werner
Zotac CI547 32GB RAM 500GB SSD,ESXI 6.5, VM-Fhem5.8, VM-ioBroker, Cul 868Mhz;Cul 433Mhz = Busware, LGW, HM-MOD-RPI-PCB, Uniroll, IT YCR-100 TMT2100,ITR-1500, LD382 mit Wifilight, ESA 2000 + SENSOR WZ SET,FS20 TFK, HM-Sec-SC, HM-CC-RT-DN,PCA301,

jensb

Ja, oder wie bereits erwähnt direkt "export TZ=Europe/Berlin" verwenden.

Je nach Linux-Version gibt es Utilities, die bei der Auswahl der Zeitzone helfen, z.B. tzselect (zeigt die korrekte Schreibweise der Zeitzone an, ändert aber nichts) oder dpkg-reconfigure tzdata (setzt /etc/timezone).

Trotzdem muss man entweder noch den export-TZ-Eintrag in das fhem-Skript oder in /etc/profile hinzufügen. Wenn date auf der Linux-Kommandozeile nicht die richtige Uhrzeit anzeigt, empfiehlt es sich, den Eintrag in /etc/profile zu machen, damit die Einstellungen für alle Anwendungen konsistent sind.

Grüße,
Jens
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

fini

#129
Zitat von: jensb am 21 April 2018, 14:00:06
Linux-Varianten unterscheiden sich in ihrem Startsystem. Aktuell verbreitet sind System-V und System-D. Wenn du dein FHEM-Skript in /etc/init.d findest, hast du wahrscheinlich einen System-V Start. Es bietet sich folgende Änderung an:

case "$1" in
'start')

        echo "Starting fhem..."

        # Timezone
        export TZ=`cat /etc/timezone`
        export LANG=de_DE.UTF-8


als ich dat eingetragen habe, kommt:



Starting fhem...
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LANG = "de_DE.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

jensb

@fini
Das ist schon stimming. Ich will ja gern helfen, aber kann es sein, dass du kein Englisch verstehst oder liest du einfach nicht? In der Moduhilfe steht dazu:
ZitatIf you get a locale warning when starting FHEM the required language pack might be missing. It can be installed depending on your OS and your preferences (e.g. apt-get install language-pack-de or something similar).
also bitte die fehlende Sprachunterstützung für Deutsch nachinstallieren.

Grüße,
Jens
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

fini

#131
ok, habe es hin bekommen

1. 55_DWD_OpenData.pm
   DWDODweblink.pm
   /opt/fhem/FHEM kopieren und rechte anpassen
2
sudo apt-get install libtext-csv-xs-perl
sudo apt-get install libxml-libxml-perl

3. in /etc/init.d in fhem eintragen:

case "$1" in
'start')

        echo "Starting fhem..."

        # Timezone
        export TZ=`cat /etc/timezone`
        export LANG=de_DE.UTF-8

5. wer noch nicht hat
Folgender Befehl setzt die Zeitzone auf Europa/Berlin:
sudo timedatectl set-timezone Europe/Berlin
6. sudo raspi-config
unter punkt 4 dann2

Tsturm

Hi Jens,

späte Rückmeldung (war unterwegs) - jetzt klappt die Installation mit der Perl-Version:

This is perl 5, version 24, subversion 1 (v5.24.1) built for arm-linux-gnueabihf-thread-multi-64int
(with 80 registered patches, see perl -V for more detail)


Jetzt kanns mit der Optimierung der Bewässerung weitergehen!
Thx & viele Grüße

VG Timmo

jensb

@fini
Prima Zusammenfassung, werde daraus einen Wki-Artikel machen.

Wie du ja selbst gesehen hast, gibt es mehrere Möglichkeiten ans Ziel zu kommen. Das Modul nutzt internationalisierte Funktionen für die Ausgabesprache und Zeitzonen. Dazu müssen beim typischen FHEM-Server ein paar zusätzliche Einstellungen gemacht werden und das eine oder andere Modul nachinstalliert werden.

Freut mich, dass es bei dir nun funktioniert.

@Tsturm
Auch dir Dank für die Rückmeldung. Draußen scheint die Sonne - also Wasserhahn auf.

Grüße,
Jens
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

#134
Wegen der Rückmeldungen von @fini habe ich nach einer Möglichkeit gesucht, die Mindestanforderungen für die Installation zu vereinfachen. Dabei konnte ich in 2 Aspekten eine Verbesserung erreichen:

  • Wenn die Systemzeitzone stimmt und man die Anzeige in dieser Zeitzone wünscht, muss TZ und das timezone-Attribut nicht mehr gesetzt werden (habe ich getestet, indem ich "export TZ=..." durch "unset TZ" ersetzt habe).
  • Wenn man nur die Wetterwarnungen nutzen möchte, muss man das Perl-Modul Text::CSV_XS nicht mehr installieren.
Im 1. Post ist die überarbeitete Version von 55_DWD_OpenData.pm mit entsprechend aktualisierter Modulhilfe.

Grüße,
Jens
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