Metainformationen zur Seite

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
plugins:foshkplugin:start [2023/03/09 07:11] Oliver Engelplugins:foshkplugin:start [2024/03/26 19:28] (aktuell) Oliver Engel
Zeile 1: Zeile 1:
 ====== FOSHKplugin  ====== ====== FOSHKplugin  ======
  
 +{{anchor:history}}
 +{{anchor:changelog}}
  
 ++++ Version History...| ++++ Version History...|
 +{{anchor:changelogv010}}
 +
 +**Version 0.10 - 04.07.2023 - öffentlicher Beta-Test**
 +  * changed: maxdailygust is now maxdailygustkmh in metric data (kmh) - the unit of maxdailygust is mph - **ATTENTION! may cause compatibility issues!**
 +  * fixed: typo in generic-FOSHKplugin-install.sh fixed sytemd –> systemd
 +  * fixed: UDP command Plugin.intvlwarning=enable/disable triggered co2warning instead (copy/paste-Error)
 +  * fixed: min/max values for leaf moisture sensors 1-8 were not written to the daily CSV
 +  * fixed: WS90 rain-handling - replacing the new names with the old ones now works correctly (e.g. „rrain_piezo“ –> „rainratein“)
 +  * fixed: scanWS MAC address output
 +  * fixed: Sending of additional temp/hum sensors now according to WeatherCloud API documentation: temp02/hum02
 +  * fixed: sunhours calculation - formula corrected like WeeWX extension (Jterrettaz)
 +  * fixed: modifications for altered AWEKAS-API (response OK)
 +  * fixed: possible error in the creation of the daily CSV fixed
 +  * fixed: LoxBerry - piezo variable names in Loxone template fixed (added mm to the name)
 +  * improved: improved 10 minutes average calculation „winddir_avg10m“ (avgWind)
 +  * improved: ignore „@“ in the field identifier of OUT_TEMP and OUT_HUM to standardise the assignments as with FWD_REMAP
 +  * improved: Pushover notification for missing weather station changed to red text color
 +  * improved: existing values can now be assigned via FWD_REMAP to the WeatherCloud keys co, no, no2, so2, o3, tempagro, et, pwrsply, battery and noise
 +  * improved: sending pm25 & aqi of WH41/43 channel #1 to WeatherCloud if no WH45 present (WH45 still preferred)
 +  * improved: conversion to WU: tempNf, humidityN, qcStatus, softwareType
 +  * improved: better error handling for saving as file via ftp(s)
 +  * improved: InfluxDB: missed forwards are queued and transmitted when the destination is available again
 +  * improved: error handling for Weathercloud forwards
 +  * improved: error handling for Pushover push notifications (automatic retry)
 +  * improved: parameter -scanWS gathers all weather stations now - including GW2000
 +  * improved: WH45 for WU - if no WH41 present, use data from WH45 instead
 +  * improved: internal functions stringToDict & getfromDict
 +  * improved: if the structure of the daily CSV is changed, a new file is created
 +  * new: introducing REBOOT_WARNING - check wether current runtime < last runtime - if so: warn (log, push, UDP: rebootwarning=1 dailyboot=#count)\\ can be deactivated with http: /FOSHKplugin/rebootwarning=disable and UDP: Plugin.rebootwarning=disable\\ LoxBerry: commands are included as virtual outputs in the template
 +  * new: „dailyboot“ (number of restarts) and „rebootwarning“ as keys, reset at midnight and is also part of the daily CSV (if EVAL_VALUES active)\\ LoxBerry: Keys „rebootwarning“ and „dailyboot“ are included as virtual inputs in the template
 +  * new: „sunshine“ represents the presence of sunshine; can be artificially prolonged with SUNSHINE_HOLD to prevent constant changes\\ LoxBerry: key „sunshine“ also included in template as virtual input
 +  * new: introducing SUNSHINE_HOLD = seconds - Hold time in seconds for value sunshine, this time continues to be output sunshine = True, even if there is no sunshine (default: 0)
 +  * new: FWD_TYPE = MIYO; sends temperature, wind and rain state (rain = rainratemm > 0 or hourlyrainmm > 1 or dailyrainmm > 1) to a MIYO cube (irrigation system)\\ rain forecast is still missing; could be implemented too via API AerisWeather or AccuWeather (both in test)
 +  * new FWD_TYPE = INFLUX2MET and INFLUX2IMP - support of InfluxDB2 - Python 3.6 or later and Python lib influxdb-client are required!\\ bucket = dbname; org = fwd_sid; token = fwd_pwd\\ missed forwards are queued and transmitted when the destination is available again
 +  * new: (LoxBerry) virtual input FOSHK-getMinMax for command Plugin.getminmax integrated in Loxone template
 +  * new: send the fwd_type, prgname & prgver as an argument with postFile
 +  * new: FWD_WARNING, FWD_WARNINT, http://ipaddress:portnumber/FOSHKplugin/fwdstat, enable/disable via http & UDP
 +  * new: support for leafwetness sensors for Ambient Weather stations
 +  * new: change the date/time output format via Config\DT_FORMAT (default = %d.%m.%Y %H:%M:%S - dd.mm.yyyy hh:mm:ss) for all (!) date/time outputs: log, csv, push
 +  * new: forward warning via Pushover\\ after a configurable number of successive unsuccessful attempts, a push message is sent through Pushover
 +  * new: statistics page for forwards: http://ipaddress:portnumber/FOSHKplugin/fwdstat
 +  * new: scan weather station page: http://ipaddress:portnumber/FOSHKplugin/scanWS
 +  * new: missed forwards for forward types EW and RAWEW may be queued and sent when destination is available again (with FWD-xx\FWD_QUEUE = True)
 +  * new: exclude list for battery warning: BATTERY_WARNEXCLUDE - a comma separated list of keys to exclude from battery warning e.g. wh90batt
 +  * new: Awekas-API: deliver weather report conditions & tendency\\ missed forwards are automatically queued as FOSHKplugin-queue/FWD-nr/FOSHKplugin-queued-data-nr.csv in config dir (or dir configured as FWD_QDIR)
 +  * new: Adaptations for installation under (Open)Suse, Synology, Fedora (zypper, ipkg, dnf) in generic version
 +  * new: custom push notifications via Pushover (user-defined push messages when values exceed or fall below a definable value)
 +  * new: Conversion to UTF-8 of all programme parts (may cause problems)
 +  * new: Weather Report for Awekas - automatically report rain, storm and thunderstorm
 +  * new: FWD_TYPE = BANNER - automatic generation of banners and stickers with current weather data
 +  * new: further queryable key names for getvalue, JSON, ... and forward types MQTT, InfluxDB, BANNER and TAGFILE:\\ prgname (FOSHKplugin)\\ prgver (current version number)\\ winddirtext (if available, 10min winddir-mean otherwise winddir as short text (N, NE, NNO, ...)\\ aqtime (Time of processing by FOSHKplugin)\\ pchange1in (1 hour pressure change in inHg)\\ pchange3in (3 hour pressure change in inHg)\\ lightningmi (lightning distance in miles)\\ 
 +  * new: FWD_TYPE = TAGFILE - user-defined output format based on tags and templates
 +  * new: config option Export\LIMIT_WINDGUST = n to prevent processing of unrealistic values for windgustmph and maxdailygust (e.g. for WS80/WS90)\\ if value >= n the windgustmph will be renamed to _windgustmph (thus not processed); last "good" maxdailygust will be used as maxdailygust
 +  * new: calculation of windrun (in miles) and windrunkm (in km) and daily solar radiation sum (srsum) - also included in Loxone template
  
 **Version 0.09 - 02.04.2022** **Version 0.09 - 02.04.2022**
Zeile 9: Zeile 65:
   * intensives Code-Cleaning - Umbenennung und Vereinheitlichung der Konvertierfunktionen   * intensives Code-Cleaning - Umbenennung und Vereinheitlichung der Konvertierfunktionen
   * Fehler bei eingehenden Daten im WU-Protokoll und aktiviertem EVAL_VALUES behoben   * Fehler bei eingehenden Daten im WU-Protokoll und aktiviertem EVAL_VALUES behoben
-  * http-Anfragen mit &refresh=n aktualisiert die angezeigte Seite alle n Sekunden\\ +  * http-Anfragen mit &refresh=n aktualisiert die angezeigte Seite alle n Sekunden\\ Beispiel: http:%%//%%ipadresse:portnummer/APRS&refresh=30 aktualisiert die Anzeigeseite des APRS-Ausgabestrings alle 30 Sekunden\\ oder: http:%%//%%ipadresse:portnummer/status&minmax&refresh=60 zeigt die aktuellen Werte inkl. Status und Min/Max an und aktualisiert alle 60 Sekunden
-Beispiel: http:%%//%%ipadresse:portnummer/APRS&refresh=30 aktualisiert die Anzeigeseite des APRS-Ausgabestrings alle 30 Sekunden\\ +
-oder: http:%%//%%ipadresse:portnummer/status&minmax&refresh=60 zeigt die aktuellen Werte inkl. Status und Min/Max an und aktualisiert alle 60 Sekunden+
   * bei eingehenden Daten im WU-Format barominrelin mit baromrelhpa gleichsetzen, Konvertierung von WU nach EW für WH6006 modifiziert   * bei eingehenden Daten im WU-Format barominrelin mit baromrelhpa gleichsetzen, Konvertierung von WU nach EW für WH6006 modifiziert
   * Kompatibilität zu GW1100 sichergestellt   * Kompatibilität zu GW1100 sichergestellt
Zeile 21: Zeile 75:
   * in der FWD_URL kann nun für Ausgabeformate REALTIMETXT, CLIENTRAWTXT, CSVFILE, WSWIN, TXTFILE und RAWTEXT auch ein Dateiname übergeben werden   * in der FWD_URL kann nun für Ausgabeformate REALTIMETXT, CLIENTRAWTXT, CSVFILE, WSWIN, TXTFILE und RAWTEXT auch ein Dateiname übergeben werden
   * bei Erzeugung der WSWin-CSV erfolgt nun auch per http(s)/POST und ftp(s) ein Anhängen neuer Daten an die bereits vorhandene Datei (append)   * bei Erzeugung der WSWin-CSV erfolgt nun auch per http(s)/POST und ftp(s) ein Anhängen neuer Daten an die bereits vorhandene Datei (append)
-  * neue, verbesserte Sonnenstundenberechnung sunhours (nach https://github.com/Jterrettaz/sunduration) mit dynamischen, ortsabhängigen Schwellwert (vielen Dank Werner!), erfordert Coordinates\LAT und Coordinates\LON\\ +  * neue, verbesserte Sonnenstundenberechnung sunhours (nach https://github.com/Jterrettaz/sunduration) mit dynamischen, ortsabhängigen Schwellwert (vielen Dank Werner!), erfordert Coordinates\LAT und Coordinates\LON\\ ohne LAT/LON oder bei Sunduration\SUN_CALC = False wird die bereits bekannte Berechnung mit fixem Schwellwert von 120W/m² genutzt\\ kann mit Sunduration\SUN_MIN (minimaler Schwellwert, default=0) und Sunduration\SUN_COEF (default=0.8 - zu wenig Sonnenschein erfasst: Wert verkleinern; zuviel: vergrößern) modifiziert werden\\ aus Kompatibilitätsgründen muss diese Funktion mit Sunduration\SUN_CALC = True aktiviert werden
-ohne LAT/LON oder bei Sunduration\SUN_CALC = False wird die bereits bekannte Berechnung mit fixem Schwellwert von 120W/m² genutzt\\ +
-kann mit Sunduration\SUN_MIN (minimaler Schwellwert, default=0) und Sunduration\SUN_COEF (default=0.8 - zu wenig Sonnenschein erfasst: Wert verkleinern; zuviel: vergrößern) modifiziert werden\\ +
-aus Kompatibilitätsgründen muss diese Funktion mit Sunduration\SUN_CALC = True aktiviert werden+
   * html-Abfrage für WSWIN implementiert - http:%%//%%ipadresse:portnummer/WSWIN gibt eine WSWin-kompatible Datenzeile der letzten Werte aus   * html-Abfrage für WSWIN implementiert - http:%%//%%ipadresse:portnummer/WSWIN gibt eine WSWin-kompatible Datenzeile der letzten Werte aus
   * neuer Forward-Type EWUDP (UDPEW) - konvertiert eingehende EW-, WU- und AMB-Meldungen nach Ecowitt/UDP (etwa für Personal Weather Tablet/UDP broadcast listener)   * neuer Forward-Type EWUDP (UDPEW) - konvertiert eingehende EW-, WU- und AMB-Meldungen nach Ecowitt/UDP (etwa für Personal Weather Tablet/UDP broadcast listener)
   * FWD_IGNORE zum Filtern aller ausgehenden Keys jetzt gültig für alle Forwards - Keys in dieser Liste werden nicht verschickt   * FWD_IGNORE zum Filtern aller ausgehenden Keys jetzt gültig für alle Forwards - Keys in dieser Liste werden nicht verschickt
-  * Remap-Funktion FWD_REMAP implementiert - Ausgabe-Keys können jetzt mit Werten aller bekannten internen Keys definiert werden\\ +  * Remap-Funktion FWD_REMAP implementiert - Ausgabe-Keys können jetzt mit Werten aller bekannten internen Keys definiert werden\\ Einige Ziele unterstützen nur eine Auswahl an Sensoren, Ambient Weather unterstützt z.B. nur einen internen/externen PM2.5-Sensor oder Awekas oder WSWin nur 4 Bodenfeuchtesensoren.\\ FOSHKplugin überträgt jedoch immer logisch fortlaufend - beginnt also beim jeweils ersten Sensor und sendet die jeweils gültige max. Anzahl der Kanäle.\\ Mit FWD_REMAP kann eine entsprechende Zuordnung bzw. Auswahl erfolgen.\\ Beispiel: //FWD_REMAP = @tf_ch1c=@tf_ch8c// - setzt den metrischen Key tf_ch1c (entspricht metr. Temperaturwert 1. Kanal) auf den Wert von tf_ch8c (8. Kanal)\\ dabei können Werte anderer Keys (mit @) und statische Werte zugewiesen (etwa @tf_ch1c=12.3) sowie eigene Keys definiert werden (soiltemp2=@tf_ch7c); 
-Einige Ziele unterstützen nur eine Auswahl an Sensoren, Ambient Weather unterstützt z.B. nur einen internen/externen PM2.5-Sensor oder Awekas oder WSWin nur 4 Bodenfeuchtesensoren.\\ +  * neuer Forward-Typ APRS ermöglicht das Versenden der Daten an CWOP\\ call sign wird als FWD_SID übergeben, ein ggf. nötiges Passwort kann mit FWD_PWD übergeben werden; FWD_URL enthält die Adresse:Port des Ziels\\ kann auch per http mit http:%%//%%ipadresse:portnummer/APRS?user=CALLSIGN abgerufen werden
-FOSHKplugin überträgt jedoch immer logisch fortlaufend - beginnt also beim jeweils ersten Sensor und sendet die jeweils gültige max. Anzahl der Kanäle.\\ +
-Mit FWD_REMAP kann eine entsprechende Zuordnung bzw. Auswahl erfolgen.\\ +
-Beispiel: //FWD_REMAP = @tf_ch1c=@tf_ch8c// - setzt den metrischen Key tf_ch1c (entspricht metr. Temperaturwert 1. Kanal) auf den Wert von tf_ch8c (8. Kanal)\\ +
-dabei können Werte anderer Keys (mit @) und statische Werte zugewiesen (etwa @tf_ch1c=12.3) sowie eigene Keys definiert werden (soiltemp2=@tf_ch7c); +
-  * neuer Forward-Typ APRS ermöglicht das Versenden der Daten an CWOP\\ +
-call sign wird als FWD_SID übergeben, ein ggf. nötiges Passwort kann mit FWD_PWD übergeben werden; FWD_URL enthält die Adresse:Port des Ziels\\ +
-kann auch per http mit http:%%//%%ipadresse:portnummer/APRS?user=CALLSIGN abgerufen werden+
   * Weather365: Bodentemperaturen der Sensoren 2..4 werden nun auch übertragen - beachte das ggf. nötige Remappen!   * Weather365: Bodentemperaturen der Sensoren 2..4 werden nun auch übertragen - beachte das ggf. nötige Remappen!
   * MeteoTemplate: Unterstützung von WN35 (Blattfeuchte) und WN34 als soil temp/TSn - die Tiefe kann mit TS0n=cm als ADD_ITEM oder per FWD_REMAP hinzugefügt werden   * MeteoTemplate: Unterstützung von WN35 (Blattfeuchte) und WN34 als soil temp/TSn - die Tiefe kann mit TS0n=cm als ADD_ITEM oder per FWD_REMAP hinzugefügt werden
Zeile 50: Zeile 94:
   * erweiterte Debug-Möglichkeiten in der Loxone-Version (service.sh support und supzip)   * 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   * 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\\ +  * 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
-ü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   * 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
   * mit Logging\LOG_ENABLE = False lässt sich das Logging global abschalten, ohne Änderungen an den Logfile-Namen vorzunehmen   * mit Logging\LOG_ENABLE = False lässt sich das Logging global abschalten, ohne Änderungen an den Logfile-Namen vorzunehmen
   * flexiblerer Firmware-Update-Check (duplicate options)   * flexiblerer Firmware-Update-Check (duplicate options)
-  * erhöhte Sende-Sicherheit bei http(s) und ftp(s)-Forwards durch Sendungswiederholung:\\ +  * 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) 
-jetzt erfolgen 3 Versuche, die Daten zuzustellen; der zweite Versuch findet nach 5 und der dritte nach weiteren 10 Sekunden statt\\ +  * 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
-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 [[https://wetter.com|wetter.com]]-API (noch unter weewx-Pseudonym)   * Unterstützung der [[https://wetter.com|wetter.com]]-API (noch unter weewx-Pseudonym)
   * Unterstützung der [[https://weather365.net|weather365.net]]-API   * Unterstützung der [[https://weather365.net|weather365.net]]-API
   * Unterstützung der [[https://wettersektor.de|wettersektor.de]]-API   * Unterstützung der [[https://wettersektor.de|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\\ +  * 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 
-dabei legt die FWD_URL fest, ob die Datei per http(s) geposted, per ftp(s) übertragen oder als Datei abgelegt werden soll\\ +  * 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
-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   * 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   * FWD_PWD kann für Forward über das Web-Interface eingegeben werden
Zeile 83: Zeile 111:
   * Sonnenscheindauer sunhours implementiert - zeigt die Dauer der täglichen Sonnenscheindauer in Stunden an (solarradiation >= 120W/m²) - 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   * 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\\ +  * 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 
-ALT wird zur Ermittlung der Wolkenhöhe genutzt (spread * 122)\\ +  * 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.\\
-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) 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 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   * 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   * Ä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\\ +  * 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
-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   * 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
   * Parameter bool, status, units und separator sind nun bei allen Request möglich (soweit sinnvoll - bei RAW also nicht)   * Parameter bool, status, units und separator sind nun bei allen Request möglich (soweit sinnvoll - bei RAW also nicht)
-  * Abfrage /JSON erweitert - erzeugt bei Abruf mit Parameter bool ein JSON mit numerischen/boolschen Werten - kann mit minmax, status und units erweitert werden\\ +  * Abfrage /JSON erweitert - erzeugt bei Abruf mit Parameter bool ein JSON mit numerischen/boolschen Werten - kann mit minmax, status und units erweitert werden\\ Beispiel: http:%%//%%ipadresse:portnummer/JSON?minmax&status&bool gibt den letzten Datensatz mit numerischen/boolschen Werten statt mit Strings aus
-Beispiel: http:%%//%%ipadresse:portnummer/JSON?minmax&status&bool gibt den letzten Datensatz mit numerischen/boolschen Werten statt mit Strings aus+
   * MQTTMET/MQTTIMP-Forward gibt nun numerische/boolsche Werte aus   * MQTTMET/MQTTIMP-Forward gibt nun numerische/boolsche Werte aus
-  * InfluxDB-Unterstützung: sowohl per pull (als JSON via telegraf) als auch nativ (FWD_TYPE = INFLUXMET/INFLUXIMP) integriert\\ +  * InfluxDB-Unterstützung: sowohl per pull (als JSON via telegraf) als auch nativ (FWD_TYPE = INFLUXMET/INFLUXIMP) integriert\\ die Angabe der Datenbank erfolgt in der FWD_URL-Zeile: FWD_URL = http:%%//%%192.168.15.237:8086@Database erzeugt eine Datenbank Database auf 192.168.15.237:8086\\ und überträgt die Daten unverschlüsselt im konfigurierten Intervall; Nutzername und Password können per FWD_SID und FWD_PWD übergeben werden 
-die Angabe der Datenbank erfolgt in der FWD_URL-Zeile: FWD_URL = http:%%//%%192.168.15.237:8086@Database erzeugt eine Datenbank Database auf 192.168.15.237:8086\\ +  * neue Config-Optionen REBOOT_ENABLE und RESTART_ENABLE - ermöglichen den Neustart der Wetterstation und von FOSHKplugin per http/UDP\\ die Aufrufe lauten http:%%//%%ipaddress:port/FOSHKplugin/rebootWS zum Neustart der Wetterstation\\ und http:%%//%%ipaddress:port/FOSHKplugin/restartPlugin zum Neustart des FOSHKplugin-Service
-und überträgt die Daten unverschlüsselt im konfigurierten Intervall; Nutzername und Password können per FWD_SID und FWD_PWD übergeben werden +
-  * neue Config-Optionen REBOOT_ENABLE und RESTART_ENABLE - ermöglichen den Neustart der Wetterstation und von FOSHKplugin per http/UDP\\ +
-die Aufrufe lauten http:%%//%%ipaddress:port/FOSHKplugin/rebootWS zum Neustart der Wetterstation\\ +
-und http:%%//%%ipaddress:port/FOSHKplugin/restartPlugin zum Neustart des FOSHKplugin-Service+
   * neuer Forward-Typ RAWTEXT ermöglicht die Ablage der eingehenden Werte der Wetterstation als Textdatei lokal im Dateisystem und remote per http(s)/POST und ftp(s)   * neuer Forward-Typ RAWTEXT ermöglicht die Ablage der eingehenden Werte der Wetterstation als Textdatei lokal im Dateisystem und remote per http(s)/POST und ftp(s)
   * Firmware-Update-Status (updatewarning) wird nun sofort nach Eingang neuer Daten der aktualisierten Wetterstation aktualisiert   * Firmware-Update-Status (updatewarning) wird nun sofort nach Eingang neuer Daten der aktualisierten Wetterstation aktualisiert
Zeile 123: Zeile 140:
   * Forwards können nun im Config-File aktiviert/deaktiviert (FWD_ENABLE=True/False) und kommentiert werden (FWD_CMT)   * 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   * 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)\\ +  * 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
-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 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 Meteotemplate-Format per GET als Typ MT möglich
Zeile 144: Zeile 160:
   * mit Logging\IGNORE_LOG lassen sich Zeilen vom Logging im Standard-Log ausnehmen (Komma-getrennte Liste von Suchworten) - etwa crondaemon   * 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   * 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\\ +  * 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\\ Beispiel: 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 
-Beipiel: curl http:%%//%%192.168.15.236:8080/getvalue?key=windspeedmph gibt den Wert "1.34" des Schlüssels windspeedmph aus\\ +  * 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\\ 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
-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\\ +
-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   * 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)   * bei jedem erfolgreichen Start wird ein Backup der foshkplugin.conf angelegt (foshkplugin.conf.foshkbackup)
Zeile 216: Zeile 227:
   * Forward\FWD_TYPE=UDP/EW/RAW für http-Forward der Werte (UDP-Ausgabezeile) an andere Ziele als WU eingeführt   * 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)   * 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!\\ +  * 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\\
-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 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!)   * 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)   * preupgrade-Script: Upgrade-Verzeichnisse werden nun auch ohne Elternverzeichnis angelegt (mkdir -p)
Zeile 262: Zeile 257:
 ===== Download ===== ===== Download =====
  
-https://foshkplugin.phantasoft.de/files/loxberry-FOSHKplugin.zip (aktuelle stable-Version)+https://foshkplugin.phantasoft.de/files/loxberry-FOSHKplugin.zip (aktuelle stable-Version)\\ 
 +https://foshkplugin.phantasoft.de/files/loxberry-FOSHKplugin-0.0.10Beta.zip (aktuelle öffentliche Beta)
  
 ===== Funktion des Plugins ===== ===== Funktion des Plugins =====
Zeile 579: Zeile 575:
  
 **** ****
 +{{anchor:wproglvl}}
 **Level Wetterprognose und entsprechende Strings:** **Level Wetterprognose und entsprechende Strings:**
  
Zeile 595: Zeile 591:
  
 **** ****
 +{{anchor:wnowlvl}}
 **Level Wetter aktuell und entsprechende Strings:** **Level Wetter aktuell und entsprechende Strings:**
  
Zeile 826: Zeile 822:
 pluginuebersicht.version : 0.09 pluginuebersicht.version : 0.09
 pluginuebersicht.min_lb_version : 1.0 pluginuebersicht.min_lb_version : 1.0
-pluginuebersicht.url_release : http://foshkplugin.phantasoft.de/files/loxberry-FOSHKplugin.zip +pluginuebersicht.url_release : https://foshkplugin.phantasoft.de/files/loxberry-FOSHKplugin.zip 
-pluginuebersicht.url_prerelease : +pluginuebersicht.url_prerelease : https://foshkplugin.phantasoft.de/files/loxberry-FOSHKplugin-0.0.10Beta.zip
 pluginuebersicht.description : Dieses Plugin bindet verschiedene Wetterstationen des Hersteller Fine Offset Electronics (FOSHK) an einen Loxone-Miniserver (oder beliebige andere Zielsysteme) über UDP an. pluginuebersicht.description : Dieses Plugin bindet verschiedene Wetterstationen des Hersteller Fine Offset Electronics (FOSHK) an einen Loxone-Miniserver (oder beliebige andere Zielsysteme) über UDP an.
 Entwickelt wurde das Plugin für und mit einem Froggit DP1500 das baugleich auch unter dem Namen Ecowitt GW1000 verkauft wird. Entwickelt wurde das Plugin für und mit einem Froggit DP1500 das baugleich auch unter dem Namen Ecowitt GW1000 verkauft wird.