In het artikel laat ik je zien hoe je een Home Assistant-systeemmonitor kunt toevoegen om de CPU-temperatuur, vrije schijfruimte en algemene prestaties van je systeem bij te houden waarop Home Assistant is geïnstalleerd.
We gebruiken Home Assistant om verschillende sensoren te bewaken en om veel apparaten te bedienen. We voegen voortdurend meer Home Assistant-add-ons, kaarten en aangepaste componenten toe. Dit is allemaal prima, maar het kan zeker invloed hebben op de prestaties en de vrije schijfruimte van uw systeem waarop Home Assistant leeft. Daarom is een goede monitoring een must en dit is precies waar we het over gaan hebben.
Voordat we de code kunnen toevoegen aan je installatie moeten we eerst een addon installeren.
Ga naar instellingen — Add-ons
klik daar op add-on winkel
En zoek daar File editor
Klik in het volgende scherm op Installeer
Nu gaat hij de add-on installeren
Is dit klaar zet de knop om van Watchdog & weergeven in zijbalk en druk daarna op starten, als het goed gaat duurt dat een paar tellen en dan zal de rode stip veranderen in een groene stip ( dan draait de addon)
nu heb je in de zijbalk een sleutel erbij , klik daar op en daarna op het mapje bovenaan.
nu kom je in de config/ map en zoek daar configuration.yaml op en klik daarop.
Nu zullen het Home Assistant System Monitor-platform toevoegen om verschillende handige sensoren toe te voegen, die onze handen zullen losmaken voor automatiseringen en scripts die ons zullen helpen om te zien wat er echt gebeurt met de uitvoering.
Dit is wat u moet doen:
Voeg de volgende YAML-code toe aan uw configuratie.yaml-bestand, of in een andere file waar je al je andere sensoren al in hebt geplaatst.
#=============================================
#=== Laatste opstarttijd, schijf-, geheugen- en CPU-gebruik
#=============================================
sensor: # zet een # als je al meerdere sensoren gebruikt
- platform: systemmonitor
resources:
- type: disk_use_percent
arg: /
- type: memory_use_percent
- type: processor_use
- type: load_1m
- type: load_5m
- type: load_15m
# netwerk info
- type: network_in
arg: enp1s0 # ( enp1s0 dit is de netwerk adapter van een HP T620)
- type: network_out
arg: enp1s0 # ( enp1s0 dit is de netwerk adapter van een HP T620)
- type: throughput_network_in
arg: enp1s0 # ( enp1s0 dit is de netwerk adapter van een HP T620)
- type: throughput_network_out
arg: enp1s0 # ( enp1s0 dit is de netwerk adapter van een HP T620)
- type: ipv4_address
arg: enp1s0 # ( enp1s0 dit is de netwerk adapter van een HP T620)
- type: ipv6_address
arg: enp1s0 # ( enp1s0 dit is de netwerk adapter van een HP T620)
Weet je niet welke netwerk adapter je hebt ga naar :
Zie hieronder waar je die ensp1s0 kan vinden in het hokje waar de pijlen heen wijzen.
Instellingen — Systeem — Netwerk — en dan onderaan — Network Adapter
En daar staat je netwerk adapter en die vul je op de plek in van ensp1s0 welke hierboven beschreven staat. Je moet alle enp1s0 vervangen door je eigen adapter.
In het bovenstaande gedeelte worden 12 sensoren toegevoegd (voor elk -type:) die de gebruikte en vrije schijfruimte, het netwerk- en processorgebruik laten zien.
Sla de wijzigingen op en herstart je Home Assistant. ( controle van de code gaat tegenwoordig al voordat je hem opnieuw opstart automatische) wil je nog meer er bij zoals de temperatuur sensoren of meer lees dan even door.
Heb je een Intel processor in je pc/nuc/thinclient zitten waar je HA op draait ?
Voeg dan onderstaande code erbij om je temperatuur te meten.
sensor: # zet een # als je al meerdere sensoren gebruikt
#=============================================
#=== CPU Temperatuur
#=============================================
# for mostly Intel CPU working
- platform: command_line
name: CPU Temp
command: "cat /sys/class/thermal/thermal_zone0/temp"
unit_of_measurement: "°C"
value_template: '{{ value | multiply(0.001) | round(0) }}'
Heb je een AMD processor in je pc/nuc/thinclient zitten waar je HA op draait ?
Voeg dan onderstaande code erbij om je temperatuur te meten.
sensor: # zet een # als je al meerdere sensoren gebruikt
####################################################################
# Lines added for Command Line (CPU Temp) for AMD processors (HP T620)
# from home assistant version 2022.9.x and above.
- platform: command_line
name: CPU Temperature
command: "cat /sys/class/hwmon/hwmon0/temp1_input"
# If errors occur, make sure configuration file is encoded as UTF-8
unit_of_measurement: "°C"
value_template: "{{ value | multiply(0.001) | round(1) }}"
Heb je een Raspberry pi waar je HA op draait ?
Voeg dan onderstaande code erbij om je temperatuur te meten.
sensor: # zet een # als je al meerdere sensoren gebruikt
# CPU Raspberry Pi Temp
- platform: command_line
name: CPU Temp
command: "cat /sys/class/thermal/thermal_zone0/temp"
unit_of_measurement: "°C"
value_template: '{{ value | multiply(0.001) | round(2) }}'
Deze code kan je toevoegen aan je dashboard, en dan heb je alles in beeld.
type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: custom:mini-graph-card
entities:
- entity: sensor.processor_use_percent
- color: gray
entity: sensor.nightstate
name: Night
show_legend: false
show_line: false
show_points: false
y_axis: secondary
name: processor use percent
hours_to_show: 24
hour24: true
show:
extrema: true
average: true
graph: line
labels: true
- type: custom:mini-graph-card
entities:
- entity: sensor.memory_use_percent
- color: gray
entity: sensor.nightstate
name: Night
show_legend: false
show_line: false
show_points: false
y_axis: secondary
name: memory use percent
hour24: true
show:
extrema: true
average: true
graph: line
labels: true
- type: horizontal-stack
cards:
- type: custom:mini-graph-card
entities:
- entity: sensor.cpu_temperature
- color: gray
entity: sensor.nightstate
name: Night
show_legend: false
show_line: false
show_points: false
y_axis: secondary
name: processor temperatuur
hours_to_show: 24
hour24: true
show:
extrema: true
average: true
graph: line
labels: true
- type: custom:mini-graph-card
entities:
- entity: sensor.disk_use_percent
- color: gray
entity: sensor.nightstate
name: Night
show_legend: false
show_line: false
show_points: false
y_axis: secondary
name: Hardeschijf ruimte
hours_to_show: 24
hour24: true
show:
extrema: true
average: true
graph: line
labels: true
- type: entities
entities:
- entity: sensor.processor_use_percent
- entity: sensor.cpu_speed
- entity: sensor.memory_use_percent
- entity: sensor.disk_use_percent
- entity: sensor.load_5m
- entity: sensor.load_15m
type: glance
entities:
- entity: sensor.network_in_enp1s0
- entity: sensor.network_out_enp1s0
- entity: sensor.network_throughput_in_enp1s0
- entity: sensor.network_throughput_out_enp1s0
align_header: left
align_icon: left
entities:
- entity: sensor.cpu_speed
- entity: sensor.cpu_temperature
show_graph: false
show_state: true
- entity: sensor.memory_use_percent
show_graph: true
show_state: true
font_size: 80
icon: mdi:cpu-64-bit
name: cpu
points_per_hour: 2
hours_to_show: 12
hour24: true
show:
extrema: true
average: true
graph: line
labels: true
type: custom:mini-graph-card
Om night state toe te voegen moet je deze ook plaatsen in je configuratie file.
eventueel de # verwijderen als dit je eerste sensor is.
######## nachtstand voor grafieken
#sensor:
- platform: template
sensors:
nightstate:
friendly_name: Night State
value_template: "{% if is_state('sun.sun', 'below_horizon') %}1{% else %}0{% endif %}"
Ook kan je HA laten tellen hoeveel sensoren je hebt.
Daarvoor heb je deze code nodig in je configuratie file.
sensor: # zet een # als je al meerdere sensoren gebruikt
# sensoren voor HA informatie
- platform: template
sensors:
count_automations:
icon_template: mdi:autorenew
value_template: "{{ states.automation | count }}"
count_scripts:
icon_template: mdi:script-text-outline
value_template: "{{ states.script| count }}"
count_device_trackers:
icon_template: mdi:map-marker
value_template: "{{ states.device_tracker | count }}"
count_binary_sensors:
icon_template: mdi:unfold-more-horizontal
value_template: "{{ states.binary_sensor | count }}"
count_sensors:
icon_template: mdi:resistor
value_template: "{{ states.sensor | count }}"
count_switches:
icon_template: mdi:light-switch
value_template: "{{ states.switch | count }}"
count_zones:
icon_template: mdi:map-marker-radius
value_template: "{{ states.zone | count }}"
count_input_booleans:
icon_template: mdi:toggle-switch
value_template: "{{ states.input_boolean | count }}"
count_input_numbers:
icon_template: mdi:numeric
value_template: "{{ states.input_number | count }}"
count_input_texts:
icon_template: mdi:alphabetical
value_template: "{{ states.input_text | count }}"
count_input_selects:
icon_template: mdi:view-list
value_template: "{{ states.input_select | count }}"
count_input_datetimes:
icon_template: mdi:calendar-clock
value_template: "{{ states.input_datetime | count }}"
count_lights:
icon_template: mdi:lightbulb-outline
value_template: "{{ states.light | count }}"
en dan plaats je deze yaml code voor je dashboard
type: vertical-stack
cards:
- type: horizontal-stack
cards:
- type: button
tap_action:
action: more-info
entity: sensor.count_automations
show_state: true
icon_height: 30px
name: automations
hold_action:
action: none
- type: button
tap_action:
action: more-info
entity: sensor.count_binary_sensors
show_state: true
name: binary sensors
icon_height: 30px
hold_action:
action: none
- type: button
tap_action:
action: more-info
entity: sensor.count_device_trackers
show_state: true
icon_height: 30px
hold_action:
action: none
name: device trackers
- type: button
tap_action:
action: more-info
entity: sensor.count_input_booleans
show_state: true
name: input booleans
icon_height: 30px
- type: horizontal-stack
cards:
- type: button
tap_action:
action: more-info
entity: sensor.count_input_datetimes
name: input datetimes
show_state: true
icon_height: 30px
hold_action:
action: none
- type: button
tap_action:
action: more-info
entity: sensor.count_input_numbers
hold_action:
action: none
show_state: true
icon_height: 30px
name: input numbers
- type: button
tap_action:
action: more-info
entity: sensor.count_input_selects
show_state: true
icon_height: 30px
name: input selects
hold_action:
action: none
- type: button
tap_action:
action: more-info
entity: sensor.count_input_texts
show_state: true
name: input_texts
icon_height: 30px
hold_action:
action: none
- type: horizontal-stack
cards:
- type: button
tap_action:
action: more-info
entity: sensor.count_scripts
name: scripts
show_state: true
icon_height: 30px
hold_action:
action: none
- type: button
tap_action:
action: more-info
entity: sensor.count_sensors
name: sensors
icon_height: 30px
show_state: true
hold_action:
action: none
- type: button
tap_action:
action: more-info
entity: sensor.count_switches
name: switches
show_state: true
hold_action:
action: none
icon_height: 30px
- type: button
tap_action:
action: more-info
entity: sensor.count_zones
icon_height: 30px
show_state: true
name: zones
hold_action:
action: none
- type: horizontal-stack
cards:
- show_name: true
show_icon: true
type: button
tap_action:
action: more-info
entity: sensor.count_lights
show_state: true
icon_height: 30px
icon: mdi:lightbulb-outline
name: lights
- show_name: true
show_icon: true
type: button
tap_action:
action: more-info
entity: update.home_assistant_supervisor_update
show_state: true
icon_height: 30px
name: Systeem is
Heb je nog toevoegingen of aanvullingen mail ze me.
Zodat de lijst altijd geüpdatet kan worden.
Spelfouten, taalfouten of inhoudelijke fouten ontdekt?
Stuur dan een mailtje naar de auteur van dit artikel!
Tevreden met deze website?
Als je dit artikel met interesse hebt gelezen klik dan op Vind ik Leuk .
Voor u een kleine moeite voor mij een compliment.
Alvast Bedankt.
Als je feedback, tips of iets anders hebt,
Aarzel dan niet om hieronder een reactie achter te laten.
Vreemd, heb 2 TC’s.. 1 als test, en 1 als productie.
op de test werkt het perfect. Is een HP T620.
De productie TC geeft geen sensoren terug, is een HP TC630 volgens mij. netwerk was ook ensp2s0.
Is er iets dat de 630 geen info geeft? of moet ik nog ergens een setting aanpassen.
Lijkt me sterk, maar oke.. Ik zie het niet meer..
Hallo Wilfred,
Bedankt voor je bericht.
Weet je niet welke netwerk poort je hebt ga naar : Instellingen — Systeem — Netwerk — en dan onderaan — Network Adapter en daar staat je netwerk poort en die vul je op de plek in van ensp1s0
top artikel. Heb de sensoren toegevoegd aan een dashboard.
Heb een vraag: Ik draai HA vanaf een VM op een oude Windows 10 PC.Werkt allemaal prima ik kan alleen vanaf m’n mobiel HA niet bereiken. Heb de cloudversie van nabu casa geinstalleerd dan werkt het wel. Wat kan ik nog doen om dit lokaal werkend te krijgen. De Windows 10 PC zit gekoppeld aan een smart wifi box van KPN.
Huizebruin,Weet je niet welke netwerk poort je hebt ga naar : Instellingen — Systeem — Netwerk — en dan onderaan — Network Adapter en daar staat je netwerk poort en die vul je op de plek in van ensp1s0
bij mij 192.168.1.158/24Is dat gelijk aan het ipadres of alleen bijv 24
Ok bedankt voor het vele mooie en goede werk dat je doet
Maar wat betekent dan
poort in deze context in vergelijking met enp1S0?
Dick
Hallo dick.
Het moet netwerk adapter wezen. Ga de tekst aanpassen.
Hallo Dick,
Bedankt voor je reactie.
Ik het dat stukje iets aangepast zodat het wat beter te volgen is.
Hopelijk kom je er nu wel uit.
hier raak ik de weg kwijt, wat moet waar?***********************************************
Weet je niet welke netwerk poort je hebt ga naar : Instellingen — Systeem — Netwerk — en dan onderaan — Network Adapter en daar staat je netwerk poort en die vul je op de plek in van ensp1s0
Hallo Frits,
Bedankt voor je reactie.
Ik het dat stukje iets aangepast zodat het wat beter te volgen is.
Hopelijk kom je er nu wel uit.