Platform service vs component service

Hi there,

I read the architecture documentation but there are a lot of overlaps and fuzzy things between components, platforms, devices, entities and domains. I am confused ;D

one problem: https://www.home-assistant.io/components/homematic/ tells to set temperatures this way:

action:
  service: homematic.set_device_value
  data:
    address: LEQ1234567
    channel: 4
    param: SET_TEMPERATURE
    value: 23.0

the entity in question has the domain climate so I guess the service exposed by the climate component (https://www.home-assistant.io/components/climate/) works too

action:
    - service: climate.set_temperature
      data:
        entity_id: climate.kitchen
        temperature: 24
        operation_mode: Heat

Is the platform just an implementation that overrides the component one? How does a component service know how to handle arbitrary entities? should the domain always be the component name?

The other problem I have is a script that will POST new states via http. The entity that will be changed is a humidity sensor. Where can I find attribute definitions of different entities? Or a list of all entities? Is the component/domain of this sensor important or should it go to sensors or climate? What attribute defines the group the entity is in and which one the kind of entity?

Sorry for posing that many questions. I hope there are a lot of simple answers to it.

When formatting your pasted code use the code format button </> not the quote button ‘’.

In the developer tools states menu (for entities you have defined). Left hand menu down the bottom. Looks like this <>.

Preformatted text/code/</> did eat all the new lines which looked way worse. But 4 spaces worked!

About the entity kind. I am planning to create a new entity via http api and need to decide which kind. So I need an overview of all of the options beforehand.

Just saw homematic is also a component. Now I am really confused shouldnt it be a platform?