Core: TypeError: 'NoneType' object is not iterable

Created on 30 Mar 2018  路  37Comments  路  Source: home-assistant/core

re synologydsm not working #9051
issue was closed because of lack of responses.
There were no responses beacuse it still does not work! and people were waiting for a fix is my guess.
There are no log entries that I can report.
There is just no ouput, and the Entity synologydsm does not exist in developer tools|states

synologydsm stale

Most helpful comment

Same problem. 0.89.1

All 37 comments

I have synology dsm sensor set without issue.

I created a new admin user called homeassistant without access to apps and folder just to allow HA to look at my system status.

SynologyDSM is working for me as well, using an administrator account I've created on my NAS (no access to folders and apps).

My config:

- platform: synologydsm
  entity_namespace: nas
  host: !secret MONITOR_SYNOLOGY_HOST
  port: !secret MONITOR_SYNOLOGY_PORT
  username: !secret MONITOR_SYNOLOGY_USERNAME
  password: !secret MONITOR_SYNOLOGY_PASSWORD
  monitored_conditions:
    - cpu_total_load
    - memory_real_usage
    - memory_size
    - memory_available_swap
    - memory_total_swap
    - volume_status
    - volume_size_total
    - volume_percentage_used
    - volume_size_used

My NAS:

  • Synology DS918+
  • DSM 6.1.6-15266

SynologyDSM sensor works for me. Like others, I created an administrator account and disabled access to everything. Also make sure you do not have two-factor authentication enabled for the account.

  • DS1515+
  • DSM 6.1.6-15266

Same as others, works for me. I have a unique admin account for the monitor that has access disabled to everything.

  • DS916+
  • DSM 6.1.6-15266

wierd!
User from HomeAssistant is logged in to the DSM
No sensors showing in the States menu
Log file is empty!

Have you ever been able to get it to work? And what is your current SynologyDSM entry in your Home Assistant configuration?
You could try adding the following for troubleshooting (or add to your current logger: settings if already present):

logger:
  logs:
    homeassistant.components.sensor.synologydsm: debug

never been able to get it to work
sensors|synology.yaml

- platform: synologydsm
  name: NAS
  host: 192.168.1.159
  port: 5000
  username: homeassistant
  password: pw
  monitored_conditions:
  - cpu_total_load
  - memory_real_usage
  - disk_status
  - volume_status
  - volume_percentage_used
  - volume_disk_temp_max

in group|synology.yaml

synologydsm:
  entities:
  - sensor.cpu_total_load
  - sensor.memory_real_usage
  - sensor.disk_status
  - sensor.volume_status
  - sensor.volume_percentage_used
  - sensor.volume_disk_temp_max

no entries in log file

Not sure why you've closed this but the entities in your group seem to be all wrong:

  • sensor.cpu_total_load is actually sensor.cpu_load_total
  • sensor.memory_real_usage is actually sensor.memory_usage_real
  • sensor.disk_status is actually sensor.status_sda, sensor.status_sdb, etc. (one entry per disk in your NAS)
  • sensor.volume_status is actually sensor.status_volume_1 (*or whatever number your volume has)
  • sensor.volume_percentage_used is actually sensor.used_space_volume_1 (*)
  • sensor.volume_disk_temp_max is actually sensor.maximum_disk_temp_volume_1 (*)

Finally, name: NAS is not listed as a valid config variable in the docs. However, if it was indeed an invalid config variable, that would've triggered an error in your Home Assistant log.
If specifying name: NAS does work, then bare in mind that might affect each of your entity_ids:

  • sensor.cpu_load_total => sensor.nas_cpu_load_total
  • sensor.memory_real_usage => sensor.nas_memory_real_usage
  • etc.

In conclusion, I think your SynologyDSM config is fine but you're just not using the right entity_ids. That would explain why they are not showing up in your Home Assistant UI, but no error is to be found in the log.

didn't mean to close it - was an error
The config - was copied from another user who claimed it worked.
Thanks for the pointers - will report back

Just to be clear: your monitored_conditions are all correct. It is only the entities in your group that need changing.

still no output on front-end, no entries in States menu.
How did you find/get the correct entries for the 'group'

DSM 5.2-5967

now have a log entry
2018-04-01 21:06:49 INFO (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: old_state=None, entity_id=group.synologydsm, new_state=<state group.synologydsm=unknown; entity_id=('sensor.cpu_load_total', 'sensor.memory_usage_real'), order=3, friendly_name=synologydsm @ 2018-04-01T22:06:49.401679+01:00>>

Open up the side bar in Home Assistant and click on the < > symbol to get a list of all your entities (including their current state and attributes):

schermafbeelding 2018-04-01 om 23 51 18

The log entry above proves that your entities sensor.cpu_load_total and sensor.memory_usage_real are correct. I'm not sure why they're not showing up in the front-end, but that is not due to the SynologyDSM platform.

yep - did that - reported that they don't exist

python3
from SynologyDSM import SynologyDSM
ImportError: No module named 'SynologyDSM'

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 :+1:

please help I've tried for hours....

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.6/site-packages/homeassistant/components/sensor/synologydsm.py", line 113, in run_setup
    for volume in config.get(CONF_VOLUMES, api.storage.volumes):
TypeError: 'NoneType' object is not iterable
- platform: synologydsm
   host:  !secret SYNOLOGY_NAS_HOST
   port:  !secret SYNOLOGY_NAS_PORT
   ssl: false
   username: !secret SYNOLOGY_USERNAME
   password: !secret SYNOLOGY_PASSWORD
   monitored_conditions:
     - cpu_total_load
     - memory_real_usage
     - network_up

Im having the same issue on version 80.3 of home assistant

try deleting the port - works for me (hash it out)

Still getting the the NoneType error

So what's the fix? I'm getting the same. Using an admin account.

No idea, still not working for me

Same problem. 0.89.1

2019-03-13 15:30:52 ERROR (MainThread) [homeassistant.core] Error doing job: Future exception was never retrieved
Traceback (most recent call last):
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(self.args, *self.kwargs)
File "/usr/src/app/homeassistant/components/sensor/synologydsm.py", line 109, in run_setup
for volume in config.get(CONF_VOLUMES, api.storage.volumes):
TypeError: 'NoneType' object is not iterable

Same

@cmsimike Can you provide any assistance here? Or maybe @tchellomello or even going way far back, @StaticCube? A lot of people (not me) have been experiencing this issue for a long time now with no fix in sight sadly.

Hi, which version of DSM are you using?

Always the very latest. Currently version
DSM 6.2.2-24922

You have 2 step verify ? Please try with new admin account without 2 step verify.
Open chrome and try login with that new account.
Hass cant login to DMS with 2 step verify.

I've tried both, my own admin account with 2fa and also a service account specifically for HA that doesn't have 2fa

For me it's also not working.

I have a Synology DS 916 + with the latest Version of DSM.
Standard (minimal Config for platform: synologydsm as in the documentation) and a user with admin rights on the syno.

Output in the log:

2019-05-16 08:36:30 ERROR (MainThread) [homeassistant.core] Error doing job: Future exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.7/site-packages/homeassistant/components/synologydsm/sensor.py", line 107, in run_setup
    for volume in config.get(CONF_VOLUMES, api.storage.volumes):
TypeError: 'NoneType' object is not iterable

i haven't upgraded my hass in a while so i don't know if anything changed in more recent versions but the time i've seen errors like that is when the account i logged into wasn't an admin (and this was a long time ago)

This is an upstream library issue. Not really anything that can be fixed in home assistant. We could avoid the crash but doesn't really help. So this really needs to be debugged and fixed by somebody with the issue.

Hi all.
I got the exact same problem as many of you:

Jul 19 17:55:29 hassbian hass[16747]: 2019-07-19 17:55:29 ERROR (MainThread) [homeassistant.core] Error doing job: Future exception was never retrieved
Jul 19 17:55:29 hassbian hass[16747]: Traceback (most recent call last):
Jul 19 17:55:29 hassbian hass[16747]:   File "/usr/lib/python3.7/concurrent/futures/thread.py", line 57, in run
Jul 19 17:55:29 hassbian hass[16747]:     result = self.fn(*self.args, **self.kwargs)
Jul 19 17:55:29 hassbian hass[16747]:   File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/synologydsm/sensor.py", line 109, in run_setup
Jul 19 17:55:29 hassbian hass[16747]:     for volume in config.get(CONF_VOLUMES, api.storage.volumes):
Jul 19 17:55:29 hassbian hass[16747]: TypeError: 'NoneType' object is not iterable

I am running Homeassistant 0.96.0 on a raspberry pi 3b+ with hassbian (virtualenv to my mind)
i am trying to set up synologydsm sensor without success.
The connection i am trying to do is to a synology DS1010+ with DSM 5.2 (old one, i can not upgrade).
This synology only use https with a self signed certificate.

So the problem can be this self signed certificate or the API used to connect to DSM, maybe only available for DSM 6.+ and not older models ?

kind regards.
sc

I had the same error and tried the same things as above
after a lot of time i tried installing python 3 on my DSM and everything seems to be working
hope this helps somebody

I had the same error and tried the same things as above
after a lot of time i tried installing python 3 on my DSM and everything seems to be working
hope this helps somebody

Hi,
How did you manage to install python 3 on a DSM 5.x ?
regards.

same here:

ERROR (MainThread) [homeassistant.core] Error doing job: Future exception was never retrieved
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/opt/ha-101-1/lib/python3.7/site-packages/homeassistant/components/synologydsm/sensor.py", line 122, in run_setup
    for volume in config.get(CONF_VOLUMES, api.storage.volumes):
TypeError: 'NoneType' object is not iterable

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 now has been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

moskovskiy82 picture moskovskiy82  路  3Comments

sogeniusio picture sogeniusio  路  3Comments

flsabourin picture flsabourin  路  3Comments

i-am-shodan picture i-am-shodan  路  3Comments

coolriku picture coolriku  路  3Comments