Skip to content

Commit

Permalink
netatmo access token renew
Browse files Browse the repository at this point in the history
  • Loading branch information
psmsmets committed Oct 31, 2023
1 parent 2148421 commit 9581039
Showing 1 changed file with 22 additions and 11 deletions.
33 changes: 22 additions & 11 deletions thermmode-unifi.sh
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ function version
}


function config
function config
{
#
# Message to display for version.
Expand Down Expand Up @@ -280,25 +280,37 @@ function unifi_client {

function netatmo_access_token {
#
# Netatmo Connect oauth2 access token
# Netatmo Connect oauth2 refresh access token
#
response=$(/usr/bin/curl \
--silent \
--show-error \
--header "accept: application/json" \
--data grant_type=authorization_code \
--data grant_type=refresh_token \
--data client_id=$NETATMO_CLIENT_ID \
--data client_secret=$NETATMO_CLIENT_SECRET \
--data username=$NETATMO_USERNAME \
--data password=$NETATMO_PASSWORD \
--data scope="read_thermostat write_thermostat" \
--data refresh_token=$NETATMO_REFRESH_TOKEN \
https://api.netatmo.com/oauth2/token)
if echo $response | grep error > /dev/null;
then
echo $response && exit 1
fi
NETATMO_ACCESS_TOKEN="${response##*\"access_token\":\"}"
NETATMO_ACCESS_TOKEN="${NETATMO_ACCESS_TOKEN%%\"*}"
fi

NETATMO_ACCESS_TOKEN_="${response##*\"access_token\":\"}"
NETATMO_ACCESS_TOKEN_="${NETATMO_ACCESS_TOKEN_%%\"*}"
if [ "$NETATMO_ACCESS_TOKEN" != "$NETATMO_ACCESS_TOKEN_" ];
then
sed -i 's#'$NETATMO_ACCESS_TOKEN'#'$NETATMO_ACCESS_TOKEN_'#g' $1
NETATMO_ACCESS_TOKEN=$NETATMO_ACCESS_TOKEN_
fi

NETATMO_REFRESH_TOKEN_="${response##*\"refresh_token\":\"}"
NETATMO_REFRESH_TOKEN_="${NETATMO_REFRESH_TOKEN_%%\"*}"
if [ "$NETATMO_REFRESH_TOKEN" != "$NETATMO_REFRESH_TOKEN_" ];
then
sed -i 's#'$NETATMO_REFRESH_TOKEN'#'$NETATMO_REFRESH_TOKEN_'#g' $1
NETATMO_REFRESH_TOKEN=$NETATMO_REFRESH_TOKEN_
fi
}


Expand Down Expand Up @@ -506,14 +518,13 @@ NETATMO_API="https://api.netatmo.com/api"
#
#-------------------------------------------------------------------------------

#netatmo_access_token
netatmo_access_token $1

if [ "$NETATMO_HOME_ID" == "" ];
then
NETATMO_HOME_ID=$(netatmo_gethomeid)
fi


#-------------------------------------------------------------------------------
#
# Client verification
Expand Down

0 comments on commit 9581039

Please sign in to comment.