Netatmo Wetterstation (incl. CO2 Messung) einbinden

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

Moderator: Co-Administratoren

micha131279
Beiträge: 2
Registriert: 21.01.2022, 08:26
System: Alternative CCU (auf Basis OCCU)

Re: Netatmo Wetterstation (incl. CO2 Messung) einbinden

Beitrag von micha131279 » 21.01.2022, 09:44

ich habe jetzt alle Geräte angelegt und auch die Systemvariablen. IDS ausgelesen und die MAC Adressen. Alles in netatmo.tcl kopiert mit meinen Daten. Bekomme aber leider keine Werte. Programm ist auch angelegt.

Bitte um Hilfe

sil
Beiträge: 3
Registriert: 25.04.2017, 08:31

Re: Netatmo Wetterstation (incl. CO2 Messung) einbinden

Beitrag von sil » 26.01.2022, 19:47

Hallo zusammen ich bin ziemliche neu hier und versuche meine Netatmo in die CCU zu integrieren.
Ich habe alles wie in den Artikel beschrieben erstellt.

Leider erhalte ich folgenden error Meldung:

Code: Alles auswählen

# tclsh /usr/local/addons/netatmo/new1.tcl
debug: script has started
warn: no stored credentials found
debug: requesting new token
debug: response was HTTP/1.1 400
Server: nginx
Date: Wed, 26 Jan 2022 18:29:15 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep-alive
Expires: 0
Cache-Control: no-cache, must-revalidate
X-XSS-Protection: 1; mode=block
Access-Control-Allow-Origin: *
Strict-Transport-Security: max-age=31536000; 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
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   200    0    25  100   175     45    317 --:--:-- --:--:-- --:--:--   367
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]
log debug "current time is [clock form..."
    (file "/usr/local/addons/netatmo/new1.tcl" line 191)



So sieht mein Script aus.

Code: Alles auswählen

#!/bin/tclsh

load tclrega.so

#---------------------------------------------------------------------------------------------------------------#
# CONFIG #
# Vgl. viewtopic.php?f=31&t=28188&hilit=netatm ... 85800ffcb6
# Aufruf tclsh /usr/local/addons/netatmo/netatmo.tcl
#---------------------------------------------------------------------------------------------------------------#
# to obtain your own client ID and API key please register a new app here: http://dev.netatmo.com/dev/listapps
set clientId "?????"
set clientSecret "?????"
# the following are your normal netatmo credentials (the ones you used to setup your netatmo weather station)
set username "?????"
set password "?????"

# the following are MAC addresses of your indoor station and the outside module and rain module
set deviceid "?????"
set moduleid "?????"
# insert here your HM-system vars for the indoor station
set luftdruck "Luftdruck"
set CO2 "CO2"
set sonometer "Sonometer"
set SyncTime "SyncTime"
# insert here the s/n of the CUxD devices indoor / outside module
set CUxD_indoor "CUxD.CUX9002002"
set CUxD_outdoor "CUxD.CUX9002003"

# # Zusatzmodul innen vorhanden? Dann ID eintragen, Namen der HM-Systemvariablen (in " ") und Seriennummer des CUxD-Geräts gegebenenfalls anpassen
#set zusatzid "03:00:............"
#set CO2_SZ "CO2_SZ"
#set CUxD_zusatzmodul "CUxD.CUX9002003"

# Zweites Zusatzmodul innen vorhanden? Dann ID eintragen, Namen der HM-Systemvariablen (in " ") und Seriennummer des CUxD-Geräts gegebenenfalls anpassen
#set zusatzid2 "03:00:.........."
#set CO2_SZ2 "CO2_SZ2"
#set CUxD_zusatzmodul2 "CUxD.CUX9002004"

# Drittes Zusatzmodul innen vorhanden? Dann ID eintragen, Namen der HM-Systemvariablen (in " ") und Seriennummer des CUxD-Geräts gegebenenfalls anpassen
#set zusatzid3 "03:00:................."
#set CO2_SZ3 "CO2_SZ3"
#set CUxD_zusatzmodul3 "CUxD.CUX9002005"

# Regensensor vorhanden? Dann ID eintragen, Namen der HM-Systemvariablen gegebenenfalls anpassen
#set rainid "05:00:.............."
#set Regenmenge_30min "Regenmenge_30min"
#set Regenmenge_1d "Regenmenge_1d"
#set Regen_aktuell "Regen_aktuell"

# Windsensor vorhanden? Dann ID eintragen, Namen der HM-Systemvariablen gegebenenfalls anpassen
#set windid "06:00:.............."
#set Windrichtung "Windrichtung"
#set Windstaerke "Windstaerke"
#set Gustangle "Gustangle"
#set Guststaerke "Guststaerke"

#0=panic, 1=alert 2=crit 3=err 4=warn 5=notice 6=info 7=debug
set loglevel 6


#---------------------------------------------------------------------------------------------------------------#
# AB HIER NICHTS MEHR AENDERN!

set ::env(LD_LIBRARY_PATH) "/usr/local/addons/cuxd"
set cfgfile "/tmp/netatmo.dat"
set logtag "netatmo.tcl"
set logfacility "local1"

#---------------------------------------------------------------------------------------------------------------#
# GLOBAL VARIABLES #
#---------------------------------------------------------------------------------------------------------------#
set accesstoken ""
set refreshtoken ""
set tokenexpires 0
#---------------------------------------------------------------------------------------------------------------#


set loglevels {panic alert crit err warn notice info debug}

proc log {lvl msg} {
global logtag
global logfacility
global loglevel
global loglevels

set lvlnum [lsearch $loglevels $lvl]

if {$lvlnum <= $loglevel} {
if {$lvlnum <= 3} {
catch {exec logger -s -t $logtag -p $logfacility.$lvl $msg}
} else {
puts "$lvl: $msg"
catch {exec logger -t $logtag -p $logfacility.$lvl $msg}
}

}

}

proc refreshToken {rt ci cs} {
log debug "refreshing token"
set url "https://api.netatmo.net/oauth2/token"
set header "Content-Type: application/x-www-form-urlencoded;charset=UTF-8"
set parameter "grant_type=refresh_token&refresh_token=$rt&client_id=$ci&client_secret=$cs"

catch {exec /usr/bin/curl -k -i -H $header -X POST -d $parameter $url} response
log debug "response was $response"

return $response

}

proc requestToken {ci cs un pw} {
log "debug" "requesting new token"
set url "https://api.netatmo.net/oauth2/token"
set header "Content-Type: application/x-www-form-urlencoded;charset=UTF-8"
set parameter "grant_type=password&client_id=$ci&client_secret=$cs&username=$un&password=$pw"

catch {exec /usr/bin/curl -k -i -H $header -X POST -d $parameter $url} response
log debug "response was $response"

return $response

}

proc parseOAuthResponse {input} {
log debug "parsing authentication result"
global accesstoken
global refreshtoken

regexp {HTTP/1.1\s(\d*)} $input dummy returncode
regexp {\"access_token\":\"(.*?)\"} $input dummy accesstoken
regexp {\"refresh_token\":\"(.*?)\"} $input dummy refreshtoken
regexp {\"expires_in\":(.*?)\,} $input dummy expiresin

log debug "returncode is $returncode"
log debug "access token is $accesstoken"
log debug "refresh token is $refreshtoken"
log debug "expires in $expiresin"

if {[expr $returncode]!=200} {
log error "Authentication failed with code $returncode and response $input"
exit 1
}

return $expiresin
}

proc saveAccessToken {expin} {
global accesstoken
global refreshtoken
global tokenexpires
global cfgfile

log debug "saving new access token to $cfgfile"

set fileId [open $cfgfile "w"]

set now [clock seconds]
set tokenexpires [expr $now + $expin]

puts $fileId $accesstoken
puts $fileId $refreshtoken
puts $fileId $tokenexpires
close $fileId
}

proc loadAccessToken {} {
global accesstoken
global refreshtoken
global tokenexpires
global cfgfile

log debug "loading stored credentials from $cfgfile"

set fp [open $cfgfile r]
set file_data [read $fp]
close $fp

log debug "file data is: $file_data"

set data [split $file_data "\n"]

set accesstoken [lindex $data 0]
set refreshtoken [lindex $data 1]
set tokenexpires [lindex $data 2]
}

log debug "script has started"

if { [file exists $cfgfile] == 1} {
log info "found stored credentials"
loadAccessToken
set now [clock seconds]
log debug "current time is [clock format $now -format "%Y-%m-%dT%H:%M:%S"], token is valid until [clock format $tokenexpires -format "%Y-%m-%dT%H:%M:%S"]"
if {[expr $now >= $tokenexpires] == 1} {
log notice "token has already expired"
saveAccessToken [parseOAuthResponse [refreshToken $refreshtoken $clientId $clientSecret]]
log notice "oauth token successfully refreshed"
} else {
log info "token is still valid"
}
} else {
log warn "no stored credentials found"
saveAccessToken [parseOAuthResponse [requestToken $clientId $clientSecret $username $password]]
log notice "oauth token successfully initialized"
}

log debug "polling outdoor module..."
set url "https://api.netatmo.net/api/getmeasure? ... e_end=last"
log debug "querying $url"
catch {exec /usr/bin/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"

log debug "polling main module..."
set url "https://api.netatmo.net/api/getmeasure? ... e_end=last"
log debug "querying $url"
catch {exec /usr/bin/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"

if {[string match "*XX*" $zusatzid] == 0} {
log debug "polling zusatzmodule..."
set url "https://api.netatmo.net/api/getmeasure? ... e_end=last"
log debug "querying $url"
catch {exec /usr/bin/curl -k -# $url} response
log debug "response is: $response"

regexp {\"value\":\[\[(.*?),(.*?),(.*?)\]} $response dummy ztemp zhum zco2

log info "LogI is $response"
log info "Inside temperature is $ztemp"
log info "Inside humidity is $zhum"
log info "Inside CO2 level $zco2"
}

if {[string match "*XX*" $zusatzid2] == 0} {
log debug "polling zusatzmodul2..."
set url "https://api.netatmo.net/api/getmeasure? ... e_end=last"
log debug "querying $url"
catch {exec /usr/bin/curl -k -# $url} response
log debug "response is: $response"

regexp {\"value\":\[\[(.*?),(.*?),(.*?)\]} $response dummy ztemp2 zhum2 zco22

log info "LogI is $response"
log info "Inside temperature is $ztemp2"
log info "Inside humidity is $zhum2"
log info "Inside CO2 level $zco22"
}

if {[string match "*XX*" $zusatzid3] == 0} {
log debug "polling zusatzmodul3..."
set url "https://api.netatmo.net/api/getmeasure? ... e_end=last"
log debug "querying $url"
catch {exec /usr/bin/curl -k -# $url} response
log debug "response is: $response"

regexp {\"value\":\[\[(.*?),(.*?),(.*?)\]} $response dummy ztemp3 zhum3 zco23

log info "LogI is $response"
log info "Inside temperature is $ztemp3"
log info "Inside humidity is $zhum3"
log info "Inside CO2 level $zco23"
}


if {[string match "*XX*" $rainid] == 0} {
log debug "polling regensensor module...1d"
set url "https://api.netatmo.net/api/getmeasure? ... e_end=last"
log debug "querying $url"
catch {exec /usr/bin/curl -k -# $url} response
log debug "response is: $response"

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

log info "LogR is $response"
log info "Outside Regen1d is $rain1d"

log debug "polling regensensor module...30min"
set url "https://api.netatmo.net/api/getmeasure? ... e_end=last"
log debug "querying $url"
catch {exec /usr/bin/curl -k -# $url} response
log debug "response is: $response"

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

log info "LogR is $response"
log info "Outside rain2 is $rain2"
log info "Outside Regen30min is $rain30min"
}

if {[string match "*XX*" $windid] == 0} {
log debug "polling wind module..."
set url "https://api.netatmo.net/api/getmeasure? ... e_end=last"
log debug "quering $url"
catch {exec /usr/bin/curl -k -# $url} response
log debug "respnose is $response"

regexp {\"value\":\[\[(.*?),(.*?),(.*?),(.*?)\]} $response dummy windangle windstrength gustangle guststrength
log info "WindAngle is $windangle"
log info "Windstrength is $windstrength"
log info "GustAngle is $gustangle"
log info "Guststrength is $guststrength"
}
#
# set ReGaHss variables
#
set rega_cmd ""
append rega_cmd "var ITemp = dom.GetObject('$CUxD_indoor:1.SET_TEMPERATURE');"
append rega_cmd "var IHumi = dom.GetObject('$CUxD_indoor:1.SET_HUMIDITY');"
append rega_cmd "var OTemp = dom.GetObject('$CUxD_outdoor:1.SET_TEMPERATURE');"
append rega_cmd "var OHumi = dom.GetObject('$CUxD_outdoor:1.SET_HUMIDITY');"
append rega_cmd "var IPress = dom.GetObject('$luftdruck');"
append rega_cmd "var ICO2 = dom.GetObject('$CO2');"
append rega_cmd "var INoise = dom.GetObject('$sonometer');"
append rega_cmd "OTemp.State('$otemp');"
append rega_cmd "OHumi.State('$ohum');"
append rega_cmd "ITemp.State('$itemp');"
append rega_cmd "IHumi.State('$ihum');"
append rega_cmd "IPress.State('$ipressure');"
append rega_cmd "ICO2.State('$ico2');"
append rega_cmd "INoise.State('$inoise');"
if {[string match "*XX*" $zusatzid] == 0} {
append rega_cmd "var ZTemp = dom.GetObject('$CUxD_zusatzmodul:1.SET_TEMPERATURE');"
append rega_cmd "var ZHumi = dom.GetObject('$CUxD_zusatzmodul:1.SET_HUMIDITY');"
append rega_cmd "var ZCO2 = dom.GetObject('$CO2_SZ');"
append rega_cmd "ZTemp.State('$ztemp');"
append rega_cmd "ZHumi.State('$zhum');"
append rega_cmd "ZCO2.State('$zco2');"
}
if {[string match "*XX*" $zusatzid2] == 0} {
append rega_cmd "var ZTemp2 = dom.GetObject('$CUxD_zusatzmodul2:1.SET_TEMPERATURE');"
append rega_cmd "var ZHumi2 = dom.GetObject('$CUxD_zusatzmodul2:1.SET_HUMIDITY');"
append rega_cmd "var ZCO22 = dom.GetObject('$CO2_SZ2');"
append rega_cmd "ZTemp2.State('$ztemp2');"
append rega_cmd "ZHumi2.State('$zhum2');"
append rega_cmd "ZCO22.State('$zco22');"
}
if {[string match "*XX*" $zusatzid3] == 0} {
append rega_cmd "var ZTemp3 = dom.GetObject('$CUxD_zusatzmodul3:1.SET_TEMPERATURE');"
append rega_cmd "var ZHumi3 = dom.GetObject('$CUxD_zusatzmodul3:1.SET_HUMIDITY');"
append rega_cmd "var ZCO23 = dom.GetObject('$CO2_SZ3');"
append rega_cmd "ZTemp3.State('$ztemp3');"
append rega_cmd "ZHumi3.State('$zhum3');"
append rega_cmd "ZCO23.State('$zco23');"
}
if {[string match "*XX*" $rainid] == 0} {
append rega_cmd "var Rain1 = dom.GetObject('$Regenmenge_30min');"
append rega_cmd "var Rain2 = dom.GetObject('$Regenmenge_1d');"
append rega_cmd "var Rain3 = dom.GetObject('$Regen_aktuell');"
append rega_cmd "Rain1.State('$rain30min');"
append rega_cmd "Rain2.State('$rain1d');"
append rega_cmd "Rain3.State('$rain2');"
}
if {[string match "*XX*" $windid] == 0} {
append rega_cmd "var windA = dom.GetObject('$Windrichtung');"
append rega_cmd "var windS = dom.GetObject('$Windstaerke');"
append rega_cmd "var gustA = dom.GetObject('$Gustangle');"
append rega_cmd "var gustS = dom.GetObject('$Guststaerke');"
append rega_cmd "windA.State('$windangle');"
append rega_cmd "windS.State('$windstrength');"
append rega_cmd "gustA.State('$gustangle');"
append rega_cmd "gustS.State('$guststrength');"
}

append rega_cmd "var sdatetime = system.Date('%d.%m.%Y %H:%M:%S');"
append rega_cmd "var netatmosynctime = dom.GetObject('$SyncTime');"
append rega_cmd "netatmosynctime.Variable(sdatetime.ToString());"
rega_script $rega_cmd
log info "script finished"
über jeglich hilfe wäre ich sehr dankbar.
ah ja und noch was curl ist aktuell folgende version installiert:

Code: Alles auswählen

 /usr/bin/curl -V
curl 7.65.0 (arm-buildroot-linux-gnueabi) libcurl/7.65.0 OpenSSL/1.1.1c zlib/1.2.11
Release-Date: 2019-05-22
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: AsynchDNS HTTPS-proxy IPv6 Largefile libz NTLM SSL TLS-SRP UnixSockets
#


harden
Beiträge: 1
Registriert: 31.01.2022, 15:56
System: Access Point

Re: Netatmo Wetterstation (incl. CO2 Messung) einbinden

Beitrag von harden » 31.01.2022, 15:57

Hi,

hast du denn auch die ???? mit gültigen Werten ersetzt?

Code: Alles auswählen

# to obtain your own client ID and API key please register a new app here: http://dev.netatmo.com/dev/listapps
set clientId "?????"
set clientSecret "?????"
# the following are your normal netatmo credentials (the ones you used to setup your netatmo weather station)
set username "?????"
set password "?????"

# the following are MAC addresses of your indoor station and the outside module and rain module
set deviceid "?????"
set moduleid "?????"

Ninjaracer
Beiträge: 3
Registriert: 14.02.2022, 11:52
System: keine Zentrale (nur Pairing, FHEM etc.)

Keine Messwerte

Beitrag von Ninjaracer » 02.04.2022, 12:21

Hallo zusammen,

ich habe die Netatmowetterstation mit Innenmodul, Außenmodul, Regenmesser und Windmesser. Jetzt wollte ich die Geräte in Raspberrymatic integrieren. Das hat auch fast alles geklappt, außer das ich keine Messwerte erhalte. Einmal kamen ein paar Messwerte, nach einigen Versuchen den Fehler zu finden passiert jetzt gar nichts mehr. Ich bekomme keinerlei Messwerte mehr angezeigt. Wäre super, wenn jemand mir dabei helfen könnte den Fehler zu finden.

Als erstes mal meine Geräte:
ich habe ein Raspberry Pi4 mit 2GB und nutze das aktuellste Raspberrymatic 3.63.8.20220330. Desweiteren ist natürlich CUx-Daemon Vers.2.8 installiert.
In CUxD habe ich die Geräte:
CUX2801007 (X) Zentrale CUxD
CUX9002001 (X) Netatmo Innen
CUX9002001 (X) Netatmo Außen
angelegt. Die sind auch im Raspberrymatic angekommen und installiert.
Die GeräteID's von Netatmo habe ich alle ins Script eingetragen.
netatmo_Beispiel.txt
(12.95 KiB) 47-mal heruntergeladen
Auch die ClientID und ClientSecred, Benutzername und Passwort habe ich eingefügt.

Das Script habe ich mit dem Programm "Textbearbeitung" in Ubuntu bearbeitet und als .tcl Datei abgespeichert. Mit Filezilla habe ich die Datei in den angegebenen Pfad kopiert.

Das Script bei den Programmen im Raspberrymatic habe ich entsprechend angepasst:
dom.GetObject("CUxD.CUX2801007:1.CMD_QUERY_RET").State(1);
dom.GetObject("CUxD.CUX2801007:1.CMD_SETS").State("tclsh /usr/local/addons/netatmo/netatmo.tcl");
var v = dom.GetObject("CUxD.CUX2801007:1.CMD_RETS").State();
WriteLine(v);

Nun komme ich nicht mehr weiter...

Schöne Grüße
Michael
PC Betriebssystem Ubuntu 21.10
Raspberry Pi4 2GB
Raspberrymatic 3.63.8.20220330
CUx-Daemon 2.8
Redmatic 7.2.1/ NodeRed V1.2.9

Ninjaracer
Beiträge: 3
Registriert: 14.02.2022, 11:52
System: keine Zentrale (nur Pairing, FHEM etc.)

Re: Netatmo Wetterstation (incl. CO2 Messung) einbinden

Beitrag von Ninjaracer » 03.04.2022, 12:34

Hat keiner eine Idee?

Habe jetzt im CUx-Daemon nochmal die Geräte umgestellt, sodass die Zentrale:
CUX2801001 (X) Zentrale CUxD heißt.

Das Skript bei den Programmen habe ich wieder zurückgeschrieben:
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("tclsh /usr/local/addons/netatmo/netatmo.tcl");
var v = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
WriteLine(v);

Leider kommen keinerlei Messwerte.
PC Betriebssystem Ubuntu 21.10
Raspberry Pi4 2GB
Raspberrymatic 3.63.8.20220330
CUx-Daemon 2.8
Redmatic 7.2.1/ NodeRed V1.2.9

Ninjaracer
Beiträge: 3
Registriert: 14.02.2022, 11:52
System: keine Zentrale (nur Pairing, FHEM etc.)

Re: Netatmo Wetterstation (incl. CO2 Messung) einbinden

Beitrag von Ninjaracer » 05.04.2022, 16:18

Bin jetzt zwar ein Stück weiter, aber noch nicht am Ziel.
Habe das Skript von Eckstone übernommen und im Terminal mit dem Befehl:
tclsh /usr/local/addons/netatmo/netatmo.tcl
getestet.

Nun bekomme ich folgende Meldung:

info: found stored credentials
info: token is still valid
can't read "otemp": no such variable
while executing
"log info "Outside temperature is $otemp""
(file "/usr/local/addons/netatmo/netatmo.tcl" line 217)

Die Meldung habe ich hier schon öfters gesehen, aber keine Lösung dazu.

In Zeile 217 steht:
log info "Outside temperature is $otemp"

Vielleicht kann mir jetzt jemand einen Tip geben.
PC Betriebssystem Ubuntu 21.10
Raspberry Pi4 2GB
Raspberrymatic 3.63.8.20220330
CUx-Daemon 2.8
Redmatic 7.2.1/ NodeRed V1.2.9

DeepBlue
Beiträge: 5
Registriert: 20.04.2022, 17:03
System: CCU und Access Point

Re: Netatmo Wetterstation (incl. CO2 Messung) einbinden

Beitrag von DeepBlue » 20.04.2022, 17:08

Hallo

konnte soweit alles einrichten und auch der Test des Skriptes verläuft positiv:

# tclsh /usr/local/addons/netatmo/netatmo.tcl
info: found stored credentials
info: token is still valid
info: LogI is {"body":[{"beg_time":1650466819,"value":[[22.1,51,521,1013.2,39]]}],"status":"ok","time_exec":0.037242889404296875,"time_server":1650467146}#=#=- # #
info: Inside temperature is 22.1
info: Inside humidity is 51
info: Inside CO2 level is 521
info: Inside pressure is 1013.2
info: Inside noise level is 39
info: LogO is {"body":[{"beg_time":1650466798,"value":[[14.6,61]]}],"status":"ok","time_exec":0.04187202453613281,"time_server":1650467146}#=#=- # #
info: Outside temperature is 14.6
info: Outside humidity is 61
info: LogR is {"body":[{"beg_time":1650448800,"value":[[0]]}],"status":"ok","time_exec":0.050187110900878906,"time_server":1650467146}#=#=- # #
info: Outside rain1d is 0
info: LogR2 is {"body":[{"beg_time":1650467700,"value":[[0,0]]}],"status":"ok","time_exec":0.09071207046508789,"time_server":1650467147}#=#=- # # #=O=# # #
info: Outside rain30min is 0
info: LogW is {"body":[{"beg_time":1650466817,"value":[[225,4,225,7]]}],"status":"ok","time_exec":0.022676944732666016,"time_server":1650467147}#=#=- # #
info: Outside WindAngle is 225
info: Outside WindStrength is 4
info: Outside GustAngle is 225
info: Outside GustStrength is 7
extra characters after close-quote
while compiling
"append rega_cmd "Rain2.State('$rain1d');
append rega_cmd "
invoked from within
"if {$rainid != "XX:XX:XX:XX:XX:XX"} {
append rega_cmd "Rain1.State('$rain30min');"
append rega_cmd "Rain2.State('$rain1d');
append rega_cm..."
(file "/usr/local/addons/netatmo/netatmo.tcl" line 401)

nur am Ende gibt es einen Fehler!? Schlimm?
ich bekomme in der CCU oder in dem HMControl keine Daten, was übersehe ich?

Apr 20 16:26:00 ccu3-webui local1.info netatmo.tcl: found stored credentials
Apr 20 16:26:00 ccu3-webui local1.info netatmo.tcl: token is still valid
Apr 20 16:26:00 ccu3-webui local1.info netatmo.tcl: LogI is {"body":[{"beg_time":1650464405,"value":[[22,51,484,1013.3,41]]}],"status":"ok","time_exec":0.0961611270904541,"time_server":1650464760}#=#=# ##O#- #
Apr 20 16:26:00 ccu3-webui local1.info netatmo.tcl: Inside temperature is 22
Apr 20 16:26:00 ccu3-webui local1.info netatmo.tcl: Inside humidity is 51
Apr 20 16:26:00 ccu3-webui local1.info netatmo.tcl: Inside CO2 level is 484
Apr 20 16:26:00 ccu3-webui local1.info netatmo.tcl: Inside pressure is 1013.3
Apr 20 16:26:00 ccu3-webui local1.info netatmo.tcl: Inside noise level is 41
Apr 20 16:26:01 ccu3-webui local1.info netatmo.tcl: LogO is {"body":[{"beg_time":1650464388,"value":[[14.9,62]]}],"status":"ok","time_exec":0.21230411529541016,"time_server":1650464760}#=#=# ##O#- #
Apr 20 16:26:01 ccu3-webui local1.info netatmo.tcl: Outside temperature is 14.9
Apr 20 16:26:01 ccu3-webui local1.info netatmo.tcl: Outside humidity is 62
Apr 20 16:26:01 ccu3-webui local1.info netatmo.tcl: LogR is {"body":[{"beg_time":1650448800,"value":[[0]]}],"status":"ok","time_exec":0.1133730411529541,"time_server":1650464761}#=#=# ##O#- #
Apr 20 16:26:01 ccu3-webui local1.info netatmo.tcl: Outside rain1d is 0
Apr 20 16:26:01 ccu3-webui local1.info netatmo.tcl: LogR2 is {"body":[{"beg_time":1650464100,"value":[[0,0]]}],"status":"ok","time_exec":0.09808111190795898,"time_server":1650464761}#=#=# ##O#- #
Apr 20 16:26:01 ccu3-webui local1.info netatmo.tcl: Outside rain30min is 0
Apr 20 16:26:01 ccu3-webui local1.info netatmo.tcl: LogW is {"body":[{"beg_time":1650464401,"value":[[223,4,219,6]]}],"status":"ok","time_exec":0.03350210189819336,"time_server":1650464761}#=#=#
Apr 20 16:26:01 ccu3-webui local1.info netatmo.tcl: Outside WindAngle is 223
Apr 20 16:26:01 ccu3-webui local1.info netatmo.tcl: Outside WindStrength is 4
Apr 20 16:26:01 ccu3-webui local1.info netatmo.tcl: Outside GustAngle is 219
Apr 20 16:26:01 ccu3-webui local1.info netatmo.tcl: Outside GustStrength is 6
Apr 20 16:26:02 ccu3-webui daemon.info cuxd[6687]: system(tclsh /usr/local/addons/netatmo/netatmo.tcl) exit(1) 2s

warum sehe ich nichts?
Gibt es keinen Einfachen Weg das zu installieren? unfassbar Das von Homeatic da nix kommt

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

Re: Netatmo Wetterstation (incl. CO2 Messung) einbinden

Beitrag von Semmy » 15.09.2022, 09:27

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: 46
Registriert: 17.01.2020, 09:04
System: CCU
Hat sich bedankt: 13 Mal
Danksagung erhalten: 3 Mal

Re: Netatmo Wetterstation (incl. CO2 Messung) einbinden

Beitrag von ibot » 26.09.2022, 09:44

Semmy hat geschrieben:
15.09.2022, 09:27
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?
Hallo Semmy,

Netatmo wird ab Oktober nur noch OAuth2 Verbindungen erlauben. Das heißt dieses Script wird so nicht mehr funktionieren.
Ich hab mal eine Alternative über ioBroker verfasst:
https://smarterpapa.de/netatmo-mit-home ... -iobroker/

Eine andere Lösung habe ich hier zumindest noch nicht gefunden.

Viele Grüße,
Tobi

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

Re: Netatmo Wetterstation (incl. CO2 Messung) einbinden

Beitrag von Semmy » 26.09.2022, 10:46

Hallo
Das ist ja ok, beantwortet aber nicht meine Frage.

Gruß
Semmy
Raspberrymatic 3+
Raspberrymatic LAN-Gateway

Antworten

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