Advertisement
Guest User

e-thermostat

a guest
Jun 17th, 2016
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.00 KB | None | 0 0
  1. #!/bin/bash
  2. # E-thermostaat control & info script
  3. USERNAME=YOUR_E-THERMOSTAAT.NL_USERNAME
  4. PASSWORD=PASSWORD
  5. SN=SERIAL NUMBER A.K.A UID
  6.  
  7. CELCIUS=$'\xe2\x84\x83'
  8.  
  9. TOKEN=`curl -s --request POST 'https://portal.icy.nl/login' --data 'username='${USERNAME}'&password='${PASSWORD}'' | awk -F":" '{print $12}' | awk -F'"' '{print $2}'` SET=`curl -s -H "Session-token:$TOKEN" --request GET 'https://portal.icy.nl/data' --data 'username='${USERNAME}'&password='${PASSWORD}'' |awk -F":" '{print $10}' | awk -F',' '{print $1}'`
  10. case "$1" in
  11. temp)
  12. TEMP=`curl -s -H "Session-token:$TOKEN" --request GET 'https://portal.icy.nl/data' --data 'username='${USERNAME}'&password='${PASSWORD}'' |awk -F":" '{print $11}' | awk -F',' '{print $1}'`
  13. echo huidig: $TEMP$CELCIUS ingesteld: $SET$CELCIUS
  14. ;;
  15. comfort)
  16. TEMPERATURE=20
  17. for RETRY in 1 2 3 4 5 6
  18. do
  19. RESULT=`curl -s -H "Session-token:$TOKEN" --request POST 'https://portal.icy.nl/data' --data "uid=$SN&temperature1=$TEMPERATURE" | tr -d '{}"' | awk -F":" '{print $4}'`
  20. [ $RESULT = OK ] && break
  21. sleep 300
  22. done
  23. ;;
  24. bespaar)
  25. TEMPERATURE=15
  26. for RETRY in 1 2 3 4 5 6
  27. do
  28. RESULT=`curl -s -H "Session-token:$TOKEN" --request POST 'https://portal.icy.nl/data' --data "uid=$SN&temperature1=$TEMPERATURE" | tr -d '{}"' | awk -F":" '{print $4}'`
  29. [ $RESULT = OK ] && break
  30. sleep 300
  31. done
  32. ;;
  33. set)
  34. TEMPERATURE=$2
  35. for RETRY in 1 2 3 4 5 6
  36. do
  37. RESULT=`curl -s -H "Session-token:$TOKEN" --request POST 'https://portal.icy.nl/data' --data "uid=$SN&temperature1=$TEMPERATURE" | tr -d '{}"' | awk -F":" '{print $4}'`
  38. [ $RESULT = OK ] && break
  39. sleep 300
  40. done
  41. ;;
  42. check)
  43. echo "$SET"
  44. ;;
  45. up)
  46. NEWSET=`echo $SET + 1 |bc`
  47. for RETRY in 1 2 3 4 5 6
  48. do
  49. RESULT=`curl -s -H "Session-token:$TOKEN" --request POST 'https://portal.icy.nl/data' --data "uid=$SN&temperature1=$NEWSET" | tr -d '{}"' | awk -F":" '{print $4}'`
  50. [ $RESULT = OK ] && break
  51. sleep 300
  52. done
  53. ;;
  54. down)
  55. NEWSET=`echo $SET - 1 |bc`
  56. for RETRY in 1 2 3 4 5 6
  57. do
  58. RESULT=`curl -s -H "Session-token:$TOKEN" --request POST 'https://portal.icy.nl/data' --data "uid=$SN&temperature1=$NEWSET" | tr -d '{}"' | awk -F":" '{print $4}'`
  59. [ $RESULT = OK ] && break
  60. sleep 300
  61. done
  62. ;;
  63. *)
  64. echo "Please use one of the following options:"
  65. echo "check :Display current set point"
  66. echo "info :Display current temperature and setpoint"
  67. echo "set :Set the setpoint to the given value"
  68. echo "comfort :Set the setpoint to 20"
  69. echo "bespaar :Set the setpoint to 15"
  70. echo "up/down :Adjust the setpoint with + 1"
  71. exit 1
  72. ;;
  73. esac
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement