Haverland Radiators Smart Box Integration

Managed to find the time to have a look at this, sorry for taking so long!

Output from Smartbox:

$smartbox devices
[   {   'dev_id': '<dev_id>',
        'fw_version': '1.25.0',
        'name': '<housename>',
        'product_id': '0105',
        'serial_id': '14'}]
		
$smartbox nodes
<housename> (dev_id: <dev_id>)
[   {   'addr': 2,
        'installed': True,
        'level': 1,
        'lost': False,
        'name': 'LR.3.2',
        'parent': 1,
        'type': 'htr_mod'},

$smartbox setup
<housename> (dev_id: <dev_id>)
LR.3.2 (addr: 2)
{'power': '750', 'priority': 'low'}

$smartbox status
<housename> (dev_id: <dev_id>)
LR.3.2 (addr: 2)
{   'active': False,
    'comfort_temp': '19',
    'eco_offset': '6',
    'ice_temp': '7',
    'locked': False,
    'mode': 'manual',
    'mtemp': '18',
    'on': False,
    'presence': False,
    'selected_temp': 'comfort',
    'sync_status': 'ok',
    'uart_error': False,
    'unit_fw': 2,
    'unit_model': 2,
    'units': 'C'}

And the JSON requests in the POST that are sent from the webUI

#on/off
{"on":true}
{"on":false}

#comfort temperature
{"mode":"manual","selected_temp":"comfort"}

#eco temperature
{"mode":"manual","selected_temp":"eco"}

#anti frost temperature
{"mode":"manual","selected_temp":"ice"}

#mode self learn (based on presence
{"mode":"self_learn"}

#mode presence detection
{"mode":"presence"}

#mode auto - based on calendar

{"mode":"auto"}

#change temp from 19 to 20

{"mode":"manual","comfort_temp":"20","eco_offset":"6","selected_temp":"comfort","on":true,"units":"C"}

#lock
{"locked":true}
{"locked":false}

Using smartbox, I can change between auto, self-learn and presence fine. I can also lock ok. I can’t change to manual mode (returning a Bad Request), which I presume is because the request does not contain the extra data (temperature etc) as requested. Also I don’t think the different selected_temp options are handled for other devices?

If there’s anything else you need, just let me know - I’ll try and get back to you sooner this time!