What is an Integration, Device, Entity, Component, Platform?

My listed devices:

 Device	 Manufacturer	 Model	 Area	 Integration	 Battery
Aeotec Limited Unknown: type=0103, id=00a4	Aeotec Limited	Unknown: type=0103, id=00a4	No area	Z-Wave	-
Aeotec Limited Unknown: type=0103, id=00a4 (2)	Aeotec Limited	Unknown: type=0103, id=00a4	No area	Z-Wave	-
Aeotec Limited Unknown: type=0103, id=00a4 (3)	Aeotec Limited	Unknown: type=0103, id=00a4	No area	Z-Wave	-
Aeotec Limited Unknown: type=0103, id=00a4 (4)	Aeotec Limited	Unknown: type=0103, id=00a4	No area	Z-Wave	-
Aeotec Limited Unknown: type=0103, id=00a4 (5)	Aeotec Limited	Unknown: type=0103, id=00a4	No area	Z-Wave	-
Aeotec Limited Unknown: type=0103, id=00a4 (6)	Aeotec Limited	Unknown: type=0103, id=00a4	No area	Z-Wave	-
Aeotec Limited Unknown: type=0103, id=00a4 (7)	Aeotec Limited	Unknown: type=0103, id=00a4	No area	Z-Wave	-
Aeotec Limited Unknown: type=0103, id=00a4 (8)	Aeotec Limited	Unknown: type=0103, id=00a4	No area	Z-Wave	-
Aeotec Limited Unknown: type=0103, id=00a4 (9)	Aeotec Limited	Unknown: type=0103, id=00a4	No area	Z-Wave	-
Bathroom	Sonos	Play:5	No area	Sonos	-
FortrezZ MIMOlite	FortrezZ	MIMOlite	No area	Z-Wave	-
Master Bedroom	Sonos	Playbar	No area	Sonos	-
Somfy Unknown: type=5a52, id=5400	Somfy	Unknown: type=5a52, id=5400	No area	Z-Wave	-
Somfy Unknown: type=5a52, id=5401	Somfy	Unknown: type=5a52, id=5401	No area	Z-Wave	-
Somfy Unknown: type=5a52, id=5402	Somfy	Unknown: type=5a52, id=5402	No area	Z-Wave	-
VIZIO Backup	Vizio	D32f-F1	No area	Google Cast	-
VIZIO Master Bedroom	Vizio	V436-G1	No area	Google Cast	-
Z-Wave (Sigma Designs) UZB Z-Wave USB Adapter	Z-Wave (Sigma Designs)	UZB Z-Wave USB Adapter	No area	Z-Wave	-
Zigbee Coordinator	ZHA	EZSP	No area	ZHA

My flirc keyboard or harmony hub are not shown

From my configuation.yaml file:

# Controllers
zwave:
  usb_path: /dev/ttyUSB0
  device_config:
    cover.my_cover:
      invert_openclose_buttons: true
      
zha:
  usb_path: /dev/ttyUSB1
  database_path: /config/zigbee.db

# Flirc USB IRC  
keyboard_remote:
#- device_descriptor: '/dev/input/event3'
  device_name: 'flirc.tv flirc Keyboard'
  type: 'key_down'

# Harmony Hub Control  
remote:
- platform: harmony
  name: HUB@3911 Master Bedroom
  host: 192.168.0.182

Why, yes, there it is. I’ve never looked in there before.

I would assume from looking at my list that the only devices that are listed are only the ones associated with an integration that is listed in the integrations page.

The only integrations listed in the integrations page are ones that are supported by a GUI configuration. Not all integrations are supported by a GUI configuration. And not all platforms/devices are supported by GUI configurable integrations. Some platforms/devices still need to be manually configured. I don’t think those will necessarily show up in the devices list (tho some might).

As far as the confusion as to the terminology I agree it’s a problem. But part of the problem may lie in the fact that some devices don’t fit neatly into a pre-defined slot. And then there is the issue that not all integrations actually have physical devices. And entities are nothing more than a low level representation in the state machine of all the aspects needed to represent a device/platform based on the features that it offers.

there has been some progress made to reclassify things but TBH ultimately I’m not really sure it’s that important to how HA functions in the backend or even at the user level.

What real benefit will you gain by having a complete list of devices and the associated integration? Like I said I’ve been using HA for over two years now and have never looked at that page.

Maybe it might help to understand if you give an example of something you are trying to accomplish and not being successful because of some information you think you are missing.

You mentioned that you can’t see your remotes or keyboard in the device listing. How would having that information listed there help you?

1 Like

Not sure how to answer that.

Guess from my perspective as a user, I’m expecting to see a complete list of Integrations and devices that “I’ve installed”, whether they are Gui configurable or not to confirm my setup is “configured” properly. Plus I would like to see the devices sorted by their associated integration plus maybe a column indicating if the device is running ok or failed to load. The sorting would just make it easier to find what im looking for and their relationship.

I mean when I install a device manually, how do I even know the system even recognizes my configuration and is available to use when I cant see it listed anywhere?

For example this works fine but how would I know short of running some sort of test:

# Flirc USB IRC  
keyboard_remote:
  device_name: 'flirc.tv flirc Keyboard'
  type: 'key_down'

And how would I know that the following doesn’t work short of combing thru log files (maybe):

# Flirc USB IRC  
keyboard_remotes:
  device_name: 'flirc.tv flirc Keyboard'
  type: 'key_down'

Hope that makes sense.

On further thought, I just realized I’m describing the exact functionality of the Windows Device Manager.
Maybe Im just spoiled? hehehe :slight_smile:

1 Like

well, if you do a config check and it doesn’t return any errors you can at least be reasonably confident that the configuration is in the correct syntax.

then if the device shows up in the entity listing in the “states” page under the correct platform for whatever the device is then you can be fairly confident that the device should generally be recognized by HA using the configuration that you entered.

there are some things that there is no way for the system to know whether it is configured correctly and working because it relies on a user inputting the correct information. there’s no way to know if that info is correct. The best HA can do is check that the config syntax is correct and has all of the required information and nothing extraneous.

So, the bottom line lessons are that too make sure you always do a config check and fix any errors before you restart HA, make sure you have at least a basic understanding of what the correct expected entity_id should be (which includes the platform or “domain”) and that there isn’t really any way to know 100% that the device is working as expected until and unless you test it first (unless the device has error checking as part of its integration).

I think once you start using HA the things you are concerned about in this thread will seem less confusing and/or important. But then, of course, there will be lots of other things to be confused about. :wink:

1 Like

Check the system log. It records all the steps performed during the startup procedure …including what didn’t succeed.

1 Like

LOL I’m just a bundle of confusion to be peeled back slowly over time.

The only “States” page I can find is on the developer tools panel and my devices are not listed there either.

I thought the check config only checked for proper yaml formatting. So I did a couple of quick tests and it does indeed do some syntax checking. That’s great!!

Well, try the States page. (https://hass_url:port/states). You will see all the entities listed there. Edit: To get there you can go to Develepor Tools/ Info, there’s a link : [Go to the states UI]

In the developer tools menu / States page, you will also find all the entities and their current state and attributes listed, no matter if they were manually created in configuration.yaml or auto-created by an integration.

1 Like

Thanks for that, thats (http://192.168.0.116:8123/states) actually a pretty nice format.

It does show my harmony hub but unless im blind i still cant see my Flirc keyboard, and i know its working by monitoring the keyboard event.

FWIW, that URL leads to the deprecated States UI (the predecessor of the current Lovelace UI).

The reference for entities is found in Developer Tools > States (where you’ve already looked).

1 Like

Thanks for the background.

I couldnt find my devices listed there at first but when i clicked on “all.devices”, that shows a list with my harmony hub but still not my Flirc keyboard.

For fun I just tried to add an entities card in the lovelace overview panel. I was able to add the entity “all.entities”, but it didnt create a list like i was hoping for. That would have been cool if it had rendered a full list

Where is this clickable “all.devices”?

Are you referring to the Configuration > Devices page?

Explain to me the logic of having an outlet default to the ‘Switch’ category.

These naming and classification issues are often the artefact of software abstraction. When you want to support a large array of different devices/behaviours/services you have to create abstractions and group different types of behaviours. However, not everything fits neatly into any one particular set of abstractions.

You can propose different abstractions, groups, classifications and some sets will be better for some things and some for others, but you will always end up with some outlying weirdness.

Switch is a classic example, as the word “swtich” is both noun and verb, so is ambiguous. “A switch” can be seen as a device that allows something to be controlled - a light switch affords switching something. “To switch” is to actually enable/disable/select/toggle, power on, power off a thing - a plug outlet “can be switched”… and of course in our whacky world of automation a light switch can switch a plug outlet on!

It doesn’t matter if you base your abstraction/naming/classification model on verbs or nouns (behaviours or properties) there will always be outliers. If you attempt to use a mixed bag of nouns and verbs it might just be confusing.

The other aspect that often causes issues is the perspective and context. When you look at things on paper or a whiteboard during design things appear clear, but when you come to implement them and find that some things you labelled as distinct actually turn out to be pretty much the same thing and are so close to being the same thing, you end up using the same construct to define them.

This is not new in Home Automation, but has been a challenge for software engineering since it began. Take a course in computer networking and you will find any network can have multiple views that look completely different depending what questions you are trying to answer or what properties of the network you are trying to communicate. Not just one or two, but sometimes dozens of seemingly distinct diagrams of the same network.

I could propose different naming/abstractions for home automation, but it wouldn’t matter as I doubt there is a perfect model that will please all and not have ambiguity or confusion somewhere. In my own home automation software I hid the confusing details close to the devices. If I want to control heating, I use a heating controller, whether that uses one type of switch, relay or another, or actually swtiched 6 different things or if it turns the heating on by posting a facebook message is hidden there in. But I am not dealing with the 100s of different devices available all at once like HA is. I’m only dealing with the handful I have and can add code to support different ones as they are needed. A privileged position that not many are in.

2 Likes

It switches the thing that’s plugged in to it on and off. What category do you think would be a better match?

Hi,

Goto Developers tools, then States, then select group.all.devices Sorta wish States could be renamed to Devices. It would make more sense to me, because I believe State is a simple attribute for a device.

I’m thinking that if the cognoscenti are confused the rest of us have no chance :rofl:
Seriously, it is mostly a problem when communicating an issue as we don’t all share a common vocabulary, hence sometimes we use the wrong word and confuse each other.
I think the above discussion has helped a lot though

1 Like

because a switch has two distinct states - on or off. And switches are used as a power control device.

And an outlet has the same two distinct states and use.

they are functionally equivalent.

the developers could have made outlets and switches into two separate domains to be more precise but there wouldn’t be much more to be gained in functionality.

No, “states” are not “devices”. And neither is an “entity”. A device is a piece of equipment. A state is the condition an entity is in right now.

The old frontend UI before Lovelace was called the “States UI” and it was relatively restricted on how much it could be customized. That “pretty nice format” is an auto-generated listing of all of your *entities" (not devices) because that was the way it used to work before Lovelace if you never defined a thing called a “view”.

that would be “group.all_devices”. a minor change but a huge distinction in function.

That entity is a list of all of you devices that are a part of the “device_tracker” domain.

I doubt that’s what you are looking for.

really, you could create a card and successfully added an entity to it called “all.entities”? I would be surprised if that were true.

As far as I know, an entities card only accepts entity_ids as it’s contents. “all.entities” isn’t a valid entity_id.

You sound like an old fart like me. :slight_smile:

I felt like I just opened a can of worms in my brain. Until last week I’ve never looked at or played with Home Automation, until my alarm system (Honeywell Vista) crapped out on me. I had some guy come out to look at it and after I saw his huge quote + monthly fees, I looked around my house and counted 4 motion sensors and 5 door/window motion detectors. After thinking about it, I said to self, self: you could do this yourself, and do it the way you want with all the latest coolest gadgets.

I started dreaming of all the things I could do with my remote control or a web app to do all the things that a harmony hub could do for entertainment and all the surveillance and security things I could do like the ring you see on tv, and all the control I could have over my lights, fireplace, and curtains. Wow, this is going to be cool.

So I started my little project a few weeks ago, and it didnt take long to get hit with a dose of reality after I couldnt find a decent zwave siren/chime to use. It hit me that Home Automation isnt the panacea I thought it would be. It is just a component of your home for controlling appliances and that home entertainment and home security are totally separate components. They all have their own set of devices and lingo and requirements.

After coming to this realization, I was a little discouraged. But not too much since I can see these three areas of your home are beginning to overlap each other and eventually will get mashed up into a single comprehensive component that beautifully gives you control over your “Whole Home”.

But that aint the reality of today, so until that day comes, I can see its going to be a bitch to develop a comprehensive unifying model where all the lingo is well defined and syntactically correct.

Actually, its kind of exciting, because I can see big opportunities for the ones who can pull this off.

p.s. until i get my secrity system working, I’m going old school and using a baseball bat! lol