core: Synlogy DSM KeyError: 'deploy_path'
The problem
On boot, I see the below error in the log. I switched over from YAML based config to entirely integration based with the 109 changes. Everything seems to be working.
Environment
- Home Assistant Core release with the issue: 109.0
- Last working Home Assistant Core release (if known): 108
- Operating environment (Home Assistant/Supervised/Docker/venv): Docker
- Integration causing this issue: SynologyDSM
- Link to integration documentation on our website:
Problem-relevant configuration.yaml
Traceback/Error logs
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 186, in _async_setup_platform
await asyncio.gather(*pending)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 295, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 445, in _async_add_entity
entity.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 297, in async_write_ha_state
self._async_write_ha_state() # type: ignore
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 320, in _async_write_ha_state
state = self.state
File "/usr/src/homeassistant/homeassistant/components/synology_dsm/sensor.py", line 173, in state
self.monitored_device
File "/usr/local/lib/python3.7/site-packages/synology_dsm/api/storage/storage.py", line 102, in volume_disk_temp_avg
vol_disks = self._get_disks_for_volume(volume_id)
File "/usr/local/lib/python3.7/site-packages/synology_dsm/api/storage/storage.py", line 150, in _get_disks_for_volume
if pool["deploy_path"] == volume_id:
KeyError: 'deploy_path'
Additional information
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Reactions: 2
- Comments: 21 (15 by maintainers)
My values:
1515+ with a 5-bay expansion unit:
SYNO.DSM.Info
SYNO.Storage.CGI.Storage
SYNO.Core.System.Utilization
SYNO.API.Info
1819+
SYNO.DSM.Info
SYNO.Storage.CGI.Storage
SYNO.Core.System.Utilization
SYNO.API.Info
Of course it helps 🥇
I think it’s connected to the disk redundancy format we use:
On my setup (3 disks on RAID 5: 1 volume)
On @Sjeff (2 disks on SH1: 2 volumes, 1 per disk)
But unlike me you have
So I should get the current volume from
pool_childin SHR case. Since SHR can use parts of disk to make one volume, 2 volumes can use the same disk, and so thevolume_disk_temp_avgmight use the temperature of a disk multiple times.Thanks for your data @Sjeff, I can now work on a fix.
Anyone else can post its data ? For testing I better need a NB_DISK != NB_VOLUMES (2 and 2 here)
PS @Sjeff : you missed a space in “Diskgroep1”, compared to “Diskgroep 2” 😉
DS213+ (DSM 6.2.2-24922 Update 4)
Hope this helps!
SYNO.DSM.Info
SYNO.Storage.CGI.Storage
SYNO.Core.System.Utilization
SYNO.API.Info
Will take a look at your other sensors @rccoleman , there is also this : #34927