Custom Component: Melnor Raincloud

I’ve become the sole maintainer of the official Melnor Raincloud integration. As it’s a web-scraper it’ll be deprecated soon and I’m updating and moving it to HACS. I’ll be using this thread going forward for support and announcements

Melnor Raincloud

This component allows you to control your Raincloud valves in Home Assistant. Documentation is available here: https://github.com/vanstinator/hass-raincloud

Installation

The easiest way to install and stay updated with this integration is through the Home Assistant Community Store (HACS)

  1. Install HACS https://hacs.xyz/docs/installation/prerequisites
  2. Configure HACS https://hacs.xyz/docs/configuration/start
  3. Add a custom repo in HACS using this url https://github.com/vanstinator/hass-raincloud
  4. On your Integrations page in HACS you should now see a card for Melnor Raincloud Click Install. Reboot Home Assistant.

The current stable release is a drop-in replacement for the default Home Assistant Integration with one or two bug-fixes for the recent breakage of the default integration that no longer works.

In a few days I’ll be shipping the first 1.0.0 release. This release will contain support for all valves and all controllers on an account. It’s been a long-standing feature request and I’m excited to finally add support.

Hello @vanstinator, I’m very happy that you took the project and I’m sure you will take good care of it.

Thanks for all the users and everyone that helped this project so far!! I’m very excited to see what to come!!

1 Like

I appreciate the kind words @tchellomello!

thanks for taking the project over. too bad they don’t offer an API for use.

Yeah it’s unfortunate. There’s a single API that works really great for polling status updates. But to get the serial numbers you need to scrape various pages, issue form submits to change the page to grab the next device, etc. And that complexity is partially what made supporting the full number of controllers and valves so challenging.

Love to see that this isn’t just going to die… but speaking of that is the component working for anyone in it’s current state? I had to send my unit back to Melnor this winter to get it working again and when I went to use it this summer the integration in HA was broken. I assumed it was whatever changes they made to the firmware.

It actually broke today due to an improperly configured SSL cert change on Melnor’s end. I’m working on a workaround now.

If you were seeing bugs previously it’s likely due to some existing issues in the current integration with accounts that have more than one valve or more than one controller. You’ll likely see success with the pre-release build in my repo once I’ve fixed today’s issue.

3 Likes

Too funny - mine was working yesterday, then bailed on me this afternoon and I just figured the new update broke it.

As you are moving to hacs, would you advise removing the current integration from my config and installing from hacs? Or waiting a bit longer?

The HACS component uses the exact same configuration. It’s just a drop-in over the current component. Eventually when I release the 1.0.0 version there will be breaking changes. But there will be an announcement here when that happens to prepare everyone.

And given todays outage is going to require a patch (unless Melnor responds to my email) it’s safe to assume the official integration will now be permanently broken until I submit a PR to remove it entirely. I’ll only be patching the HACS version.

1 Like

Ok. Last stupid question. How do I add the custom repository? I keep getting a 404 with the URL you shared

Are you currently running HACS?

Hi there! @vanstinator, indeed great to hear that you’ll provide continuity for the raincloud component. I must admit that I was very happy so see that it was already developed and as such I am also happy with the melnor product by itself, has worked good so far.
This morning I noticed that the raincloud was offline even though the base unit was connected and I could see all working OK on wifiaquatimer.com.
The HA log shows SSL issues and that had me thinking in the direction that melnor changed stuff. Any progress so far on getting it running? I’m already looking forward to your new version.
KR
Sander

brain fart - not sure why but it wasnt working on mobile - I pasted the main URL in, picked integration then could install. i picked v 0.0.3 - so lets see whats up post reboot!

thanks for picking up this repo - i love my melnor timer.

1 Like

The HA log shows SSL issues and that had me thinking in the direction that melnor changed stuff. Any progress so far on getting it running? I’m already looking forward to your new version.

Yes! You can install the latest stable release from HACS and it should just work!

Good morning! Indeed i managed to install HACS and later also the raincloud, at first sight it did seem to work, however when i want to manually water, I get an error message stating that it cannot set attribute.

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 130, in handle_call_service
    connection.context(msg),
  File "/usr/src/homeassistant/homeassistant/core.py", line 1253, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1288, in _execute_service
    await handler.func(service_call)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 213, in handle_service
    self._platforms.values(), func, call, required_features
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 453, in entity_service_call
    future.result()  # pop exception if have
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 597, in async_request_call
    await coro
  File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 484, in _handle_entity_call
    await result
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 622, in async_turn_on
    await self.hass.async_add_executor_job(ft.partial(self.turn_on, **kwargs))
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/raincloud/switch.py", line 64, in turn_on
    self.data.watering_time = self._default_watering_timer
AttributeError: can't set attribute

Looking for some help. I was using raincloudy - that stopped working , after finding this thread, I was hopeful.

You dont mention the custom repository name for HACS, Would love to get direction for install.
Thank you

I’ve added an installation section to the README of the repo and the OP of this thread

@Sander_Aerts I was able to reproduce your report on 0.0.3 but on on the latest pre-release version. Please try installing the current 1.0.0-rc.1 release.

Do note there is a breaking change. Your entity names and ids will likely change. Going forward this won’t be a problem as the integration now properly uses the entity registry and recognizes the serial number of your device. The old integration didn’t do this.

Thank you, trying to install as we speak. Getting some weird errors, will investigate before i ask

it scrapes the wifiaquatimer website. under the manage tab, you should see your valves you have registered. my value is 4 digits (2 letter, 2 number) so yours looks odd, but its possbile that changed if the valves are new or something.

also - had the same issue above “self.data.watering_time = self._default_watering_timer
AttributeError: can’t set attribute”

but the upgrade to 1.0.0-rc.1 solved that, so thanks!