Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Expand
titleVersion History...

Version 0.08 - 01.05.2021 - öffentlicher Betatest

  • kleinere Bugfixes
  • erweiterte Debug-Möglichkeiten in der Loxone-Version (service.sh support und supzip)
  • besseres Logging im Sende-Log: Nummer des Forwards wird mitprotokolliert um fehlerhaften Block im Config-File leichter finden zu können
  • anpassbares Logging-Level - weniger Logging mit Blick auf das Wesentliche
    über Logging\LOG_LEVEL im Config-File lässt sich nun das Logging feinjustieren - bei
    - ALL werden wie bisher alle Zeilen protokolliert
    - INFO - alle Zeilen außer ERROR, WARNING, INFO und OK werden ausgeblendet
    - WARNING - alle Zeilen außer ERROR und WARNING und OK werden ausgeblendet
    - ERROR - nur Zeilen mit ERROR und OK werden ausgegeben
    aus Kompatibilitätsgründen ist ALL voreingestellt - ich empfehle jedoch LOG_LEVEL = INFO - somit wird alles, was nicht problemlos erfolgreich war, protokolliert
  • LOG_LEVEL lässt sich auch im Betrieb per http://ipadresse:port/FOSHKplugin/loglevel=[ALL, INFO, WARNING, ERROR] anpassen - bei Neustart gilt jedoch wieder der im Config-File eingestellte Wert
  • flexiblerer Firmware-Update-Check (duplicate options)
  • erhöhte Sende-Sicherheit bei http(s) und ftp(s)-Forwards durch Sendungswiederholung:
    jetzt erfolgen 3 Versuche, die Daten zuzustellen; der zweite Versuch findet nach 5 und der dritte nach weiteren 10 Sekunden statt
    die Wiederholung erfolgt jedoch nicht, wenn der Rückgabecode auf einen lokalen Fehler hinweist (400..499)
  • Unterstützung des Forward per MQTT sowohl für metrische Werte (FWD_TYPE=MQTTMET) als auch für imp. Werte (FWD_TYPE=MQTTIMP)
    erfordert python3-setuptools und paho-mqtt (wird automatisch installiert)
    MQTT-Broker muss in FWD_URL definiert werden: ipaddress:port@hierarchy%prefix - topic name ist der Name des Keys
  • Unterstützung der wetter.com-API (noch unter weewx-Pseudonym)
  • Unterstützung der weather365.net-API
  • Unterstützung der wettersektor.de-API
  • Exportmöglichkeit der Daten als realtime.txt und clientraw.txt per http(s), ftp(s) und file mit FWD_TYPE = REALTIMETXT bzw. CLIENTRAWTXT
    dabei legt die FWD_URL fest, ob die Datei per http(s) geposted, per ftp(s) übertragen oder als Datei abgelegt werden soll
    ein realtime.txt-kompatibler String kann per http://ipadresse:portnummer/realtime.txt abgefragt und gespeichert werden
    ein clientraw.txt-kompatibler String kann per http://ipadresse:portnummer/clientraw.txt abgefragt und gespeichert werden
  • Speicherung als WSWin-kompatible CSV-Datei wswin.csv zum automatischen Import durch WSWin per Dateiüberwachung
    der Speicherort muss per Samba-Freigabe für Windows-Rechner lesbar (ggf. schreibbar) sein
    der Import kann durch WSWin automatisch und auch unregelmäßig erfolgen - WSWin liest einfach alle bisher noch nicht verarbeiteten Zeilen ein
    dabei ist keine X-CSV nötig
  • Exportmöglichkeit als Text- bzw. CSV-File mit enthaltenen Keynamen per file, http(s) und ftp(s) mit FWD_TYPE = TXTFILE bzw. CSVFILE - vorhandene Dateien werden überschrieben; diese Formate sind auch per http:ipaddress:port/FOSHKplugin.txt bzw. .csv abrufbar
  • FWD_PWD kann für Forward über das Web-Interface eingegeben werden
  • separator bei Ausgabe via /STRING und /RAW kann jetzt neben einem einzelnen Zeichen auch %20 (als Leerzeichen) oder ein ganzes Wort sein
  • Berechnung der Wolkenhöhe cloudf (in feet) bzw. cloudm (in Meter) implementiert, Coordinates\ALT = xx im Config-File mit Höhe über NN in Metern nötig - erfordert EVAL_VALUES = True
  • Sonnenscheindauer sunhours implementiert - zeigt die Dauer der täglichen Sonnenscheindauer in Stunden an (solarradiation >= 120W/m²) - erfordert EVAL_VALUES = True
  • sunhours, co2 und leafwetness (für den kommenden WN34) in Meteotemplate unterstuetzt; sunhours auch bei Awekas-API
  • Koordinaten können unter Coordinates\ALT, LAT, LON konfiguriert werden
    ALT wird zur Ermittlung der Wolkenhöhe genutzt (spread * 122)
    LAT/LON werden nur zur Übertragung in die Exportformate Awekas-API, clientraw.txt und Weather365.net genutzt und können somit auch leer bleiben
  • Config\UDP_MAXLEN (default=2000) legt maximale Länge eines UDP-Datagrams fest
    Ist die Länge des zu sendenden Paketes größer als festgelegt wird das Paket in mehrere Datagramme aufgeteilt, die jeweils eine ungefähre Länge UDP_MAXLEN haben und den Identifier SID=FOSHKweather am Anfang jedes Datagrams enthalten.
    Dabei wird die Ursprungszeile aber so getrennt, dass die Zuordnung key=value erhalten bleibt - die Trennung erfolgt also immer HINTER UDP_MAXLEN beim nächsten Auffinden eines Leerzeichens.
    Werte mit enthaltenen Leerzeichen werden durch doppelte Anführungsstriche eingefasst, damit man auf UDP-Serverseite eine Möglichkeit zum Parsen hat.
    Beispiel neighborhood="Hohen Neuendorf" bei einem Wert mit Leerzeichen - jedoch neighborhood=Berlin (ohne Leerzeichen)
  • mit Warning\CO2_WARNING = True kann eine Warnung (UDP, http, Log, Pushover) aktiviert werden, wenn der CO2-Messwert höher als der unter Warning\CO2_WARNLEVEL konfigurierte liegt
  • mit Config\UDP_STATRESEND = n kann eine Zykluszeit (n Sekunden) definiert werden, in der die Warnmeldungen unabhängig von Statusänderungen versandt werden
  • Änderung bei ptrend1 und ptrend3 - bei starkem Anstieg oder Abfall des Luftdrucks (+0.7/-0.7 bzw. +2/-2) wird als Trend eine 2 bzw- -2 ausgegeben
  • ptrend1, pchange1, ptrend3 und pchange3 werden nun auch per Ecowitt (Type=EW) weitergeleitet, wenn EVAL_VALUES = True
    pchange1 und pchange3 enthalten dabei die Differenz zwischen dem aktuellen Wert und dem Wert von vor 1 oder 3 Stunden in inHg
  • mit CSV\CSV_DAYFILE = /path/to/filename.csv wird die Erstellung eines Tages-CSV /path/to/filename.csv mit den min/max-Werten des Tages aktiviert

Version 0.07 - 19.02.2021

  • Fehler bei IGNORE_EMPTY behoben: UDP-Versand an Loxone funktionierte nicht, wenn IGNORE_EMPTY deaktiviert war
  • Log-Ausgaben: "custom mode" umbenannt nach "custom server"
  • sendet nun bei http-Empfang der Daten neben dem response-code 200 auch den Text OK zum Sender
  • Fehlerbehebung: known issue bzgl. socket-Problemen und Chrome hoffentlich behoben - nach einem 5 Sekunden TimeOut sollte der socket wieder freigegeben werden
  • Fehlerbehebung Gewitterwarnung (nicht jedes Gewitter wurde gemeldet)
  • Fehlerbehebung: Programmfehler bei PM2.5-Werten oberhalb von 500 behoben
  • Fehlerbehebung: Behandlung von %20 im Feld dateutc (etwa von der WH2600 LAN) eingeführt
  • Config-parsing hinsichtlich Boolean-Werten robuster gestaltet (mkBoolean)
  • Forwards können nun im Config-File aktiviert/deaktiviert (FWD_ENABLE=True/False) und kommentiert werden (FWD_CMT)
  • Multi-Instanz: mehrere Instanzen von FOSHKplugin können nun parallel - in unterschiedlichen Verzeichnissen - betrieben werden
  • Unterstützung des Ambient Weather-Formats sowohl für eingehende Nachrichten als auch als Forward (AMB/RAWAMB)
    bei Fehlen von yearlyrainin wird totalrainin und bei Fehlen von rainratein wird hourlyrainin genutzt
  • Forward der Eingangsdaten im Weathercloud-Format per GET als Typ WC möglich
  • Forward der Eingangsdaten im Meteotemplate-Format per GET als Typ MT möglich
  • Forward der Eingangsdaten im Awekas-Format per GET als Typ AWEKAS möglich
  • Unterstützung des WH45 (PM25, PM10, CO2-Sensor) mit zusätzlicher AQI- und CO2-Level-Berechnung
  • Vorbereitung für den neuen Blattfeuchtesensor WN35
  • Gewitterentwarnung: Anzahl der Blitze (lcount) sowie min. und max. Entfernung (ldmin und ldmax) werden übermittelt
  • Verbesserung hinsichtlich TimeOut-Verhalten; http hat nun einen TimeOut von 8 und UDP von 3 Sekunden
  • Ecowitt-Forward: ist totalrain vorhanden - yearlyrain aber nicht, wird yearlyrain automatisch mit Wert von totalrain gesetzt
  • neue Konfigurationsoption Export\OUT_TIME = True setzt Zeitstempel eingehender Nachrichten von der Wetterstation auf Empfangszeit
  • fake-Modus nun auch für eingehende Nachrichten im WU- und Ambient-Format aktiviert
  • ein automatischer Restart des FOSHKplugin-Dienstes bei ausbleibenden Daten der Wetterstation über Warning\WSDOG_RESTART konfigurierbar
  • wichtige Status-Mitteilungen können nun zusätzlich per Pushover übermittelt werden (Update-, Sensor-, Watchdog-, Batterie-, Sturm- und Gewitterwarnung)
  • generic: Anzeige aller erkannten Wetterstationen während Installation via generic-FOSHKplugin-install.sh sowie bei Start von  ./foshkplugin.py -scanWS
  • Mittelwertberechnung (bei EVAL_DATA=True) für Wind und Windrichtung implementiert, gibt windspdmph_avg10m, winddir_avg10m aus
  • Böen-Maximum der letzten 10 Minuten implementiert: windgustmph_max10m/windgustkmh_max10m gibt die max. Böe in den letzten 10 Minuten aus
  • windspdkmh_avg10m und winddir_avg10m in Loxone-Vorlage integriert
  • Ausgabe des Lux-Wertes (solarradiation*126.7) als Feld brightness (bei EVAL_DATA=True)
  • mit Logging\IGNORE_LOG lassen sich Zeilen vom Logging im Standard-Log ausnehmen (Komma-getrennte Liste von Suchworten) - etwa crondaemon
  • mit FWD_EXEC lässt sich bei jedem Forward ein Script angeben, dass mit dem Ausgabestring als Parameter gestartet wird und dessen letzte Ausgabezeile als neuer Ausgabestring für den Versand übernommen wird
  • Wert-Abfrage: ein http-Request http://ipadresse:portnummer/getvalue?key=[key] gibt den Wert für den Schlüssel [key] aus, wobei der Schlüssel der RAW-Schlüssel wie auch der umgewandelte Schlüsselname sein darf
    Beipiel: curl http://192.168.15.236:8080/getvalue?key=windspeedmph gibt den Wert "1.34" des Schlüssels windspeedmph aus
    in Verbindung mit FWD_EXEC können somit Daten anderer Instanzen abgefragt und eingebunden werden
  • zusätzlich zur http-GET-Abfrage /CSV und /CSVHDR mit dynamischer Feldeinteilung wird nun auch /SSV und /SSVHDR mit statischen Feldern unterstützt, Grundlage ist die Feldbeschreibung in CSV\CSV_FIELDS
    somit ist Reihenfolge der Felder fix; Felder ohne Inhalt (etwa bei Sensorausfall) werden nicht übersprungen sondern mit "" ausgegeben
  • ist Export\FIX_LIGHTNING aktiv (default) werden bei fehlenden Werten für lightning und lightning_time die letzten bekannten Werte als Eingangsdaten genutzt
    da die Blitz-Daten im GW1000/DP1500 nicht im NVRAM gespeichert werden, gehen diese Werte bei einem Neustart des Geräts verloren
    FOSHKplugin speichert Zeit und Entfernung des letzten übertragenen Blitzes im Config-File ab und nutzt diese, wenn keine Werte vom Blitzsensor übermittelt werden
    diese Werte werden allen Ausgangsformaten zur Verfügung gestellt
  • wird Warning\LEAKAGE_WARNING aktiviert, erfolgen Warnungen bei per Log, UDP, http oder Pushover (leakwarning) wenn eine Leckage erkannt wurde
  • bei jedem erfolgreichen Start wird ein Backup der foshkplugin.conf angelegt (foshkplugin.conf.foshkbackup)

Version 0.06 - 02.08.2020

  • Zeitpunkt des letzten Blitzereignisses lightning_loxtime mit in Loxone-Vorlage integriert
  • Gewittererkennung/-warnung implementiert - sendet bei vorhandenen Blitzsensor WH57/DP60 Gewitterwarnung
  • Überarbeitung der Sturmwarn-Funktion, Ausgabe der Luftdrucktendenz 1h/3h sowie Änderung des Luftdrucks 1h/3h
  • WU-Forward/JSON von AqPM2.5 wenn Feinstaubsensor vorhanden (nur pm25_ch1 wird weitergeleitet!)
  • AQI-Berechnung bei EVAL_DATA=True und vorhandenem DP200/WH41/WH43 aktiviert
  • Batterie-Warnung per Log und UDP implementiert; fällt der mitgelieferte batt-Wert unter einen intern definierten Schwellwert, erfolgt eine Warnung
  • Fehler bei Berechnung der korrekten Uhrzeit (Sommerzeit) bei W4L-Export behoben
  • spanische Himmelsrichtungen für W4L-Export hinzugefügt
  • Patch-Funktion für W4L: Wetterstationswerte "-9999" werden ebenfalls nicht importiert
  • Fehler bei Ausgabe des Namens des wieder Daten liefernden Sensors (SENSOR_MANDATORY) behoben
  • Status der Warnungen für Sturm, Gewitter, Sensor und Batterie werden zwischengespeichert und sind somit remanent
  • WU-Forward/JSON Umbenennung von solarRadiation zu solarradiation
  • WU-Forward/JSON Unterstützung von Bodenfeuchtesensoren
  • WU-Forward: keys mit leerem value werden nicht übermittelt
  • WU-Forward: Upload von dewptf (war dewpt) und rainin (war rainratein) repariert
  • neue Formel für Taupunkt-Berechnung (dewpoint) aktiv (erfordert math)
  • sendet nun bei http-Empfang der Daten einen response-code 200 zum Sender
  • UDP-Nachricht für time bei wswarning von "time: " auf "time=" geändert
  • bei allen get/post-Aktionen: Prüfung des Rückgabewertes 200..202 --> ok (war 200)
  • Text-Fehler in Hilfe behoben
  • experimentell: Forward des PM2.5-Wertes zu luftdaten.info als Typ LD, Angabe der ID unter FWD_SID im Config-File nötig
  • Forward der Eingangsdaten ohne Konvertierung per UDP als Typ RAWUDP möglich
  • Forward der Eingangsdaten ohne Konvertierung per EW/POST als Typ RAWEW möglich
  • Forward der Eingangsdaten ohne Konvertierung per POST als Typ RAWCSV möglich
  • Forward der Ausgabedaten als CSV als Typ CSV möglich
  • Forward der Ausgabedaten per UDP an weitere Ziele mit FWD_TYPE=UDP möglich, dabei wird auch der Status übertragen
  • Timeout-Handling bei Forward angepasst (nun 3 Sekunden)
  • Sprachfassung NL und SK integriert
  • Ausgabesprache kann per LANGUAGE=DE/EN etc. im Config-File eingestellt werden (generic)
  • virtuelle Ausgänge für Shutdown, getStatus, debugOn und debugOff implementiert
  • Separator bei http-GET /RAW auswählbar
  • neue http-GET-Ausgabe /STRING zur Ausgabe der Ausgabezeile mit wählbaren Separator
  • im /JSON und bei der Ausgabe per /STRING und /UDP können nun auch die Statusmeldungen abgefragt werden
  • einfache Authentifizierung per AUTH_PWD implementiert; Daten und Anfragen werden per http nur angenommen, wenn das hier angegebene Password in der URL enthalten ist (im Ecowitt-Modus empfiehlt sich dafür der Wert von PASSKEY)
  • Inhalt von PASSKEY wird in Logfiles maskiert wenn AUTH_PWD aktiv
  • Behandlung von unnötigen Hochkommas im Config-File angepasst
  • Vorbereitung für kommenden Boden/Wasser-Temperatursensor WH34 - auch in Loxone-Vorlage integriert (tf_chNc, tf_battN - wobei N=1..8)
  • Status auch via http/GET abfragbar: http://ipadresse:portnummer/FOSHKplugin/status gibt Status wswarning, sensorwarning, batterywarning, ... aus
  • fake-Modus implementiert: Werte eines Innensensors (WH31/DP50) können als Werte eines Außensensors WH32 ausgegeben werden (Temperatur, Luftfeuchte)
  • updatewarning implementiert, meldet per Log/UDP und ggf. per http ein verfügbares Update für die Wetterstation
  • für Gewitterwarnung wird nun tswarning statt tstormwarning als Status ausgegeben (Achtung! Dies betrifft sämtliche Ausgaben sowohl per UDP als auch per http!)

Version 0.05 - 26.04.2020

  • Sturmwarnung bleibt für 60 Minuten nach letzter Grenzwertunter-/überschreitung aktiv; Zeitraum kann via STORM_EXPIRE im Config-File angepasst werden
  • Übermittlung des UV-Wertes im WU-Format angepasst, nun in Großbuchstaben UV= statt uv=
  • Patch-Funktion für Weather4Loxone ist nun unabhängig von der genutzten Weather4Loxone-Version (vorhandene fetch.pl wird nicht überschrieben sondern angepasst)

Version 0.04 - 20.02.2020

  • default-config angepasst - Kommentare hinter Block nicht zulässig!
  • verbesserte Buttons (CSS) - Schiebeschalter nun grau bei "off" und grün bei "on"
  • erweiterte CGI-Debug-Funktion; default: off; enable mit $myDebug = 1 in der index.cgi
  • myDebug für zusätzliche Debug-Informationen auch im Python-Programm implementiert (default: False)
  • Beschreiben der Wetterstation via WS-Set sollte nun (endlich) vollumfänglich funktionieren
  • Id & Key in den Einstellungen der Wetterstation werden ignoriert und nicht vom Plugin überschrieben

Version 0.03 - 18.01.2020

  • USE_METRIC wieder funktional (jetzt also auch imperiale Werte per UDP und CSV möglich)
  • weitere mögliche Probleme beim Setzen der Wetterstationsparameter via WS-Set behoben (Path wird nun immer auf defaults gesetzt)
  • Prüfung der nutzbaren LoxBerry-Ports (http/udp) optimiert
  • Kommunikation mit der Wetterstation überarbeitet - nun jeweils 5 Versuche bei Lesen und Schreiben
  • besseres Logging/Debugging bei Fehlern bei Set-WS; "buntere" und besser parse-bare Log-Files; ### entfernt
  • generic: conf-File - Vorlage und Hilfstexte überarbeitet
  • Ignorierliste Forward\FWD_IGNORE für Forwards eingebaut: definiert - kommasepariert - Felder, die NICHT verschickt werden sollen
  • Forward\FWD_TYPE=UDP/EW/RAW für http-Forward der Werte (UDP-Ausgabezeile) an andere Ziele als WU eingeführt
  • nun bis zu 10 Forwards mit unterschiedlichen Einstellungen möglich (aktuell nur im Config-File zu pflegen: Forward-1..9 analog zu Forward)
  • Watchdog: kommen seit 3*eingestelltem Intervall keine Werte von der Wetterstation, Fehler melden!
    es erfolgt EINE Warnung und bei erneuter Übermittlung der Wetterstation eine Entwarnung im Log sowie per UDP:
    SID=FOSHKweather wswarning=1 last=346611722
    SID=FOSHKweather wswarning=0 last=346616459
    standardmäßig aktiv; kann im Config-File deaktiviert werden: Warning\WSDOG_WARNING=False
    Intervall kann im Config-File eingestellt werden: Warning\WSDOG_INTERVAL=3
    Warnung auch in Loxone-Vorlage enthalten
  • Alarm senden (Log, UDP) wenn Sensor (auch mehrere) keine Daten liefert (etwa weil Akku/Batterie leer)
    SID=FOSHKweather sensorwarning=1 missed=wh65batt time=347196201
    SID=FOSHKweather sensorwarning=1 back=wh65batt time=347196201
    aktuell nur im Config-File zu pflegen:
    Warning\SENSOR_WARNING=True sowie Warning\SENSOR_MANDATORY="wh65batt"
  • Sturmwarnung: fällt oder steigt der Luftdruck um mehr als 1.75 Hektopascal in einer Stunde, erfolgt eine Warnung vor Starkwind/Sturm
    vgl. http://www.bohlken.net/luftdruck2.htm
    es erfolgt EINE Warnung und bei Entspannung des Luftdrucks eine Entwarnung im Log und per UDP:
    SID=FOSHKweather stormwarning=1 time=346611722
    SID=FOSHKweather stormwarning=0 time=346616459
    standardmäßig aktiv; kann im Config-File deaktiviert werden: Warning\STORM_WARNING=False
    WarnDiff kann im Config-File eingestellt werden: Warning\STORM_WARNDIFF=1.75
    Warnung auch in Loxone-Vorlage enthalten
  • Vorbereitung Wassersensor WH55 und Blitzsensor WH57 (noch unklar ob lightning_time = timestring oder unixtime!)
  • preupgrade-Script: Upgrade-Verzeichnisse werden nun auch ohne Elternverzeichnis angelegt (mkdir -p)
  • preuninstall-script entfernt; Deinstallation erfolgt bei LoxBerry ab v2.0.1.1 im uninstall-Script
  • Web-Oberfläche: Anzeige der Versionsnummer eingebaut (um Nachfragen zur verwendeten Version im Fehlerfall zu minimieren)
  • UDP-Versand an das Zielsystem lässt sich mit UDP_ENABLE=False abschalten
  • Ignorierliste für den UDP-Versand eingeführt: Config\UDP_IGNORE (nur im Config-File zu pflegen)

Version 0.02 - 28.12.2019

  • ### aus FWD-Log-Nachricht entfernt
  • Umrechnung temp1f in temp1c für Innensensor auf Kanal 1 implementiert
  • Timeout bei sendReboot, setWSconfig und getWSINTERVAL von 1 auf 2 Sekunden erhöht (somit sollte WS-Set sicherer funktionieren)
  • Probleme beim Setzen der Wetterstationsparameter via WS-Set behoben (Id & Key werden - wenn nicht schon vorhanden - gesetzt)
  • Umstellung der LoxBerry-Versionsnummerierung damit zukünftig die Auto-Update-Funktion greifen kann

Version 0.01 - 15.12.2019

  • erste öffentliche Version

...