Bosch EasyControl (Nefit Easy's Big Brother)
Moderator: leecollings
-
edwin1234
- Posts: 330
- Joined: Sunday 09 October 2016 20:20
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2021.1
- Location: Nederland
- Contact:
Re: Bosch EasyControl (Nefit Easy's Big Brother)
Im missing :
What temperature is it now?
Set temperature 20 degrees
What is the pressure?
What is suply or return temperature?
If its possible, can you explain how to do that?
What temperature is it now?
Set temperature 20 degrees
What is the pressure?
What is suply or return temperature?
If its possible, can you explain how to do that?
- Egregius
- Posts: 2592
- Joined: Thursday 09 April 2015 12:19
- Target OS: Linux
- Domoticz version: v2024.7
- Location: Beitem, BE
- Contact:
Re: Bosch EasyControl (Nefit Easy's Big Brother)
I guess you'll have to wait for the developer api for those details.
I ment that the main usage things are possible.
New temperatures you could get whit a easycontrol -> webhooks applet, but only per 0,5° change.
Set temperature can be done, and also home/away.
I ment that the main usage things are possible.
New temperatures you could get whit a easycontrol -> webhooks applet, but only per 0,5° change.
Set temperature can be done, and also home/away.
-
edwin1234
- Posts: 330
- Joined: Sunday 09 October 2016 20:20
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2021.1
- Location: Nederland
- Contact:
Re: Bosch EasyControl (Nefit Easy's Big Brother)
Thanks for your answer,
Yes i know,
But cant wait
Yes i know,
But cant wait
- Egregius
- Posts: 2592
- Joined: Thursday 09 April 2015 12:19
- Target OS: Linux
- Domoticz version: v2024.7
- Location: Beitem, BE
- Contact:
Re: Bosch EasyControl (Nefit Easy's Big Brother)
Well, we've been waiting 2 years for IFTTT integration... Maybe another 2 years for the API?
You could mail them at [email protected]
Maybe it'll speed things up if lots of people ask for it...
I don't know what they mean with "This offer is only addressed to commercial customers including freelancers and entrepreneurs.". Could be that the API won't be accessible for normal users. There's also a page "Plans and Pricing" wich could indicate that it won't be free.
You could mail them at [email protected]
Maybe it'll speed things up if lots of people ask for it...
I don't know what they mean with "This offer is only addressed to commercial customers including freelancers and entrepreneurs.". Could be that the API won't be accessible for normal users. There's also a page "Plans and Pricing" wich could indicate that it won't be free.
-
edwin1234
- Posts: 330
- Joined: Sunday 09 October 2016 20:20
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2021.1
- Location: Nederland
- Contact:
Re: Bosch EasyControl (Nefit Easy's Big Brother)
I will try that,
I work as a service engineer for heating systems
Maybe if i sent a mail as a service dealer for nefit/bosch it will help a bit.
But dont think so.
Think we must be patience.
I work as a service engineer for heating systems
Maybe if i sent a mail as a service dealer for nefit/bosch it will help a bit.
But dont think so.
Think we must be patience.
-
petkli
- Posts: 4
- Joined: Thursday 03 October 2019 20:10
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Bosch EasyControl (Nefit Easy's Big Brother)
i did sent them an email too
-
petkli
- Posts: 4
- Joined: Thursday 03 October 2019 20:10
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Bosch EasyControl (Nefit Easy's Big Brother)
email from Bosch:
Thank you for your interest and for contacting Bosch.
We do have a way to pair/register easy control device on our website.
Please refer to https://developer.bosch.com/web/bosch-t ... i/overview
Unfortunately, we do not have a way you can create your own client for a standalone app. We hope to add this in the future, but there is no standard timeline.
Currently you can control your device only on the website.
Thank you for your interest and for contacting Bosch.
We do have a way to pair/register easy control device on our website.
Please refer to https://developer.bosch.com/web/bosch-t ... i/overview
Unfortunately, we do not have a way you can create your own client for a standalone app. We hope to add this in the future, but there is no standard timeline.
Currently you can control your device only on the website.
-
ceesjan
- Posts: 3
- Joined: Saturday 02 May 2015 1:17
- Target OS: Linux
- Domoticz version: 2020.2
- Location: Schiphol
- Contact:
Re: Bosch EasyControl (Nefit Easy's Big Brother)
Has anyone managed to connect the Bosch easyconnect for a Nefit proline to Domoticz? my OS Ubuntu 20.04
- waltervl
- Posts: 6677
- Joined: Monday 28 January 2019 18:48
- Target OS: Linux
- Domoticz version: 2025.1
- Location: NL
- Contact:
Re: Bosch EasyControl (Nefit Easy's Big Brother)
No one yet managed to access the EasyControl outside the Bosch app. Follow the search for access here: https://github.com/robertklep/bosch-xmpp/issues/4
Domoticz running on Udoo X86 (on Ubuntu)
Devices/plugins: ZigbeeforDomoticz (with Xiaomi, Ikea, Tuya devices), Nefit Easy, Midea Airco, Omnik Solar, Goodwe Solar
Devices/plugins: ZigbeeforDomoticz (with Xiaomi, Ikea, Tuya devices), Nefit Easy, Midea Airco, Omnik Solar, Goodwe Solar
-
zandhaas
- Posts: 15
- Joined: Wednesday 09 November 2016 5:11
- Target OS: NAS (Synology & others)
- Domoticz version: V3.8805
- Contact:
Re: Bosch EasyControl (Nefit Easy's Big Brother)
Robert Klep managed to get access to the CT200 (Easycontrol) with the Bosch-xmpp tool.
The easy control option is added to the bosch-xmpp tool.
https://github.com/robertklep/bosch-xmpp
Perhaps someone is able to build a new plugin for this.

The easy control option is added to the bosch-xmpp tool.
https://github.com/robertklep/bosch-xmpp
Perhaps someone is able to build a new plugin for this.
- waltervl
- Posts: 6677
- Joined: Monday 28 January 2019 18:48
- Target OS: Linux
- Domoticz version: 2025.1
- Location: NL
- Contact:
Re: Bosch EasyControl (Nefit Easy's Big Brother)
Perhaps the Nefit easy http server can be modified to also use the Bosch EasyControl, then no major changes to the integration are needed.
I asked it in https://github.com/robertklep/nefit-eas ... /issues/51
I have no Bosch EasyControl so have no real interest here. Perhaps you can add your thoughts to the github issue...
I asked it in https://github.com/robertklep/nefit-eas ... /issues/51
I have no Bosch EasyControl so have no real interest here. Perhaps you can add your thoughts to the github issue...
Domoticz running on Udoo X86 (on Ubuntu)
Devices/plugins: ZigbeeforDomoticz (with Xiaomi, Ikea, Tuya devices), Nefit Easy, Midea Airco, Omnik Solar, Goodwe Solar
Devices/plugins: ZigbeeforDomoticz (with Xiaomi, Ikea, Tuya devices), Nefit Easy, Midea Airco, Omnik Solar, Goodwe Solar
- waltervl
- Posts: 6677
- Joined: Monday 28 January 2019 18:48
- Target OS: Linux
- Domoticz version: 2025.1
- Location: NL
- Contact:
Re: Bosch EasyControl (Nefit Easy's Big Brother)
Perhaps lean on https://github.com/doudz/bosch-thermost ... tree/ct200 and make a python plugin
Edit: also already some work done here in HA: https://github.com/bosch-thermostat/hom ... /issues/64
Edit: also already some work done here in HA: https://github.com/bosch-thermostat/hom ... /issues/64
Domoticz running on Udoo X86 (on Ubuntu)
Devices/plugins: ZigbeeforDomoticz (with Xiaomi, Ikea, Tuya devices), Nefit Easy, Midea Airco, Omnik Solar, Goodwe Solar
Devices/plugins: ZigbeeforDomoticz (with Xiaomi, Ikea, Tuya devices), Nefit Easy, Midea Airco, Omnik Solar, Goodwe Solar
-
petkli
- Posts: 4
- Joined: Thursday 03 October 2019 20:10
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Bosch EasyControl (Nefit Easy's Big Brother)
IFTTT and the Bosch EasyControl workz.
And you can control this in Domoticz.
I know, it is not the real thing, but it workz.
And you can control this in Domoticz.
I know, it is not the real thing, but it workz.
- waltervl
- Posts: 6677
- Joined: Monday 28 January 2019 18:48
- Target OS: Linux
- Domoticz version: 2025.1
- Location: NL
- Contact:
Re: Bosch EasyControl (Nefit Easy's Big Brother)
There is now a python library able to work with the Bosch Easycontrol: https://github.com/bosch-thermostat/bos ... ent-python
Domoticz running on Udoo X86 (on Ubuntu)
Devices/plugins: ZigbeeforDomoticz (with Xiaomi, Ikea, Tuya devices), Nefit Easy, Midea Airco, Omnik Solar, Goodwe Solar
Devices/plugins: ZigbeeforDomoticz (with Xiaomi, Ikea, Tuya devices), Nefit Easy, Midea Airco, Omnik Solar, Goodwe Solar
-
gggr
- Posts: 4
- Joined: Saturday 26 March 2016 21:31
- Target OS: NAS (Synology & others)
- Domoticz version:
- Contact:
Re: Bosch EasyControl (Nefit Easy's Big Brother)
I am a bit late to the party, but I built a plugin for Domoticz that reads data from the Bosch Easycontrol using the bosch-xmpp tool. It is very simple and provides you with some devices that are updated every minute.
You can check it out here: https://github.com/ggraat/domoticz-easycontrol-plugin
You can check it out here: https://github.com/ggraat/domoticz-easycontrol-plugin
- waltervl
- Posts: 6677
- Joined: Monday 28 January 2019 18:48
- Target OS: Linux
- Domoticz version: 2025.1
- Location: NL
- Contact:
Re: Bosch EasyControl (Nefit Easy's Big Brother)
This is great! Thanks. I have added it to the python plugin page. https://www.domoticz.com/wiki/Pluginsgggr wrote: Monday 06 February 2023 23:49 I am a bit late to the party, but I built a plugin for Domoticz that reads data from the Bosch Easycontrol using the bosch-xmpp tool. It is very simple and provides you with some devices that are updated every minute.
You can check it out here: https://github.com/ggraat/domoticz-easycontrol-plugin
Domoticz running on Udoo X86 (on Ubuntu)
Devices/plugins: ZigbeeforDomoticz (with Xiaomi, Ikea, Tuya devices), Nefit Easy, Midea Airco, Omnik Solar, Goodwe Solar
Devices/plugins: ZigbeeforDomoticz (with Xiaomi, Ikea, Tuya devices), Nefit Easy, Midea Airco, Omnik Solar, Goodwe Solar
- Domoberry
- Posts: 126
- Joined: Tuesday 30 May 2017 19:00
- Target OS: Raspberry Pi / ODroid
- Domoticz version: 2024.7
- Contact:
Re: Bosch EasyControl (Nefit Easy's Big Brother)
I have succesfully used the bosch-xmpp gateway and the plugin as mentioned above. Some 6 values of the Easycontrol CT200 are now available in Domoticz.To start the bosch-xmpp service I'm using a systemd script. Bit more information here: https://domoticz.com/forum/posting.php? ... ly&t=22726
-
janpep
- Posts: 288
- Joined: Thursday 14 March 2024 10:11
- Target OS: Linux
- Domoticz version: 2025.1
- Location: Netherlands
- Contact:
Re: Bosch EasyControl (Nefit Easy's Big Brother)
At the moment I am using Domoticz as an interface bewteen a Calendar (imported and parsed ics with a script) and a remote location where Honeywell EVOhome installation is used. In the morning I get the events for the day and set setpoint timers for the needed zones.
This system will probably be replaced by Bosch Easycontrol. I am reading here and I saw the references to github.
But I still don't get a good idea of how it works and what is needed. Can someone explain it to me? What runs where? Which devices are used? Does it only read the data or can the thermostat also be set per room from Domoticz? And last but not least: Does it work reliably?
This system will probably be replaced by Bosch Easycontrol. I am reading here and I saw the references to github.
But I still don't get a good idea of how it works and what is needed. Can someone explain it to me? What runs where? Which devices are used? Does it only read the data or can the thermostat also be set per room from Domoticz? And last but not least: Does it work reliably?
Dz on Ubuntu VM on DS718+ behind FRITZ!Box.
EvoHome; MELCloud; P1 meter; Z-Stick GEN5; Z-Wave-js-ui; Sonoff USB-Dongle Plus-E; Zigbee2Mqtt; MQTT; Greenwave powernodes 1+6; Fibaro switch, plugs, smoke; FRITZ!DECT 200. Scripts listed in profile interests.
EvoHome; MELCloud; P1 meter; Z-Stick GEN5; Z-Wave-js-ui; Sonoff USB-Dongle Plus-E; Zigbee2Mqtt; MQTT; Greenwave powernodes 1+6; Fibaro switch, plugs, smoke; FRITZ!DECT 200. Scripts listed in profile interests.
Re: Bosch EasyControl (Nefit Easy's Big Brother)
Since my Nest (gen1) was withdrawn from online being by Google, i bought myself a Bosch CT200 for my NEfit CV installation...gggr wrote: Monday 06 February 2023 23:49 I am a bit late to the party, but I built a plugin for Domoticz that reads data from the Bosch Easycontrol using the bosch-xmpp tool. It is very simple and provides you with some devices that are updated every minute.
You can check it out here: https://github.com/ggraat/domoticz-easycontrol-plugin
I struggled with all the plugin and easyhttp servers... Tried a bridge script, tried the mqtt, some easyhttp server usinge docker/portainer... Any way, your work inspired me to do a rework and make a plugin that only needs the BOSCH-XMPP installed, and starts its own bridge in a subprocess, and sends data using the client interface... So this plugin reads and writes to the CT200 thermostate...
For everyone who likes, try it out:
Code: Select all
"""
<plugin key="bosch-ct200-plugin" name="Bosch CT200 plugin" author="Korrel" version="0.1.1">
<description>
<h2>Bosch Easycontrol (CT200) plugin</h2><br/>
Basic plugin that gets information from and puts information back to a Bosch Easycontrol CT200 thermostate using BOSCH-XMPP communication.<br/><br/>
<h3>Devices</h3><br/>
The following devices are created :
<ul style="list-style-type:square">
<li>Room thermostate</li>
<li>Room temperature</li>
<li>Room humidity indoor</li>
<li>Outdoor temperature</li>
<li>Actual supply temperature</li>
<li>Supply temperature setpoint</li>
<li>Away</li>
<li>Away temperature</li>
<li>Auto Away - enabled</li>
</ul>
<h3>Configuration</h3><br/>
The plugin is using Bosch XMPP in Bridge mode for getting information, device changes are PUT by using the BOSCH-XMPP cli interface.<br/>
If "run bridge" is set to 1 a subprocess running the bridge is started. Make sure the port is not used by another process.<br/>
If "run bridge" is set to 0, the plugin will make use of a running bridge.<br/>
The bosch-xmpp is mandatory for use with this plugin. Visit <a href="https://github.com/robertklep/bosch-xmpp">https://github.com/robertklep/bosch-xmpp</a> for more information or to install.<br/>
</description>
<params>
<param field="Address" label="IP Address" width="250px" required="true" default="127.0.0.1"/>
<param field="Port" label="Port" width="50px" required="true" default="8081"/>
<param field="Mode5" label="Run bridge" width="30px" required="true" default="0"/>
<param field="Mode1" label="Serial Key" width="250px" required="true" default="101xxxxxx"/>
<param field="Mode2" label="Access Key" width="250px" required="true" default="XxXxXxXxXxXxXxXx"/>
<param field="Password" label="Password" width="250px" required="true" default="secret" password="true"/>
<param field="Mode3" label="Path to bosch-xmpp" width="250px" required="true" default="/usr/local/bin/bosch-xmpp"/>
<param field="Mode4" label="Refresh rate" width="30px" required="true" default="6"/>
<param field="Mode6" label="Debug" width="75px">
<options>
<option label="True" value="Debug"/>
<option label="False" value="Normal" default="true" />
</options>
</param>
</params>
</plugin>
"""
import Domoticz
import requests
import os
import subprocess
class BoschCT200Plugin:
class dzCT200device:
def __init__(self, unit, endpoint, name, typename=None, type=None, subtype=None, image=None, switchtype=None):
if typename is not None:
if image is not None:
self.device = Domoticz.Device(Unit=unit, Name=name, TypeName=typename, Image=image)
else:
self.device = Domoticz.Device(Unit=unit, Name=name, TypeName=typename)
else:
if image is not None:
self.device = Domoticz.Device(Unit=unit, Name=name, Type=type, Subtype=subtype, Image=image)
else:
self.device = Domoticz.Device(Unit=unit, Name=name, Type=type, Subtype=subtype)
# self.device = Domoticz.Device(Unit=unit, Name=name, TypeName=typename, Type=type, Subtype=subtype, Image=image, Switchtype=switchtype)
self.endpoint = endpoint
runAgain = 6
CT200devices = ()
pMainBridge = None
def __init__(self):
return
def onStart(self):
Domoticz.Debug("onStart called")
if Parameters["Mode6"] == "Debug":
Domoticz.Debugging(1)
if int(Parameters["Mode4"]) >=0:
self.runAgain = int(Parameters["Mode4"])
self.CT200devices = (
self.dzCT200device(1, "/zones/zn1/manualTemperatureHeating", "Room thermostate", None, 242, 1, 103, None),
self.dzCT200device(2, "/zones/zn1/temperatureActual", "Room temperature", "Temperature", None, None),
self.dzCT200device(3, "/system/sensors/humidity/indoor_h1", "Room humidity indoor", "Humidity", None, None),
self.dzCT200device(4, "/system/sensors/temperatures/outdoor_t1", "Outdoor temperature", "Temperature", None, None),
self.dzCT200device(5, "/heatSources/actualSupplyTemperature", "Actual supply temperature", "Temperature"),
self.dzCT200device(6, "/heatingCircuits/hc1/supplyTemperatureSetpoint", "Supply temperature setpoint", None, 242, 1, None, None),
self.dzCT200device(7, "/system/awayMode/enabled", "Away mode", None, 17, 1, 102, None),
self.dzCT200device(8, "/system/awayMode/temperature", "Away temperature", None, 242, 1, None, None),
self.dzCT200device(9, "/system/autoAway/enabled", "Auto away", None, 17, 1, 102, None)
)
if (len(Devices) == 0):
for CT200device in self.CT200devices:
CT200device.device.Create()
Domoticz.Log("Created " + CT200device.device.Name + " device")
self.updateDeviceValue(CT200device)
else:
Domoticz.Debug("Devices already exist" + str(Devices))
if Parameters["Mode5"] == "1":
Parameters["Address"] = "127.0.0.1"
self.pMainBridge = subprocess.Popen([Parameters["Mode3"], '--serial=' + Parameters["Mode1"], '--access-key=' + Parameters["Mode2"], '--password=' + Parameters["Password"], 'easycontrol', 'bridge', Parameters["Port"], Parameters["Address"]])
Domoticz.Debug("Bridge is running in process : " + str(self.pMainBridge.pid))
def onStop(self):
if Parameters["Mode5"] == "1":
Domoticz.Debug("Going to kill process : " + str(self.pMainBridge.pid) + " (Bridge)")
self.pMainBridge.terminate()
return
def onConnect(self, Connection, Status, Description):
return
def onMessage(self, Connection, Data):
Domoticz.Debug("onMessage called")
Domoticz.Debug("onMessage called with Data: '"+str(strData)+"'")
return
def onCommand(self, Unit, Command, Level, Hue):
aCT200device = self.CT200devices[Unit-1]
Domoticz.Debug("onCommand called for unit : '" + str(Unit)+"' " + aCT200device.endpoint + " - Level : " +str(Level) + " - Command : " + Command)
match Command:
case "Set Level":
os.system(Parameters["Mode3"] + " --serial=" + Parameters["Mode1"] + " --access-key=" + Parameters["Mode2"] + " --password=" + Parameters["Password"] + " easycontrol put " + aCT200device.endpoint + " '{\"value\":" + str(Level) + "}'")
case "On":
os.system(Parameters["Mode3"] + " --serial=" + Parameters["Mode1"] + " --access-key=" + Parameters["Mode2"] + " --password=" + Parameters["Password"] + " easycontrol put " + aCT200device.endpoint + " '{\"value\":\"true\"}'")
case "Off":
os.system(Parameters["Mode3"] + " --serial=" + Parameters["Mode1"] + " --access-key=" + Parameters["Mode2"] + " --password=" + Parameters["Password"] + " easycontrol put " + aCT200device.endpoint + " '{\"value\":\"false\"}'")
case _:
Domoticz.Debug("No Message defined for this unit ....")
self.updateDeviceValue(aCT200device)
return
def onNotification(self, Name, Subject, Text, Status, Priority, Sound, ImageFile):
Domoticz.Log("Notification: " + Name + "," + Subject + "," + Text + "," + Status + "," + str(Priority) + "," + Sound + "," + ImageFile)
return
def onDisconnect(self, Connection):
Domoticz.Log("onDisconnect called")
self.isConnected = False
return
def onHeartbeat(self):
self.runAgain = self.runAgain - 1
if self.runAgain <= 0:
for CT200device in self.CT200devices:
self.updateDeviceValue(CT200device)
self.runAgain = int(Parameters["Mode4"])
else:
Domoticz.Debug("onHeartbeat called, run again in " + str(self.runAgain) + " heartbeats.")
def updateDeviceValue(self, aCT200device: dzCT200device):
url = "http://" + Parameters["Address"] + ":" + Parameters["Port"] + "/bridge" + aCT200device.endpoint
request = requests.get(url)
value = request.json()["value"]
if aCT200device.device.Type == 17:
if str(value) == "false": value = 0
else: value = 1
Domoticz.Debug("Going to set value " + str(value) + " on device " + aCT200device.device.Name)
aCT200device.device.Update(int(value), str(value))
global _plugin
_plugin = BoschCT200Plugin()
def onStart():
global _plugin
_plugin.onStart()
def onStop():
global _plugin
_plugin.onStop()
def onConnect(Connection, Status, Description):
global _plugin
_plugin.onConnect(Connection, Status, Description)
def onMessage(Connection, Data):
global _plugin
_plugin.onMessage(Connection, Data)
def onCommand(Unit, Command, Level, Hue):
global _plugin
_plugin.onCommand(Unit, Command, Level, Hue)
def onNotification(Name, Subject, Text, Status, Priority, Sound, ImageFile):
global _plugin
_plugin.onNotification(Name, Subject, Text, Status, Priority, Sound, ImageFile)
def onDisconnect(Connection):
global _plugin
_plugin.onDisconnect(Connection)
def onHeartbeat():
global _plugin
_plugin.onHeartbeat()
- waltervl
- Posts: 6677
- Joined: Monday 28 January 2019 18:48
- Target OS: Linux
- Domoticz version: 2025.1
- Location: NL
- Contact:
Re: Bosch EasyControl (Nefit Easy's Big Brother)
Looks to be very similar as the original plugin https://github.com/ggraat/domoticz-easycontrol-plugin that also only needs the xmpp installed....
Perhaps you can make a PR on the original plugin with your extra functionality?
Perhaps you can make a PR on the original plugin with your extra functionality?
Domoticz running on Udoo X86 (on Ubuntu)
Devices/plugins: ZigbeeforDomoticz (with Xiaomi, Ikea, Tuya devices), Nefit Easy, Midea Airco, Omnik Solar, Goodwe Solar
Devices/plugins: ZigbeeforDomoticz (with Xiaomi, Ikea, Tuya devices), Nefit Easy, Midea Airco, Omnik Solar, Goodwe Solar
Who is online
Users browsing this forum: No registered users and 1 guest