How many entities do you have in Homeassistant?

I believe my hobby of home automation is getting a bit out of control :rofl:. To check how bad my addiction is I would like to understand how many devices/automations/sensors other people have integrated into Homeassistant. Figuring this out is easy: just go to to the developer tools ā†’ Template and put the below code in there. Sum the total and use that in the poll (feel free to copy paste the result in the comments :-))

Sensors: {{ states.sensor | count }}
Lights: {{ states.light | count }}
Switches: {{ states.switch | count }}
Binary sensors: {{ states.binary_sensor | count }}
Automations: {{ states.automation | count }}
  • 0-20
  • 21-75
  • 76-100
  • 101-200
  • 201-300
  • 301-400
  • 400+
0 voters
1 Like

Sensors: 538
Lights: 90
Switches: 22
Binary sensors: 87
Automations: 3

Sensors: 248
Lights: 35
Switches: 23
Binary sensors: 17
Automations: 75

Sensors: 184
Lights: 11
Switches: 6
Binary sensors: 32
Automations: 34

Sensors: 783
Lights: 51
Switches: 68
Binary sensors: 85
Automations: 77

I just started with Home Assistant 2 month ago. So the automations arenā€™t all finished yet. With the System I had used before HA I had roundabout 500 Automations.

Sensors: 587
Lights: 14
Switches: 55
Binary sensors: 78
Automations: 184

fan: 1
Calendar: 3
Climate: 1
Device_tracker: 42
Input_Boolean: 8
Input_select: 7
Input_Text: 1
Zone: 16
Media_player: 8
Script: 11
Sensors: 550
Lights: 43
Switches: 84
Binary sensors: 67
Automations: 89

Automations: 126
Binary sensors: 145
Device Tracker: 58
Climate: 18
Fans: 5
input_boolean: 55
input_select: 4
input_text: 25
Lights: 148
Script: 19
Sensors: 858
Switches: 89

Automations: {{ states.automation | count }}
Binary sensors: {{ states.binary_sensor | count }}
Device Tracker: {{ states.device_tracker | count }}
Climate: {{ states.climate | count }}
Fans: {{ states.fan | count }}
input_boolean: {{ states.input_boolean | count }}
input_select: {{ states.input_select | count }}
input_text: {{ states.input_text | count }}
Lights: {{ states.light | count }}
Script: {{ states.script | count }}
Sensors: {{ states.sensor | count }}
Switches: {{ states.switch | count }}
{%- for d in states | groupby('domain') %}
{{ d[0] }}: {{ states[d[0]] | count  }}
{%- endfor %}

output:

automation: 114
binary_sensor: 122
climate: 1
device_tracker: 142
fan: 1
group: 24
input_boolean: 18
input_datetime: 6
input_number: 2
input_select: 49
input_text: 25
light: 53
media_player: 18
person: 2
remote: 2
script: 16
sensor: 620
sun: 1
switch: 81
timer: 1
weather: 1
zone: 18
6 Likes

Since last August my instance grew a bitā€¦

automation: 78
binary_sensor: 33
climate: 5
counter: 7
cover: 2
device_tracker: 8
group: 1
input_text: 2
light: 46
media_player: 5
person: 2
plant: 1
script: 13
sensor: 341
sun: 1
switch: 15
utility_meter: 33
weather: 2
zone: 4

alarm_control_panel: 1
alert: 11
automation: 60
binary_sensor: 113
calendar: 1
camera: 5
climate: 23
cover: 30
device_tracker: 7
group: 4
homematic: 1
input_boolean: 28
input_datetime: 2
input_number: 5
input_select: 1
light: 57
media_player: 33
person: 3
script: 23
sensor: 393
sun: 1
switch: 116
vacuum: 2
weather: 1
zone: 2

Is there an easy way to count # of integrations and # of devices as well?

automation: 28
binary_sensor: 27
camera: 3
climate: 6
device_tracker: 4
fan: 2
group: 10
input_boolean: 1
light: 15
media_player: 14
person: 3
remote: 1
scene: 1
sensor: 210
sun: 1
switch: 9
weather: 1
zone: 4

And some more automation in NodeRedšŸ˜‹

update after 2 years:
automation: 49
binary_sensor: 32
button: 9
calendar: 1
camera: 3
climate: 7
device_tracker: 4
event: 1
fan: 3
group: 1
input_boolean: 8
input_number: 2
input_text: 3
light: 36
media_player: 13
number: 8
person: 3
proximity: 2
remote: 1
scene: 4
script: 2
select: 24
sensor: 309
sun: 1
switch: 60
tts: 1
update: 36
weather: 2
zone: 3

After a big cleanup this is new result :slight_smile:

automation: 116
binary_sensor: 123
calendar: 4
camera: 1
climate: 1
device_tracker: 36
fan: 1
group: 17
input_boolean: 15
input_datetime: 8
input_number: 1
input_select: 16
input_text: 1
light: 44
media_player: 9
person: 2
proximity: 2
remote: 2
scene: 1
script: 14
select: 1
sensor: 700
sun: 1
switch: 74
timer: 1
weather: 1
zone: 18

automation: 83
binary_sensor: 79
calendar: 2
camera: 3
climate: 1
device_tracker: 1
hangouts: 1
input_boolean: 4
input_number: 1
input_select: 1
input_text: 3
light: 36
lock: 1
media_player: 2
number: 8
person: 1
script: 28
select: 10
sensor: 447
sun: 1
switch: 78
timer: 3
weather: 1
zone: 1

alarm_control_panel: 1
automation: 142
binary_sensor: 68
camera: 1
climate: 8
counter: 2
device_tracker: 128
group: 14
input_boolean: 47
input_datetime: 60
input_number: 53
input_select: 13
input_text: 16
media_player: 1
persistent_notification: 1
person: 5
proximity: 2
scene: 2
script: 21
sensor: 528
sun: 1
switch: 46
timer: 21
water_heater: 1
weather: 4
zone: 3

for sure my automations can be rewritten more efficiently ā€¦ goal for the future

I want to ask this again. Any ideas, to get the count?

1 Like

Automations: 111
Binary sensors: 95
Device Tracker: 7
Climate: 1
Fans: 0
input_boolean: 2
input_select: 2
input_text: 4
Lights: 20
Script: 38
Sensors: 416
Switches: 90
alarm_control_panel: 5
automation: 111
binary_sensor: 95
camera: 20
climate: 1
cover: 1
device_tracker: 7
govee: 1
group: 10
humidifier: 1
input_boolean: 2
input_select: 2
input_text: 4
light: 20
media_player: 28
persistent_notification: 1
person: 2
remote: 1
scene: 4
script: 38
sensor: 416
sun: 1
switch: 90
weather: 5
zone: 4

Very cool!

Thatā€™s one of my open questions in Metrics: how to access advanced integration, Supervisor and HA internal information where Iā€™m looking for some ā€œmore advanced statisticsā€.

Update: number of integrations still no idea, for number of devices see my implementation at Metrics: how to access advanced integration, Supervisor and HA internal information - #6 by e-raser

Mine with note that I have 90% of my automation in node red. Thats some 25 flows approximately.

alarm_control_panel: 1
automation: 7
binary_sensor: 207
button: 8
calendar: 3
camera: 23
climate: 7
cover: 3
device_tracker: 7
fan: 1
group: 11
input_boolean: 27
input_number: 2
input_select: 2
input_text: 1
light: 59
lock: 1
media_player: 12
number: 4
person: 2
remote: 3
scene: 62
select: 12
sensor: 571
sun: 1
switch: 50
weather: 2
zone: 9

I want to do something when thereā€˜s a new domain containing one or more entities for the first time.

How can I detect that, e. g. as trigger definition for an automation?

At least something like ā€žif output of * has at least one more lines than the last time checking *ā€œ

  • =
{%- for d in states | groupby('domain') %}
{{ d[0] }}: {{ states[d[0]] | count  }}
{%- endfor %}

Ideally identifying the specific new domain(s).

Ideas? Even working code snippets?