NefitEasy

From Domoticz
Revision as of 18:15, 27 July 2023 by Walter vl (talk | contribs) (→‎Troubleshoot)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Nefit Easy Smart Themostat for HR-Boilers

This thermostat is also known as:

  • Nefit Easy (Netherlands) [1]
  • Junkers Control CT100 (Belgium)
  • Buderus Logamatic TC100 (Belgium)
  • E.L.M. Touch (France)
  • Worcester Wave (UK)
  • Bosch Control CT‑100 (Other)


The thermostat sends data to a central server at Bosch.

With the nefit-easy-server software it is possible to query the Bosch server for data.

Detailed info about nefit-easy-server on Link.


Serial-Number, Access-Key can be found on the back of the Thermostat (you have to lift it off the wall) or in the app under menu Info - Productinfo.

If you forgot your password, you can reset the thermostat. For the nefit-easy-server the password may not contain the character !, # (and perhaps other special characters).

Also the Nefit Easy Serial number (aaa aaa aaa) and the acces key (aaaa aaaa aaaa aaaa) have to be filled in without spaces like (aaaaaaaa and aaaaaaaaaaaaaaaa)..

Installation

  1. Install nefit-easy server
  2. Go to menu Setup - Hardware and select type Nefit Easy HTTP server over Lan interface
    1. Enter a Name (eg Nefit Easy)
    2. Enter remote address (eg 127.0.0.1 when nefit-easy server is installed on the same system as Domoticz)
    3. Enter a port (always 3000, this could conflict with Grafana)

Install nefit-easy-server

Short summary of steps necessary to get the nefit-easy-server installed:

curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -

sudo apt-get install nodejs

  • If necessary / not installed automatically, also install npm

sudo apt-get install npm

  • Install pm2 to control the service

sudo npm install pm2 -g

sudo pm2 startup systemd –u pi --hp /home/pi

  • Install easy server

sudo npm i nefit-easy-http-server -g

  • Create start script

touch nefiteasyhttpserver.sh

Use your standard edit. For example:

vi nefiteasyhttpserver.sh

  • Add lines:
#!/bin/bash
/usr/bin/easy-server --serial=your-serial --access-key=your-access --password=your-password --host=127.0.0.1 >/dev/null
  • Save your file.

chmod 755 nefiteasyhttpserver.sh

Note:

For the nefit-easy-server the password may not contain the character !, # (and perhaps other special characters).

Also the Nefit Easy Serial number (aaa aaa aaa) and the acces key (aaaa aaaa aaaa aaaa) have to be filled in without spaces like (aaaaaaaa and aaaaaaaaaaaaaaaa).


  • Start script

pm2 start /home/pi/nefiteasyhttpserver.sh

pm2 save

  • Check script ....

pm2 list

pm2 show nefiteasyhttpserver

  • Change SSL settings (when you use recent Linux distributions)

[Source https://github.com/robertklep/nefit-easy-http-server]

vi /etc/ssl/openssl.cnf

change the following keys to these values:

MinProtocol = None CipherString = DEFAULT

Troubleshoot

  • Devices not updating

When the Nefit devices are not updating in Domoticz and/or Error: Nefit Easy: Error getting http data! is shown in the log: check if the nefit easy http server process is running. In a terminal session run:

curl http://127.0.0.1:3000/api/status

It should give a json result.

Error when starting pm2 nefiteasyhttpserver.sh: the ownership of directory home/<user>/.pm2 has to be changed.


Linux command:

sudo chown <user> -R .pm2

After this command:

pm2 start /home/<user>/nefiteasyhttpserver.sh \

pm2 save

Then restart the system and NefitEasy server is running.

Fireplace mode

FireplaceMode switch (Dutch: openhaard functie) on a linux pc:

1. Install the nefit-easy-cli (https://github.com/robertklep/nefit-easy-cli) as the standard plugin has no function for this.

2. Make 2 bash scripts in /home/<user>/domoticz/scripts for on/off switching:

''fireplacemode-on.sh''

#!/bin/bash
easy --serial=SERIAL --access-key=KEY --password=PASSWORD put /ecus/rrc/userprogram/fireplacefunction '{"value":"on"}'

''fireplacemode-off.sh''

#!/bin/bash
easy --serial=SERIAL --access-key=KEY --password=PASSWORD put /ecus/rrc/userprogram/fireplacefunction '{"value":"off"}'

3. Make the 2 executable with sudo chmod +x yourfilename.sh

Add a virtual dummy switch in Domoticz named for example "Nefit Fireplacemode"

Edit the switch an add the 2 scripts as on and off action eg script:///home/<user>/domoticz/scripts/fireplacemode-on.sh

Now you can switch the FireplaceMode from Domoticz and also use it in scripts.