denpamusic / homeassistant-plum-ecomax

Plum ecoMAX boiler controller integration for Home Assistant.
MIT License
30 stars 7 forks source link

Cannot connect to ecoMAX810 #74

Closed sundeveu closed 7 months ago

sundeveu commented 7 months ago

Is there an existing issue for this?

I'm having the following issue:

Hardware:

HA installed as Home Assistant Operating System:

Plum equipment:

Tried all possible EW11 settings for RS485 and network and all the time trying add Plum integration (TCP 192.168.10.65:8899) finishing with message "No Plum devices found". I don't know what is the problem HA can't connect to EW11 or EW11 can't connect to Plum or something else... From HA terminal add-on I can ping EW11.

Connection looks like: connection

I have following devices connected:

I'm connecting to my devices using:

Ethernet/WiFi to RS-485 converter

I'm seeing following log messages:

Logger: pyplumio.connection
Source: runner.py:188
First occurred: 21:04:26 (1 occurrences)
Last logged: 21:04:26
Can't connect to the device, retrying in 20.0 seconds

Logger: custom_components.plum_ecomax.config_flow
Source: custom_components/plum_ecomax/config_flow.py:189
Integration: Plum ecoMAX (documentation, issues)
First occurred: 21:04:31 (1 occurrences)
Last logged: 21:04:31
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/tasks.py", line 520, in wait_for
    return await fut
           ^^^^^^^^^
  File "/usr/local/lib/python3.12/asyncio/locks.py", line 212, in wait
    await fut
asyncio.exceptions.CancelledError

The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/config/custom_components/plum_ecomax/config_flow.py", line 189, in async_step_device
    await self.device_task
  File "/config/custom_components/plum_ecomax/config_flow.py", line 175, in _wait_for_device
    self.device = await self.connection.get(ECOMAX, timeout=DEFAULT_TIMEOUT)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/pyplumio/helpers/event_manager.py", line 56, in get
    await self.wait_for(name, timeout=timeout)
  File "/usr/local/lib/python3.12/site-packages/pyplumio/helpers/event_manager.py", line 43, in wait_for
    await asyncio.wait_for(self.create_event(name).wait(), timeout=timeout)
  File "/usr/local/lib/python3.12/asyncio/tasks.py", line 519, in wait_for
    async with timeouts.timeout(timeout):
  File "/usr/local/lib/python3.12/asyncio/timeouts.py", line 115, in __aexit__
    raise TimeoutError from exc_val
TimeoutError

My diagnostics data:

comm-setting serial-setting serial-state

Code of Conduct

Taziff commented 7 months ago

Próbowałeś przełączyć D+ i D- do złącza G1?

denpamusic commented 7 months ago

Hi,

Thank you for the feedback!

From your log I see that the integration did successfully connect to EW11, but didn't see any devices using EM protocol there and gave up.

Firstly, lets clarify that your specific device is a boiler controller, and not a heat pump, as this integration doesn't work with heat pumps.

Next please try to use settings for EW11 described here and check your wiring. While in that specific case, the issue was, that device was in fact a heat pump with GM3 protocol, the settings themselves are correct.

sundeveu commented 7 months ago

Próbowałeś przełączyć D+ i D- do złącza G1?

Właśnie to zrobiłem - niestety nic się nie zmieniło - nadal timeout i komunikat "Nie znaleziono żadnych urządzeń w sieci" Ale same połączenie do EW11 dociera bo pojawia się w statusie IP HA: status I po jakiś 2 minutach znika

Może jakiś problem z tym 810P3 - to piec Lazar Pellet Focus z 2017r - jakiś inny protokół komunikacyjny?

EN: Reconnected EW11 to G1 connector and no change - the same message. I noticed that connection from HA to EW1 is made because HA IP occurs for 2 minutes after try to add Plum integration TCP connecion and dissapers. Is it possible 810P3 have different protocol? It is furnace: Lazar Pellet Focus from 2017

denpamusic commented 7 months ago

I believe that there's no pellet boilers that use GM3 protocol, especially not all the way back to 2017. So far we've only encountered it with heat pumps.

Also, although in different variant, I've seen EM810 working with this integration so your device should be compatible.

Did you try settings for EW11, that I've linked? Especially buffer size and gap time. EM can have pretty long messages, all the way up to 1000 bytes, while EW11 by default specifies 512 bytes buffer.

sundeveu commented 7 months ago

Did you try settings for EW11, that I've linked? Especially buffer size and gap time. EM can have pretty long messages, all the way up to 1000 bytes, while EW11 by default specifies 512 bytes buffer.

Yes I did. I tried also other EW11 device (which I bought for connection to my solar panels inverter) and still no luck: 4-integration

Current running settings: 1-comm 2-serial Also I tried telnet connection to netp service @8899 - there is one character I receive: 3-telnet I'll check one more thing: maybe 5V (measured: 4,85V) is not enough to power device - I will try with external 12V power supply.

denpamusic commented 7 months ago

Also I tried telnet connection to netp service @8899 - there is one character I receive:

That doesn't look right for either EM or GM3 protocols. Did you try swapping D+ and D- around?

sundeveu commented 7 months ago

That doesn't look right for either EM or GM3 protocols. Did you try swapping D+ and D- around?

Yes did it earlier and everything looks the same.

Taziff commented 7 months ago

Na G1 jest prędkość 115200 na G2 19600

sundeveu commented 7 months ago

Na G1 jest prędkość 115200 na G2 19600

Plum integration not connecting to both G1@115200 and G2@19600 but on G1@115200 telnet gives some reasonable data ie. there is string ecoMAX810P-L:

Expand ``` h ▬hE 5@ UE 5 D▬h↓☺E bd☺U┌↓Tľ4a☺=☻6☻d☻@ e♥žĺĺ# č♦j đQ↔`B0Q░A♥WöB└└˙57C└└└└└└└└└└└AX((((☻☻ěű ☺☻☺@d▲źR☺}Ue§Ć↕G14∟;f☻└Ę = ☺ ☺☺d5▬h PE 5= z▬h PE 5@ ▬h QE 5@ ▬h VE 50}▬h UE 5 D▬h↓☺E bd☺U┌↓Tľ4a☺=☻6☻d☻@ e♥žĺĺ" ×♦k đO*`BÍi░A XöB└└ §7C└└└└└└└└└└└AX((((☻☻ěű ☺☻☺@d▲źR☺}Ue§Ć↕G14∟;f☻└Ę = ☺ ☺☺d▬hśE 55 1☺2☺6☻8☻9♥=☻P☺Q☺R☺S☺♥Go XöB☺Íi░A☻O*`B♥   §7C   XA¬Bd    ☺▲źR☺     (   (   (☻☺  (☻☺˝▬h8UE 5LŚ▲0ź↓Dec 3 2015 13:30:06E z VŠ▬h PE 5@ ▬h QE 5@ ▬h WE 5@ ▬h XE 5@♥▬h VE 50}▬h UE 5 D▬h↓☺E bd☺U┌↓Tľ4a☺=☻6☻d☻@ e♥ąĺĺ# ×♦k đÎ∟`BŔM░AxdöB└└N77C└└└└└└└└└└└AX((((☻☻ěű ☺☻☺@d▲źR☺}Ue§Ć↕G14∟;f☻└Ę = ☺ ☺☺dł▬hśE 55 1☺2☺6☻8☻9♥=☻P☺Q☺R☺S☺♥EoxdöB☺ŔM░A☻Î∟`B♥  N77C   XA¬Bd    ☺▲źR☺     (   (   (☻☺  (☻☺n▬h PE 5@ ▬h QE 5@ ▬h VE 50}▬h UE 5 D▬h↓☺E bd☺U┌↓Tľ4a☺=☻6☻d☻@ e♥ąĺĺ# ×♦k đÎ∟`BŔM░AxdöB└└N77C└└└└└└└└└└└AX((((☻☻ěű ☺☻☺@d▲źR☺}Ue§Ć↕G14∟;f☻└Ę = ☺ ☺☺dÄ▬h PE5= z▬hśE 55 1☺2☺6☻8☻9♥=☻P☺Q☺R☺S☺♥EoŐföB☺@I░A☻Ś`B♥  r$7C   XA¬Bd    ☺▲źR☺     (   (   (☻☺  (☻☺[▬h PE 5@ ▬h QE 5@ ▬h VE 50}▬h UE 5 D▬h↓☺E bd☺U┌↓Tľ4a☺=☻6☻d☻@ e♥ąĺĺ# ×♦k đw↓`BŮe░AôgöB└└♦C└└└└└└└└└└└AX((((☻☻ěű ☺☻☺@d▲źR☺}Ue§Ć↕G14∟;f☻└Ę = ☺ ☺☺dŻ▬hśE 55 1☺2☺6☻8☻9♥=☻P☺Q☺R☺S☺♥EoôgöB☺Ůe░A☻w↓`B♥  ♦C   XA¬Bd    ☺▲źR☺     (   (   (☻☺  (☻☺[▬h PE 5@ ▬h QE 5@ h VE 50}h UE 5 DhE bdU┌Tľ4a=6d@ eąĺĺ" čl đw`BŮe░AôgöB└└C└└└└└└└└└└└AX((((ěű @dźR}UeĆG14;f└Ę =  dŻhśE 55 12689=PQRSEohöB?@ABCD E F G H I J K L M N O P Q R S T U V W W W W W W W W W W W W W W X Y Z [ \ ] ^ _ _`a b c d e f g h h h h i j k l m n o p q r  t u v w xyz{|}~ÇüéâäůćçłëŐőîŹÄĆÉĹ ĺ ô ö ĽľŚśÖÜŤťŁ×čáúĄąŽžĘ꬟ Č h PE 5= zhÜE 5                  ­                   Ó°               Ah8UE 5LŚ0źDec 3 2015 13:30:06E z VŠh«E 5▒őUdFd7d       d d#d2dd   dZd    d   dZx   d_idagd_idagd_idbf              P   ˙ <      <       cc   ?@ABCD E F G H I J K L M N O P Q R S T U V W W W W W W W W W W W W W W X Y Z [ \ ] ^ _ _`a b c d e f g h h h h i j k l m n o p q r  t u v w xyz{|}~ÇüéâäůćçłëŐőîŹÄĆÉĹ ĺ ô ö ĽľŚśÖÜŤťŁ×čáúĄąŽžĘ꬟ Č h«E 5▒őUdFd7d       d d#d2dd   dZd    d   dZx   d_idagd_idagd_idbf         Zd     P   ˙ <      <       cc   ľöBÜD░Ai`B  ś˘6C   XA¬Bd    źR     ( h(   (  ( PE 5@ h QE 5@ h VE 50}h UE 5 DhE bdU┌Tľ4a=6d@ eąĺĺ" ×o Đi`BÜD░A>ľöB└└ś˘6C└└└└└└└└└└└AX((((ěű @dźR}UeĆG14;f└Ę =  dÚhśE 55 12689=PQRSEoä×öBÜD░A_`B  7C   XA¬Bd    źR     (   (   (  (Řh PE 5@ h QE 5@ h VE 50}h UE 5 DhE bdU┌Tľ4a=6d@ eąĺĺ" ×o Đ_`BÜD░Aä×öB└└7C└└└└└└└└└└└AX((((ěű @dźR}UeĆG14;f└Ę =  dhśE 55 12689=PQRSEoä×öBÜD░A_`B  7C   XA¬Bd    źR     (   (   (  (Řh PE 5@ h QE 5@ h WE 5@ h XE 5@ ```
denpamusic commented 7 months ago

Good. That at least tells us, that physical connection is working, although it really hard to understand anything in ASCII. Please wait until the weekend, I'll write you a script to grab data as hex string.

sundeveu commented 7 months ago

Thanks guys! Everything started to work after latest update to v0.4.2. I think update PyPlumIO to v0.5.15 solved problem. plum

denpamusic commented 7 months ago

That's great! Thanks for the heads up!

It's very interesting, that PyPlumIO (PIO) 0.5.15 solved the issue. One of the greatest features of PIO v0.5.15 is insanely optimized main loop in frame producer. Up to 30% faster than previous implementation and doesn't waste any cycles during first iteration. Which leads me to think that maybe the issue, was somehow related to the PC used to run HASS, which is strange to think about, since HP t620 should be plenty powerful for the task, given that I'm running fine on Raspberry Pi 4B (8Gb version).

But, oh well, I'm very glad that you've got it to work! Don't hesitate to contact me if any other issue arises.