Rollease Acmeda Automate Pulse 2 hub integration

I’ve been using the Automate-Pulse-v2 integration (via HACS) for the past 6 months to control my 8 blinds.

I see now that there are actually two versions of the Acmeda Automate Pulse Hub integration: one for Pulse version 1 hubs written by atmurray, and another for Pulse v2 hubs written by sillyfrog.

I’m trying to use the latter as I have a Pulse 2 hub, following the instructions at github.com/sillyfrog/Automate-Pulse-v2. I have successfully loaded the integration but I’m stuck at the step where it attempts to connect to my hub. When the integration starts I put in the IP address found on the Automate Pulse 2 app which is the same as that found on my router. However, this always ends with “Failed to connect”.

I have downloaded the Automate Pulse LINQ app to my Mac and it successfully connects to the hub.

I’ve tried looking in the Configuration->Logs and Supervisor->System log but apparently the integration does not write to either???

I’m hoping someone out there will have some ideas on what I’m doing wrong.

You can enable logging by adding the following section to your configuration.yaml

logger:
  default: warn
  logs:
    aiopulse2: debug

When you restart HA you should see a stream of information about the hub ID and any connected devices that it discovered.

I have been away from the home automation scene. Did a clean install of the new HassOS and so glad this custom integration exists. Thank you very much @sillyfrog !! Everything worked straight from the box.

@tallcuss - Do you have different subnets or firewall rules blocking your home assistant by any chance? Is your Pulse 2 hub on a static IP address?

Thanks Bunyip183 and timolol for your thoughts, but I’ve made no progress.

I cranked up the log messages and whilst I got a lot more messages, none mentioned the Pulse v2 integration or aiopulse2.

Some questions:
Must aiopulse2 be installed separately using the CLI command “pip install aiopulse2”? There’s no mention of it in sillyfrog’s instructions.

When connecting to the hub, must the P (pair?) button on the hub be pressed?

Is it normal/possible to have more than one device (HA, Automate Pulse2 mobile app, etc) connected to the hub simultaneously?

After connecting to the hub, were you able to connect the hub to your router via an ethernet cable and do away with the WiFi connection?

I installed it through the HACS component.

No. That is only required to pair new entities to the hub

Yes. I can still access my blinds through HA, Automate Pulse2 app and RF remote. Though I’ve never tried using all three methods simultaneously. :grinning:

Initially I did have the ethernet cable connected but I reverted back to WiFi only because I found that it caused problems when trying to use the Automate Pulse2 app.

@tallcuss You don’t need to do a pip install - Home Assistant takes care of that for you.

As mentioned, I would suggest going with HACS. It took me a while to get around to using HACS myself, - and now I have started, I regret it took me so long! I have made that repo compatible with HACS (as you probably noticed). Once HACS is setup it’s much easier for any new module, and you have access to a lot more integrations - many of which are kept up to date (which you don’t get with core). This aiopulse2 integration has been pending for nearly a year to get into core. I’m now working to get it as part of HACS default instead.

That said, if you are getting to the point where you can enter an IP address, then the install I think has gone well. It’s probably a connectivity issue. For the setup, I would suggest exiting all apps etc (on your computer/phone) - as there are some channels that only allow a single connection.

To crank up the debugging just for this, I have the following to cover all aspects of the plugin and module:

logger:
  default: info
  logs:
    aiopulse2: debug
    automate: debug
    custom_components.automate: debug

Good Luck!

Thanks Bunyip183 and sillyfrog for your help, but I’ve made no progress.

Yes, I have installed HACS and followed the Installation instructions given at github.com/sillyfrog/Automate-Pulse-v2.

Here’s what happens when I attempt to add the Pulse2 Integration: Configuration->Integrations->+ ADD INTEGRATION->Automate Pulse Hub V2. At that point a small popup window appears requesting the hub IP address. I enter the IP address 192.168.1.100 that my router shows for the WiFi connection of “espressif”, MAC address C4-4F-33-18-F7-81, and hit SUBMIT. A rotating arrow occurs for a few seconds and I get the message “Failed to connect”. When I linger the mouse over the SUBMIT button it shows the message “Not all required fields are filled in”.

I had already tried disconnecting everything from the hub so the Automate Pulse 2 Hub Integration would be the only connection. I’ve also tried many other things. None of them changed anything.

I used your suggested entry in my configuration.yaml file to output additional log messages, but there were no additional messages. (I’m looking at Configuration->Logs-> LOAD FULL ASSISTANT LOG, right?) When I look at the Python code I cannot see any logger messages that would be output if the connection were refused, and this would agree with what I’m seeing.

I am able to connect to the hub using the Automate Pulse 2 app on my phone and the PulseLINQ app on my Mac. Using the latter app I can see the hub’s serial number is 1010981 and its firmware version is 010100. The motors are type U (240v AC) and their firmware versions are 21 and 22.

Some questions:
Can I make changes to the Python in place (like insert logger statements), reboot the system and have it run properly?

How do I go about running Demo.py?

I’ve made some small progress.

First I worked out the log I need to be looking at is in config/home-assistant.log.

I’ve also found that the hub connection problem is aiopulse2.Hub, function test() throwing an exception saying it cannot connect to the hub. I determined this by placing logger statements into the Automate-Pulse-v2 Python code.

I’d like to pursue this further by placing similar statements into the aiopulse2 code but I’m unable to find the code in the Home Assistant system.

How does Home Assistant “take care of” installing aiopulse2? Where is the aiopulse2 code located in the system?

Any help/suggestions are much appreciated.

@sillyfrog What does “rpc” do in the URI at aiopulse2/Devices.py, line 57?

self.wsuri = "wss://{}:443/rpc".format(self.host)

@tallcuss - that’s the URL for their RPC (API) end point (at least at the time of inspecting the traffic). Web sockets are also at URL’s, and start with an HTTP connection that’s then upgraded to a websocket stream.

Another small step: This code snippet runs fine with my Pulse 2 Hub

import socket
HOST = '192.168.1.100'  # hub address
PORT = 1487             # port
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.connect((HOST, PORT))
    s.sendall(b'!000NAME?;')
    data = s.recv(1024)
print('Received', data.decode("utf-8"))

Producing the output

Received !000NAMEdefault;

Meanwhile I’ve found that when using the Automate Pulse 2 Hub Integration the code get stuck when attempting to connect to my hub, i.e. aiopulse2, device.py, line 361

async with websockets.connect(self.wsuri, ssl=ssl_context) as websocket:

Any help/suggestions are much appreciated.

An update.

I got a replacement Pulse 2 Hub from the dealer, plugged it in, did the phone Automate Pulse 2 app thing and then attempted to add the Automate Pulse Hub v2 Integration to Home Assistant. It worked! I am now able to see all my blinds and move them via Home Assistant. So it was a hardware problem!

1 Like

Great news, thanks all for the thoughts.
I’ve had a request from a customer to add their blinds to home assistant but they have 2 pulse2 hubs.

Has any one had any experience with multiple hubs?
I understand it requests a host IP on setup, Is there a way to have multiple hosts?

Any help would be great!

Hi all! My hub has been less responsive lately and I have been getting the following error:

Logger: aiopulse2.devices
Source: /usr/local/lib/python3.9/site-packages/aiopulse2/devices.py:365
First occurred: 7:28:58 PM (2 occurrences)
Last logged: 7:30:08 PM

Websocket Connection closed: code = 1006 (connection closed abnormally [internal]), no reason

Is this a concern?

Thanks in advance for your assistance!

@sillyfrog do you know if you can multiple instances of the integration. I have two Acmeda hubs.

@sumur1au It has been designed to support multiple instances, however I have not actually tested it as I only have one hub. If you have any issues, please open a ticket on GitHub and we can work through it.

PS: This has just been accepted into HA dev - however it’s very limited with no sensors etc. I’m going to work on getting a PR for the sensors shortly. Currently the HASS version is more comprehensive (and what I use).

Thanks @sillyfrog. I will play around with it once I get the hubs.

Although quite an old question now… I can confirm it does work with multiple hubs. My main issue is sometimes blinds become unavailable. Normally they either turn up by themselves, or cycling them via the remote kicks them back into life.

I would imagine this is an issue with the hubs + app more than an issue with the integration however. I’ve always found the app to be horrific and the hubs to be temperamental.

1 Like

When they become unavailable are they still available in the app? Most of the time they went unavailable to me it was usually because of range issues. I found an alternate location for the hub which works well for me, but I believe there are range extenders available.