robertklep / bosch-xmpp

Protocol implementation for Bosch XMPP protocols
MIT License
47 stars 8 forks source link

Endpoints for Bosch Supraeco heatpump? #19

Open vonkienm opened 3 years ago

vonkienm commented 3 years ago

Recently I received a Bosch Supraeco STE 80-1 heatpump connected via the MB LAN 2 interface, but the Bosch EasyRemote-App is very limited to monitor the status of the heatpump. Have users been successful to use this xmpp-software to retrieve parameters like number of compressor starts and operating time, differentiated for heating and hot water? I'd also be interested to retrieve the energy produced and the various temperatures in the system. Is endpoint discovery possible with this system?

Many thanks for sharing any experience that you have with this setup, whether positiv or negativ. regards, Markus

vonkienm commented 3 years ago

Someone else on GitHub has looked into a similar system and compiled a list of endpoints: https://github.com/matsdune/node-red-contrib-bosch-heatpump-decrypt/wiki/Endpoints

prj commented 3 years ago

I have a Junkers heatpump, however most of the endpoints on that page give a 404 error.

Is the only way to find endpoints by monitoring traffic between the App and Bosch servers?

Found this dump, but it's pretty much more of the same: https://www.smarthomeng.de/developer/plugins/buderus/URLs.html

robertklep commented 3 years ago

You can also decompile the mobile app (Android is typically the easiest to decompile) to find endpoints.

prj commented 3 years ago

Yes, but I am looking for stuff that specifically isn't in the mobile app.

It's really stupid because I can see my heating contour setpoint but not the actual, and it's not under /system/sensors either unfortunately.

Of course it's possible this data isn't even sent. Considering of course that it's CAN, I could maybe drop a sniffer directly onto the CAN and see if there are any messages broadcasted continuously, but then I wouldn't even need the MB Lan 2.

prj commented 3 years ago

Did some digging and it seems my device just does not expose this information...

Here's a lit of roots addresses that can be scanned on most devices to find data: "/dhwCircuits", "/gateway", "/heatingCircuits", "/heatSources", "/notifications", "/system", "/solarCircuits", "/recordings", "/devices", "/energy", "/events", "/programs", "/zones", "/ecus",

I guess in my case I need to add a sensor.

Bulforce commented 2 years ago

/heatpumps

vonkienm commented 2 years ago

Hi, I also have a Bosch Supraeco heatpump and have the same issue as @prj: I'd be very interested to see & record more parameters than available in the mobile app, for instance to optimize the heat curve. In my system, only these seven root endpoints provide results using @robertklep's software:

  1. /system
  2. /gateway
  3. /application
  4. /heatingCircuits
  5. /dhwCircuits
  6. /recordings
  7. /systemStates

These other nine root endpoints mentioned in the discussions are not found for my system on the XMPP server:

  1. /heatSources
  2. /heatpumps
  3. /notifications
  4. /devices
  5. /energy
  6. /events
  7. /programs
  8. /zones
  9. /ecus

It would be even better if data like actual temperatures, energy produced or compressor runtime could be directly read locally, without the detour through Bosch's server. Any hints or further root endpoints I could try?

robertklep commented 2 years ago

@vonkienm does your device support autodiscovery of endpoints? In other words, if you retrieve / it should return a list of endpoints rooted at /, and if you retrieve (say) /system, it would return a list of endpoints rooted at /system, etc.

Some Bosch devices supports this, others don't. If not, there's not much to go on besides trying to find a firmware file for your device to see if that provides any clues.

vonkienm commented 2 years ago

@robertklep: sorry, I forgot to mention this. My device needs the first level in the hierarchy of endpoints to discover the subsequent endpoints, so for instance it indeed lists the endpoints rooted under "/system". Unfortunately, this does not work on my system for the root level "/".

robertklep commented 2 years ago

@vonkienm in that case I don't see a possibility to find further endpoints rooted at /, especially not when the app itself doesn't use them.