core icon indicating copy to clipboard operation
core copied to clipboard

Gree Climate: No device found on the network

Open wosiu opened this issue 1 year ago • 2 comments

The problem

I'm running latest stable HA. When I'm trying to add my Gree AC via bultin Gree integration I'm getting: image

FWIW The host running HA container is in the same subnet as Gree devices. Ping from the host to devices IP works fine.

This is all I get from tail -f home-assistant.log | grep -i gree:

2024-10-07 09:52:07.859 INFO (MainThread) [greeclimate.discovery] Scanning for Gree devices ...
2024-10-07 09:52:07.860 DEBUG (MainThread) [greeclimate.discovery] Listening for devices on 255.255.255.255
2024-10-07 09:52:07.863 DEBUG (MainThread) [greeclimate.network] Sending packet:

So I started to run manually the discovery task gree.py script as described at the end here from different hosts in my network. Depending on the setup I get in a console:

case 1: some firewall rules which seems to break the auto-discovery broadcast thing (basically blocking incoming traffic it seems):

python gree.py --discovery
asyncio - DEBUG - Using selector: EpollSelector
__main__ - DEBUG - Scanning network for Gree devices
greeclimate.discovery - INFO - Scanning for Gree devices ...
greeclimate.discovery - DEBUG - Listening for devices on 192.168.1.255
greeclimate.discovery - DEBUG - Listening for devices on 172.18.255.255
greeclimate.discovery - DEBUG - Listening for devices on 172.17.255.255
greeclimate.discovery - DEBUG - Listening for devices on 172.22.255.255
greeclimate.discovery - DEBUG - Listening for devices on 172.20.255.255
greeclimate.network - DEBUG - Sending packet:
-> {"t": "scan"}
greeclimate.network - DEBUG - Sending packet:
-> {"t": "scan"}
greeclimate.network - DEBUG - Sending packet:
-> {"t": "scan"}
greeclimate.network - DEBUG - Sending packet:
-> {"t": "scan"}
greeclimate.network - DEBUG - Sending packet:
-> {"t": "scan"}
__main__ - INFO - Done discovering devices

BUT when I send the packet manually to my Gree AC device (its IP is 192.168.1.129) using netcat, it works fine:

nc -u 192.168.1.129 7000
{"t": "scan"}
{"t":"pack","i":1,"uid":0,"cid":"","tcid":"","pack":"[anonymised]"}

case 2: Added entry to my firewall to whitelist all incoming traffic from one of the AC devices to whole machine (which I don't like):

gree.py --discovery
asyncio - DEBUG - Using selector: EpollSelector
__main__ - DEBUG - Scanning network for Gree devices
greeclimate.discovery - INFO - Scanning for Gree devices ...
greeclimate.discovery - DEBUG - Listening for devices on 192.168.1.255
greeclimate.discovery - DEBUG - Listening for devices on 172.18.255.255
greeclimate.discovery - DEBUG - Listening for devices on 172.17.255.255
greeclimate.discovery - DEBUG - Listening for devices on 172.22.255.255
greeclimate.discovery - DEBUG - Listening for devices on 172.20.255.255
greeclimate.network - DEBUG - Sending packet:
-> {"t": "scan"}
greeclimate.network - DEBUG - Sending packet:
-> {"t": "scan"}
greeclimate.network - DEBUG - Sending packet:
-> {"t": "scan"}
greeclimate.network - DEBUG - Sending packet:
-> {"t": "scan"}
greeclimate.network - DEBUG - Sending packet:
-> {"t": "scan"}
greeclimate.cipher - DEBUG - Decrypting data: [anonymised]
greeclimate.cipher - DEBUG - Decrypted data: {"t":"dev","cid":"9424b8bb5e79","bc":"00000000000000000000000000000000","brand":"gree","catalog":"gree","mac":" [anonymised]","mid":"10001","model":"gree","name":"","lock":0,"series":"gree","vender":"1","ver":"V2.0.0","ModelType":"32792","hid":"362001065279+U-WB05RT13V1.23.bin"}
greeclimate.network - DEBUG - Received packet from 192.168.1.129:
<- {"t": "pack", "i": 1, "uid": 0, "cid": "", "tcid": "", "pack": {"t": "dev", "cid": " [anonymised]", "bc": "00000000000000000000000000000000", "brand": "gree", "catalog": "gree", "mac": "[anonymised]", "mid": "10001", "model": "gree", "name": "", "lock": 0, "series": "gree", "vender": "1", "ver": "V2.0.0", "ModelType": "32792", "hid": "362001065279+U-WB05RT13V1.23.bin"}}
greeclimate.discovery - INFO - Found gree device Device:  [anonymised] @ 192.168.1.129:7000 (mac:  [anonymised])
__main__ - INFO - Done discovering devices

That said, even with this hole in my firewall and the script returning the above entry, my home-assistant did not discover the device after the first run of adding the Gree integration in the UI. I had to run it for the second time for the device to be discovered.

And just to make it clear - I prefer I do not make this hole in my firewall. I've got plenty other wifi devices which works just fine without any extra holes in the firewall. I also tried to narrow the hole to dst port of my home assistant UI, but then the discovery breaks, because it seems different ports are used for autodiscovery - this is tcpdump on a host running HA during the autodiscovery:

sudo tcpdump -i any host 192.168.1.129
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked v1), capture size 262144 bytes


11:52:59.892295 IP 192.168.1.129.afs3-fileserver > m-hplap.33874:  rx type 105 (439)
11:53:07.880321 IP 192.168.1.129.afs3-fileserver > m-hplap.46474:  rx type 105 (439)
11:53:07.884924 IP m-hplap.41233 > 192.168.1.129.afs3-fileserver:  rx type 49 (145)
11:53:12.937872 ARP, Request who-has 192.168.1.129 tell m-hplap, length 28
11:53:12.999731 ARP, Reply 192.168.1.129 is-at 94:24:b8:bb:5e:79 (oui Unknown), length 50
11:53:17.887673 IP m-hplap.41233 > 192.168.1.129.afs3-fileserver:  rx type 49 (180)
11:53:17.925179 IP 192.168.1.129.afs3-fileserver > m-hplap.41233:  rx type 122 (195)
11:53:17.927115 IP m-hplap.41233 > 192.168.1.129.afs3-fileserver:  rx type 48 (500)
11:53:17.943335 IP 192.168.1.129.afs3-fileserver > m-hplap.41233:  rx type 79 (619)

Once the autodiscovery is completed, I was able to remove a hole from my firewall, and controling the AC from HA seems to work fine. Not sure how it will behave in a long term.

So I guess we really need this: https://github.com/home-assistant/core/issues/83048 to be added to the integration as an option. I think many people use static IPs via MAC binding for the IoT devices anyway. And I prefer static IP in the HA config too and avoid any extra broadcasting in my network if not neccessary.

What version of Home Assistant Core has the issue?

core-2024.10.1

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant Container

Integration causing the issue

Gree Climate

Link to integration documentation on our website

https://www.home-assistant.io/integrations/gree/

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

wosiu avatar Oct 07 '24 10:10 wosiu

Hey there @cmroche, mind taking a look at this issue as it has been labeled with an integration (gree) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of gree can trigger bot actions by commenting:

  • @home-assistant close Closes the issue.
  • @home-assistant rename Awesome new title Renames the issue.
  • @home-assistant reopen Reopen the issue.
  • @home-assistant unassign gree Removes the current integration label and assignees on the issue, add the integration domain after the command.
  • @home-assistant add-label needs-more-information Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue.
  • @home-assistant remove-label needs-more-information Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


gree documentation gree source (message by IssueLinks)

home-assistant[bot] avatar Oct 07 '24 10:10 home-assistant[bot]

I have the exact same issue. Gree AC devices were working fine for months. Yesterday, they all simultaneously dropped from the network, with behavior described exactly as the original post. I will run the discovery outside of HA with different firewall settings to confirm as well. In the meantime, I am using https://github.com/rapi3/HA-OS-Gree, which allows manual IP definitions, but even then, 2 of my 5 units partially work (switches available, but climate unavailable). Does anyone know a way to fix that issue?

mag2352 avatar Oct 11 '24 12:10 mag2352

So even though I was able to workaround adding them as described in my main post, all the devices become eventually unavailable. So I can only guess that the discovery process is run from time to time? And if devices do not respond during the discovery, they are dropped (?)

wosiu avatar Oct 16 '24 13:10 wosiu

bump @cmroche

I am having exactly the same issue as described by OP.

sabbath88 avatar Nov 28 '24 11:11 sabbath88

I also have the exact same issue. Devices are gone and I cant use them. For now I need to fallback to a custom repository but I don't think that it makes sense. What is the discussion about not allowing manually adding a device by IP?

moynzzz avatar Feb 25 '25 21:02 moynzzz

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

It is not stale, the issue is still there.

wosiu avatar May 27 '25 06:05 wosiu

i am facing the same issue , integration cant find any AC ACs connected to the network + static ip + Gree app working fine

malajam avatar Jun 02 '25 19:06 malajam

Same issue as everyone else. Gree app works fine, all devices on same subnet as router. Assigned static IP to all devices.

AussieAppz avatar Jun 14 '25 23:06 AussieAppz

Same issue in my case :(

mmychu avatar Jun 24 '25 14:06 mmychu

Same here

spanricsi avatar Jun 25 '25 20:06 spanricsi

Issue confirmed in my case, too :(

sluczak avatar Jul 06 '25 16:07 sluczak

Same problem here

ruzjio avatar Jul 17 '25 07:07 ruzjio

I started to have the same issue after upgrading my HA Core to 2025.7.2 (from 2025.7.1). My HA lost communication to AC unit. I tried disable/enable the plugin (GreeClimate),

For me the only solution is to restart my WiFi access point, after which integration is able to discover AC again.


Installation method Home Assistant OS Core 2025.7.3 Supervisor 2025.07.1 Operating System 16.0 Frontend 20250702.3

szybar avatar Jul 23 '25 10:07 szybar

I have manage to solve the issue for me. After restart HOAS stopped to usefor integration one of the interfaces that was in the same VLAN as the Gree devices. The setting is in Settings/Syste/Network

Image

ruzjio avatar Jul 23 '25 12:07 ruzjio

I started to have the same issue after upgrading my HA Core to 2025.7.2 (from 2025.7.1). My HA lost communication to AC unit. I tried disable/enable the plugin (GreeClimate),

For me the only solution is to restart my WiFi access point, after which integration is able to discover AC again.

Installation method Home Assistant OS Core 2025.7.3 Supervisor 2025.07.1 Operating System 16.0 Frontend 20250702.3

Can confirm that restart my wifi APs fixed the problem for me also.

regg00 avatar Aug 02 '25 16:08 regg00

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.