Netatmo Wetterstation (incl. CO2 Messung) einbinden

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

Moderator: Co-Administratoren

Megaron
Beiträge: 43
Registriert: 20.09.2019, 18:00
Hat sich bedankt: 6 Mal
Danksagung erhalten: 1 Mal

Re: Netatmo Wetterstation (incl. CO2 Messung) einbinden

Beitrag von Megaron » 18.01.2020, 15:01

Bulli hat geschrieben:
18.01.2020, 10:48
Megaron hat geschrieben:
17.01.2020, 20:04
Hallo Westfale,

Loglevel ist bereits auf 7 eingestellt
Hallo
bitte mal dein Script so wie es gerade ist reinstellen, Zugangsdaten durch XXX ersetzen nicht vergessen. Welche CCU? mit welchen Softwarestand hast du?

Gruß
Bulli
Hallo Bulli,

CCU3 mit 3.49.17
CUxD Version 2.3.4


anbei auch das Script:

#!/bin/tclsh

load tclrega.so
#---------------------------------------------------------------------------------------------------------------#
#CONFIG#
#---------------------------------------------------------------------------------------------------------------#
#to obtain your own client ID and API key please register a new app here: http://dev.netatmo.com/dev/listapps

set clientId xxxxxxxxxxxxxxxxxxxxxx
set clientSecret xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
#the following are your normal netatmo credentials (the ones you used to setup your netatmo weather station)
set username xxxxxxxxxxxxxxxxx
set password xxxxxxxxxxxxxxxxxx
#the following are MAC addresses of your indoor station and the outside module and rain module
set deviceid 70:EE:50:13:72:56
set moduleid 02:00:00:13:70:d0
set rainid 05:00:00:01:7c:4e
set windid 06:00:00:00:12:08
set gartenhausid 03:00:00:01:dB:80
set geraeteraumid 03:00:00:07:78:da

set ::env(LD_LIBRARY_PATH) "/usr/local/addons/cuxd"
set cfgfile "/tmp/netatmo.dat"
set logtag "netatmo.tcl"
set logfacility "local1"
# 0=panic, 1=alert 2=crit 3=err 4=warn 5=notice 6=info 7=debug
set loglevel 7
#---------------------------------------------------------------------------------------------------------------#
#---------------------------------------------------------------------------------------------------------------#
#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/local/addons/cuxd/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/local/addons/cuxd/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/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"
log debug "polling main module..."
set url "https://api.netatmo.net/api/getmeasure? ... e_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"

log debug "polling regensensor module...1d"
set url "https://api.netatmo.net/api/getmeasure? ... e_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 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/local/addons/cuxd/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"

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

log debug "polling zusatzmodule..."
set url "https://api.netatmo.net/api/getmeasure? ... e_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 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"

log debug "polling zusatzmodule..."
set url "https://api.netatmo.net/api/getmeasure? ... e_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 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"

#
# set ReGaHss variables
#

set rega_cmd ""
append rega_cmd "var ITemp = dom.GetObject('CUxD.CUX9002001:1.SET_TEMPERATURE');"
append rega_cmd "var IHumi = dom.GetObject('CUxD.CUX9002001:1.SET_HUMIDITY');"
append rega_cmd "var OTemp = dom.GetObject('CUxD.CUX9002002:1.SET_TEMPERATURE');"
append rega_cmd "var OHumi = dom.GetObject('CUxD.CUX9002002:1.SET_HUMIDITY');"
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 "var IPress = dom.GetObject('Luftdruck');"
append rega_cmd "var ICO2 = dom.GetObject('CO2');"
append rega_cmd "var INoise = dom.GetObject('Sonometer');"
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 "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');"
append rega_cmd "Rain1.State('$rain30min');"
append rega_cmd "Rain2.State('$rain1d');"
append rega_cmd "Rain3.State('$rain2');"
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());"
   
append rega_cmd "var ZTemp = dom.GetObject('CUxD.CUX9002003:1.SET_TEMPERATURE');"
append rega_cmd "var ZHumi = dom.GetObject('CUxD.CUX9002003:1.SET_HUMIDITY');"
append rega_cmd "var ZCO2 = dom.GetObject('CO2_Garten');"
append rega_cmd "ZTemp.State('$ztemp');"
append rega_cmd "ZHumi.State('$zhum');"
append rega_cmd "ZCO2.State('$zco2');"

append rega_cmd "var ZTemp = dom.GetObject('CUxD.CUX9002004:1.SET_TEMPERATURE');"
append rega_cmd "var ZHumi = dom.GetObject('CUxD.CUX9002004:1.SET_HUMIDITY');"
append rega_cmd "var ZCO2 = dom.GetObject('CO2_Geraeteraum');"
append rega_cmd "ZTemp.State('$ztemp');"
append rega_cmd "ZHumi.State('$zhum');"
append rega_cmd "ZCO2.State('$zco2');"


rega_script $rega_cmd
Viele Grüße Megaron

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 » 19.01.2020, 09:37

Megaron hat geschrieben:
18.01.2020, 15:01
........
Hallo Megaron
ich habe noch keine Ahnung warum dein Script bei Zeile 140 aufhört.

Code: Alles auswählen

set accesstoken [lindex $data 0]
set refreshtoken [lindex $data 1]
set tokenexpires [lindex $data 2]
}
log debug "script has started"
ZEILE 140 
if { [file exists $cfgfile] == 1} {
log info "found stored credentials"
loadAccessToken
set now [clock seconds]
Gibt es die Datei netatmo.dat im Verzeichnis /tmp?
Filesystem vielleicht voll?

Bei deinen 2 Zusatzmodul mußt du im Script noch andere Variablennamen verwenden, sonst hast du die Werte vom ersten drin. Könnte aber auch vielleicht das Problem sein.

Code: Alles auswählen

Dieser Block mach einfach eine 2 oder was auch immer rein
log debug "polling zusatzmodule..."
set url "https://api.netatmo.net/api/getmeasure? ... e_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 z2temp z2hum z2co2
log info "LogI is $response"
log info "Inside temperature is $z2temp"
log info "Inside humidity is $z2hum"
log info "Inside CO2 level $z2co2"
und hier auch noch
append rega_cmd "var Z2Temp = dom.GetObject('CUxD.CUX9002004:1.SET_TEMPERATURE');"
append rega_cmd "var Z2Humi = dom.GetObject('CUxD.CUX9002004:1.SET_HUMIDITY');"
append rega_cmd "var Z2CO2 = dom.GetObject('CO2_Geraeteraum');"
append rega_cmd "Z2Temp.State('$z2temp');"
append rega_cmd "Z2Humi.State('$z2hum');"
append rega_cmd "Z2CO2.State('$z2co2');"
Gruß
Bulli

ps beim nächsten mal bitte Script in "code tags" posten, wird der Beitrag nicht so lang. Button </>

Code: Alles auswählen

Code-Tags

Edit Codeschnipsel
Zuletzt geändert von Bulli am 20.01.2020, 08:52, insgesamt 2-mal geändert.

Megaron
Beiträge: 43
Registriert: 20.09.2019, 18:00
Hat sich bedankt: 6 Mal
Danksagung erhalten: 1 Mal

Re: Netatmo Wetterstation (incl. CO2 Messung) einbinden

Beitrag von Megaron » 19.01.2020, 14:13

Hallo Bulli,

danke für die Rückmeldung.

im Verzeichnis /tmp ist keine netatmo.dat.

Woran erkennt man ob das filesysten voll ist?

Hab deine Anmerkungen in das Script übertragen => gleiche Fehlermeldung.

Code: Alles auswählen

/usr/local/addons/netatmo$ tclsh /usr/local/addons/netatmo/netatmo.tcl
debug: script has started
invalid command name " "
    while executing
"         "
    (procedure "log" line 16)
    invoked from within
"log debug "script has started""
    (file "/usr/local/addons/netatmo/netatmo.tcl" line 139)
Die Umsetzung der beiden Zusatzmodule sieht jetzt so aus:

Code: Alles auswählen

log debug "polling zusatzmodule..." 
set url "https://api.netatmo.net/api/getmeasure?access_token=$accesstoken&device_id=$deviceid&module_id=$gartenhausid&scale=max&type=Temperature,Humidity,CO2&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 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" 

log debug "polling zusatzmodule...2" 
set url "https://api.netatmo.net/api/getmeasure?access_token=$accesstoken&device_id=$deviceid&module_id=$geraeteraumid&scale=max&type=Temperature,Humidity,CO2&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 z2temp z2hum z2co2 
log info "LogI is $response" 
log info "Inside temperature is $z2temp" 
log info "Inside humidity is $z2hum" 
log info "Inside CO2 level $z2co2" 
und müsste es in dem Variablen Teil fürs 2te Zusatzmodul nicht heissen?

Code: Alles auswählen

append rega_cmd "var Z2Temp = dom.GetObject('CUxD.CUX9002004:1.SET_TEMPERATURE');"
append rega_cmd "var Z2Humi = dom.GetObject('CUxD.CUX9002004:1.SET_HUMIDITY');" 
append rega_cmd "var Z2CO2 = dom.GetObject('CO2_Geraeteraum');" 
append rega_cmd "Z2Temp.State('$z2temp');" 
append rega_cmd "Z2Humi.State('$z2hum');" 
append rega_cmd "Z2CO2.State('$z2co2');"

Aber trotz der Veränderung läuft das Script nicht. :x :x :x

Also hab das Script neu aufgebaut und die bestehende Datei gelöscht.
Was soll ich sagen :shock: :shock: :shock: => Hat mit deinen ergänzenden Infos auf Anhieb funktioniert.
Was hab ich anders gemacht beim Erstellen:
- Copy und Paste nicht mit iPad sondern Erstellung der netatmo.tcl im Win SPC incl. editieren der Datei.

Danke nochmal für deine Hilfe.
Viele Grüße Megaron

Megaron
Beiträge: 43
Registriert: 20.09.2019, 18:00
Hat sich bedankt: 6 Mal
Danksagung erhalten: 1 Mal

Re: Netatmo Wetterstation (incl. CO2 Messung) einbinden

Beitrag von Megaron » 19.01.2020, 20:22

Indigo hat geschrieben:
14.06.2019, 11:50
Du hast es geschafft.

Deine Luftfeuchtigkeit ist auch da. Du siehst sie nur (noch) nicht.
Gehe einmal in der HomeMatic WebUI auf Einstellungen-Geräte zu deinem NetAtmo Aussen Gerät in die Einstellungen.
Dan stellst du das Gerät von Temp+Hum auf Temp um. Mit OK Bestätigen. Wieder in die Einstellungen gehen und zurück auf Temp+Hum stellen. Wieder mit OK bestätigen. Dann sollte es gehen. An dieser Stelle hängt es ab und zu.
Sollte es dann immernoch nicht gehen müsstest du vielleicht deinem Gerät in CuXD ein anderes Icon verpassen. Keine Ahnung warum, aber das hat auch schon einmal geholfen.

Dein Script passt auf jeden Fall. Es wird bis zum Ende abgearbeitet. Das heisst auch, dass allles in die CCU übertragen wird. Sonst würde das Script abbrechen.
Hallo Bulli und Indigo,

ich hätte noch eine Frage zur Integration der Luftfeuchtigkeit in eine Systemvariable.
Ich habe analog zur Temperatur eine SV angelegt. Es wird aber nichts ausgelesen.
SV_Luftfeuchtigkeit.jpg
SV_Luftfeuchtigkeit.jpg (14.87 KiB) 2208 mal betrachtet
Das Gerät sieht wie folgt aus
Netatmo innen.jpg
Die Relative Luftfeuchte wird aus der Station ausgelesen. Wie kann ich diese in Pocket Control abbilden. Sorry für die vielleicht dumme Frage aber irgendwie kriege ich den Knopf nicht auf.
Viele Grüße Megaron

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.01.2020, 08:50

Hallo Megaron
schön das dein Script jetzt läuft. Sorry für die fehlenden drei 2, hast du aber ja selber erkannt :D
Die Luftfeuchte ist doch schon beim Gerät dabei. Siehe auch dein Bild rechts oben. Kenne zwar Pocket Control nicht aber für mich ist die Variable überflüssig. Wenn nicht könnte man die Variable noch befüllen.
Schau einfach noch mal hin.

Gruß
Bulli

ps ich bessere meinen falsche Codeschnipsel aus, nicht das jemand anderes mal da drüber stolpert.

Megaron
Beiträge: 43
Registriert: 20.09.2019, 18:00
Hat sich bedankt: 6 Mal
Danksagung erhalten: 1 Mal

Re: Netatmo Wetterstation (incl. CO2 Messung) einbinden

Beitrag von Megaron » 20.01.2020, 09:00

Hallo Bulli,

Pocket Control ist nichts anders wie ein Frontend (analog Mediola) um die Daten auszulesen und zu visualisieren. Aktuell schaffe ich es noch nicht dies für die Temperatur der 3 Netatmo Sensoren zu tun. Überall wo eine Systemvariable den Wert ausliest ist es klar.
Wie könnte der Code/das Script in Netatmo.tcl aussehen
Viele Grüße Megaron

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 » 21.01.2020, 14:51

Megaron hat geschrieben:
20.01.2020, 09:00
Hallo Bulli,

Pocket Control ist nichts anders wie ein Frontend (analog Mediola) um die Daten auszulesen und zu visualisieren. Aktuell schaffe ich es noch nicht dies für die Temperatur der 3 Netatmo Sensoren zu tun. Überall wo eine Systemvariable den Wert ausliest ist es klar.
Wie könnte der Code/das Script in Netatmo.tcl aussehen
Hallo
wenn dein Script noch so ausschaut.
>>>>
append rega_cmd "var ITemp = dom.GetObject('CUxD.CUX9002001:1.SET_TEMPERATURE');"
append rega_cmd "var IHumi = dom.GetObject('CUxD.CUX9002001:1.SET_HUMIDITY');"
append rega_cmd "var IHumi = dom.GetObject('Luftfeuchtigkeit_innen');"
append rega_cmd "var OTemp = dom.GetObject('CUxD.CUX9002002:1.SET_TEMPERATURE');"
append rega_cmd "var OHumi = dom.GetObject('CUxD.CUX9002002:1.SET_HUMIDITY');"
>>>>

Gruß
Bulli

Megaron
Beiträge: 43
Registriert: 20.09.2019, 18:00
Hat sich bedankt: 6 Mal
Danksagung erhalten: 1 Mal

Re: Netatmo Wetterstation (incl. CO2 Messung) einbinden

Beitrag von Megaron » 24.01.2020, 19:32

Bulli hat geschrieben:
21.01.2020, 14:51
Megaron hat geschrieben:
20.01.2020, 09:00
Hallo Bulli,

Pocket Control ist nichts anders wie ein Frontend (analog Mediola) um die Daten auszulesen und zu visualisieren. Aktuell schaffe ich es noch nicht dies für die Temperatur der 3 Netatmo Sensoren zu tun. Überall wo eine Systemvariable den Wert ausliest ist es klar.
Wie könnte der Code/das Script in Netatmo.tcl aussehen
Hallo
wenn dein Script noch so ausschaut.
>>>>
append rega_cmd "var ITemp = dom.GetObject('CUxD.CUX9002001:1.SET_TEMPERATURE');"
append rega_cmd "var IHumi = dom.GetObject('CUxD.CUX9002001:1.SET_HUMIDITY');"
append rega_cmd "var IHumi = dom.GetObject('Luftfeuchtigkeit_innen');"
append rega_cmd "var OTemp = dom.GetObject('CUxD.CUX9002002:1.SET_TEMPERATURE');"
append rega_cmd "var OHumi = dom.GetObject('CUxD.CUX9002002:1.SET_HUMIDITY');"
>>>>

Gruß
Bulli
Hallo Bulli,

Super, Danke hat geklappt.

Beim Abruf des Scriptes ist mir noch aufgefallen das als Outup nicht nur die abgerufenen Variablen angezeigt werden sondern auch

Info: LogI is ….

weist du was die Ausgabe bedeutet?

Hab ich da evtl. noch einen bug im Script?
Unbenannt.JPG
Viele Grüße Megaron

Crady
Beiträge: 272
Registriert: 09.08.2016, 12:16
Hat sich bedankt: 4 Mal

Re: Netatmo Wetterstation (incl. CO2 Messung) einbinden

Beitrag von Crady » 27.01.2020, 14:34

Moin,

irgendwie geht mein Netatmo Skript nicht mehr. Habe es lange nicht gebraucht... daher keine Beachtung geschenkt.

Nun will ich jedoch die Außentemperatur nutzen und bekomme beim Ausführen folgende Fehlermeldung:

Code: Alles auswählen

# tclsh /usr/local/addons/netatmo/netatmo.tcl
can't read "returncode": no such variable
    while executing
"log debug "returncode is $returncode""
    (procedure "parseOAuthResponse" line 11)
    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/netatmo.tcl" line 154)
Was kann es sein? Ich weiß, dass das Skript zu 100% lief... habe es seit August 2016 nicht mehr geändert...

Habe aber nun die neuste FW der CCU2 drauf und die neuste Version vom CUXd... muss hier das Skript angepasst werden? Habe jetzt nichts gefuden...
Gruß

Guido

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 » 28.01.2020, 07:38

Megaron hat geschrieben:
24.01.2020, 19:32


weist du was die Ausgabe bedeutet?

Hab ich da evtl. noch einen bug im Script?
Hallo
ich glaube mal nicht. Wie heisst es immer so schön. Glauben heisst nichts Wissen :D
Wenn deine Geräte und Variablen alle Werte haben, sollte es passen.

Was etwas komisch ist sind die >>LogR<< Einträge, einmal mit value 0 und 0,0.
Die kommen von solchen Zeilen(extra mal LogI genommen)
>> log info "LogI is $response"

Gruß
Bulli

ps bei bedenken einfach noch mal dein Script posten. Dann schau ich noch mal drüber.

Antworten

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