Read the statement by Michael Teeuw here.
Tado module?
-
This would be awesome!
-
OK, well I have had a play and I can get this working via the API with curl commands…I guess its s start, then I looked at the module docs and woosh, it went right over my head. If it helps anyone here is the process for doing it in bash.
##Fill in your email and your password
USERNAME=you@youremail.com
PASSWORD=yourPassword
####You probably don’t want to edit below here####
##Grabs a cookie to stash your session details
curl --silent “https://my.tado.com/j_spring_security_check?j_password=$PASSWORD&j_username=$USERNAME” --data-binary “{}” --cookie-jar /tmp/tadocookies
##Grabs your unique home ID from a bunch of info
curl --silent “https://my.tado.com/api/v1/me” -H “Referer: https://my.tado.com/” --cookie /tmp/tadocookies > homeId
HOMEID=$(grep -o “homeId.," homeId| awk -F, ‘{print $1}’|awk -F: ‘{print $2}’)
##Now uses your home ID to get the current temp of your home and displays it
curl --silent “https://my.tado.com/api/v1/home/$HOMEID/hvacState” -H “Referer: https://my.tado.com/” --cookie /tmp/tadocookies > temp
TEMP=$(grep -o "celsius.,” temp| awk -F, ‘{print $1}’|awk -F: ‘{print $2}’)
echo “$TEMP”If someone can use that to make an MMM pretty please ;)
-
Has anyone been able to look at this yet?
-
There is a tado API, but I don’t know how to use this to display data on the MagicMirror
https://my.tado.com/mobile/1.9/getCurrentState?username=xxxxxxxxxxxx@xxxxx.xxx&password=yyyyyyyyyyyyyyyyy
I guess in its simplest form, we just need a module which connects to the above URL and then pulls information based on specific strings. eg: “insideTemp”:20.61I can do this in Python… not Javascript though
Example of output
{“success”:true,“operation”:“HOME”,“preheating”:false,“preheatingTargetOperation”:null,“autoOperation”:“HOME”,“operationTrigger”:“SYSTEM”,“insideTemp”:20.61,“setPointTemp”:20.8,“controlPhase”:“STEADY”,“currentUserPrivacyEnabled”:false,“currentUserGeoStale”:null,“deviceUpdating”:false,“homeId”:xxx,“heatingOn”:true,“internetGatewayType”:“GW02”,“internetGatewayConnected”:true,“heatingMuscleType”:“BU01”,“heatingMuscleConnected”:true,“insideTemperatureSensorType”:“RU01”,“insideTemperatureSensorConnected”:true,“settingsEnabled”:true,“fallbackOperation”:false,“helpUrl”:“https://support.tado.com/hc/","pendingDeviceInstallation”:false}
-
I think the following variables would be quite useful.
Insidetemp - displayed as a number
setPointTemp - displayed as a number
heatingon - displayed as an flame icon if set to trueMaybe like this
21.3° / 15.2° /
Where the first temp in bold is current temp, the next is the trigger temperature (ie when the heating would come on) Would anyone else add anything different?
Perhaps mode might be useful as well, as an icon which is held in variable autoOperation. I think the different options here are HOME, AWAY, MANUAL, and the other one for nighttime (not sure what this is called)
-
I tweaked the bash script to the api @krisalexroberts suggested as it takes a lot less to do it, and at @dinkybluebug245’s suggestion added the extra readings…although not sure how the pi will read the hex values? But it works on mac
USERNAME=you@your.email
PASSWORD=yourPassword
curl --silent “https://my.tado.com/mobile/1.9/getCurrentState?username=“$USERNAME”&password=“$PASSWORD”” > temp
insideTemp=$(grep -o “insideTemp." temp| awk ‘{print substr($1,13,4)}’)
setPointTemp=$(grep -o "setPointTemp.” temp| awk ‘{print substr($1,15,4)}’)
heatingOn=$(if grep -q ““heatingOn”:true” temp; then
echo ‘\xf0\x9f\x94\xa5’
else
echo ‘\xf0\x9f\x9a\xab’
fi)
echo “$insideTemp” / “$setPointTemp” / “$heatingOn” -
@charliwest - so how does this all get written up as a magic mirror module? do you know?
-
Yeah no idea about nodejs stuff, spoke to a friend today who is hoping to build a magicmirror (I still havent had time to set mine up at all). He is keen to have a look at this with me. We will hopefully sit down over a couple of beers next week and see if we can bash something out.
Anyone else who already knows more about modules happy for them to take the above and make it work…
@dinkybluebug245 did you test the above, even though only a bash script, still pretty cool -
@charliwest I would have some sparetime tonight, therefore I could help out if someone with a tado acc would like to join me
-
@strawberry-3.141 i have availability tonight