Essent

From Domoticz
Jump to navigation Jump to search

This page describes a way to integrate the Essent "E-thermostaat" (ICY) into Domoticz. This thermostat is manufactured by ICY[1] and can be controlled through the Essent E-thermostaat website and a smartphone app. But there are also unofficial ways to control this thermostat and that's where the fun part starts! Credit: large pieces of the code have it's origin on the Micasaverde-forum[2].


Note: this page is still under heavy construction!

Note 2: As of Version 2.0.2025 (September 28th 2014) the ICY / Essent thermostat is implemented as supported hardware in Domoticz!



1: Reading the current temperature and update a virtual thermometer in Domoticz To read the current temperature, we need to connect to the ICY-portal. You need the credentials you're using on the E-thermostaat website.


Create the following bash-script (inside the "domoticz/scripts"-folder)

TOKEN=`curl -s --request POST 'https://portal.icy.nl/login' --data 'username={username}&password={password}' | awk -F":" '{print $12}' | awk -F'"' '{print $2}'`

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}'`

if [[ $TEMP == ?(-)+([0-9.]) ]]; then
  curl "http://{domoticz-ip}:8080/json.htm?type=command&param=udevice&idx={virtualtemp-idx}&nvalue=0&svalue="$TEMP
fi


Replace the following placeholders:

{username} = your e-thermostaat username

{password} = your password

{domoticz-ip} = ip-address of your domoticz-installation

{virtualtemp-idx} = the idx of the virtual thermometer


Run this script in a cronjob every 5 minutes and the virtual thermometer will reflect the actual temperature on your thermostat!