Closed phellarv closed 10 months ago
Can you maybe send your yaml (please redact any sensitive information). The structure is important!
I think @joostlek ment to share configuration.yaml
. As it seems you have an issue with the config check. Can you check if your configuration is valid? If not, then you should solve that first.
You're quite right:
[core-ssh config]$ ha core check
Processing... Done.
Error: Testing configuration at /config
Fatal error while loading config: argument of type 'NoneType' is not iterable
Failed config
General Errors:
- argument of type 'NoneType' is not iterable
Successful config (partial)
I will investigate further
Here is my config configuration.yaml:
# Loads default set of integrations. Do not remove.
# Added line
default_config:
# Cloud
cloud:
assist_pipeline:
http:
use_x_forwarded_for: true
trusted_proxies:
- 172.16.40.1
- 192.168.10.14
ip_ban_enabled: true
login_attempts_threshold: 5
# Recorder to MariaDB
recorder:
db_url: !secret recorder_db_url
purge_keep_days: 30
# InfluxDB
influxdb:
host: dockerstation.home.arpa
port: 8086
database: !secret influxdb_database
username: !secret influxdb_user
password: !secret influxdb_password
max_retries: 3
default_measurement: state
# Prometheus
prometheus:
namespace: hass
component_config_glob:
sensor.*_hum:
override_metric: humidity_percent
sensor.*_temp:
override_metric: temperature_c
sensor.temperature*:
override_metric: temperature_c
sensor.*_bat:
override_metric: battery_percent
filter:
include_domains:
- sensor
# Extra Tibber data
tibber_data:
email: !secret tibber_user
password: !secret tibber_password
# Text to speech
tts:
- platform: google_translate
# Includes
automation: !include automations.yaml
#rest: !include rest.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
sensor: !include sensors.yaml
device_tracker: !include device_tracker.yaml
binary_sensor: !include binary_sensor.yaml
group: !include groups.yaml
climate: !include climate.yaml
websitechecker: !include websitechecker.yaml
automations.yaml
- id: nrrestartnotification
alias: Home Assistant Restart
description: ''
trigger:
- platform: homeassistant
event: start
condition: []
action:
- service: input_boolean.turn_on
data:
entity_id: input_boolean.home_assistant_restarted
mode: single
- id: '1665496574413'
alias: Reboot system each night
description: ''
trigger:
- platform: time
at: 03:00:00
condition: []
action: []
mode: single
- id: '1689020603163'
alias: Check for games
description: ''
trigger:
- platform: time
at: 06:00:00
condition: []
action:
- service: hassio.addon_start
data:
addon: db21ed7f_free_games_claimer
mode: single
scripts.yaml
fra_start_nrk:
alias: Fra start - NRK
sequence:
- condition: state
entity_id: remote.stuetv
attribute: current_activity
state: no.nrk.tv
- service: remote.send_command
data:
command: DPAD_DOWN
num_repeats: 2
delay_secs: 0.4
hold_secs: 0.5
target:
entity_id: remote.stuetv
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 400
- service: remote.send_command
data:
hold_secs: 0.5
command: DPAD_CENTER
target:
entity_id: remote.stuetv
mode: single
icon: mdi:television
fra_start_tv2:
alias: Fra start - TV2
sequence:
- condition: state
entity_id: remote.stuetv
attribute: current_activity
state: no.tv2.sumo
- service: remote.send_command
data:
command: DPAD_DOWN
target:
entity_id: remote.stuetv
- service: remote.send_command
data:
command: DPAD_LEFT
num_repeats: 2
delay_secs: 0.4
hold_secs: 0.5
target:
entity_id: remote.stuetv
- delay:
hours: 0
minutes: 0
seconds: 0
milliseconds: 400
- service: remote.send_command
data:
hold_secs: 0.5
command: DPAD_CENTER
target:
entity_id: remote.stuetv
mode: single
icon: mdi:television
scenes.yaml
- id: '1668969786468'
name: GodNatt
entities: {}
icon: mdi:shield-home
metadata: {}
- id: '1668969848098'
name: GodMorgen
entities: {}
icon: mdi:shield-home-outline
metadata: {}
- id: '1683190958734'
name: TV2
entities: {}
metadata: {}
icon: mdi:television
- id: '1683191160792'
name: NRK
entities: {}
metadata: {}
icon: mdi:television
- id: '1683193159154'
name: Netflix
entities: {}
icon: mdi:netflix
metadata: {}
- id: '1683193189226'
name: Disneyplus
entities: {}
icon: mdi:television
metadata: {}
- id: '1683193208993'
name: Prime
entities: {}
icon: mdi:television
metadata: {}
- id: '1683193702867'
name: Discovery
entities: {}
icon: mdi:television
metadata: {}
- id: '1683193794181'
name: HBO
entities: {}
icon: mdi:television
metadata: {}
- id: '1683193921738'
name: Viaplay
entities: {}
icon: mdi:television
metadata: {}
- id: '1683196660134'
name: fra start
entities: {}
icon: mdi:skip-backward
metadata: {}
sensors.yaml:
# System Monitors
- platform: systemmonitor
resources:
- type: disk_use_percent
arg: /config
- type: memory_use_percent
- type: memory_use
- type: memory_free
- type: swap_use_percent
- type: swap_use
- type: swap_free
- type: load_1m
- type: load_5m
- type: load_15m
- type: processor_use
- type: processor_temperature
- type: last_boot
# Søppeltømming
- platform: rest
name: Restavfall
resource: https://www.oslo.kommune.no/xmlhttprequest.php?service=ren.search&street=Krokliveien&number=67&letter=B&street_id=13995
value_template: "{{ value_json.data.result[0].HentePunkts[0].Tjenester[0].TommeDato }}"
- platform: rest
name: Papiravfall
resource: https://www.oslo.kommune.no/xmlhttprequest.php?service=ren.search&street=Krokliveien&number=67&letter=B&street_id=13995
value_template: "{{ value_json.data.result[0].HentePunkts[0].Tjenester[1].TommeDato }}"
# Posten
- platform: rest
resource: https://www.posten.no/levering-av-post/_/component/main/1/leftRegion/9?postCode=0584
headers:
x-requested-with: XMLHttpRequest
name: post_kommer
scan_interval: 12000
value_template: "{{ value_json.nextDeliveryDays[0] }}"
# Buss
- platform: entur_public_transport
name: 58
expand_platforms: true
show_on_map: true
stop_ids:
- "NSR:StopPlace:5993"
line_whitelist:
- "RUT:Line:58"
- platform: entur_public_transport
name: 60
expand_platforms: true
show_on_map: true
stop_ids:
- "NSR:StopPlace:5945"
line_whitelist:
- "RUT:Line:60"
# #Total luftforurensing
# - platform: template
# sensors:
# air_quality_level:
# friendly_name: "Luftforurensing"
# unit_of_measurement: ''
# value_template: "{%if states.air_quality.air_quality_norway.attributes.level == 'low' %}Lav{% elif states.air_quality.air_quality_norway.attributes.level == 'medium' %}Moderat{% elif states.air_quality.air_quality_norway.attributes.level == 'high' %}Høyt{% elif states.air_quality.air_quality_norway.attributes.level == 'very high' %}Svært høyt{% endif %}"
# #NO2 : Summen av NO2 og NO kalles for NOx
# - platform: template
# sensors:
# air_quality_nitrogen_dioxide:
# friendly_name: "Nox"
# unit_of_measurement: ''
# value_template: "{%if states.air_quality.air_quality_norway.attributes.nitrogen_dioxide|float < 100 %}Lav{% elif states.air_quality.air_quality_norway.attributes.nitrogen_dioxide|float > 100 %}Moderat{% elif states.air_quality.air_quality_norway.attributes.nitrogen_dioxide|float > 200 %}Høyt{% elif states.air_quality.air_quality_norway.attributes.nitrogen_dioxide|float > 400 %}Svært høyt{% endif %}"
# #PM10: Asfalt-, bremse- og dekkslitasje, strøsand, vedfyring, industri, langtransportert bidrag
# - platform: template
# sensors:
# air_quality_particulate_matter_10:
# friendly_name: "Veistøv"
# unit_of_measurement: ''
# value_template: "{%if states.air_quality.air_quality_norway.attributes.particulate_matter_10|float < 60 %}Lav{% elif states.air_quality.air_quality_norway.attributes.particulate_matter_10|float > 60 %}Moderat{% elif states.air_quality.air_quality_norway.attributes.particulate_matter_10|float > 120 %}Høyt{% elif states.air_quality.air_quality_norway.attributes.particulate_matter_10|float > 400 %}Svært høyt{% endif %}"
# #PM2,5: Vedfyring, eksosutslipp, industri, langtransportert bidrag
# - platform: template
# sensors:
# air_quality_particulate_matter_2_5:
# friendly_name: "Finstøv"
# unit_of_measurement: ''
# value_template: "{%if states.air_quality.air_quality_norway.attributes.particulate_matter_2_5|float < 30 %}Lav{% elif states.air_quality.air_quality_norway.attributes.particulate_matter_2_5|float > 30 %}Moderat{% elif states.air_quality.air_quality_norway.attributes.particulate_matter_2_5|float > 50 %}Høyt{% elif states.air_quality.air_quality_norway.attributes.particulate_matter_2_5|float > 150 %}Svært høyt{% endif %}"
# #Ozon :Ozon er en reaktiv gass
# - platform: template
# sensors:
# air_quality_ozone:
# friendly_name: "Ozon"
# unit_of_measurement: ''
# value_template: "{%if states.air_quality.air_quality_norway.attributes.nitrogen_dioxide|float < 100 %}Lav{% elif states.air_quality.air_quality_norway.attributes.nitrogen_dioxide|float > 100 %}Moderat{% elif states.air_quality.air_quality_norway.attributes.nitrogen_dioxide|float > 180 %}Høyt{% elif states.air_quality.air_quality_norway.attributes.nitrogen_dioxide|float > 240 %}Svært høyt{% endif %}"
# Utetemperatur
- platform: min_max
name: "Temperatur ute"
type: min
round_digits: 1
entity_ids:
- sensor.temperature_1_veranda
- sensor.temperature_1_inngang
# Tibber
- platform: template
sensors:
real_time_consumption_krokliveien_67_b:
friendly_name: "Forbruk nå"
unit_of_measurement: "W"
value_template: "{{ states('sensor.power_krokliveien') }}"
icon_template: mdi:flash
consumption_this_day_krokliveien_67_b:
friendly_name: "Forbruk i dag"
unit_of_measurement: "kWh"
value_template: "{{ states('sensor.accumulated_consumption_krokliveien') | round(2) }}"
icon_template: mdi:flash
cost_this_day_krokliveien_67_b:
friendly_name: "Kostnad i dag eksl subsidie"
unit_of_measurement: "kr"
value_template: "{{ states('sensor.accumulated_cost_krokliveien') | round(2) }}"
icon_template: mdi:cash
tibber_price_level:
friendly_name: "Price Level"
value_template: "{{ state_attr('sensor.electricity_price_krokliveien', 'price_level') }}"
tibber_grid_company:
friendly_name: "Leverandør nå"
value_template: "{{ state_attr('sensor.electricity_price_krokliveien', 'grid_company') }}"
tibber_prisniva:
friendly_name: "Prisnivå nå"
icon_template: "hass:eye"
value_template: >-
{% if is_state('sensor.tibber_price_level', 'VERY_CHEAP') %}
Veldig billig
{% elif is_state('sensor.tibber_price_level', 'CHEAP') %}
Billig
{% elif is_state('sensor.tibber_price_level', 'NORMAL') %}
Normal
{% elif is_state('sensor.tibber_price_level', 'EXPENSIVE') %}
Dyrt
{% elif is_state('sensor.tibber_price_level', 'VERY_EXPENSIVE') %}
Veldig dyrt
{% endif %}
# Temperaturer
- platform: template
sensors:
# temperature_1_stuevindu:
# friendly_name: "Stuevindu"
# unit_of_measurement: 'C'
# icon_template: mdi:thermometer
# value_template: "{{ state_attr('binary_sensor.openclose_24', 'temperature') | round(0) }}"
# temperature_1_verandador:
# friendly_name: "Verandadør"
# unit_of_measurement: 'C'
# icon_template: mdi:thermometer
# value_template: "{{ state_attr('binary_sensor.openclose_25', 'temperature') | round(0) }}"
temperature_0_soverom:
friendly_name: "Soverom Kjeller"
unit_of_measurement: "C"
icon_template: mdi:thermometer
value_template: "{{ state_attr('climate.temperature_0_gjesterom', 'current_temperature') | round(1) }}"
temperature_1_stuegulv_fra_adax:
friendly_name: "Stue Adax"
unit_of_measurement: "C"
icon_template: mdi:thermometer
value_template: "{{ state_attr('climate.temperature_1_stuegang', 'current_temperature') | round(1) }}"
temperature_1_average:
friendly_name: "Temperatur 1. etasje"
unit_of_measurement: "C"
icon_template: mdi:thermometer
value_template: "{{ ((states('input_number.fake_temp_oppholdsrom')|float + states('sensor.smartcube_1_stue_device_temperature')|float + states('sensor.temperature_1_kjokken')|float) / 3) | round(1) }}"
temperature_1_stue_average:
friendly_name: "Gjennomsnittstemp stue"
unit_of_measurement: "°C"
value_template: >-
{{ ((states('input_number.fake_temp_oppholdsrom')|float + states('sensor.smartcube_1_stue_device_temperature')|float) / 2) | round(1) }}
# Uptime conversion
- platform: template
sensors:
pfsense_uptime:
friendly_name: "Uptime pfSense (korrigert)"
value_template: >-
{% set time = (states.sensor.freebsd_router_uptime.state | int) | int %}
{% set minutes = ((time % 3600) / 60) | int %}
{% set hours = ((time % 86400) / 3600) | int %}
{% set days = (time / 86400) | int %}
{%- if time < 60 -%}
Less than a minute
{%- else -%}
{%- if days > 0 -%}
{{ days }}d
{%- endif -%}
{%- if hours > 0 -%}
{%- if days > 0 -%}
{{ ' ' }}
{%- endif -%}
{{ hours }}h
{%- endif -%}
{%- if minutes > 0 -%}
{%- if days > 0 or hours > 0 -%}
{{ ' ' }}
{%- endif -%}
{{ minutes }}m
{%- endif -%}
{%- endif -%}
# hass_uptime:
# value_template: >-
# {%- set uptime = states.sensor.hass_uptime_minutes.state | round -%}
# {%- set sep = ', ' -%}
# {%- set TIME_MAP = {
# 'week': (uptime / 10080) % 10080,
# 'day': (uptime / 1440) % 7,
# 'hour': (uptime / 60) % 24,
# 'minute': (uptime % 60)
# }
# -%}
# {%- for unit, duration in TIME_MAP.items() if duration >= 1 -%}
# {%- if not loop.first -%}
# {{ sep }}
# {%- endif -%}
# {{ (duration | string).split('.')[0] }} {{ unit }}
# {%- if duration >= 2 -%}
# s
# {%- endif -%}
# {%- endfor -%}
# {%- if uptime < 1 -%}
# just now
# {%- endif -%}
- platform: template
sensors:
pfsense_uptime:
friendly_name: 'pfSense uptime'
value_template: >-
{% set time = (states.sensor.freebsd_router_uptime.state | int) | int %}
{% set minutes = ((time % 3600) / 60) | int %}
{% set hours = ((time % 86400) / 3600) | int %}
{% set days = (time / 86400) | int %}
{%- if time < 60 -%}
Less than a minute
{%- else -%}
{%- if days > 0 -%}
{{ days }}d
{%- endif -%}
{%- if hours > 0 -%}
{%- if days > 0 -%}
{{ ' ' }}
{%- endif -%}
{{ hours }}h
{%- endif -%}
{%- if minutes > 0 -%}
{%- if days > 0 or hours > 0 -%}
{{ ' ' }}
{%- endif -%}
{{ minutes }}m
{%- endif -%}
{%- endif -%}
binary_sensor.yaml
- platform: ping
host: 192.168.10.14
name: Raspbian-dns
count: 2
scan_interval: 30
- platform: ping
host: 172.16.40.100
name: Unifi
count: 2
scan_interval: 30
- platform: ping
host: 172.16.40.40
name: Mainframe
count: 2
scan_interval: 30
- platform: ping
host: 172.16.40.1
name: Netgate
count: 2
scan_interval: 30
groups.yaml
garmin:
name: Garmin
entities:
- switch.kaffetrakter_1_kjokken
- light.taklampe_1_stue
- light.readinglight_1_stue
- light.lampe_2_kontorpult
- light.taklampe_2_kontor
- light.utelys_1_veranda
- light.utelys_1_inngang
- light.taklampe_0_gang
- light.taklampe_2_gang
climate.yaml
- platform: generic_thermostat
name: Kjellergang
heater: switch.panelovn_0_kjellergang
target_sensor: sensor.temperatur_0_kjellergang_temperature
min_temp: 15
max_temp: 25
target_temp: 17
cold_tolerance: 0.3
hot_tolerance: 0
min_cycle_duration:
seconds: 5
keep_alive:
minutes: 3
initial_hvac_mode: "heat"
away_temp: 16
precision: 0.1
- platform: generic_thermostat
name: Stue
heater: switch.ekstraovn_stua
target_sensor: sensor.smartcube_1_stue_device_temperature
min_temp: 15
max_temp: 25
target_temp: 17
cold_tolerance: 0.3
hot_tolerance: 0
min_cycle_duration:
seconds: 5
keep_alive:
minutes: 3
initial_hvac_mode: "heat"
away_temp: 16
precision: 0.1
websitechecker.yaml:
update_interval: 10 # Optional, value in minutes, defaults to 10
websites:
- url: https://me.duckboot.net
name: Me
verify_ssl: true # Optional, default is true
- url: https://vault.duckboot.net
name: Vaultwarden
verify_ssl: true # Optional, default is true
- url: https://blogg.duckboot.net
name: Blogg
verify_ssl: true # Optional, default is true
- url: https://hellarvikfoto.no
name: Hellarvikfoto
verify_ssl: true # Optional, default is true
device_tracker.yaml is empty at the moment.
Sorry about the amount of yaml, but this is what I run
Thanks! This will help us fix the issue.
I do think the problem is that device_tracker.yaml
is empty so it results in None
which is the error you get.
Easy to check by setting a comment in front.
I do think the problem is that
device_tracker.yaml
is empty so it results inNone
which is the error you get.Easy to check by setting a comment in front.
Nope. Did not work.
[core-ssh config]$ git pull
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 3 (delta 2), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), 294 bytes | 294.00 KiB/s, done.
From git.duckboot.net:duckboot/hassos
c09e659..ca676cd master -> origin/master
Updating c09e659..ca676cd
Fast-forward
configuration.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[core-ssh config]$ ha core check
Processing... Done.
Error: Testing configuration at /config
Fatal error while loading config: argument of type 'NoneType' is not iterable
Failed config
General Errors:
- argument of type 'NoneType' is not iterable
Successful config (partial)
I think I saw some custom components so this config isn't 1:1 testable by us. I just had a thought, can you create a backup just in case and just start commenting out stuff until it does work? Then we can break down where the issue might be coming from
I'm into my 4th beer now, so I might wait until tomorrow before doing more intrusive testing. But thanks a lot so far.
Haha, that's fine, enjoy!
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.
Sorry - Forgot about this issue. But I found the perpetrator. It was a templated sensor:
- platform: template
sensors:
pfsense_uptime:
friendly_name: "pfSense uptime"
value_template: >-
{% set time = (states.sensor.freebsd_router_uptime.state | int) | int %}
{% set minutes = ((time % 3600) / 60) | int %}
{% set hours = ((time % 86400) / 3600) | int %}
{% set days = (time / 86400) | int %}
{%- if time < 60 -%}
Less than a minute
{%- else -%}
{%- if days > 0 -%}
{{ days }}d
{%- endif -%}
{%- if hours > 0 -%}
{%- if days > 0 -%}
{{ ' ' }}
{%- endif -%}
{{ hours }}h
{%- endif -%}
{%- if minutes > 0 -%}
{%- if days > 0 or hours > 0 -%}
{{ ' ' }}
{%- endif -%}
{{ minutes }}m
{%- endif -%}
{%- endif -%}
Since I did not use that sensor anymore, I simply removed it, and restart works as normal again. Thanks for the patience.
The problem
When I go to Settings -> ... -> Restart Home Assistant, and choose Restart Home Assistant, nothing happens.
What version of Home Assistant Core has the issue?
core-2023.8.1
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
No response
Link to integration documentation on our website
No response
Diagnostics information
No response
Example YAML snippet
No response
Anything in the logs that might be useful for us?
Additional information
No response