albertogeniola / meross-homeassistant

Custom component that leverages the Meross IoT library to integrate with Homeassistant
MIT License
718 stars 82 forks source link

Meross Cloud IoT stopped working on HA 2023.12.0 #476

Closed Patrick010 closed 9 months ago

Patrick010 commented 9 months ago

Describe the bug After upgrading to HA 23.12.0 the Meross Cloud IoT integration fails to start

Your environment HomeAssistant version: -- 2023.12.0 -- Hassio Version (if applicable): -- PLEASE SPECIFY -- Hardware environment: -- Proxmox VM, Debian 12 Supervised --

Logs taken when the issue happened

===============================
Meross Cloud Custom component
Developed by Alberto Geniola
Low level library version: 0.4.6.0rc2
-------------------------------
This custom component is under development and not yet ready for production use.
In case of errors/misbehave, please report it here: 
https://github.com/albertogeniola/meross-homeassistant/issues

If you like this extension and you want to support it, please consider donating.
-------------------------------
List of devices reported by HTTP API:
- meross-1 (mss310) - OnlineStatus.ONLINE
- meross-2 (mss310) - OnlineStatus.ONLINE
- meross-3 (mss310) - OnlineStatus.ONLINE
===============================
2023-12-08 21:36:51.501 WARNING (MainThread) [meross_iot.model.http.device] Provided bind_time is not int neither datetime. It will be ignored.
2023-12-08 21:36:51.501 WARNING (MainThread) [meross_iot.model.http.device] Provided bind_time is not int neither datetime. It will be ignored.
2023-12-08 21:36:51.501 WARNING (MainThread) [meross_iot.model.http.device] Provided bind_time is not int neither datetime. It will be ignored.
2023-12-08 21:36:51.524 ERROR (MainThread) [custom_components.meross_cloud] Error occurred.
-------------------------------------
Component version: 0.4.6.0rc2
Device info: 
<Unavailable>
Error Message: "An exception occurred while setting up the meross manager. Setup will be retried..."
Traceback (most recent call last):
  File "/config/custom_components/meross_cloud/__init__.py", line 470, in async_setup_entry
    await meross_coordinator.initial_setup()
  File "/config/custom_components/meross_cloud/__init__.py", line 200, in initial_setup
    await self._manager.async_device_discovery()
  File "/usr/local/lib/python3.11/site-packages/meross_iot/manager.py", line 375, in async_device_discovery
    dev = await self._async_enroll_new_http_dev(d)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/meross_iot/manager.py", line 453, in _async_enroll_new_http_dev
    res_abilities = await self.async_execute_cmd(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/meross_iot/manager.py", line 846, in async_execute_cmd
    client = await self._async_get_create_mqtt_client(domain=mqtt_hostname, port=mqtt_port)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/meross_iot/manager.py", line 199, in _async_get_create_mqtt_client
    client.connect(host=domain, port=port, keepalive=30)
  File "/usr/local/lib/python3.11/site-packages/paho/mqtt/client.py", line 914, in connect
    return self.reconnect()
           ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/paho/mqtt/client.py", line 1044, in reconnect
    sock = self._create_socket_connection()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/paho/mqtt/client.py", line 3685, in _create_socket_connection
    return socket.create_connection(addr, timeout=self._connect_timeout, source_address=source)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/socket.py", line 851, in create_connection
    raise exceptions[0]
  File "/usr/local/lib/python3.11/socket.py", line 836, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

image

image

Local API 2023-12-08 22:47:10.004506467 DEBUG:DEVICE_ACL=> username: _agent, topic: $SYS/client-disconnections, acc: 1, clientid: broker 2023-12-08 22:47:09.976875173 INFO:127.0.0.1 - - [08/Dec/2023 23:47:09] "POST /v1/Device/devList HTTP/1.0" 200 - 2023-12-08 22:47:09.969096530 DEBUG:User <User 1 ('1')> requested deviceList 2023-12-08 22:47:09.968980135 DEBUG:Found input json ({'params': 'e30=', 'sign': '16069bf6778675425dd8d51a282855b5', 'timestamp': 1702075629963, 'nonce': 'S44804P4HYCCKW02'}) 2023-12-08 22:47:09.968797003 INFO:User <User 1 ('1')> recognized by token 45aefa48cfa7a4a7b6562d7b0e7bdc5a1f267f16e207294e339507ad0308d6de 2023-12-08 22:47:09.966955972 DEBUG:User provided token: 45aefa48cfa7a4a7b6562d7b0e7bdc5a1f267f16e207294e339507ad0308d6de 2023-12-08 22:47:09.960239463 INFO:127.0.0.1 - - [08/Dec/2023 23:47:09] "POST /v1/Device/devList HTTP/1.0" 200 - 2023-12-08 22:47:09.952465174 DEBUG:User <User 1 ('1')> requested deviceList 2023-12-08 22:47:09.952347300 DEBUG:Found input json ({'params': 'e30=', 'sign': 'cd7fc6b9ef65de7b0d90f97a49b073d7', 'timestamp': 1702075629948, 'nonce': 'ERGGI2GW3AP7RCX0'}) 2023-12-08 22:47:09.952137444 INFO:User <User 1 ('1')> recognized by token 45aefa48cfa7a4a7b6562d7b0e7bdc5a1f267f16e207294e339507ad0308d6de 2023-12-08 22:47:09.950216443 DEBUG:User provided token: 45aefa48cfa7a4a7b6562d7b0e7bdc5a1f267f16e207294e339507ad0308d6de 2023-12-08 22:45:49.456871451 INFO:127.0.0.1 - - [08/Dec/2023 23:45:49] "POST /_devs_/acl HTTP/1.1" 200 - 2023-12-08 22:45:49.456287824 DEBUG:DEVICE_ACL=> username: _agent, topic: $SYS/client-disconnections, acc: 1, clientid: broker 2023-12-08 22:45:49.430026076 INFO:127.0.0.1 - - [08/Dec/2023 23:45:49] "POST /v1/Device/devList HTTP/1.0" 200 - 2023-12-08 22:45:49.420598513 DEBUG:User <User 1 ('1')> requested deviceList 2023-12-08 22:45:49.420502503 DEBUG:Found input json ({'params': 'e30=', 'sign': '84426d51b5c9e92cb4e6fa34e79af354', 'timestamp': 1702075549416, 'nonce': 'NLKDVK2MZXI13DF4'}) 2023-12-08 22:45:49.420307531 INFO:User <User 1 ('1')> recognized by token 45aefa48cfa7a4a7b6562d7b0e7bdc5a1f267f16e207294e339507ad0308d6de 2023-12-08 22:45:49.418415399 DEBUG:User provided token: 45aefa48cfa7a4a7b6562d7b0e7bdc5a1f267f16e207294e339507ad0308d6de 2023-12-08 22:45:49.412910032 INFO:127.0.0.1 - - [08/Dec/2023 23:45:49] "POST /v1/Device/devList HTTP/1.0" 200 - 2023-12-08 22:45:49.405050054 DEBUG:User <User 1 ('1')> requested deviceList 2023-12-08 22:45:49.404948206 DEBUG:Found input json ({'params': 'e30=', 'sign': '396815fb211ac53300037a27f4fa91a3', 'timestamp': 1702075549399, 'nonce': 'COTD4PQ906W90784'}) 2023-12-08 22:45:49.404649804 INFO:User <User 1 ('1')> recognized by token 45aefa48cfa7a4a7b6562d7b0e7bdc5a1f267f16e207294e339507ad0308d6de 2023-12-08 22:45:49.402654383 DEBUG:User provided token: 45aefa48cfa7a4a7b6562d7b0e7bdc5a1f267f16e207294e339507ad0308d6de 2023-12-08 22:45:28.368353783 INFO:127.0.0.1 - - [08/Dec/2023 23:45:28] "GET /_admin_/configuration HTTP/1.0" 200 - 2023-12-08 22:45:28.362567417 INFO:127.0.0.1 - - [08/Dec/2023 23:45:28] "GET /_admin_/subdevices HTTP/1.0" 200 - 2023-12-08 22:45:28.349802896 INFO:127.0.0.1 - - [08/Dec/2023 23:45:28] "GET /_admin_/devices HTTP/1.0" 200 - 2023-12-08 22:44:29.087669682 INFO:127.0.0.1 - - [08/Dec/2023 23:44:29] "POST /_devs_/acl HTTP/1.1" 200 -

Local Agent 2023-12-08 22:48:30.398321709 DEBUG:Broker reported client (null) (username: (null), ip: 192.168.1.5) disconnected for reason -1 2023-12-08 22:48:30.398317859 DEBUG:Local MQTT: received message on topic $SYS/client-disconnections: b'{"event": "disconnect", "data":{"client_id":"(null)","username":"(null)","address":"192.168.1.5", "reason":-1}}'

Patrick010 commented 9 months ago

Never mind, reinstalling everything fixed it