Feature Request: Hobby Connect for Hobby Caravans

Yesterday had some time over… Managed to get the Esphome component from rawsludge working. So far only temperature inside and temperature outside, but a start. Using a Seeed Studio XIAO ESP32-S3 Plus micro controller board.

Hi tomjeppis,

great news that you got it working! I also have a Hobby caravan and just scanned with nRF Connect - found my caravan as “MyHobby Data” with MAC DE:00:12:20:68:06.

I have an ESP32 on order and would love to get started as well. Which ESPHome branch from rawsludge are you using exactly? And did you have to do anything special to get it paired/connected?

Looking forward to hearing from you!

Below is my esphome code at the moment… not clean… but working for temp in and out.

esphome:
  name: hobby-ble
  friendly_name: Hobby BLE

esp32:
  board: seeed_xiao_esp32s3
  framework:
    type: esp-idf
psram:
  mode: octal
  speed: 80MHz


# Enable logging
logger:
  hardware_uart: USB_SERIAL_JTAG
  level: VERY_VERBOSE     #Turns on very chatty logs
  #level: VERBOSE     

# Enable Home Assistant API
api:
  encryption:
    key: "hQ9NsS SOME DATA WITHELD mI2jzskSltjM="

ota:
  - platform: esphome
    password: "30ccff SOME DATA WITHELD 322c76fe"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Hobby-Ble Fallback Hotspot"
    password: "3wqJZm7iGI1U"

captive_portal:

# BLE scanning (tunable for debugging)
esp32_ble_tracker:
  scan_parameters:
    interval: 320ms
    window: 120ms
    active: true
    continuous: true

ble_client:
  - mac_address: DE:00:14:00:61:46  # Your Hobbys BLE MAC address
    id: my_ble_client
    auto_connect: true
    on_connect:
      then:
        - logger.log:
            level: INFO
            format: "BLE: Connected to caravan (%s)"
            args: ['"DE:00:14:00:61:46"']
    on_disconnect:
      then:
        - logger.log:
            level: WARN
            format: "BLE: Disconnected from caravan (%s)"
            args: ['"DE:00:14:00:61:46"']


external_components:
  - source:
      type: git
      url: https://github.com/rawsludge/esphome
      ref: fendt_caravan
      path: esphome/components
    components: [ fendt_caravan ]


# Root device (owns BLE client etc.)
fendt_caravan:
  id: my_caravan
  ble_client_id: my_ble_client

sensor:
  # This creates the CaravanDeviceComponent "child" under the root
  - platform: fendt_caravan
    type: mcu_device
    id: my_device
    name: "Caravan MCU Device"
    parent_id: my_caravan

  # These sensors must reference the CaravanDeviceComponent (my_device)
  - platform: fendt_caravan
    type: temp_in
    name: "Temperature inside"
    parent_id: my_device

  - platform: fendt_caravan
    type: temp_out
    name: "Temperature outside"
    parent_id: my_device


switch:
  - platform: template
    id: include_switch_component
    name: "Include switch component"
    internal: true
    optimistic: true
    turn_on_action: []
    turn_off_action: []


text_sensor:
  - platform: template
    id: include_text_sensor_component
    name: "Include text_sensor component"
    internal: true

Hi rawsludge,

great work on the ESPHome component! I have a Hobby caravan with a Truma Combi heater and I got your component running successfully - temperatures inside and outside are working perfectly.

My main goal is to control the caravan remotely from home - turning the heating on/off and setting the target temperature. Is Truma heater control something you are planning to implement? I would love to help with testing as I have the exact setup (Hobby caravan + Truma Combi) and an XIAO ESP32-S3 already flashed and ready.

Looking forward to hearing from you!

Could not get the ESPHome stuff from rawsludge doing what I want, so tried a different path: Using Arduino IDE to program the Xiao ESP32S3. Got it talking to the Hobby, can now see all data my motorhome is sending (all the same as I can see with nrfconnect)… Next is parsing all the received raw data, test sending data (lights, fridge, Truman) to the motorhome and finally setup MQTT comms to HA.

Hi, i have an Hobby Caravan too. I will test the connection in the next couple of days. In my case i have an ALDE Heater onboard. Any hints for the first connection? Anything i can provide?

Subject: MyHobby BLE reverse engineering - progress update & Truma heater control

Hi everyone,

I’ve been working on integrating my Hobby caravan’s MyHobby BLE system with Home Assistant via ESPHome on a Seeed Studio XIAO ESP32-S3. Here’s what I’ve discovered so far through reverse engineering with nRF Connect and analyzing the fendt_caravan ESPHome component from @rawsludge.

What’s working:

  • XIAO connects successfully to MyHobby Data (MAC: DE:00:12:20:68:06)
  • Receiving live data via BLE Notify: inside/outside temperature, battery voltage (IBS0_UBAT: 13.7V), battery current (IBS0_IBAT), state of charge (IBS0_SOC2: 100%), remaining time (IBS0_REMAINING_TIME)
  • All data flowing through MQTT to Home Assistant

BLE Protocol discovered:

  • Service UUID: c7841029-fe7c-4894-8532-f97908ef1ae4
  • Characteristic: 0x0001 (NOTIFY + WRITE)
  • On connect, device expects: net-BT_ID-<mac> then net-BT_VARS
  • Without correct BT_ID → device responds with BT_STOP: and disconnects
  • Notify data format: KEY:VALUE (e.g. TH_A_T:21^C, IBS0_UBAT:13,7 V)
  • Write command format for temperature: net-TH_A_T-210 (temp × 10)
  • Toggle command format: cmd-tgl:KEY

Current problem: The Truma heater is powered on but we only receive IBS0 (battery) data — no TH_A_T (heater) data in the Notify stream. When we send net-TH_A_T-210 the write is acknowledged (ESP_GATTC_WRITE_CHAR_EVT) but the heater doesn’t respond.

Questions:

  1. Does the heater require a specific initialization sequence beyond net-BT_ID + net-BT_VARS?
  2. Is there a separate command to request Truma data specifically?
  3. The hardcoded BT_ID in the component is c0:ee:fb:90:b0:a7 — is this a fixed/universal ID or device-specific?

Any help appreciated! :pray:

@Neksi70

Using rawsludge's esphome BLE based implementation and adding more code for switches, (dimmable) lights, my Truma Combi 6 and my Dometic fridge, I managed to have full remote control of my Hobby 2023 Excellent Edition caravan including heating, hot water and my dometic fridge.

I currently only have my Smartphone available so here's a quick log output while switching on heating and setting temperature. If you need any more BLE notify outputs, just let me know and I'll get them once I get my computer out.


Time	Level	Tag	Message
20:53:44	[D]	[fendt_caravan:038]	
Command sent: cmd-tgl:TH_A_EN, 15
20:53:44	[D]	[fendt_caravan:100]	
Notified value: TH_A_EN:On
20:53:44	[D]	[fendt_caravan:100]	
Notified value: TH_A_T:20^C
20:53:47	[D]	[fendt_caravan:038]	
Command sent: cmd-set:TH_A_T=29, 17
20:53:47	[D]	[fendt_caravan:100]	
Notified value: TH_A_T:29^C
20:53:50	[D]	[fendt_caravan:038]	
Command sent: cmd-set:TH_A_T=22, 17
20:53:50	[D]	[fendt_caravan:100]	
Notified value: TH_A_T:22^C
20:53:51	[D]	[fendt_caravan:038]	
Command sent: cmd-set:TH_A_T=13, 17
20:53:51	[D]	[fendt_caravan:100]	
Notified value: TH_A_T:13^C
20:53:52	[D]	[fendt_caravan:038]	
Command sent: cmd-set:TH_A_T=19, 17
20:53:52	[D]	[fendt_caravan:100]	
Notified value: TH_A_T:19^C
20:53:54	[D]	[fendt_caravan:038]	
Command sent: cmd-set:TH_A_T=27, 17
20:53:54	[D]	[fendt_caravan:100]	
Notified value: TH_A_T:27^C
20:53:55	[D]	[fendt_caravan:038]	
Command sent: cmd-set:TH_A_T=20, 17
20:53:55	[D]	[fendt_caravan:100]	
Notified value: TH_A_T:20^C

Hi, that sound excelent, I have a Hobby 2024 Excellent Edition caravan. Could you please post your complete code set, so that I can give my one a test.

hello @md726 , would you be so kind to share your code on github, possibly as a Pull Request against Rawsludge's repository?

Sorry for stupid question but do I need additional hardware to do this?

Thanks ind advance

Nick

Hi @nick16
As far as I can tell, this runs on EspHome on any supported Device, so Esp32 should be enough.

Czy esp32 wystarczy aby się połączyć z panelem po Bluetooth jaki cod do wygrać na esp32 przyczepy hobby 2024rok jak uzyskać api Bluetooth z panela

Jak to uzyskać na mojej przyczepie kempingowej hobby

It got it done from bigtomi - but sensors seems different in Fendt tendenza 550..
Is there any whay i can findt my sensors/lamp etc…