home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
73.64k stars 30.79k forks source link

Adding a new Synology DSM integration keeps failing with 'Missing data: please retry later or an other configuration' error message #129839

Open uppie-dev opened 1 week ago

uppie-dev commented 1 week ago

The problem

I'm running HAOS as VM on Proxmox VE. On the same local network my Synology DS418 is running on DSM version 7.2.2-72806. Proxmox VE, HAOS and the Synology NAS use static IP addresses. On the Synology NAS I've created a new user account 'HomeAssistant', with admin rights, and access to a Home share for backup files, and access to Synology applications DSM and SMB. I've removed 2FA as mandatory for admin users in general and this user specifically, and have also removed the setting to enforce MFA for password only admin users on the NAS. I can successfully logon over the DSM web interface of the NAS using this new NAS user and its password only. I've successfully set-up Network Storage for Home Assistant back-up file location using this NAS user.

However, when I try to add the Synology DSM integration to Home Assistant (using either local IP address or mDNS name, the 'HomeAssistant' NAS user, its password, Port 5000 and both SSL check boxes off), the integration UI take a while to respond, seemingly processing things, but then returns error message 'Missing data: please retry later or an other configuration'. The configuration cannot be completed, the logon details dialog keeps being displayed. The Synology DSM console however does show that the NAS user HomeAssistant has successfully logged on, an HTTP/HTTPS connection is reported to be active for the user after the attempt.

What version of Home Assistant Core has the issue?

core-2024.10.4

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Synology DSM

Link to integration documentation on our website

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

Diagnostics information

home-assistant_2024-11-04T18-55-41.434Z.log

Example YAML snippet

No response

Anything in the logs that might be useful for us?

Based on info from other similar issues reported, I've activated debugging for the Synology DSM integration, restarted Home Assistant and tried again. Please find the resulting home-assistant.log file attached to this issue. Glancing over the several Synology API calls logged (not my background, but I'm sufficient IT savvy to seem to understand), the calls all seem to be reported as successful: SYNO.API.Info, SYNO.API.Auth, SYNO.DSM.Info, SYNO.Core.System.Utilization, SYNO.Storage.CGI.Storage, and finally SYNO.DSM.Network. No further calls or debugging log entries are reported after that.

Additional information

No response

home-assistant[bot] commented 1 week ago

Hey there @hacf-fr, @quentame, @mib1185, mind taking a look at this issue as it has been labeled with an integration (synology_dsm) you are listed as a code owner for? Thanks!

Code owner commands Code owners of `synology_dsm` 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 synology_dsm` 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)


synology_dsm documentation synology_dsm source (message by IssueLinks)

mib1185 commented 1 week ago

the issue is, that your NAS do not return any network interface data (is is just an empty list 'interfaces': [])

2024-11-04 19:38:48.195 DEBUG (MainThread) [synology_dsm.synology_dsm] API: SYNO.DSM.Network
2024-11-04 19:38:48.195 DEBUG (MainThread) [synology_dsm.synology_dsm] Request Method: GET
2024-11-04 19:38:48.337 DEBUG (MainThread) [synology_dsm.synology_dsm] Request url: http://192.168.178.3:5000/webapi/entry.cgi?api=SYNO.DSM.Network&version=2&method=list&_sid=*********&SynoToken=*********
2024-11-04 19:38:48.338 DEBUG (MainThread) [synology_dsm.synology_dsm] Response status_code: 200
[...]
2024-11-04 19:38:48.341 DEBUG (MainThread) [synology_dsm.synology_dsm] Successful returned data
2024-11-04 19:38:48.342 DEBUG (MainThread) [synology_dsm.synology_dsm] RESPONSE: {'data': {'dns': ['213.46.228.196'], 'gateway': '192.168.178.1', 'hostname': 'BigNAS', 'interfaces': [], 'workgroup': 'WORKGROUP'}, 'success': True}

do you have any special network setup or maybe just try to reboot the NAS

uppie-dev commented 1 week ago

Ok, thanks for your reply and clarification, understood, so the integration is erroring out on the empty network interfaces list, even though setting up the connection and other data results are ok.

I have restarted the NAS and tried adding the integration again, but the same error is returned by the UI and the same empty network interfaces list is reported in the log.

I don’t think I have a specific network setup. Consumer grade internet router which I have setup to assign a fixed IP address for the MAC address of one of the two LAN ports of the NAS. The NAS has no cable on LAN 1 port and is linked to the router directly on LAN 2 port. The network data reported by the NAS in the DSM UI is showing the correct reserved IP address for that LAN 2 port. The assigned IP address is not used by other devices (router DHCP range does not overlap with the static IP addresses used in the network). See this screen shot (sorry, in Dutch, but you’ll probably understand what’s what). IMG_5212

What would a valid interfaces list result look like? I can try to file a bug report with Synology, but am not aquatinted with that eco system.

And, wouldn’t it be better if the integration can deal with some data missing, instead of erroring out?

uppie-dev commented 6 days ago

Meanwhile I've connected the NAS on LAN 1 (instead of LAN 2 before), updated the static IP address assigned by my router to use the MAC address of the NAS LAN 1, restarted router, restarted the NAS, checked that now LAN 1 is properly reported as connected. Then I retried adding the integration again, but same error is popping up, the debug log still shows an empty interface list.

I noticed the same problem (same integration UI error message, same empty interfaces list in the API) was reported 1,5 year back in #92630, but the original reporter never came back to if and how it was resolved.