Netatmo Wetterstation (incl. CO2 Messung) einbinden

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

Moderator: Co-Administratoren

nuiler
Beiträge: 207
Registriert: 15.04.2012, 11:07
Wohnort: Ostalbkreis / Deutschland

Re: Netatmo Wetterstation (incl. CO2 Messung) einbinden

Beitrag von nuiler » 18.07.2017, 13:50

netatmo.txt
(11.15 KiB) 140-mal heruntergeladen
Anbei der Script
www.nuiler.de
Raspberrymatic 3.57.4.20210320 rpi3

Indigo
Beiträge: 356
Registriert: 10.02.2015, 20:32
Danksagung erhalten: 1 Mal

Re: Netatmo Wetterstation (incl. CO2 Messung) einbinden

Beitrag von Indigo » 18.07.2017, 16:00

Hi.
Der Fehler lässt erstmal darauf schließen, dass mit deinen MAC Adressen was nicht stimmt.
Zugang bekommst du ja, aber bereits beim ersten abzurufenden Wert kommt ein Fehler. Ggf. Könnte es auch sein, dass deine Netatmo "App" nicht die richtigen Rechte besitzt.

Grüsse.
Wenn du " nur" Haupt- und Aussenmodul hast musst du die Teile die zu Regen- und Windsensor gehören aus dem Script löschen.


Gesendet von iPhone mit Tapatalk

nuiler
Beiträge: 207
Registriert: 15.04.2012, 11:07
Wohnort: Ostalbkreis / Deutschland

Re: Netatmo Wetterstation (incl. CO2 Messung) einbinden

Beitrag von nuiler » 18.07.2017, 18:42

Netatmo-Homematic.JPG
Netatmo-Homematic1.JPG
Ich denke es liegt schon am Zugang. Muss ich dort noch mehr eintragen?
www.nuiler.de
Raspberrymatic 3.57.4.20210320 rpi3

nuiler
Beiträge: 207
Registriert: 15.04.2012, 11:07
Wohnort: Ostalbkreis / Deutschland

Re: Netatmo Wetterstation (incl. CO2 Messung) einbinden

Beitrag von nuiler » 19.07.2017, 16:00

Code: Alles auswählen

/usr/local/addons/netatmo$ tclsh /usr/local/addons/netatmo/test.tcl
debug: script has started
warn: no stored credentials found
debug: requesting new token
debug: response was HTTP/1.1 400 Bad Request
Server: nginx
Date: Wed, 19 Jul 2017 13:58:44 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: no-store
X-XSS-Protection: 1; mode=block
Access-Control-Allow-Origin: *
Strict-Transport-Security: max-age=10886400; includeSubDomains
X-Powered-By: Netatmo

{"error":"invalid_client"}  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   171    0    26  100   145     56    315 --:--:-- --:--:-- --:--:--   359
debug: parsing authentication result
debug: returncode is 400
debug: access token is 
debug: refresh token is 
can't read "expiresin": no such variable
    while executing
"log debug "expires in $expiresin""
    (procedure "parseOAuthResponse" line 14)
    invoked from within
"parseOAuthResponse [requestToken $clientId $clientSecret $username $password"
    invoked from within
"if { [file exists $cfgfile] == 1} {
            log info "found stored credentials"
                loadAccessToken
                set now [clock sec..."
    (file "/usr/local/addons/netatmo/test.tcl" line 144)



Wenn ich mit dem Script die ID´s auslesen will kommen folgende Meldungen
www.nuiler.de
Raspberrymatic 3.57.4.20210320 rpi3

Indigo
Beiträge: 356
Registriert: 10.02.2015, 20:32
Danksagung erhalten: 1 Mal

Re: Netatmo Wetterstation (incl. CO2 Messung) einbinden

Beitrag von Indigo » 19.07.2017, 20:20

Hallo,
ich hab mir deine Sachen nochmal angesehen.
Dass verschiedene Links nicht mehr funktionieren liegt daran, dass NetAtmo da einiges auf ihrer Seite und in der API geändert hat. Das werde ich wenn ich mal mehr Zeit habe (Winter?) überprüfen und updaten.
Das ändert aber nichts daran, dass das Script als solches noch funktioniert.
Ich kann erstmal auch keinen Fehler in deinem Script erkennen.
Folgendes könnte also falsch sein:
- ClientID oder ClientSecret falsch
- User oder Passwort falsch
- Fehler in einer der MAC Adressen oder die beiden sind vertauscht im Script.
- Benutze mal ein anders Programm um die .tcl Datei zu erstellen oftmals sind Formatierungsfehler der Grund. Unter MAC bietet sich Sublime Text 2 an.

Wenn das alles stimmt und nichts hilft mach mal folgendes:
Setze diesen Teil im Script:

Code: Alles auswählen

    log debug "polling outdoor module..."
    set url "https://api.netatmo.net/api/getmeasure?access_token=$accesstoken&device_id=$deviceid&module_id=$moduleid&scale=max&type=Temperature,Humidity&date_end=last"
    log debug "querying $url"
    catch {exec /usr/local/addons/cuxd/curl -k -# $url} response
    log debug "response is: $response"

    regexp {\"value\":\[\[(.*?),(.*?)\]} $response dummy otemp ohum

    log info "Outside temperature is $otemp"
    log info "Outside humidity is $ohum"
hinter diesen:

Code: Alles auswählen

    log debug "polling main module..."
    set url "https://api.netatmo.net/api/getmeasure?access_token=$accesstoken&device_id=$deviceid&scale=max&type=Temperature,Humidity,CO2,Pressure,Noise&date_end=last"
    log debug "querying $url"
    catch {exec /usr/local/addons/cuxd/curl -k -# $url} response
    log debug "response is: $response"

    regexp {\"value\":\[\[(.*?),(.*?),(.*?),(.*?),(.*?)\]} $response dummy itemp ihum ico2 ipressure inoise
    
    log info "LogI is $response"              
    log info "Inside temperature is $itemp"
    log info "Inside humidity is $ihum"
    log info "Inside CO2 level $ico2"
    log info "Inside pressure is $ipressure"
    log info "Inside noise level is $inoise"
oder lösche den ersten einfach erstmal.
Damit können wir testen ob der Abruf des Hauptmoduls funktioniert.

nuiler
Beiträge: 207
Registriert: 15.04.2012, 11:07
Wohnort: Ostalbkreis / Deutschland

Re: Netatmo Wetterstation (incl. CO2 Messung) einbinden

Beitrag von nuiler » 20.07.2017, 13:29

Jetzt funktioniert es. Vielen Dank für die Hilfe.

Was ich jetzt noch suche ist ein Programm oder Script, welches die Werte der Netatmo zyklisch in eine CSV-Datei schreibt.
Diese würde ich dann gerne in die Wetterstationssoftwware www.pc-wetterstation.de einlesen.
www.nuiler.de
Raspberrymatic 3.57.4.20210320 rpi3

Indigo
Beiträge: 356
Registriert: 10.02.2015, 20:32
Danksagung erhalten: 1 Mal

Re: Netatmo Wetterstation (incl. CO2 Messung) einbinden

Beitrag von Indigo » 20.07.2017, 21:19

Gerne.
Wie man es in eine Datei bekommt kann ich dir aber auch nicht sagen.


Gesendet von iPhone mit Tapatalk

Bulli
Beiträge: 494
Registriert: 29.04.2014, 18:38
Hat sich bedankt: 2 Mal
Danksagung erhalten: 9 Mal

Re: Netatmo Wetterstation (incl. CO2 Messung) einbinden

Beitrag von Bulli » 20.07.2017, 22:05

nuiler hat geschrieben:Jetzt funktioniert es. Vielen Dank für die Hilfe.

Was ich jetzt noch suche ist ein Programm oder Script, welches die Werte der Netatmo zyklisch in eine CSV-Datei schreibt.
Diese würde ich dann gerne in die Wetterstationssoftwware http://www.pc-wetterstation.de einlesen.
Hallo
das geht schon ist aber jetzt wahrscheinlich nicht die Antwort wo dir hilft. Wir könnten das ganze ja die nächsten 2-8 Wochen für alle ausarbeiten.
Eine Möglichkeit auf cronjob umstellen.

einen cronjob einstellen
*/5 * * * * /usr/local/addons/netatmo/netatmo.tcl >> /media/sd-mmcblk0/logs/netatmo.log

im script einfach
log info "$otemp;$ohum;$itemp;$ihum;$ico2;$ipressure;$inoise;$i1temp;$i1hum;$i1co2;. .......$i2temp;$i2hum;$i2co2;$i3temp;$i3hum;$i3co2;$rain1d;$rain2;

und schon wird alles in eine Datei geschrieben, schaut dann so aus

Code: Alles auswählen

Thu Jul 20 21:40:01 CEST 2017
info: 24.9;63;26.2;63;586;1015.4;35;26.5;57;476;26.7;55;487;23.1;72;704;3.5;0;0
Thu Jul 20 21:45:01 CEST 2017
info: 24.9;63;26.2;63;583;1015.4;36;26.5;57;485;26.7;55;496;23;72;703;3.5;0;0
Thu Jul 20 21:50:01 CEST 2017
info: 24.9;63;26.2;63;583;1015.4;36;26.5;57;485;26.7;55;496;23;72;703;3.5;0;0
Thu Jul 20 21:55:01 CEST 2017
info: 24.9;64;26.2;63;583;1015.5;35;26.5;57;556;26.8;55;508;23;72;712;3.5;0;0
wie du dann mit dieser Datei weiter machst k. A.

Gruß
Bulli

proph
Beiträge: 60
Registriert: 08.12.2009, 17:25

Re: Netatmo Wetterstation (incl. CO2 Messung) einbinden

Beitrag von proph » 22.08.2017, 12:55

Hallo,

habe mich auch mal an dem Script versucht, läuft leider nicht so richtig!?. Debug gibt folgendes aus:

Code: Alles auswählen

# tclsh /usr/local/addons/netatmo/netatmo.tcl
debug: script has started
warn: no stored credentials found
debug: requesting new token
debug: response was HTTP/1.1 400 Bad Request
Server: nginx
Date: Tue, 22 Aug 2017 10:50:34 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
Cache-Control: no-store
X-XSS-Protection: 1; mode=block
Access-Control-Allow-Origin: *
Strict-Transport-Security: max-age=10886400; includeSubDomains
X-Powered-By: Netatmo

{"error":"invalid_grant"}  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   166    0    25  100   141     74    421 --:--:-- --:--:-- --:--:--   481
debug: parsing authentication result
debug: returncode is 400
debug: access token is 
debug: refresh token is 
can't read "expiresin": no such variable
    while executing
"log debug "expires in $expiresin""
    (procedure "parseOAuthResponse" line 14)
    invoked from within
"parseOAuthResponse [requestToken $clientId $clientSecret $username $password"
    invoked from within
"if { [file exists $cfgfile] == 1} {
        log info "found stored credentials"
            loadAccessToken
            set now [clock seconds]
      ..."
    (file "/usr/local/addons/netatmo/netatmo.tcl" line 151)
# 
Kann jemand helfen?

LG

Bulli
Beiträge: 494
Registriert: 29.04.2014, 18:38
Hat sich bedankt: 2 Mal
Danksagung erhalten: 9 Mal

Re: Netatmo Wetterstation (incl. CO2 Messung) einbinden

Beitrag von Bulli » 22.08.2017, 17:46

Hallo
am besten erst mal dein Script posten, bitte aber Paswort usw. durch XXXX ersetzen nicht vergessen.

Gruß
Bulli

Antworten

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