Solem Bluetooth Watering Controller

Hi!

So, previously I posted about a Home Assistant Integration that I created which is the Solem Toolkit, for controlling the watering of Solem BL2IP models. I mentioned that I would be working on another Integration that would do a few more things, namely scheduling the watering according to a monthly schedule, taking into account the weather forecast, how much it rained, how much will it rain, etc.

So I created the Solem Bluetooth Watering Controller Integration. For now it only works for the BLIP model, but I also have an BLNR model and I will reverse engineering the communication with the device to figure out how to send commands to it.

You can install this integration as any other custom component, through HACS. I’m also thinking about the possibility of extracting an integration from this one to be used with any other watering controller (I would only need to create an adapter for each one that would integrate with this new one).

If you try it, any feedback is welcome.

2 Likes

Hi @hcraveiro, I’ve been looking for such things but for the LR-IP one. I’ve contacted tech support of SOLEM and they refused to provide integration info on LR-IP. If you need someone to reverse engineering the bluetooth part with you, let me know and I will be very happy to help

PS: I confirm that while the mac address is found and configuration goes through without any issue, the result is NOK. I even have tried via the LRMB10 but still no luck

Bonjour @Fvanoost , je viens de lire ton post, très intéressant, j’utilise moi même du solem avec leur environnement. Mais ne trouvant pas tout à mon gout, trop fermé. Je suis a deux doigt de passer avec des devices x en LoRa WAN en réseau privé, puis hébergeur iot. Puis je découvre cette pseudo ouverture avec Home assistant, tu aurais plus d’info? Merci

Hi, I’ve a BL-IP and was looking for an integration in HA. Have you tried adding the controller through a Bluetooth Proxy ? Thanks !

1 Like

Hello @hcraveiro:
Same problem here. Connecting via bt-proxy (ESP-WROOM-32)

Logs:

Registrador: custom_components.solem_bluetooth_watering_controller.api
Fuente: custom_components/solem_bluetooth_watering_controller/api.py:412
integración: Solem Bluetooth Watering Controller ([documentación](https://github.com/hcraveiro/Home-Assistant-Solem-Bluetooth-Watering-Controller))
Ocurrió por primera vez: 20:29:10 (6 ocurrencias)
Última vez registrado: 20:31:46

Error processing Forecast Weather data: JSON format invalid!

Traceback (most recent call last): File "/config/custom_components/solem_bluetooth_watering_controller/api.py", line 412, in get_forecast (index for index, forecast in enumerate(self._cache_forecast) ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ TypeError: 'NoneType' object is not iterable

Registrador: custom_components.solem_bluetooth_watering_controller.coordinator
Fuente: custom_components/solem_bluetooth_watering_controller/coordinator.py:909
integración: Solem Bluetooth Watering Controller (documentación)
Ocurrió por primera vez: 20:29:10 (6 ocurrencias)
Última vez registrado: 20:31:46

C8:B9:61:D1:FA:8C - Error: Error processing Forecast Weather data: JSON format invalid!
Traceback (most recent call last):
  File "/config/custom_components/solem_bluetooth_watering_controller/api.py", line 412, in get_forecast
    (index for index, forecast in enumerate(self._cache_forecast)
                                  ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not iterable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/config/custom_components/solem_bluetooth_watering_controller/coordinator.py", line 909, in async_update_data
    data = await self.async_update_all_sensors()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/solem_bluetooth_watering_controller/coordinator.py", line 630, in async_update_all_sensors
    await self.reset_rain_sprinkle_indicators()
  File "/config/custom_components/solem_bluetooth_watering_controller/coordinator.py", line 408, in reset_rain_sprinkle_indicators
    self.rain_total_amount_forecasted_today = await self.weather_api.get_total_rain_forecast_for_today()
                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/solem_bluetooth_watering_controller/api.py", line 470, in get_total_rain_forecast_for_today
    will_it_rain_result = await self.will_it_rain()
                          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/solem_bluetooth_watering_controller/api.py", line 440, in will_it_rain
    forecast = await self.get_forecast()
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/solem_bluetooth_watering_controller/api.py", line 432, in get_forecast
    raise APIConnectionError("Error processing Forecast Weather data: JSON format invalid!")
custom_components.solem_bluetooth_watering_controller.api.APIConnectionError: Error processing Forecast Weather data: JSON format invalid!

Registrador: homeassistant
Fuente: custom_components/solem_bluetooth_watering_controller/coordinator.py:270
integración: Solem Bluetooth Watering Controller (documentación)
Ocurrió por primera vez: 20:30:10 (5 ocurrencias)
Última vez registrado: 20:30:27

Error doing job: Task exception was never retrieved (None)
Traceback (most recent call last):
  File "/config/custom_components/solem_bluetooth_watering_controller/coordinator.py", line 339, in async_init
    await self.load_persistent_data()
  File "/config/custom_components/solem_bluetooth_watering_controller/coordinator.py", line 270, in load_persistent_data
    self.last_reset = dt_util.now()
                      ^^^^^^^
UnboundLocalError: cannot access local variable 'dt_util' where it is not associated with a value

@cfrancio yes, I’ve build a Bluetooth proxy with ESP32. Both the LR-IP and the LRMB10 are visible but once configured in HA, no luck. The plugin is only working for BLIP for the moment, hence my proposal to assist the developer.

@epsbh LoRa WAN n’est pas le plus simple à implementer. Je pense passer à une passerelle Z2M tournant sur un raspberry que je vais installé proche de mon local technique (assez loin de ma maison) et chercher un controlleur zigbee et simplement démonté le LR-IP. Au 21ème siècle, resté sur un environement totalement fermé est une hérésie mais SOLEM ne veux rien entendre

Hi all. I cannot find the integration on HACS. Do i Have to add the github repository manually?

yes, you have to but beware that it only work with the SOLEM BLIP model, both the LR-IP and the LRMB10 are visible but not working yet

little update on my own post. After updating to the latest version and using the mac adress of my LR-IP, the configuration goes till the end and creates lots of sensors and actionable buttons

but so far none seems to reach my LR-IP.

Let me know if you want help to debug

Fred