NetAtmo Wetterdaten HOWTO

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

Fonzo
Beiträge: 5322
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 22 Mal
Danksagung erhalten: 358 Mal

Re: NetAtmo Wetterdaten HOWTO

Beitrag von Fonzo » 28.08.2022, 20:09

MichaelN hat geschrieben:
28.08.2022, 18:02
Es muss doch irgendwie möglich sein oauth kostenfrei zu implementieren?
Ja wenn Du das willst, dann miete einen Server und eine Domain. Setzte die Callback URL fest auf die Domain und baue etwas für die CCU, dass als Endpoint dient, um den Access- und den Refresh Token Austausch per OAuth2 zu gewährleisten. Eine CCU selber hat keinen Cloudanschluss durch eQ-3 und ist ein lokales Funkgateway, also wirst Du selber etwas bauen müssen um eine CCU über einen Dienst aus dem Internet per fester Redirect URL sicher erreichbar zu machen und dies dann anderen kostenfrei zur Verfügung stellen, wenn Du nicht einen der kostenpflichtigen Dienste nutzten willst, die es bereits gibt. Wenn Du dann diesen Dienst dann noch kostenfrei allen anderen zur Verfügung stellst und auch kostenfrei Support leistest, wird sich sicher der ein oder andere freuen.

Für Dich selber wird das aber abgesehen vom Aufwand nicht kostendeckend sein, da sowohl der Server Geld kostet, die Domain auch und Dein Aufwand das als Dienst zu programmieren mal ganz zu schweigen. Es hält Dich oder jeden anderen aber niemand auf so was kostenfrei anzubieten. Als Nutzer käme ich persönlich zumindest nie auf die Idee so einen Aufwand zu betreiben, wenn es fertige existierende funktionierende Lösungen gibt.

Ist ungefähr genauso realistisch wie keinen Alexa Skill von einem Drittanbieter nutzten zu wollen, sondern statt dessen den Aufwand selber zu betreiben und das dann kostenfrei allen zur Verfügung zu stellen.

Der einfachere Weg ist einfach eine Homematic IP Wetterstation anzuschaffen und kein Hersteller zu nutzten, der nicht direkt mit einer CCU3 kompatibel ist, da kommt zumindest von den Kosten und dem Aufwand am einfachsten, wenn man nicht so oder so schon einen Dienst nutzt, der das unterstützt.

Oder eben ein Homematic IP Access Point zu nutzten, da stellt der Hersteller eQ-3 selber die Cloudanbindung kostenfrei zur Verfügung.

Benutzeravatar
blackhole
Beiträge: 3315
Registriert: 21.07.2015, 14:03
System: CCU
Hat sich bedankt: 137 Mal
Danksagung erhalten: 455 Mal
Kontaktdaten:

Re: NetAtmo Wetterdaten HOWTO

Beitrag von blackhole » 28.08.2022, 20:27

Also hier sind jetzt immer noch 21.8°C.

Hervorragendes Wetter und das örtliche Fest unter freiem Himmer war ein voller Erfolg. 8)

MichaelN
Beiträge: 6235
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 471 Mal
Danksagung erhalten: 946 Mal

Re: NetAtmo Wetterdaten HOWTO

Beitrag von MichaelN » 28.08.2022, 21:20

Eigenen Server und Domain ist kein Problem.
Danach wird es etwas nebulös.
LG, Michael.

Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.

Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++

Benutzeravatar
Black
Beiträge: 4692
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 240 Mal
Danksagung erhalten: 719 Mal
Kontaktdaten:

Re: NetAtmo Wetterdaten HOWTO

Beitrag von Black » 28.08.2022, 21:21

MichaelN hat geschrieben:
28.08.2022, 18:02
Es muss doch irgendwie möglich sein oauth kostenfrei zu implementieren?
für nodejs gibts eine library:
https://github.com/lelylan/simple-oauth2

nodejs nutzt ja iobroker und damit brauchst das ganze kostenpflichtige wolken-werbegedönse natürlich nicht.

oauth2 ist jetzt nun mal keine rocket-sience, es gibt da in einigen sprachen implementierungen
u.a. in Pascal: https://forum.lazarus.freepascal.org/in ... ic=45096.0

black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 4.09.04F Das umfassende Entwicklungs und Diagnosetool für Homematik

technical contribution against annoying advertising

Fonzo
Beiträge: 5322
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 22 Mal
Danksagung erhalten: 358 Mal

Re: NetAtmo Wetterdaten HOWTO

Beitrag von Fonzo » 28.08.2022, 22:09

MichaelN hat geschrieben:
28.08.2022, 21:20
Eigenen Server und Domain ist kein Problem.
Dann hast Du zumindest den einen Teil, wenn Du Dich als Anbieter für andere Nutzer kostenfrei zu Verfügung stellen willst. Du setzt die Callback URL dann auf Deinen Server.
MichaelN hat geschrieben:
28.08.2022, 21:20
Danach wird es etwas nebulös.
Der eigentliche Nutzer der CCU muss dann von Dir eine Subdomain zugewiesen bekommen, über den die CCU des Nutzers erreichbar gemacht wird. Auf der CCU muss dann ein Service laufen, der die Daten unter der Subdomain entgegen nimmt. Du als Anbieter bist der einzige, der die vergebende Subdomain für den Nutzer kennt, Du musst also den Traffic von der CCU des Nutzers über Deinen Server zur API leiten bzw. den Response von der API dann an die jeweilige Subdomain weiterleiten. Der Traffic sämtlicher Nutzer läuft dann also über Deinen Serverund wird per Forward an die Subdomain weitergeleitet, das solltest Du beachten, wenn Du das kostenfrei anderen zur Verfügung stellen willst. Ansonsten ist das Handling wie gesagt ausführlich z.B. unter So funktioniert OAuth2 beschrieben. Ansonsten musst Du dann auf Deinem Server eben noch die Authentifizierungsseite einrichten, die der Nutzer nach erfolgreicher Authentifizierung angezeigt bekommt. Dann kann sich der eigentliche Endnutzer dann über Deinen Server und dessen Benutzernamen und Passwort anmelden.

Fonzo
Beiträge: 5322
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 22 Mal
Danksagung erhalten: 358 Mal

Re: NetAtmo Wetterdaten HOWTO

Beitrag von Fonzo » 29.08.2022, 07:43

Black hat geschrieben:
28.08.2022, 21:21
oauth2 ist jetzt nun mal keine rocket-sience
OAuth2 ist auch nicht so kompliziert, es unterscheidet nur strikt zwischen dem Hersteller der API, dem Dienstleister / Anbieter, der die Authentifizierung über OAuth2 vornimmt und dem Benutzer, der die persönlichen Zugangsdaten für den Hersteller besitzt.

Das Grundprinzip der Sicherheit bei OAuth2 ist das der Anbieter sich per Secret, eindeutiger Client ID und fester URL beim Hersteller authentifiziert, der Anbieter ist aber nicht im Besitzt der Benutzerdaten und des Passwort des eigentlichen Nutzers.

Der Nutzer hat wiederum hat keine Kenntnis des Secret und Client ID des Anbieters, sondern ist nur im Besitzt seiner persönlichen Zugangsdaten für den Hersteller, die Authentifizierung erfolgt dann über den Token, den er vom Anbieter weitergeleitet bekommt.

Das Grundprinzip der Trennung zwischen Anbieter und Nutzer wird hier in dem benutzten Ansatz eben gebrochen, indem eine Authentifizierung über die eigentlichen Benutzerdaten erfolgt. Dies ist teilweise zu Testzwecken üblich, entspricht aber nicht der Sicherheit und der Intention von OAuth2.
Daher schafft der Hersteller diese Methode der Authentifizierung direkt über die Benutzerdaten, die Testzwecken dient, aufgrund der Sicherheit eben komplett ab. Ab demnächst ist nur noch dem richtigen OAuth2 Flow zu folgen.

Dazu muss der Anbieter, der die Authentifizierung durchführt, aber eben die Daten zum Endgerät, in dem Fall der CCU schicken können. Genau hier ist eben das Problem bzw. die Herausforderung. Eine CCU ist ein lokales Funkgateway und hat vom Hersteller selber keine Möglichkeit bekommen per definierter sicherer URL aus dem Internet erreicht zu werden um Daten an die CCU zu übergeben. Die eigentliche Herausforderung liegt also nicht in der OAuth2 Authentifizierung für den Anbieter, sondern wie es der Anbieter schafft dann Kontakt zur CCU aufzunehmen, als ein Gateway, das primär nur im lokalen Netzwerk, aber nicht von außerhalb des eigenen Netzwerks sicher erreichbar ist.

Das was also für den Anbieter der Authentifizierung zu lösen ist, ist der Weg wie man die CCU sicher vom Authentifizierungsserver des Anbieters erreichen kann.
Das ist die Herausforderung bzw. das wofür Drittanbieter Geld verlangen. Entweder erfolgt dies eben durch einen Service direkt auf der CCU, der die CCU von außerhalb sicher erreichbar macht oder aber indem ein externes System das beim Hersteller der API registriert ist, die Daten verwaltet und dann bei Bedarf die CCU3 lokal im eigenen Netzwerk schaltet. Wenn jemand das als Anbieter löst und das dann kostenfrei zur Verfügung stellt, werden sich sicher viele Nutzer freuen und so einen Dienst / Anbieter nutzten. Der Hersteller eQ-3 hat zumindest bei einer CCU selber nicht dafür gesorgt, dass diese sicher auch vom außerhalb des eigenen lokalen Netzwerks erreichbar ist, das überlässt der Hersteller eQ-3 gezielt Drittanbietern bzw. Kooperationspartnern von eQ-3.

Semmy
Beiträge: 165
Registriert: 05.02.2017, 14:12
Danksagung erhalten: 1 Mal

Re: NetAtmo Wetterdaten HOWTO

Beitrag von Semmy » 15.09.2022, 12:38

Hallo

Wie müsste das Script denn aussehen, wenn ich für den Regensensor die Daten 1h, 6h und 1d anstatt 30min, 1h und 1d abfragen wollte?

Mit freundlichen Grüßen
Semmy
Raspberrymatic 3+
Raspberrymatic LAN-Gateway

ibot
Beiträge: 42
Registriert: 17.01.2020, 09:04
System: CCU
Hat sich bedankt: 13 Mal
Danksagung erhalten: 2 Mal

Re: NetAtmo Wetterdaten HOWTO

Beitrag von ibot » 22.09.2022, 13:22

Hallo,

das API Update von Netatmo hat mich auch ziemlich überrascht. Da ich aber ohnehin den ioBroker nutze, lass ich nun die Daten von Netatmo darüber in die CCU schreiben.

Hab das ganze mal dokumentiert, falls jemand Interesse hat:
https://smarterpapa.de/netatmo-mit-home ... -iobroker/

Grüße,
Tobi
HEINEN_Eric hat geschrieben:
07.08.2022, 09:05
1) diese Woche kam eine Email reingeflattert von NetAtmo
Netatmo API Security Update
Dear Netatmo developer,
To improve the security of our products, we inform you that the Client Credentials grant type method will be completely removed. It will no longer be possible to authenticate with the username and password of the user.

The effective date of this update is October 2022.

How can you authenticate with Netatmo API ?
From this date, the OAuth2 authorization code flow must be followed for authentication.

Ist dieses Script davon betroffen?

Fonzo
Beiträge: 5322
Registriert: 22.05.2012, 08:40
System: CCU
Hat sich bedankt: 22 Mal
Danksagung erhalten: 358 Mal

Re: NetAtmo Wetterdaten HOWTO

Beitrag von Fonzo » 22.09.2022, 22:05

ibot hat geschrieben:
22.09.2022, 13:22
Da ich aber ohnehin den ioBroker nutze, lass ich nun die Daten von Netatmo darüber in die CCU schreiben.

Hab das ganze mal dokumentiert, falls jemand Interesse hat:
https://smarterpapa.de/netatmo-mit-home ... -iobroker/
Nur als Hinweis, Du solltest vielleicht in Deiner Anleitung auch darauf hinweisen die Lizenzbedingungen von Legrand zur API aufmerksam zu lesen und dann auch zu folgen, wenn man die API nutzen will.

Insbesondere sind bei Deiner Anleitung bzw. Lösung folgende Bedingungen von Legrand nicht erfüllt und damit die Lizenzbestimmungen nicht akzeptiert:
Legrand hat geschrieben: All calls to the Netatmo APIs must reference the Netatmo APIs Key issued to you as an approved licensee. You must keep this APIs Key confidential and may not share it with any third party.
Dies ist bei Deiner Lösung nicht gegeben, sowohl Client ID als auch Client Secret werden öffentlich geteilt und sind einsehbar.
Legrand hat geschrieben: You may not sell, lease, share, transfer, or sublicense your Netatmo APIs key or Netatmo APIs accesses thereto without Netatmo's prior, express, written permission.
Siehe oben, Client ID als auch Client Secret werden öffentlich geteilt und sind einsehbar.

Germa
Beiträge: 127
Registriert: 15.12.2019, 12:26
System: CCU
Hat sich bedankt: 19 Mal
Danksagung erhalten: 11 Mal

Re: NetAtmo Wetterdaten HOWTO

Beitrag von Germa » 25.09.2022, 20:15

Fonzo hat geschrieben:
28.08.2022, 12:42
HEINEN_Eric hat geschrieben:
28.08.2022, 12:19
Ich bin doch nur ein doofer Anwender, und will lediglich, dass die Dinge funzen, und dann fass ich es nicht mehr an :wink:
Dann solltest Du wohl als normaler Anwender Dienste bzw. einen Drittanbieter nutzten, der die Authentifizierung über OAuth2 übernimmt. Dafür installiert der Hersteller eQ-3 schon den NEO Server auf der CCU3 vor, der über einen Clouddienst genau so eine Authentifizierung beim Anbieter Legrand übernimmt und der Endpunkt der CCU3 darstellt. Ansonsten kannst Du auch einen anderen Drittanbieter nutzten, der den OAuth2 Endpunkt stellt und bei Legrand registriert ist und der als Drittanbieter dann die CCU3 im lokalen Netzwerk schaltet. Anmelden tust Du Dich normal mit Nutzernamen und Passwort die Datenübermittlung übernimmt dann der Drittanbieter über den die Authentifizierung erfolgt.

.......
solche Beiträge machen mich echt schwindelig, weil ich kaum Ahnung von diesen komplexen Themen habe, aber in diesem Fall ist doch in dem tcl Script bereits oauth2 angewandt worden, oder irre ich mich:
viewtopic.php?f=31&t=28188
oauth2.JPG
Müsste doch dann also auch nach dem 22.Oktober weiterhin so funktionieren oder nicht?
wenn wir uns alle gegenseitig helfen, ist allen geholfen :wink:
_______________________________________________
CCU3 seit 2018, 96 Geräte, 162 Programme, 130 sysvar
Projekte: Wettersensor viewtopic.php?t=65631

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“