Wallbox pulsar plus integration?

@GrantK I’ve been using the setup I described ever since writing the original post. It is largely ok but does still drop out. I however think this is as much to do with the portal as anything else as when “disconnected” I can still ping the Wallbox locally. Hopefully a local solution will solve some of these issues.

@yavinmaster - Many thanks for your advice. Changing the Channel Number was the parameter which made the most difference for me. For some reason, the Wallbox doesn’t like Channel 1, which was where I had it before. Channel 13 works well for me, with 20MHz bandwidth and 2.4GHz B/G/N mode.

I’m using a MicroTik router board and the Tx/Rx CCQ (signal quality) has gone from between 10% and 20% to 92% - a massive difference!

Previously, it was disconnecting every minute, almost exactly on the dot each time, as though a comms watchdog was being triggered. Now, I’m up over 2 days and counting, so it looks like this problem is fixed.

Has anyone tried firmware v.5.17.87 yet?

It’s been available for a day or so. Maybe it will fix the problem of frequent disconnections?

Wallbox haven’t yet made any comment about this version.

I have updated to the latest firmware and the frequent disconnection is not fixed!

1 Like

Hi @hesselonline
Would it be possible to modify the entity wallbox_portal_energy_price from the integration?
It would let me have a right cost displayed from the app. As there is no multiple price management.

Hi everyone,

First, thank you for sharing your experiences…

I tried to read (most of) the messages of that LOOOOONNNNGGG thread but I’m not sure that I have read all the relevant messages for my problem.

Like others in this thread, I try to use my 3 phase Wallbox to charge my 1 phase charger EV car (MG4) using my (new) solar panels.

Wallbox Eco mode works great BUT only provide 1 phase max A, so I’m charging at 1,4kW (6A) and wasting 3kW (12A) from the other phases.

I would like to charge using all remaining production… that is to say to adapt the (1 phase) max intensity to the injected current.

I searched for solution in this thread and I plan to test @VdR 's automation (the 3 states button is just great) :

Before to start the test, would you propose a better solution/automation?
@VdR : do you have an updated version? (I don’t think that I need the voltage protection but I will have a look…

Thanks again for sharing
Tom

I’m charging at 1,4kW (6A) and wasting 3kW (12A) from the other phases.

This is why I chose a Single-phase Solar Inverter, not 3-phase. It gives more flexibility to divert all solar production to devices that can benefit most from it, and leave some other devices on the remaining 2 phases. In reality, I’m unlikely ever to own enough solar panels to produce more than the 32 Amp max. supported by the Single Phase Pulsar Plus.

I think this is a technically possible (not currently, but could be a new feature), honestly, I just don’t have the time to invest in this feature currently.

1 Like

Thanks for the reply. This will be great to finally solve the lack off multiple pricing on their part.

Hi. I am having a hard time just adding the Wallbox integration on HA. I run HA with HAOS on a vm. I enter all the credentials and SN but nothing. I could post a log file which for me it’s like reading chinese. Thanks for supporting

This is the log I get:

Logger: aiohttp.server
Source: components/wallbox/init.py:109
First occurred: September 20, 2023 at 12:04:30 AM (1 occurrences)
Last logged: September 20, 2023 at 12:04:30 AM

Error handling request
Traceback (most recent call last):
File “/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py”, line 714, in urlopen
httplib_response = self._make_request(
^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py”, line 403, in _make_request
self._validate_conn(conn)
File “/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py”, line 1053, in validate_conn
conn.connect()
File “/usr/local/lib/python3.11/site-packages/urllib3/connection.py”, line 419, in connect
self.sock = ssl_wrap_socket(
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/urllib3/util/ssl
.py", line 449, in ssl_wrap_socket
ssl_sock = ssl_wrap_socket_impl(
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/urllib3/util/ssl
.py", line 493, in _ssl_wrap_socket_impl
return ssl_context.wrap_socket(sock, server_hostname=server_hostname)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/ssl.py”, line 517, in wrap_socket
return self.sslsocket_class._create(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/ssl.py”, line 1108, in _create
self.do_handshake()
File “/usr/local/lib/python3.11/ssl.py”, line 1379, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate is not yet valid (_ssl.c:1006)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/local/lib/python3.11/site-packages/requests/adapters.py”, line 486, in send
resp = conn.urlopen(
^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/urllib3/connectionpool.py”, line 798, in urlopen
retries = retries.increment(
^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/urllib3/util/retry.py”, line 592, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host=‘user-api.wall-box.com’, port=443): Max retries exceeded with url: /users/signin (Caused by SSLError(SSLCertVerificationError(1, ‘[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate is not yet valid (_ssl.c:1006)’)))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py”, line 433, in _handle_request
resp = await request_handler(request)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/aiohttp/web_app.py”, line 504, in _handle
resp = await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/aiohttp/web_middlewares.py”, line 117, in impl
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/http/security_filter.py”, line 85, in security_filter_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/http/forwarded.py”, line 100, in forwarded_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/http/request_context.py”, line 28, in request_context_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/http/ban.py”, line 80, in ban_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/http/auth.py”, line 236, in auth_middleware
return await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/http/headers.py”, line 31, in headers_middleware
response = await handler(request)
^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/http/view.py”, line 148, in handle
result = await handler(request, **request.match_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/http/decorators.py”, line 63, in with_admin
return await func(self, request, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/config/config_entries.py”, line 177, in post
return await super().post(request, flow_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/http/data_validator.py”, line 72, in wrapper
result = await method(view, request, data, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py”, line 110, in post
result = await self._flow_mgr.async_configure(flow_id, data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/data_entry_flow.py”, line 298, in async_configure
result = await self._async_handle_step(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/data_entry_flow.py”, line 394, in _async_handle_step
result: FlowResult = await getattr(flow, method)(user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/wallbox/config_flow.py”, line 75, in async_step_user
info = await validate_input(self.hass, user_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/wallbox/config_flow.py”, line 38, in validate_input
await wallbox_coordinator.async_validate_input()
File “/usr/src/homeassistant/homeassistant/components/wallbox/init.py”, line 117, in async_validate_input
await self.hass.async_add_executor_job(self._validate)
File “/usr/local/lib/python3.11/concurrent/futures/thread.py”, line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/components/wallbox/init.py”, line 109, in _validate
self._wallbox.authenticate()
File “/usr/local/lib/python3.11/site-packages/wallbox/wallbox.py”, line 40, in authenticate
response = requests.get(
^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/requests/api.py”, line 73, in get
return request(“get”, url, params=params, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/requests/api.py”, line 59, in request
return session.request(method=method, url=url, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/requests/sessions.py”, line 589, in request
resp = self.send(prep, **send_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/requests/sessions.py”, line 703, in send
r = adapter.send(request, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/site-packages/requests/adapters.py”, line 517, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host=‘user-api.wall-box.com’, port=443): Max retries exceeded with url: /users/signin (Caused by SSLError(SSLCertVerificationError(1, ‘[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate is not yet valid (_ssl.c:1006)’)))

It is saying a certificate is not yet valid, which seems a strange thing. It would mean the certificate is for the future. Is the clock on your instance running on the correct time and time zone?

It is also complaining you tried too many times, that usually takes some time to clear once you fixed the time problem.

Hi Edwin, thanks for answering. I indeed noticed that the HA timing has some issues. For example everytime I do a back-up, it shows that was done a wwek ago. I am a total noob and I don’t know how to change it. I went into the time and date settings and I properly selected mine

For SSL it is important that the time is correct. Once it is, I’d expect the integration to work again once the timeout for too many attempts has cleared. If that doesn’t happen then I would try disabling the integration for one day and then turn it on again.

Has anyone else noticed that Disconnections during Charging have ceased lately?

I think it mostly was fixed on one of the last 2 software updates on the charger.

1 Like

@hesselonline

I have noticed a restart function has been added to the charger on the wallbox github.

How does this get pushed to home assistant with the associated switch to trigger, is this something you maintain? I noticed you have submitted previous code merges before.

The restart function was only added 2 days ago. I wouldn’t expect it to be supported by this HA integration anytime soon.

Hi all,

does anyone have a compete list of all the status descriptions for the Wallbox?
I don’t seem to find this anywhere online.

so far I have:
Ready
Charging
Paused
Scheduled
Disconnected
unavailable

I guess there should also be status ‘Error’ ?

I also have:
Locked
Locked, car connected
Waiting for car request
and indeed:
Error