Besmart custom_components climate

I’m aware of that (maybe except that it was using Chinese backend). A year ago you could still find it in stores as they didn’t withdraw those old units sold as a bundle with Beretta boilers. Bad customer service - that’s all it is.

Anyways… the old mobile app was put back on stores now and it works. The integration from github works fine and I see no problem with it. It could only use some rework to better integrate with HA (warnings, missing IDs, and UI config) + add some of the missing options from the app. I will start with the first one and let’s see how far I can get (given the limited time I have for this :smiley: ).

1 Like

From my perspective this app works great since couple of months. Earlier it was like crash of servers every week, especially during weekends, where HA integration was showing -17,8C and not responding to anything same as mobile app. Now it works much much better and to be honest I can’t complain.

Of course it could be better but as long I can do basic control over my boiler via HA I am satisfied. Thing I am missing the most is some notification when boiler heats DHW and when house to be able to see how much it is being occupied with each other. Now I can measure only home heating time. Those statistics exist inside mobile app but somehow they are being reset every couple of hours, I dont know why, so they are unusable.

What I am worried about is this during HA boot:

2024-12-09 11:08:37.409 WARNING (ImportExecutor_0) [homeassistant.components.climate.const] CURRENT_HVAC_COOL was used from besmart, this is a deprecated constant which will be removed in HA Core 2025.1. Use HVACAction.COOLING instead, please report it to the author of the 'besmart' custom integration
2024-12-09 11:08:37.415 WARNING (ImportExecutor_0) [homeassistant.components.climate.const] CURRENT_HVAC_HEAT was used from besmart, this is a deprecated constant which will be removed in HA Core 2025.1. Use HVACAction.HEATING instead, please report it to the author of the 'besmart' custom integration
2024-12-09 11:08:37.421 WARNING (ImportExecutor_0) [homeassistant.components.climate.const] CURRENT_HVAC_OFF was used from besmart, this is a deprecated constant which will be removed in HA Core 2025.1. Use HVACAction.OFF instead, please report it to the author of the 'besmart' custom integration
2024-12-09 11:08:37.428 WARNING (ImportExecutor_0) [homeassistant.components.climate.const] HVAC_MODE_AUTO was used from besmart, this is a deprecated constant which will be removed in HA Core 2025.1. Use HVACMode.AUTO instead, please report it to the author of the 'besmart' custom integration
2024-12-09 11:08:37.433 WARNING (ImportExecutor_0) [homeassistant.components.climate.const] HVAC_MODE_COOL was used from besmart, this is a deprecated constant which will be removed in HA Core 2025.1. Use HVACMode.COOL instead, please report it to the author of the 'besmart' custom integration
2024-12-09 11:08:37.439 WARNING (ImportExecutor_0) [homeassistant.components.climate.const] HVAC_MODE_HEAT was used from besmart, this is a deprecated constant which will be removed in HA Core 2025.1. Use HVACMode.HEAT instead, please report it to the author of the 'besmart' custom integration
2024-12-09 11:08:37.445 WARNING (ImportExecutor_0) [homeassistant.components.climate.const] HVAC_MODE_OFF was used from besmart, this is a deprecated constant which will be removed in HA Core 2025.1. Use HVACMode.OFF instead, please report it to the author of the 'besmart' custom integration
2024-12-09 11:08:37.451 WARNING (ImportExecutor_0) [homeassistant.components.climate.const] SUPPORT_PRESET_MODE was used from besmart, this is a deprecated constant which will be removed in HA Core 2025.1. Use ClimateEntityFeature.PRESET_MODE instead, please report it to the author of the 'besmart' custom integration
2024-12-09 11:08:37.457 WARNING (ImportExecutor_0) [homeassistant.components.climate.const] SUPPORT_TARGET_TEMPERATURE was used from besmart, this is a deprecated constant which will be removed in HA Core 2025.1. Use ClimateEntityFeature.TARGET_TEMPERATURE instead, please report it to the author of the 'besmart' custom integration
2024-12-09 11:08:37.463 WARNING (ImportExecutor_0) [homeassistant.components.climate.const] SUPPORT_TARGET_TEMPERATURE_RANGE was used from besmart, this is a deprecated constant which will be removed in HA Core 2025.1. Use ClimateEntityFeature.TARGET_TEMPERATURE_RANGE instead, please report it to the author of the 'besmart' custom integration
2024-12-09 11:08:37.469 WARNING (ImportExecutor_0) [homeassistant.const] TEMP_CELSIUS was used from besmart, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfTemperature.CELSIUS instead, please report it to the author of the 'besmart' custom integration
2024-12-09 11:08:37.475 WARNING (ImportExecutor_0) [homeassistant.const] TEMP_FAHRENHEIT was used from besmart, this is a deprecated constant which will be removed in HA Core 2025.1. Use UnitOfTemperature.FAHRENHEIT instead, please report it to the author of the 'besmart' custom integration
2024-12-09 11:08:37.843 WARNING (MainThread) [homeassistant.helpers.entity] Entity None (<class 'custom_components.besmart.climate.Thermostat'>) is using deprecated supported features values which will be removed in HA Core 2025.1. Instead it should use <ClimateEntityFeature.TARGET_TEMPERATURE|TARGET_TEMPERATURE_RANGE|PRESET_MODE: 19>, please create a bug report at https://github.com/muchasuerte/ha-besmart/issues and reference https://developers.home-assistant.io/blog/2023/12/28/support-feature-magic-numbers-deprecation
2024-12-09 11:08:37.864 WARNING (MainThread) [homeassistant.helpers.entity] Entity None (<class 'custom_components.besmart.climate.Thermostat'>) is using deprecated supported features values which will be removed in HA Core 2025.1. Instead it should use <ClimateEntityFeature.TARGET_TEMPERATURE|TARGET_TEMPERATURE_RANGE|PRESET_MODE: 19>, please create a bug report at https://github.com/muchasuerte/ha-besmart/issues and reference https://developers.home-assistant.io/blog/2023/12/28/support-feature-magic-numbers-deprecation

Looks like some tweaks in integration are needed to stay compatible with newer HA.

I reimplemented this whole integration from ground up:

  • it now uses the new API (had to reverse engineer the latest besmart app on android to get the proper endpoints. I have a complete postman collection if anyone is integested)
  • added config flow support
  • this integration registers 1 device (wifi box) and climate entities (thermostats)
  • added support for multiple thermostats as well as multiple wifi boxes (boilers) in case someone has that kind of setup
  • ability to turn on/off the heating in a separate toggle (HVAC mode)
  • presets no longer have DHW mode (it’s the same as HVAC mode OFF)
  • in the config flow one needs to select supported HVAC modes (HEAT or COOL) - heat is default of course
  • temp range is adjusting accordingly to the target temp & active preset (similar to what the app does)
  • all requests are async so in theory it should work better :slight_smile:
  • all warnings from logs are gone now
  • added besmart icons to the brands repo so they should be showing up (not sure why but they don’t show up yet for me)

INSTALLATION STEPS:

  1. remove old besmart integration from HA (that is remove the custom component from HACS, old repo, and related stuff from config YAML)
  2. restart HASS
  3. Add the new repo to HACS & download it
  4. restart HASS
  5. go to Integrations and add new one searching for “besmart”
  6. complete configuration flow by providing some name (i.e. “Heating”). Don’t use “thermostat” or something specific like that because this integration is going to generate names using “besmart” & “thermostat” keywords already so you avoid duplicates in names
  7. let me know if you notice any issues

here is the new custom component:

3 Likes

once again. remove old besmart first to avoid problems. I was struggling with that during development and almost messed up my hacs installation :smiley:

More things will come:

  • diagnostic data for thermostat & boiler
  • water boiler entity to control DHW temp
  • some additional config entities for stuff not available in Climate or WaterBoiler entities.
  • maybe programs.

But no promises on dates as Xmas is approaching so don’t know when I will find time for that.

BTW if someone wants to help with translations feel free to reach out (or create a PR on github inside translations folder and I will happily approve).

2 Likes

Update:
This morning I added a water heater entity to allow control of the DHW temperature & turning off the heating device entirely.

2 Likes

Thank You Sir, it works like a charm.
Even managed to restore my old entities for showing heating time, just changed source value template to new one:

binary_sensor:
  - platform: template
    sensors:
      heating_parter:
        friendly_name: "Podłogówka"
        value_template: "{{ state_attr('climate.ogrzewanie_parter_thermostat', 'hvac_action') == 'heating' }}"

image

Please let me know if there will be possible to measure DHW heating time with this method.

Also if I may suggest please consider editing readme on main page, it is confusing at this point as all the configuration is done within HA.

Yep, will update the docs and fix few minor things in upcoming days.

Reg DWH I think something like this should work:

value_template: "{{ state_attr('water_heater.XXXX', 'current_operation') == 'gas' }}"

This is just for scheduler state (like auto, manual, eco and party in case of heating). It doesn’t say when there is actual ignition and DHW is being prepared.

Hi there,
sorry for dumb question : i’m trying to install this new integration but got this error

The besmart_thermostat platform for the climate integration does not support platform setup. Please remove it from your config.

My code in configuration.yaml is the following :

climate:
  - platform: besmart_thermostat
    name: Caldaia Piano 2
    username: xxx
    password: xxx
    room: PIANO 2
    scan_interval: 15

Can someone help me find whats wrong ?

ok … nevermind.
Setup from the UI

hi to all, it wark with new hi confort ? i use google for autentication in my hi confort app, can i use this integration? if yes, how?

hi, i have tested it with my new account hi, confort and it don’t work, log in fallied

Hello, is possible have the battery_state info?

Like in the past was for example:

  besmart_battery_state:
    friendly_name: "battery state"
    device_class: battery
    value_template: "{{ state_attr('climate.termostato_sala_salotto_thermostat', 'battery_state') == '1' }}"
    icon_template: mdi:battery