twocolors / node-red-contrib-midea-hvac

Nodes for controlling Midea HVAC in Node-RED
MIT License
5 stars 2 forks source link

[serialbridge:Midea Aircon] Error getting status (No response received) #8

Closed KanG00 closed 2 years ago

KanG00 commented 2 years ago

Hi. Usually after pushing node-red Deploy button more often, or after some random time, serial bridge connection stops working. There is invoking message and after that an error:

[serialbridge:Midea Aircon] Error getting status (No response received)

I'm also sometimes getting:

[error] [serialbridge:Midea Aircon] Error getting status (Invalid response)

and after that

[serialbridge:Midea Aircon] Error getting status (No response received)

Sometimes also Invoking process stuck.

Then when I check netstat (after it stays in this state for a while), it turns out that there are manny Telnet connections ESTABLISHED, but none of them is working.

Then I need to restart whole node-red, which clears all connections and establishes just two working properly for some time:

netstat | grep telnet
tcp        0      0 192.168.1.127:48774     192.168.1.147:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:48776     192.168.1.147:telnet    ESTABLISHED

until next failure. I've not been able to keep it running for more than an hour or two.

I've also grabbed TCP dump, and while problem is active there are plenty of tcp retransmissions.

For me the scenario is, that from time to time malformed message arrives from the telnet connection, and that exception is not handled properly, which causes connection stuck without closing session. New sessions are triggered, but they are not able to run as this first one is stuck.

That is my high level thinking, but it could be totally wrong. :

I'm using: Midea Air - airconditioner serial adapter based on ESP8266 node-red - 2.2 esp-link - v3.2.47-g9c6530d (tried also 3.014 but no change) node - v14.19.0 node-red-contrib-midea-hvac - v1.1.7

Thanks in advance

twocolors commented 2 years ago

Thanks, I'll see what I can do. But now I recommend switching to the implementation of https://esphhome.io/components/climate/midea.html?highlight=midea + mqtt (or rest api), because I also caught losses from esp-link.

twocolors commented 2 years ago

try node-red-contrib-midea-hvac@1.1.8

KanG00 commented 2 years ago

Addres that you have provided is unreachable I've started testing 1.1.8 and at least as per first look, pushing deploy button in Node-red every each second time still causes telnet sessions multiplication and it stuck in "Invoking" process.

twocolors commented 2 years ago

https://esphome.io/components/climate/midea.html?highlight=midea

how many node serial you have ? 1 node - 1 connect not use more

KanG00 commented 2 years ago

1 node - 1 connect only. But After the update it seems to work smoothly, but the problem only pops up when I press deploy for the second time. Then telnet sessions are multiplied and node-red needs to be restarted. If not doing that it works correct.

twocolors commented 2 years ago

try 1.1.9

KanG00 commented 2 years ago

After second time pressing Deploy button I could see that there are additional 2 sessions ESTABLISHED and some tcp sessions where in status TIME_WAIT. So some where killed, but 4 sessions are kept established which causes interface stuck. Then second time tried to press Deploy and after a while and many failed midea queries:

tcp        0      0 192.168.1.127:50160     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:40910     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:47534     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:38070     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:40906     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:44942     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:44088     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:37894     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:37896     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:50156     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:33858     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:40914     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:46836     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:40898     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:46882     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:50150     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:50008     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:47506     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:41350     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:47400     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:50014     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:33856     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:47510     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:58166     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:47502     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:40922     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:58132     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:40912     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:47536     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:41352     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:50158     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:57878     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:47504     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:58084     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:50154     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:47396     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:50010     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:40902     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:50006     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:47038     192.168.1.115:telnet    ESTABLISHED
tcp        0      0 192.168.1.127:47508     192.168.1.115:telnet    ESTABLISHED
twocolors commented 2 years ago

it takes a couple of days to connect the esp-link and check.

But we will definitely solve this problem.

KanG00 commented 2 years ago

Any progress ?

twocolors commented 2 years ago

@KanG00 I'm sorry, I remember you, but circumstances do not allow for tests.

tommx0 commented 2 years ago

Hi. Just to let you know - same problem here. Under some, unclear, circumstances the node turns into a permanent and massive sender to port esp-link ip-adress on port23. (prooved by tcpdump) A remove of the the "serial"node and a re-deploy does not work. You have to restart node red. or reboot the hardware.

twocolors commented 2 years ago

hi try 1.2.0

KanG00 commented 2 years ago

After upgrade I'm not able to start node-red due to:

Jun 22 13:39:35 raspberrypi Node-RED[904]: 22 Jun 13:39:35 - [info] Waiting for missing types to be registered: Jun 22 13:39:35 raspberrypi Node-RED[904]: 22 Jun 13:39:35 - [info] - serialbridge

twocolors commented 2 years ago

@KanG00 reinstall node-red-contrib-midea-hvac , i remove node serialbridge now is one node midea

KanG00 commented 2 years ago

You've changed much more. Eg "Setpoint" is now "temperatureSetpoint" right ? I need to adapt it...

What is the replacement for "horizontalSwingActive" ?

twocolors commented 2 years ago

yes Setpoint replace to temperatureSetpoint , horizontalSwingActive -> updownFan

KanG00 commented 2 years ago

Yup, works much better now! Thanks !

KanG00 commented 2 years ago

Solved by @twocolors Big THX. Now telnet sessions are not getting constantly multiplied after each node-red deploy.

twocolors commented 2 years ago

Hello @KanG00 , thanks for the response.

Another feature, now the number of nodes to one air conditioner can be many.

If for you English is a happy language and you can pull on README, would be grateful.