Skip to content

Download Netatmo-Weather, save in IPS and optional transfer to Wunderground

License

Notifications You must be signed in to change notification settings

demel42/IPSymconNetatmoWeather

Repository files navigation

IPSymconNetatmoWeather

IPS-Version Code License

Dokumentation

Inhaltsverzeichnis

  1. Funktionsumfang
  2. Voraussetzungen
  3. Installation
  4. Funktionsreferenz
  5. Konfiguration
  6. Anhang
  7. Versions-Historie

1. Funktionsumfang

Es werden die Wetter-Daten von einer Netatmo-Wetterstation ausgelesen und gespeichert. Es werden alle Module unterstützt in der maximalen Ausbaustufe: Basis-, Außen- und 3 Innenmodule sowie Wind- und Regenmesser.

Jedes Netatmo-Modul ist eine eigene Instanz, zusätzlich gibt es eine Instanz, die die Station an sich repräsentiert.

Zusätzlich

  • werden einige Status-Information ermittelt, unter anderen Status der Kommunikation mit Netatmo und Wunderground, Batterie- und Modul-Alarme
  • weitere (im wesentlichen modulbezogene) Daten werden sowohl in einer HTML-Box aufbereitet als auch als JSON-Struktur in einer Variable zur Verfügung gestellt
  • optional einige modulbezogene Daten in Variablen zur Verfügung gestellt
  • es können zusätzliche Wetter-Kenndaten berechnet werden: absoluter Luftdruck, Taupunkt, absolute Feuchte, Windchill, Heatindex, Windstärke ...
  • werden die geographіsche Position sowie die Höhe der Wetterstation von Netatmo übernommen und in die Instanz-Konfiguration als Property eingetragen
  • steht ein WebHook zur Verfügung, bei dem mit /hook/NetatmoWeather/status die Status-Information (analog zur HTML-Box) als Webseite abgerufen werden können.

Die Angabe der Netatmo-Zugangsdaten ist obligatorisch damit die Instanz aktiviert werden kann.

Weiterhin können die relevanten Wetterdaten in eine persönliche Wetterstation von Wunderground übertragen werden. Übertragen wird:

  • Innenmodul: Luftdruck
  • Aussenmodut: Temperatur, Luftfeuchtigkeit und der daraus berechnete Taupunkt
  • Regenmodul: 1h-Wert und Gesamtmenge von heute (ab Mitternacht)
  • Windmesser: Windgeschwindigkeit und -richtung sowie Geschwindigkeit und Richtung von Böen

Hinweis: Wunderground gibt an, das Daten von Netatmo automatisch übernommen werden, meine Erfahrung ist aber, das das sehr unzuverlässig funktioniert (immer wieder lange Phasen ohne übertragung oder die Station taucht plötzlich unter anderem Namen auf) und zudem erfolgt meiner Beobachtung nach die Übertragung nur einmal am Tag.

2. Voraussetzungen

  • IP-Symcon ab Version 5.3
    Version 4.4 mit Branch ips_4.4 (nur noch Fehlerkorrekturen)

  • eine Netatmo Wetterstation

  • den "normalen" Benutzer-Account, der bei der Anmeldung der Geräte bei Netatmo erzeugt wird (https://my.netatmo.com)

  • IP-Symcon Connect
    oder

  • einen Account sowie eine "App" bei Netatmo Connect, um die Werte abrufen zu können (https://dev.netatmo.com)
    Achtung: diese App ist nur für den Zugriff auf Netatmo-Weather-Produkte gedacht; das Modul benutzt den Scope read_station. Eine gleichzeitige Benutzung der gleichen Netatmo-App für andere Bereiche (z.B. Security) stört sich gegenseitig.

  • optional ein Account bei Wunderground für eine "Personal-Weather-Station" hierzu muss man bei Wunderground ein Konto anlegen und eine eine Wettersttaion einrichten.

    Die von Wunderground angegebene Verknüpfung mit Netatmo über den Wunderground-Support ist nicht erforderlich.

3. Installation

a. Laden des Moduls

Installieren über den Module-Store

Die Webconsole von IP-Symcon mit http://:3777/console/ öffnen.

Anschließend oben rechts auf das Symbol für den Modulstore (IP-Symcon > 5.1) klicken

Im Suchfeld nun NetatmoWeather eingeben, das Modul auswählen und auf Installieren drücken.

Installieren über die Modules-Instanz

Die Konsole von IP-Symcon öffnen. Im Objektbaum unter Kerninstanzen die Instanz Modules durch einen doppelten Mausklick öffnen.

In der Modules Instanz rechts oben auf den Button Hinzufügen drücken.

In dem sich öffnenden Fenster folgende URL hinzufügen:

https://github.com/demel42/IPSymconNetatmoWeather.git

und mit OK bestätigen. Ggfs. auf anderen Branch wechseln (Modul-Eintrag editieren, Zweig auswählen).

Anschließend erscheint ein Eintrag für das Modul in der Liste der Instanz Modules

b. Einrichtung in IPS

NetatmoWeatherIO

In IP-Symcon nun unterhalb von I/O Instanzen die Funktion Instanz hinzufügen (CTRL+1) auswählen, als Hersteller Netatmo und als Gerät NetatmoWeather I/O auswählen.

In dem Konfigurationsformular nun den gewünschten Zugang wählen, entweder als Nutzer über IP-Symcon Connect oder als Entwickler mit eigenem Entwicklerschlüssel.

Zugriff mit Netatmo-Benutzerdaten über IP-Symcon Connect

Hierzu bei Netatmo anmelden auswählen. Es öffnet sich ein Browserfenster mit der Anmeldeseite von Netatmo; hier bitte anmelden. Dann erscheint ein weiteres Fenster

OAUTH1

Hier bitte den Zugriff des IP-Symcon Netatmo Connector akzeptieren; es erscheint

OAUTH1

Das Browserfenster schliessen.

Anmerkung: auch wenn hier alle möglichen Netamo-Produkte aufgelistet sind, bezieht sich das Login nur auf die Produkte dieses Moduls.

Zugriff als Entwickler mit eigenem Entwicklerschlüssel

In dem Konfigurationsdialog die Netatmo-Zugangsdaten eintragen.

NetatmoWeatherConfig

Dann unter Konfigurator Instanzen analog den Konfigurator NetatmoWeather Konfigurator hinzufügen.

Hier werden alle Stationen, die mit dem, in der I/O-Instanz angegebenen, Netatmo-Konto verknüpft sind, angeboten. Durch Erstellen wird die Wetterstation-Basis in der angegebenen Kategorie angelegt.

Die Module werden aufgrund der internen ID der Module identifiziert, d.h. eine Änderung des Modulnamens muss in IPS nachgeführt werden. Ein Ersatz eines Moduls wird beim Aufruf des Konfigurators dazuführen, das eine weitere Instanz angelegt wird.

Die im Netatmo eingetragenen Höhe der Station sowie die geographische Position wird als Property zu dem virtuellen Modul Station eingetragen.

NetatmoWeatherDevice

Dieses Modul gibt es in verschiedenen Ausprägungen: Netatmo Wetterstation: repräsentiert die Wetterstation als übergeordnete Instanz, sowie Basismodul, Außenmodul:, Innenmodul:, Windmesser:, Regenmesser;

In der übergeordneten Wetterstation-Instanz werden alle Module zu dieser Wettersttaion unter dem Panel Module angeboten und können hier erzeugt werden.

Je nach Modultyp stehen bestimmte weitere Einstellungen zur Verfügung.

Zu den Geräte-Instanzen werden im Rahmen der Konfiguration Modultyp-abhängig Variablen angelegt. Zusätzlich kann man in den Modultyp-spezifischen Konfigurationsdialog weitere Variablen aktivieren.

Die Instanzen können dann in gewohnter Weise im Objektbaum frei positioniert werden.

4. Funktionsreferenz

zentrale Funktion

NetatmoWeather_UpdateData(int $InstanzID)

ruft die Daten der Netatmo-Wetterstation ab und aktualisiert optional die Wundergrund-PWS. Wird automatisch zyklisch durch die Instanz durchgeführt im Abstand wie in der Konfiguration angegeben.

Hilfsfunktionen

float NetatmoWeather_CalcAbsoluteHumidity(int $InstanzID, float $Temperatur, float $Humidity)

berechnet aus der Temperatur (in °C) und der relativen Luftfeuchtigkeit (in %) die absulte Feuchte (in g/m³)

float NetatmoWeather_CalcAbsolutePressure(int $InstanzID, float $Pressure, $Temperatur, int $Altitude)

berechnet aus dem relativen Luftdruck (in mbar) und der Temperatur (in °C) und Höhe (in m) der absoluten Luftdruck (in mbar) ist die Höhe nicht angegeben, wird die Höhe der Netatmo-Wettersttaion verwendet

float NetatmoWeather_CalcDewpoint(int $InstanzID, float $Temperatur, float $Humidity)

berechnet aus der Temperatur (in °C) und der relativen Luftfeuchtigkeit (in %) den Taupunkt (in °C)

float NetatmoWeather_CalcHeatindex(int $InstanzID, float $Temperatur, float $Humidity)

berechnet aus der Temperatur (in °C) und der relativen Luftfeuchtigkeit (in %) den Hitzeindex (in °C)

float NetatmoWeather_CalcWindchill(int $InstanzID, float $Temperatur, float $WindSpeed)

berechnet aus der Temperatur (in °C) und der Windgeschwindigkeit (in km/h) den Windchill (Windkühle) (in °C)

string NetatmoWeather_ConvertWindDirection2Text(int $InstanzID, int $WindDirection)

ermittelt aus der Windrichtung (in °) die korespondierende Bezeichnung auf der Windrose

int NetatmoWeather_ConvertWindSpeed2Strength(int $InstanzID, float $WindSpeed)

berechnet aus der Windgeschwindigkeit (in km/h) die Windstärke (in bft)

string NetatmoWeather_ConvertWindStrength2Text(int $InstanzID, int $WindStrength)

ermittelt aus der Windstärke (in bft) die korespondierende Bezeichnung gemäß Beaufortskala

string NetatmoWeather_GetRawData(int $InstanzID)

liefert die Zusatzdaten, die nicht in den Variablen gespeichert sind und zu Darstellung der HTML-Box bzw WebHook verwendet werden

Datenstruktur (muss mit json_decode() aufbereitet werden):

  • station: Informationen zu einer Wetterstation
Attribut Datentyp Bedeutung
last_query UNIX-Timestamp Zeitpunkt der Abfrage
status string Status (ok oder ein Fehler)
last_contact UNIX-Timestamp Zeitpunkt der letzten Datenübertragung
station_name string Benutzerbezeichnung der Station
modules array von module die Module der Station
  • module: Informationen zu einem Modul
Attribut Datentyp Bedeutung
module_type string Typ des Modules (NAMain, NAModule1, NAModule2, NAModule3, NAModule4)
module_type_txt string ... als Text
module_type_img string ... als Pfad zum Icon
module_name string Bezeichnung des Moduls
last_measure UNIX-Timestamp Zeitpunkt der letzten Messung
last_message UNIX-Timestamp Zeitpunkt der letzten Meldung des Moduls bei der Basis
wifi_status integer Wifi (nur NAMain)
wifi_status_txt string ... als Text
wifi_status_img string ... als Pfad zum Icon
rf_status integer Funk (nicht NAMain)
rf_status_txt string ... als Text
rf_status_img string ... als Pfad zum Icon
battery_status integer Status der Batterie (nicht NAMain)
battery_status_txt string ... als Text
battery_status_img string ... als Pfad zum Icon

Die gelieferte Struktur ist station; kein Array, weil es immer nur um eine bestimmte Station geht.

5. Konfiguration

NetatmoWeatherIO

Variablen

Eigenschaft Typ Standardwert Beschreibung
Verbindungstyp integer 0 Netatmo über IP-Symcon Connect oder Netatmo Entwickler-Schlüssel
Netatmo-Zugangsdaten string Benutzername und Passwort von https://my.netatmo.com sowie Client-ID und -Secret von https://dev.netatmo.com
Ignoriere HTTP-Fehler integer 0 Da Netatmo häufiger HTTP-Fehler meldet, wird erst ab dem X. Fehler in Folge reagiert
Aktualisiere Daten ... integer 5 Aktualisierungsintervall, Angabe in Minuten

Hinweis zum Intervall: die Daten werden nur ca. alle 10m von der Wetterstation an Netatmo übertragen, ein minütliches Intervall ist zulässig, macht aber nur begrenzt Sinn. Bei einer Angabe von 5m sind die Werte nicht älter als 15m.

Schaltflächen

Bezeichnung Beschreibung
bei Netatmo anmelden durch Anmeldung bei Netatmo via IP-Symcon Connect
Aktualisiere Wetterdaten führt eine sofortige Aktualisierung durch

NetatmoWeatherConfig

Properties

Eigenschaft Typ Standardwert Beschreibung
Kategorie integer 0 Kategorie im Objektbaum, unter dem die Instanzen angelegt werden [1]
Stationen list Liste der verfügbaren Stationen

[1]: nur bis IPS-Version 7 vorhanden, danach ist eine Einstellmöglichkeit Bestandteil des Standard-Konfigurators

NetatmoWeatherDevice

Properties

werden vom Konfigurator beim Anlegen der Instanz gesetzt.

Eigenschaft Typ Standardwert Beschreibung
station_id string ID der Station
module_id string ID des Moduls
module_type string Typ des Moduls

module_type: NAMain=Basis, NAModule1=Außen, NAModule2=Wind, NAModule3=Regen, NAModule4=Innen sowie Station, die für die Netatmo-Station als Ganzes steht.

Weiterhin stehen je nach Typ des Moduls zur Verfügung

Eigenschaft Typ Standardwert Beschreibung
altitude float Höhe der Station
longitude float Längengrad der Station
latitude float Breitengrad der Station
with_absolute_humidity boolean false absolute Luftfeuchtigkeit
with_absolute_pressure boolean false absoluter Luftdruck
with_battery boolean false Batterie-Status
with_dewpoint boolean false Taupunkt
with_heatindex boolean false Hitzeindex
with_last_contact boolean false letzte Übertragung an Netatmo
with_minmax boolean false Ausgabe von Min/Max-Wert (Temperatur, Wind)
with_last_measure boolean false Messzeitpunkt
with_signal boolean false Wifi-/RF-Signalstärke
with_status_box boolean false HTML-Box mit Status der Station und Module
with_trend boolean false Ausgabe des Trend (Temperatur, Luftdruck)
with_windangle boolean true Windrichtung in Grad
with_windchill boolean false Windchill (Windkühle)
with_winddirection boolean false Windrichtung mit Text
with_windstrength boolean false Windstärke
statusbox_script integer 0 Script zum Füllen der Variable StatusBox [1]
webhook_script integer 0 Script zur Verwendung im WebHook [1]
minutes2fail integer 30 Dauer, bis die Kommunikation als gestört gilt [2]
Wunderground-Zugangsdaten string Station-ID und -Key von https://www.wunderground.com/personal-weather-station/mypws
Module nur im übergeordneten Modul
Kategorie integer 0 Kategorie im Objektbaum, unter dem die Instanzen angelegt werden [2]
Module list Liste der verfügbaren Module zu dieser Station

[1]: Erläuterung zu statusbox_script, webhook_script: mit diesen Scripten kann man eine alternative Darstellung realisieren.

Ein passendes Code-Fragment für ein Script:

$data = NetatmoWeather_GetRawData($_IPS['InstanceID']);
if ($data) {
	$station = json_decode($r,true);
	...
	echo $result;
}

Die Beschreibung der Struktur siehe NetatmoWeather_GetRawData().

Beispiel in module.php sind Build_StatusBox() und ProcessHook_Status().

[2]: das hier angebbare Minuten-Intervall dient zu Überprüfung der Kommunikation zwischen

  • den Modulen und dem Basismodul
  • dem Basismodul und dem Netatmo-Server ist die Zeit überschritten, wird die Variable Status des Basismoduls auf Fehler gesetzt. Anmerkung: die Variable Status wird auch auf Fehler gesetzt wenn das IO-Modul einen Fehler feststellt.

[3]: nur bis IPS-Version 7 vorhanden, danach ist eine Einstellmöglichkeit Bestandteil des Standard-Konfigurators

Statusvariablen

folgende Variable werden angelegt, zum Teil optional

Name Typ Beschreibung Option Module
AbsoluteHumidity float absolute Luftfeuchtigkeit with_absolute_humidity B,A,I
AbsolutePressure float absoluter Luftdruck with_absolute_pressure B
BatteryAlarm boolean Batterie-Zustand eines oder mehrere Module B
Battery integer Batterie-Status with_battery A,W,R,I
CO2 integer CO2 B,I
Dewpoint float Taupunkt with_dewpoint B,A,I
GustAngle integer Richtung der Böen der letzten 5m with_windangle W
GustDirection string Richtung der Böen der letzten 5m with_winddirection W
GustMaxAngle integer Richtung der stärksten heutigen Böe with_minmax + with_windangle W
GustMaxDirection string Richtung der stärksten heutigen Böe with_minmax + with_winddirection W
GustMaxSpeed float Geschwindigkeit der stärksten heutigen Böe W
GustMaxStrength integer Stärke der stärksten heutigen Böe with_minmax + with_windstrength W
GustMaxTimestamp UNIX-Timestamp Zeitpunkt der stärksten heutigen Böe with_minmax W
GustSpeed float Geschwindigkeit der Böen der letzten 5m W
GustStrength integer Stärke der Böen der letzten 5m with_windstrength W
Heatindex float Hitzeindex with_heatindex B,A,I
Humidity float Luftfeuchtigkeit B,A,I
LastContact UNIX-Timestamp letzte Übertragung with_last_contact B
LastMeasure UNIX-Timestamp letzte Messung with_last_measure B,A,W,R,I
ModuleAlarm boolean Station oder Module kommunizieren nicht B
Noise integer Lärm B
Pressure float Luftdruck B
PressureTrend integer Trend des Luftdrucks with_trend B
Rain_1h float Regenmenge der letzten Stunde R
Rain_24h float Regenmenge von heute R
Rain float Regenmenge R
RfSignal integer Signal-Stärke with_signal A,W,R,I
Status boolean Status B
StatusBox string Status der Station und der Module with_status_box B
Temperature float Temperatur B,A,I
TemperatureMax float heutiges Temperatur-Maximum with_minmax B,A,I
TemperatureMaxTimestamp UNIX-Timestamp Zeitpunkt des heutigen Temperatur-Maximums with_minmax B,A,I
TemperatureMin float heutiges Temperatur-Minimum with_minmax B,A,I
TemperatureMinTimestamp UNIX-Timestamp Zeitpunkt des heutigen Temperatur-Minimums with_minmax B,A,I
TemperatureTrend integer Trend der Temperatur with_trend B,A,I
Wifi integer Stärke des Wifi-Signals with_signal B
WindAngle integer Windrichtung with_windangle W
Windchill float Windchill with_windchill A
WindDirection string Windrichtung with_winddirection W
WindSpeed float Windgeschwindigkeit W
WindStrength integer Windstärke with_windstrength W
Wunderground boolean Status der Übertragung an Wunderground wunderground_id B

Module: B=Basis, A=Außen, W=Wind, R=Regen, I=Innen

Variablenprofile

Es werden folgende Variablenprofile angelegt:

  • Boolean
    Netatmo.Alarm

  • Integer
    Netatmo.Battery, Netatmo.CO2, Netatmo.Noise, Netatmo.RfSignal, Netatmo.Trend, Netatmo.Wifi, Netatmo.WindAngle, Netatmo.WindStrength

  • Float
    Netatmo.absHumidity, Netatmo.Dewpoint, Netatmo.Heatindex, Netatmo.Humidity, Netatmo.Pressure, Netatmo.Rainfall, Netatmo.Temperatur, Netatmo.WindSpeed

  • String
    Netatmo.WindDirection

6. Anhang

GUIDs

  • Modul: {0F675628-33AE-88E8-D9C4-9A2D1C7FE394}
  • Instanzen:
    • NetatmoWeatherIO: {26A55798-5CBC-88F6-5C7B-370B043B24F9}
    • NetatmoWeatherConfig: {DCA5D76C-A6F8-4762-A6C3-2FF6601DDEC8}
    • NetatmoWeatherDevice: {1023DB4A-D491-A0D5-17CD-380D3578D0FA}
  • Nachrichten:
    • {DC5A0AD3-88A5-CAED-3CA9-44C20CC20610}: an NetatmoWeatherIO
    • {2D42552F-2545-9145-D3C8-A299E3FDC6EA}: an NetatmoWeatherConfig, NetatmoWeatherDevice

7. Versions-Historie

  • 1.45 @ 23.10.2024 17:06

    • Änderung: nach Wegfall des Passwort-basierten Logins (siehe v1.38) ist nun ein Login per OAuth-Login möglich; die manuelle Eingabe des "RefreshToken" entfällt bei aktiven Symcon-Connect.
    • update submodule CommonStubs
  • 1.44 @ 01.08.2024 14:22

    • Änderung: nach Wegfall des Passwort-basierten Logins (siehe v1.38) nun die Konfiguration von Benutzerkennung und Passwort bereinigt
    • update submodule CommonStubs
  • 1.43 @ 07.02.2024 17:56

    • Fix: Absicherung von Zugriffen auf andere Instanzen in Konfiguratoren
  • 1.42 @ 29.01.2024 11:02

    • Änderung: Medien-Objekte haben zur eindeutigen Identifizierung jetzt ebenfalls ein Ident
    • Neu: Schalter, um Daten zu API-Aufrufen zu sammeln Die API-Aufruf-Daten stehen nun in einem Medienobjekt zur Verfügung
    • update submodule CommonStubs
  • 1.41 @ 10.12.2023 11:01

    • Neu: ab IPS-Version 7 ist im Konfigurator die Angabe einer Import-Kategorie integriert, daher entfällt die bisher vorhandene separate Einstellmöglichkeit
  • 1.40 @ 03.11.2023 18:22

    • Neu: Ermittlung von Speicherbedarf und Laufzeit (aktuell und für 31 Tage) und Anzeige im Panel "Information"
    • Verbesserung: das Panel für die Module der STation ist nun direkt unter der "Basis-Konfiguration"
    • Fix: die Statistik der ApiCalls wird nicht mehr nach uri sondern nur noch host+cmd differenziert
    • Fix: Fehler abgefangen, das unter unklaren Umständen "time_utc" manchmal nicht übermittelt wird
    • update submodule CommonStubs
  • 1.39 @ 15.08.2023 10:03

    • Fix: Wertebereich diverser Variablenprofile angepasst
      • Netatmo.Temperatur: -10..30 -> -25..45 °C
      • Netatmo.Humidity: n/a -> 0..100 %
      • Netatmo.absHumidity: n/a -> 0..80 g/m³
      • Netatmo.Dewpoint: 0..30 -> -10..40 °C
      • Netatmo.Heatindex: 0..100 -> 0..60 °C
      • Netatmo.WindSpeed: 0..100 -> 0..150 km/h
    • update submodule CommonStubs
  • 1.38 @ 15.07.2023 15:49

    • Hotfix: Umgehung des Problems, das ein Login mit Entwicklerschlüssel nicht mehr möglich ist
  • 1.37 @ 04.07.2023 14:44

    • Fix: Schreibfehler korrigiert
    • Vorbereitung auf IPS 7 / PHP 8.2
    • update submodule CommonStubs
      • Absicherung bei Zugriff auf Objekte und Inhalte
  • 1.36.3 @ 12.10.2022 14:44

    • Konfigurator betrachtet nun nur noch Geräte, die entweder noch nicht angelegt wurden oder mit dem gleichen I/O verbunden sind
    • update submodule CommonStubs
  • 1.36.2 @ 11.10.2022 14:05

    • Fix: Login per OAuth funktionierte nicht mehr
  • 1.36.1 @ 07.10.2022 13:59

    • update submodule CommonStubs Fix: Update-Prüfung wieder funktionsfähig
  • 1.36 @ 07.09.2022 15:27

    • Fix: Variablenprofil 'Netatmo.absHumidity'
    • Fix: Statuscodes falsch nummeriert
    • update submodule CommonStubs
  • 1.35.1 @ 16.08.2022 10:10

    • update submodule CommonStubs Fix: in den Konfiguratoren war es nicht möglich, eine Instanz direkt unter dem Wurzelverzeichnis "IP-Symcon" zu erzeugen
  • 1.35 @ 09.07.2022 17:25

    • einige Funktionen (GetFormElements, GetFormActions) waren fehlerhafterweise "protected" und nicht "private"
    • interne Funktionen sind nun private und ggfs nur noch via IPS_RequestAction() erreichbar
    • Fix: Angabe der Kompatibilität auf 6.2 korrigiert
    • Verbesserung: IPS-Status wird nur noch gesetzt, wenn er sich ändert
    • update submodule CommonStubs Fix: Ausgabe des nächsten Timer-Zeitpunkts Fix: keine korrekte Registrierung für OAuth
  • 1.34.3 @ 17.05.2022 15:38

    • update submodule CommonStubs Fix: Absicherung gegen fehlende Objekte
  • 1.34.2 @ 16.05.2022 11:45

    • verbessertes Verhalten bei einem HTTP-Fehler
  • 1.34.1 @ 10.05.2022 15:06

    • update submodule CommonStubs
    • SetLocation() -> GetConfiguratorLocation()
    • weitere Absicherung ungültiger ID's
  • 1.34 @ 03.05.2022 15:27

    • Anpassungen an IPS 6.2 (Prüfung auf ungültige ID's)
    • IPS-Version ist nun minimal 6.0
    • Anzeige der Referenzen der Instanz incl. Statusvariablen und Instanz-Timer
    • Implememtierung einer Update-Logik
    • diverse interne Änderungen
  • 1.33 @ 21.08.2021 15:13

    • bei fehlendem 'module_module' Name der Instanz verwenden
  • 1.32 @ 14.07.2021 18:06

    • Zugriff auf 'module_type' abgesichert
    • Schalter "Instanz ist deaktiviert" umbenannt in "Instanz deaktivieren"
  • 1.31 @ 25.12.2020 14:27

    • PHP_CS_FIXER_IGNORE_ENV=1 in github/workflows/style.yml eingefügt
    • es kann sein, das das Element 'module_name' in den Daten fehlt
  • 1.30 @ 30.10.2020 13:50

    • es kann sein, das das Element 'station_name' in den Daten fehlt
  • 1.29 @ 09.10.2020 10:44

    • kleine redaktionelle Korrektur
    • LICENSE.md hinzugefügt
    • bei HTTP-Error 403 (FORBIDDEN), 15m warten
    • CURL-Handling verbessert
      • bei curl-error bis zu 2x wiederholen
      • bei CURLE_COULDNT_RESOLVE_HOST dns-lookup machen
    • Nutzung von HasActiveParent(): Anzeige im Konfigurationsformular sowie entsprechende Absicherung von SendDataToParent()
    • intere Funktionen sind nun "private"
    • lokale Funktionen aus common.php in locale.php verlagert
    • Traits des Moduls haben nun Postfix "Lib"
    • define's durch statische Klassen-Variablen ersetzt
    • fehlende 'dashboard_data' und 'modules' abgefangen
  • 1.28 @ 08.04.2020 12:18

    • define's durch statische Klassen-Variablen ersetzt
  • 1.27 @ 06.03.2020 20:14

    • Wechsel des Verbindungstyp wird nun automatisch erkannt
    • Verwendung des OAuth-AccessToken korrigiert
  • 1.26 @ 25.02.2020 08:31

    • Bugfix: bei inaktiver Instanz wurde der falsche Timer auf 0 gesetzt
  • 1.25 @ 19.02.2020 21:39

    • Bugfix zu 1.23: Problem beim Ablauf des Access-Tokens
  • 1.24 @ 14.02.2020 11:26

    • Bugfix zu 1.23: Zugriff mit Entwicklerschlüssel funktionierte nicht
    • Funktion in der IO-Konfiguration, um die Token zu löschen
  • 1.23 @ 12.02.2020 16:53

    • Ergänzung um die Möglichkeit per OAuth anzumelden Achtung: in der IO-Instanz den Verbindungstyp nach dem Update auf Developer Key setzen!
    • Prefix NetatmoWeatherIO, NetatmoWeatherConfig und NetatmoWeatherDevice in NetatmoWeather geändert Achtung: wenn man Funktionen von diesem Modul in Scripten benutzt, muss der Prefix angepasst werden!
    • Umbau der Konfiguration auf eine 2-stufige Konfiguration (Konfigurator legt nur die Station an, dort werden dann die zugehörigen Module angeboten)
  • 1.22 @ 06.01.2020 11:17

    • Nutzung von RegisterReference() für im Modul genutze Objekte (Scripte, Kategorien etc)
  • 1.21 @ 30.12.2019 10:56

    • Anpassungen an IPS 5.3
      • Formular-Elemente: 'label' in 'caption' geändert
  • 1.20 @ 10.10.2019 17:27

    • Anpassungen an IPS 5.2
      • IPS_SetVariableProfileValues(), IPS_SetVariableProfileDigits() nur bei INTEGER, FLOAT
      • Dokumentation-URL in module.json
    • Umstellung auf strict_types=1
    • Umstellung von StyleCI auf php-cs-fixer
  • 1.19 @ 09.08.2019 14:32

    • Schreibfehler korrigiert
  • 1.18 @ 12.07.2019 15:29

    • Klarstellung zur Einrichtung/Bedeutung der Netatmo-App
  • 1.17 @ 16.06.2019 17:42

    • HTTP-Error 403 abgefangen (neuen Token erzwingen)
    • Anpassung IPS 5.1: Korrektur der GUID's (parentRequirements in NetatmoWeatherDevice)
  • 1.16 @ 23.04.2019 17:08

    • Konfigurator um Sicherheitsabfrage ergänzt
  • 1.15 @ 31.03.2019 11:20

    • Zugriff auf alle Datenfelder abgesichert
  • 1.14 @ 29.03.2019 16:19

    • SetValue() abgesichert
  • 1.13 @ 22.03.2019 10:27

    • Anpassungen IPS 5
    • Schalter, um ein Modul (temporär) zu deaktivieren
    • form.json in GetConfigurationForm() abgebildet
    • Konfigurations-Element IntervalBox -> NumberSpinner
  • 1.12 @ 10.02.2019 11:16

    • verbesserte Absicherung des Upload zu Wunderground
  • 1.11 @ 23.01.2019 18:18

    • curl_errno() abfragen
  • 1.10 @ 20.01.2019 14:12

    • Abfangen von fehlenden Daten in der Antwort vom Netatmo-Server
      Hintergrund: wenn ein Modul nicht mehr kommuniziert fehlt das Element dashboard_data in den Daten.
  • 1.9 @ 22.12.2018 12:20

    • Fehler in der http-Kommunikation nun nicht mehr mit echo (also als ERROR) sondern mit LogMessage als NOTIFY
  • 1.8 @ 21.12.2018 13:10

    • Standard-Konstanten verwenden
  • 1.7 @ 20.11.2018 17:38

    • das Netatmo-API-Interface hat sich anscheinend geändert, die jetzt als deprecated gekennzeichnete Funktion Devicelist liefert seit heute ein anderes Format.
      Das Modul ist nun auf die Funktion 'Getstationsdata' umgestellt.
  • 1.6 @ 18.11.2018 12:28

    • da Netatmo häufiger ein Server-Error meldet wird optional erst nach dem X. Fehler reagiert
    • I/O-Fehler werden nicht mehr an die Instanzen weitergeleitet
  • 1.5 @ 02.10.2018 18:19

    • Berechnung in ConvertWindSpeed2Strength() war fehlerhaft
    • Text in ConvertWindStrength2Text() wurde nicht übersetzt
  • 1.4 @ 29.09.2018 13:41

    • Ballterie-Alarm erst ab low
    • Schreibfehler in der GUI
  • 1.3 @ 10.09.2018 15:43

    • Schreibfehler in der Dokumentation
  • 1.2 @ 01.09.2018 15:09

    • Fehlermeldung 'unknown trend' erscheint nicht mehr im Log (ist nur ein Hinweis, das von Netatmo kein Trend geliefert wurde)
  • 1.1 @ 22.08.2018 16:59

    • Anpassungen IPS 5, Abspaltung Branch ips_4.4
    • Versionshistorie dazu
    • define's der Variablentypen
    • Schaltfläche mit Link zu README.md in den Konfigurationsdialogen
  • 1.0 @ 03.04.2018 17:59

    • Initiale Version

About

Download Netatmo-Weather, save in IPS and optional transfer to Wunderground

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages