openapi: 3.0.3
info:
  title: FRITZ! Smart Home REST API
  description: |-
    This is the specification for the FRITZ! Smart Home REST API for FRITZ!OS 8.20.

    All FRITZ!Smart Home and other compatible devices use the concept of units within the framework of the FRITZ!Smart Home REST-API.
    Most (physical) devices have at least one and up to n units. Each group has one unit. An Exception to this rule may be Zigbee-Repeaters.
    A unit provides the interface(s) for the operation of the device, e.g. switching a lightbulb on and off, changing its color or brightness level.
    Units may provide a unit type, which indicates certain to be expected interfaces and helps to classify the unit.

    The FRITZ!Box and FRITZ!Smart Gateway support the HAN FUN App Layer Protocol of the (DECT-)ULE Alliance.
    The FRITZ!Smart Gateway supports the Zigbee protocol with the Zigbee Cluster Library of the Connectivity Standards Alliance.
    For a list of supported Zigbee devices check https://fritz.com/service/zigbee/. Proprietary HAN-FUN and Zigbee Interfaces are not supported.

    **Related Documents**
    | File                                        | Info                                             |
    | --------------------------------------------|--------------------------------------------------|
    | SmarthomeRestApiFRITZOS82.yaml              | Disclaimer: <br>The internal structure and naming scheme inside the specification is not guaranteed and could change in the feature. |

    **Known Issues for FRITZ!OS 8.20**
    | Error                               | Property                                                                          | Description                                                 | possible Workaround             |
    | ---                                 | ---                                                                               | ---                                                         | ---                             |
    | orphaned memberUnitUids in lists    | template.memberUnitUids<br>thermostatInterface.windowOpenMode.externalSensorUids  | deleted units show up as members in templates, groups, etc. | ignore orphaned memberUnitUids  |
    | blinds do not return alertInterface | blindUnit.interfaces.alertInterface                                               | alertInterface is not included in response for blinds       |                                 |



    Disclaimer of Liability and Warranty: FRITZ! assumes no liability or warranty for any of the above features or the accuracy of the related documentation.
    FRITZ! reserves the right to change or discontinue any feature in whole or in part at any time without prior notice.

    Date: 2025-08-07

    (C) FRITZ! GmbH, Berlin
  contact:
    name: API Support
    url: https://www.fritz.com/service/schnittstellen
    email: entwicklungssupport@avm.de
  version: 0.9.5
servers:
  - url: '{http}://{host}/{basePath}'
    description: The API server
    variables:
      http:
        enum:
          - http
          - https
        default: https
      host:
        default: fritz.box
      basePath:
        default: api/v0
security:
  - AVM-SID: []
tags:
  - name: smarthome-overview
    x-displayName: Overview
    description: __provides basic information and control for all FRITZ!Box SmartHome entities__
  - name: smarthome-configuration
    x-displayName: Configuration
    description: __provides extended information and configuration options for all physical devices and their units__
  - name: smarthome-connect
    x-displayName: Connect
    description: __provides states and functions relevant to smarthome subscriptions__
paths:
  /smarthome/overview:
    get:
      tags:
        - smarthome-overview
      summary: Get all overview infos and lists
      description: |
        This is a collection of all components of the FRITZ!Box Smart Home.
        The overview provides a collection of basic information und control possibilities of all smart home entities.

        | Endpoint             | Represenation          | Info |
        | -------------------- | --------------         | ---- |
        | devices              | physical device        | device management <br> - battery info <br> - connection status <br> - etc. |
        | units                | actuators & sensors    | tracking and control of device functions <br> - track temperature <br> - turn a socket on/off <br> - etc. |
        | groups               | grouping of units      | allows for grouping of actuator units <br> - each group has it's own unit, which controls all grouped units |
        | templates            | templates & scenarios  | save and apply configuration of units |
        | triggers             | routines               | if-then automations based on sensor values |
        | globals              | global values          | values that are used throughout the smart home <br> - colorPalettes <br> - location |
      operationId: getOverview
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/endpoint_overview'
        default:
          $ref: '#/components/responses/errors'
  /smarthome/overview/devices:
    get:
      tags:
        - smarthome-overview
      summary: Get list of devices
      description: |
        __devices__


        * physical devices (e.g. battery or connection status, etc.)
        * each device has at least one unit
      operationId: getOverviewDevicesList
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/endpoint_overview_multipleDevices'
        default:
          $ref: '#/components/responses/errors'
  /smarthome/overview/devices/{UID}:
    get:
      tags:
        - smarthome-overview
      summary: Get device by UID
      description: |
        __devices__


        * physical devices (e.g. battery or connection status, etc.)
        * each device has at least one unit
      operationId: getOverviewDeviceByUID
      parameters:
        - name: UID
          in: path
          description: UID of device to return, may be IPUI (International Portable User Identity), MACA or Zigbee Identifier
          required: true
          schema:
            type: string
            example: 99238 4279382
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/endpoint_overview_singleDevice'
              examples:
                FRITZ!Smart Energy 200 Device:
                  $ref: '#/components/examples/FSE200_device'
                FRITZ!Smart Thermo 302 Device:
                  $ref: '#/components/examples/FST302_device'
                FRITZ!Smart Light 500 Device:
                  $ref: '#/components/examples/FSL500_device'
                Becker Rollotron DECT Device:
                  $ref: '#/components/examples/BeckerRollo_device'
        default:
          $ref: '#/components/responses/errors'
  /smarthome/overview/groups:
    get:
      tags:
        - smarthome-overview
      summary: Get list of groups
      description: |
        __groups__

        * groups allow a collection of units to be controlled at once
        * controlling a group through its corresponding unit (found via unitUid) controls all its member units at once and overwrites their respective status
        * lightbulbs, plugsockets and blinds that are part of a group can still be controlled independentely via their interfaces in the the unit
        * controlling a thermostat that is part of a group via its individual interface in the unit will overwrite the status of all thermostat-members in a group
      operationId: getOverviewGroupsList
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/endpoint_overview_group'
        default:
          $ref: '#/components/responses/errors'
  /smarthome/overview/groups/{UID}:
    get:
      tags:
        - smarthome-overview
      summary: Get group by UID
      description: |
        __groups__

        * groups allow a collection of units to be controlled at once
        * controlling a group through its corresponding unit (found via unitUid) controls all its member units at once and overwrites their respective status
        * lightbulbs, plugsockets and blinds that are part of a group can still be controlled independentely via their interfaces in the the unit
        * controlling a thermostat that is part of a group via its individual interface in the unit will overwrite the status of all thermostat-members in a group
      operationId: getOverviewGroupByUID
      parameters:
        - name: UID
          in: path
          description: UID of group to return
          required: true
          schema:
            type: string
            example: grpFBF8B6-11915
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/endpoint_overview_group'
              examples:
                Thermostat Group:
                  $ref: '#/components/examples/Thermostat_group'
                Plugsocket Group:
                  $ref: '#/components/examples/Plugsocket_group'
                Lamp Group:
                  $ref: '#/components/examples/Lamp_group'
                Plugsocket & Lamp Group:
                  $ref: '#/components/examples/Plugsocket_and_Lamp_group'
                Blind Group:
                  $ref: '#/components/examples/Blind_group'
        default:
          $ref: '#/components/responses/errors'
  /smarthome/overview/units:
    get:
      tags:
        - smarthome-overview
      summary: Get list of units
      description: |
        __units__

        * units (actuators and sensors) and their interfaces
        * these allow you to control device functions (e.g. turning a lightbulb on/off, change its color/level)
        * unitType indicates which interface are to be expected and helps to classify the unit
      operationId: getOverviewUnitsList
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/endpoint_overview_multipleUnits'
        default:
          $ref: '#/components/responses/errors'
  /smarthome/overview/units/{UID}:
    get:
      tags:
        - smarthome-overview
      summary: Get unit by UID
      description: |
        __units__

        * units (actuators and sensors) and their interfaces
        * these allow you to control device functions (e.g. turning a lightbulb on/off, change its color/level)
        * unitType indicates which interface are to be expected and helps to classify the unit
      operationId: getOverviewUnitByUID
      parameters:
        - name: UID
          in: path
          description: UID of unit to return
          required: true
          schema:
            type: string
            example: 11137 7239736-1
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/endpoint_overview_singleUnit'
              examples:
                FRITZ!Smart Energy 200 Unit:
                  $ref: '#/components/examples/FSE200_unit'
                FRITZ!Smart Thermo 302 Unit:
                  $ref: '#/components/examples/FST302_unit'
                FRITZ!Smart Light 500 Unit:
                  $ref: '#/components/examples/FSL500_unit'
                Becker Rollotron DECT Unit:
                  $ref: '#/components/examples/BeckerRollo_unit'
                Thermostat Group Unit:
                  $ref: '#/components/examples/Thermostat_Group_unit'
                Plugsocket Group Unit:
                  $ref: '#/components/examples/Plugsocket_Group_unit'
                Lamp Group Unit:
                  $ref: '#/components/examples/Lamps_Group_unit'
                Plugsocket & Lamp Group Unit:
                  $ref: '#/components/examples/Plugsocket_and_Lamp_Group_unit'
                Blind Group Unit:
                  $ref: '#/components/examples/Blind_Group_unit'
        default:
          $ref: '#/components/responses/errors'
    put:
      tags:
        - smarthome-overview
      summary: Control interfaces for unit by UID
      description: |
        __units__

        * units (actuators and sensors) and their interfaces
        * these allow you to control device functions (e.g. turning a lightbulb on/off, change its color/level)
        * unitType indicates which interface are to be expected and helps to classify the unit
      operationId: putOverviewUnitByUID
      parameters:
        - name: UID
          in: path
          description: UID of unit that needs to be updated
          required: true
          schema:
            type: string
            example: 11137 7239736-1
      requestBody:
        description: update an existent unit
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/endpoint_overview_putUnit'
        required: true
      responses:
        '200':
          description: Empty body if successful
        default:
          $ref: '#/components/responses/errors'
  /smarthome/overview/templates:
    get:
      tags:
        - smarthome-overview
      summary: Get list of templates
      description: |
        __templates__

        * templates allow the saving and recalling of configuration for units
        * scenarios are collections of templates, and allow the applying of multiple templates at once
      operationId: getOverviewTemplatesList
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/endpoint_overview_getTemplate'
        default:
          $ref: '#/components/responses/errors'
  /smarthome/overview/templates/{UID}:
    get:
      tags:
        - smarthome-overview
      summary: Get template by UID
      description: |
        __templates__

        * templates allow the saving and recalling of configuration for units
        * scenarios are collections of templates, and allow the applying of multiple templates at once
      operationId: getOverviewTemplateByUID
      parameters:
        - name: UID
          in: path
          description: UID of template to return
          required: true
          schema:
            type: string
            example: 11630 0015376
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/endpoint_overview_getTemplate'
              examples:
                Plugsocket Toggle Template:
                  $ref: '#/components/examples/Socket_Toggle_template'
                Blind Level Template:
                  $ref: '#/components/examples/Blind_Level_template'
                Lamp Level and Color Template:
                  $ref: '#/components/examples/Lampe_Level_Color_On_template'
                Preset Coming Home Scenario:
                  $ref: '#/components/examples/Szenario_Preset_Coming_Home_template'
                User Created Generic Scenario:
                  $ref: '#/components/examples/Szenario_Generic_template'
        default:
          $ref: '#/components/responses/errors'
    post:
      tags:
        - smarthome-overview
      summary: Applies a template by UID
      description: |
        __templates__

        * templates allow the saving and recalling of configuration for units
        * scenarios are collections of templates, and allow the applying of multiple templates at once
      operationId: postOverviewTemplateByUID
      parameters:
        - name: UID
          in: path
          description: UID of template that should be applied
          required: true
          schema:
            type: string
            example: 11630 0015376
      requestBody:
        description: Apply a template
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/endpoint_overview_postTemplate'
      responses:
        '200':
          description: Empty body if successful
        '405':
          description: Invalid input
  /smarthome/overview/triggers:
    get:
      tags:
        - smarthome-overview
      summary: Get list of triggers
      description: |
        __triggers__

        * triggers check for values in interfaces of units (<, >, =, ...) and allow the applying of templates based on the check
        * *IF-THEN*
      operationId: getOverviewTriggersList
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/endpoint_overview_trigger'
        default:
          $ref: '#/components/responses/errors'
  /smarthome/overview/triggers/{UID}:
    get:
      tags:
        - smarthome-overview
      summary: Get trigger by UID
      description: |
        __triggers__

        * triggers check for values in interfaces of units (<, >, =, ...) and allow the applying of templates based on the check
        * *IF-THEN*
      operationId: getOverviewTriggerByUID
      parameters:
        - name: UID
          in: path
          description: UID of trigger to return
          required: true
          schema:
            type: string
            example: 11630 0015376
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/endpoint_overview_trigger'
              examples:
                Trigger 1:
                  $ref: '#/components/examples/Trigger_Example_1'
                Trigger 2:
                  $ref: '#/components/examples/Trigger_Example_2'
        default:
          $ref: '#/components/responses/errors'
    put:
      tags:
        - smarthome-overview
      summary: Activate or deactivate trigger by UID
      description: |
        __triggers__

        * triggers check for values in interfaces of units (<, >, =, ...) and allow the applying of templates based on the check
        * *IF-THEN*
      operationId: putOverviewTriggerByUID
      parameters:
        - name: UID
          in: path
          description: UID of trigger that needs to be updated
          required: true
          schema:
            type: string
            example: 11630 0015376
      requestBody:
        description: update an existent trigger
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/endpoint_overview_trigger'
        required: true
      responses:
        '200':
          description: Empty body if successful
        default:
          $ref: '#/components/responses/errors'
  /smarthome/overview/globals:
    get:
      tags:
        - smarthome-overview
      summary: Get smart home global values
      description: smart home avmPresets for lamps and location
      operationId: getOverviewGlobals
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/helper_overview_globals'
        default:
          $ref: '#/components/responses/errors'
  /smarthome/configuration/devices/{UID}:
    get:
      tags:
        - smarthome-configuration
      summary: Get device configuration by UID
      description: |
        __devices__


        * physical devices (e.g. battery or connection status, etc.)
        * each device has at least one unit
      operationId: getConfigurationDeviceByUID
      parameters:
        - name: UID
          in: path
          description: UID of device to return, may be IPUI (International Portable User Identity), MACA or Zigbee Identifier
          required: true
          schema:
            type: string
            example: 99238 4279382
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/endpoint_configuration_device'
              examples:
                FRITZ!Smart Energy 200 Device:
                  $ref: '#/components/examples/FSE210_device'
                FRITZ!Smart Thermo 302 Device:
                  $ref: '#/components/examples/examples-FST302_device'
                FRITZ!Smart Light 500 Device:
                  $ref: '#/components/examples/examples-FSL500_device'
                Telekom HAN-FUN Switch Device:
                  $ref: '#/components/examples/Telekom_HAN-FUN_Taster'
                Telekom HAN-FUN Plugsocket Device:
                  $ref: '#/components/examples/Telekom_HAN-FUN_Steckdose'
                Becker Rollotron DECT Device:
                  $ref: '#/components/examples/examples-BeckerRollo_device'
        default:
          $ref: '#/components/responses/errors'
    put:
      tags:
        - smarthome-configuration
      summary: Configure and control device by UID
      description: |
        __devices__


        * physical devices (e.g. battery or connection status, etc.)
        * each device has at least one unit
      operationId: putConfigurationDeviceByUID
      parameters:
        - name: UID
          in: path
          description: UID of device that needs to be updated
          required: true
          schema:
            type: string
            example: 11630 0015376
      requestBody:
        description: update an existent device
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/endpoint_configuration_putDevice'
        required: true
      responses:
        '200':
          description: Empty body if successful
        default:
          $ref: '#/components/responses/errors'
    delete:
      tags:
        - smarthome-configuration
      summary: Delete device by UID
      description: |
        - deletes device from smart home and unpairs it from the radioBase
        - deletion is usually always allowed for local devices
        - deletion of devices on remote radioBases is only allowed on the smart home master
        - active smartmeters can not be deleted
      operationId: deleteConfigurationDeviceByUID
      parameters:
        - name: UID
          in: path
          description: UID of device which should be deleted
          required: true
          schema:
            type: string
            example: 11630 0015376
      responses:
        '200':
          description: Empty body if successful
        default:
          $ref: '#/components/responses/errors'
  /smarthome/configuration/units/{UID}:
    get:
      tags:
        - smarthome-configuration
      summary: Get unit configuration by UID
      description: |
        __units__

        * units (actuators and sensors) and their interfaces
        * these allow you to control device functions (e.g. turning a lightbulb on/off, change its color/level)
        * unitType indicates which interface are to be expected and helps to classify the unit
      operationId: getConfigurationUnitByUID
      parameters:
        - name: UID
          in: path
          description: UID of unit to return
          required: true
          schema:
            type: string
            example: 11137 7239736-1
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/endpoint_configuration_unit'
              examples:
                FRITZ!Smart Control 400 Unit:
                  $ref: '#/components/examples/FSC400_unit'
                FRITZ!Smart Control 350 Unit:
                  $ref: '#/components/examples/FSC350_unit'
                FRITZ!Smart Control 440 Unit:
                  $ref: '#/components/examples/FSC440_unit'
        default:
          $ref: '#/components/responses/errors'
    put:
      tags:
        - smarthome-configuration
      summary: Configure and control unit by UID
      description: |
        __units__

        * units (actuators and sensors) and their interfaces
        * these allow you to control device functions (e.g. turning a lightbulb on/off, change its color/level)
        * unitType indicates which interface are to be expected and helps to classify the unit
      operationId: putConfigurationUnitByUID
      parameters:
        - name: UID
          in: path
          description: UID of unit that needs to be updated
          required: true
          schema:
            type: string
            example: 11137 7239736-1
      requestBody:
        description: update an existent unit
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/endpoint_configuration_putUnit'
        required: true
      responses:
        '200':
          description: Empty body if successful
        default:
          $ref: '#/components/responses/errors'
  /smarthome/configuration/groups:
    post:
      tags:
        - smarthome-configuration
      summary: Create new group
      description: |
        __groups__

        * groups allow a collection of units to be controlled at once
        * controlling a group through its corresponding unit (found via unitUid) controls all its member units at once and overwrites their respective status
        * lightbulbs, plugsockets and blinds that are part of a group can still be controlled independentely via their interfaces in the the unit
        * controlling a thermostat that is part of a group via its individual interface in the unit will overwrite the status of all thermostat-members in a group
      operationId: postConfigurationGroupByName
      parameters:
        - name: name
          in: query
          description: name of group that should be created
          required: true
          schema:
            type: string
            example: Living Room Lamps
      requestBody:
        description: Create a new group
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/endpoint_configuration_postGroup'
        required: true
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createGroup_response'
        default:
          $ref: '#/components/responses/errors'
  /smarthome/configuration/groups/{UID}:
    get:
      tags:
        - smarthome-configuration
      summary: Get group configuration by UID
      description: |
        __groups__

        * groups allow a collection of units to be controlled at once
        * controlling a group through its corresponding unit (found via unitUid) controls all its member units at once and overwrites their respective status
        * lightbulbs, plugsockets and blinds that are part of a group can still be controlled independentely via their interfaces in the the unit
        * controlling a thermostat that is part of a group via its individual interface in the unit will overwrite the status of all thermostat-members in a group
      operationId: getConfigurationGroupByUID
      parameters:
        - name: UID
          in: path
          description: UID of group to return
          required: true
          schema:
            type: string
            example: grp9D4BAB-3F83ED4FC
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/endpoint_configuration_group'
              examples:
                Thermostat Group:
                  $ref: '#/components/examples/examples-Thermostat_group'
                Plugsocket Group:
                  $ref: '#/components/examples/examples-Plugsocket_group'
                Lamp Group:
                  $ref: '#/components/examples/examples-Lamp_group'
                Plugsocket & Lamp Group:
                  $ref: '#/components/examples/examples-Plugsocket_and_Lamp_group'
                Blind Group:
                  $ref: '#/components/examples/examples-Blind_group'
        default:
          $ref: '#/components/responses/errors'
    put:
      tags:
        - smarthome-configuration
      summary: Configure and control group by UID
      description: |
        __groups__

        * groups allow a collection of units to be controlled at once
        * controlling a group through its corresponding unit (found via unitUid) controls all its member units at once and overwrites their respective status
        * lightbulbs, plugsockets and blinds that are part of a group can still be controlled independentely via their interfaces in the the unit
        * controlling a thermostat that is part of a group via its individual interface in the unit will overwrite the status of all thermostat-members in a group
      operationId: putConfigurationGroupByUID
      parameters:
        - name: UID
          in: path
          description: UID of group that needs to be updated
          required: true
          schema:
            type: string
            example: grp9D4BAB-3F83ED4FC
      requestBody:
        description: update an existent group
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/endpoint_configuration_putGroup'
        required: true
      responses:
        '200':
          description: Empty body if successful
        default:
          $ref: '#/components/responses/errors'
    delete:
      tags:
        - smarthome-configuration
      summary: Delete group by UID
      description: |
        - deletes group from smart home
        - deletion is usually always allowed for local groups
      operationId: deleteConfigurationGroupByUID
      parameters:
        - name: UID
          in: path
          description: UID of group which should be deleted
          required: true
          schema:
            type: string
            example: grp9D4BAB-3F83ED4FC
      responses:
        '200':
          description: Empty body if successful
        default:
          $ref: '#/components/responses/errors'
  /smarthome/configuration/templates:
    post:
      tags:
        - smarthome-configuration
      summary: Create new template
      description: |
        __templates__

        * templates allow the saving and recalling of configuration for units
        * scenarios are collections of templates, and allow the applying of multiple templates at once
      operationId: postConfigurationTemplateByName
      parameters:
        - name: name
          in: query
          description: name of template that should be created
          required: true
          schema:
            type: string
            example: Movie Night
      requestBody:
        description: |
          - create a new template
          - either the template-object or scenario-object is required
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/endpoint_configuration_postTemplate'
        required: true
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/createTemplate_response'
        default:
          $ref: '#/components/responses/errors'
  /smarthome/configuration/templates/{UID}:
    get:
      tags:
        - smarthome-configuration
      summary: Get template configuration by UID
      description: |
        __templates__

        * templates allow the saving and recalling of configuration for units
        * scenarios are collections of templates, and allow the applying of multiple templates at once
      operationId: getConfigurationTemplateByUID
      parameters:
        - name: UID
          in: path
          description: UID of template to return
          required: true
          schema:
            type: string
            example: tmpFBF8B6-11C2C
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/endpoint_configuration_getTemplate'
              examples:
                Plugsocket Toggle Template:
                  $ref: '#/components/examples/examples-Socket_Toggle_template'
                Blind Level Template:
                  $ref: '#/components/examples/examples-Blind_Level_template'
                Lamp Level and Color Template:
                  $ref: '#/components/examples/examples-Lampe_Level_Color_On_template'
                Preset Coming Home Scenario:
                  $ref: '#/components/examples/examples-Szenario_Preset_Coming_Home_template'
                User Created Generic Scenario:
                  $ref: '#/components/examples/examples-Szenario_Generic_template'
        default:
          $ref: '#/components/responses/errors'
    put:
      tags:
        - smarthome-configuration
      summary: Configure and control template by UID
      description: |
        __templates__

        * templates allow the saving and recalling of configuration for units
        * scenarios are collections of templates, and allow the applying of multiple templates at once
      operationId: putConfigurationTemplateByUID
      parameters:
        - name: UID
          in: path
          description: UID of template that needs to be updated
          required: true
          schema:
            type: string
            example: tmpFBF8B6-11C2C
      requestBody:
        description: update an existent template
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/endpoint_configuration_putTemplate'
        required: true
      responses:
        '200':
          description: Empty body if successful
        default:
          $ref: '#/components/responses/errors'
    delete:
      tags:
        - smarthome-configuration
      summary: Delete template by UID
      description: |
        - deletes template from smart home
      operationId: deleteConfigurationTemplateByUID
      parameters:
        - name: UID
          in: path
          description: UID of template which should be deleted
          required: true
          schema:
            type: string
            example: tmpFBF8B6-11C2C
      responses:
        '200':
          description: Empty body if successful
        default:
          $ref: '#/components/responses/errors'
  /smarthome/configuration/templateCapabilities:
    get:
      tags:
        - smarthome-configuration
      summary: Get possible template configuration capabilities
      description: |
        __templates__

        * templates allow the saving and recalling of configuration for units
        * scenarios are collections of templates, and allow the applying of multiple templates at once
      operationId: getConfigurationTemplateCapabilities
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/endpoint_configuration_getTemplateCapabilities'
        default:
          $ref: '#/components/responses/errors'
  /smarthome/connect/radioBases:
    get:
      tags:
        - smarthome-connect
      summary: Get list of radioBases
      description: |
        __radioBases__

        * either provide DECT, Zigbee or both
        * this is your *smart home gateway* in classical sense
        * in a smart home mesh, only the master will provide a full list of available radioBases
        * all others will only provide information about themselves
      operationId: getRadioBasesList
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/endpoint_radioBases'
        default:
          $ref: '#/components/responses/errors'
  /smarthome/connect/radioBases/{serial}:
    get:
      tags:
        - smarthome-connect
      summary: Get radioBase by Serial
      description: |
        __radioBases__

        * either provide DECT, Zigbee or both
        * this is your *smart home gateway* in classical sense
        * in a smart home mesh, only the master will provide a full list of available radioBases
        * all others will only provide information about themselves
      operationId: getRadioBaseBySerial
      parameters:
        - name: serial
          in: path
          description: serial (based on MAC-address) of radioBase to return
          required: true
          schema:
            type: string
            example: 02B1EB1A4DBA
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/endpoint_radioBases'
        default:
          $ref: '#/components/responses/errors'
  /smarthome/connect/subscriptionState/{UID}:
    get:
      tags:
        - smarthome-connect
      summary: Get subscription state by UID
      description: |
        __subscription__

        * local subscription and deletion of smart home devices is always available
        * remote subscriptions and deletions are only available on the smart home master
      operationId: getSubscriptionStateByUid
      parameters:
        - name: UID
          in: path
          description: UID of subscription to return
          required: true
          schema:
            type: string
            example: 6DA5BC33CED64CF98D134C913D0BA574
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/endpoint_subscriptionState'
        default:
          $ref: '#/components/responses/errors'
  /smarthome/connect/startSubscription/{serial}:
    post:
      tags:
        - smarthome-connect
      summary: Start Subscription on radioBase by Serial
      description: |
        __subscription__

        * local subscription and deletion of smart home devices is always available
        * remote subscriptions and deletions are only available on the smart home master
      operationId: postStartSubscriptionBySerial
      parameters:
        - name: serial
          in: path
          description: serial (based on MAC-Address) of radioBase to start subscription on
          required: true
          schema:
            type: string
            example: 02B1EB1A4DBA
      requestBody:
        description: start subscription
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/endpoint_startSubscription'
        required: false
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/startSubscription_response'
        default:
          $ref: '#/components/responses/errors'
  /smarthome/connect/stopSubscription/{serial}:
    post:
      tags:
        - smarthome-connect
      summary: Stop Subscription on radioBase by Serial
      description: |
        __subscription__

        * local subscription and deletion of smart home devices is always available
        * remote subscriptions and deletions are only available on the smart home master
      operationId: postStopSubscriptionBySerial
      parameters:
        - name: serial
          in: path
          description: serial (based on MAC-Address) of radioBase to stop subscription on
          required: true
          schema:
            type: string
            example: 02B1EB1A4DBA
      responses:
        '200':
          description: Empty body if successful
        default:
          $ref: '#/components/responses/errors'
  /smarthome/connect/resetCode/{serial}:
    post:
      tags:
        - smarthome-connect
      summary: Set resetCode on zigbee radioBase
      description: Zigbee specific reset code for unpairing devices
      operationId: postResetCodeBySerial
      parameters:
        - name: serial
          in: path
          description: serial (based on MAC-Address) of zigbee radioBase to post resetCode
          required: true
          schema:
            type: string
            example: 02B1EB1A4DBA
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/endpoint_resetCode'
      responses:
        '200':
          description: Empty body if successful
        default:
          $ref: '#/components/responses/errors'
  /smarthome/connect/installCode/{serial}:
    post:
      tags:
        - smarthome-connect
      summary: Set installCode on zigbee radioBase
      description: Zigbee specific installation code for secure pairing
      operationId: postInstallCodeBySerial
      parameters:
        - name: serial
          in: path
          description: serial (based on MAC-Address) of zigbee radioBase to post installCode
          required: true
          schema:
            type: string
            example: 02B1EB1A4DBA
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/endpoint_installCode'
      responses:
        '200':
          description: Empty body if successful
        default:
          $ref: '#/components/responses/errors'
components:
  securitySchemes:
    AVM-SID:
      description: |
        The Smart Home REST API uses a FRITZ! Session-ID for authentification.
        <br>For creating such a SID see [Technical Note - Session ID](https://fritz.com/fileadmin/user_upload/Global/Service/Schnittstellen/AVM_Technical_Note_-_Session_ID_english_2021-05-03.pdf).

        The different Smart Home REST API endpoints utilize different access levels depending on the user rights associated with the SID:
        | endpoint          | user rights                     |
        | ---               | ---                             |
        |`/overview`        | `smarthome`, `boxadmin`, `apps` |
        |`/configuration`   | `boxadmin`, `apps`              |
        |`/connect`         | `boxadmin`, `apps`              |

        For user rights see section "Actions and User Rights" in [TR-064 - First Steps](https://fritz.com/fileadmin/user_upload/Global/Service/Schnittstellen/AVM_TR-064_first_steps.pdf).
      type: apiKey
      in: header
      name: Authorization
  responses:
    errors:
      description: list of occured errors
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error_response'
  schemas:
    error_list:
      description: list of F!OS errors
      type: array
      items:
        description: error object
        type: object
        required:
          - code
        properties:
          code:
            description: |
              property-based-fails:

              | Code | Description            |
              | ---- | -----------            |
              | 1000 | bad value (PUT/POST)   |
              | 1001 | wrong type             |
              | 1002 | out of range           |
              | 1003 | too short              |
              | 1004 | too long               |
              | 1005 | invalid characters     |
              | 1006 | wrong lead character   |
              | 1007 | wrong end character    |
              | 1008 | invalid format         |
              | 1009 | missing data / payload |

              collection-based-fails:

              | Code | Description                 |
              | ---- | -----------                 |
              | 2000 | invalid collection handling |
              | 2001 | UID not found               |
              | 2002 | list/collection full        |
              | 2003 | list empty                  |
              | 2004 | item not valid              |
              | 2005 | not deletable               |
              | 2006 | already exists              |
              | 2007 | item conflict               |

              permissions/functionality-based-fails:

              | Code  | Description |
              | ----- | -----------                       |
              | 3000  | permissions/functionality         |
              | 3001  | no permission / not enough rights |
              | 3002  | bad path                          |
              | 3003  | bad payload                       |
              | 3004  | bad key                           |
              | 3005  | not supported                     |
              | 3006  | busy                              |
              | 3007  | not active                        |
              | 3008  | 2fa needed                        |
              | 3009  | 2fa busy                          |
              | 3010  | 2fa blocked                       |
              | 3011  | not supported version             |

              other errors

              | Code   | Description                      |
              | ------ | -----------                      |
              | 4000   | unexpected internal error        |
              | 10000+ | special-purpose error codes      |
            type: integer
          field:
            description: path of attribute, which causes the error. Mandatory in case of property-based-fails codes
            type: string
          message:
            description: human readable error description (optional)
            type: string
          extension:
            description: extended error information, if available
            type: object
    error_response:
      type: object
      properties:
        errors:
          $ref: '#/components/schemas/error_list'
    helper_timestamp:
      description: helper for unix timestamps, *null* means time is unknown (e.g. because FRITZ!Box has no valid time)
      type: integer
      nullable: true
    device_base:
      required:
        - UID
        - ain
        - productCategory
        - productName
        - manufacturer
        - isZigbeeDevice
        - firmwareVersion
        - icons
        - isConnected
        - batteryState
        - isDeviceSubscribedLocally
        - unitUids
      properties:
        UID:
          description: unique identifier corresponding to ain of device
          type: string
          example: 11630 0015376
          readOnly: true
        ain:
          description: unique hardware identifier of device
          type: string
          example: 11630 0015376
          readOnly: true
        name:
          description: user defined name of physical device, up to 39 2-Byte UTF-8 characters or up to 79 bytes allowed
          type: string
          format: bytes
          example: Lamp Living Room
          minLength: 1
          maxLength: 39
        productName:
          description: product name set by manufacturer
          type: string
          example: FRITZ!Smart Energy 200
          readOnly: true
        hardwareModelId:
          description: product hardware model id
          type: string
          example: '0x6000B'
          readOnly: true
        manufacturer:
          description: manufacturer of device, may be empty
          type: string
          example: AVM
          readOnly: true
        isZigbeeDevice:
          description: true if device uses zigbee-protocol to communicate
          type: boolean
          readOnly: true
          example: false
        firmwareVersion:
          description: firmware version of device, may be empty
          type: string
          example: '5.15'
          readOnly: true
        productCategory:
          description: describes the category, and therefore main feature, of the device
          type: string
          example: socket
          readOnly: true
          enum:
            - blind
            - control
            - lamp
            - other
            - sensor
            - socket
            - thermostat
        icons:
          description: device can have multiple icons (for example for multiple units), can be empty
          type: array
          items:
            type: integer
          example:
            - 3
            - 5
          readOnly: true
        unitUids:
          description: UIDs of units (children) belonging to physical device
          type: array
          items:
            type: string
          example:
            - 13077 0137031-1
            - 13077 0137031-1
          readOnly: true
        isConnected:
          description: |
            - false: no connection / connection lose
            - true: connection established
            - when the device, and therefore its units, are not connected you may get the last known infos or default values; which might not be valid
          type: boolean
          example: true
          readOnly: true
        lastConnectionTime:
          description: |
            - since when is the device in connection state (`isConnected`)
            - only valid, if host has valid time
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/helper_timestamp'
        batteryState:
          description: |
            - 'known': the device sends infos about its batteryValue
            - 'unknown': the device doesn't have a battery, or hasn't send its batteryValue yet (e.g. after reboot etc)
          type: string
          example: known
          enum:
            - known
            - unknown
          readOnly: true
        batteryValue:
          description: Battery in 0..100 percent. Only available for battery-powered devices.
          type: integer
          example: 78
          minimum: 0
          maximum: 100
          readOnly: true
        isBatteryLow:
          description: |
            - true: battery low warning from device
            - false: battery ok (only available for FRITZ! thermostats and FRITZ! buttons)"
          type: boolean
          example: false
          readOnly: true
        isExternallyPowered:
          description: whether the device has an external power source
          type: boolean
          readOnly: true
          example: false
        isBatteryPowered:
          description: whether the device has batteries
          type: boolean
          readOnly: true
          example: true
        radioBaseSerial:
          description: Serial (based on MAC-Address) of F!Box/Gateway on which the device is locally subscribed, can be other F!Box/Gateway in Mesh
          type: string
          example: 02B1EB1A4DBA
          readOnly: true
        isDeviceSubscribedLocally:
          description: |
            - true: device is subscribed locally
            - false: device is subscribed to other F!Box/Gateway in Mesh
          type: boolean
          example: true
          readOnly: true
        isDeviceDeletable:
          description: Whether the deletion of the device is supported. This is mostly relevant in mesh-setups, as it is not allowed to delete remotely subscribed devices from a client.
          type: boolean
          example: true
          readOnly: true
    helper_pushMail_unit:
      type: object
      required:
        - unitUid
      properties:
        UID:
          type: string
          deprecated: true
          readOnly: true
        unitUid:
          description: UID of unit (belonging to device)
          type: string
          example: 13077 0137031-1
        eventDrivenEnabled:
          type: boolean
          readOnly: false
          example: true
          description: |
            enable push-mail triggered by unit-specific events that are based on the device productCategory:
            | productCategory | possible events   |
            |-----------------|-------------------|
            | blind           | not available     |
            | control         | button presses    |
            | lamp            | toggling onOff    |
            | other           | not available     |
            | sensor          | alerts            |
            | socket          | toggling onOff    |
            | thermostat      | not available     |
        intervalDriven:
          description: |
            - only available for FRITZ! plug sockets and power meters
            - if enabled, a push-mail will be send regularly
          type: string
          enum:
            - disabled
            - daily
            - weekly
            - monthly
          example: weekly
        powerStatisticsPeriod:
          description: |
            - FRITZ! plug sockets and power meters allow for sending additional info about statistics
            - period range of energy statistics
          type: string
          enum:
            - day
            - week
            - month
            - year
            - unknown
          example: week
    helper_pushMail:
      type: object
      description: |
        - Push-service for the device and corresponding units
        - only works for local F!Box/Gateway, not in smart home Mesh
      properties:
        enabled:
          type: boolean
          description: |
            - enable push-service for the device
            - connectivity changes of the device (disconnected / connected)
            - low battery warnings (only available on some devices)
            - device error states
          readOnly: false
        recipient:
          description: |
            - E-mail adress of push-mail recipient
            - needs to be set when enabling device or units pushMail
          type: string
          example: client@is.nice
        units:
          description: |
            - list of unit UIDs belonging to the device, for which the push-service is enabled
            - if list is not provided, push-mail is not available for units
            - for a unit to be able to send a push-mail, the device push-mail needs to be enabled
          type: array
          items:
            $ref: '#/components/schemas/helper_pushMail_unit'
    helper_overview_device:
      description: groups basic overview infos of device
      allOf:
        - $ref: '#/components/schemas/device_base'
        - type: object
          required:
            - name
          properties:
            isUpdateAvailable:
              description: 'true: update available; false: Device Firmware is up-to-date'
              type: boolean
              example: true
              readOnly: true
            pushMail:
              allOf:
                - $ref: '#/components/schemas/helper_pushMail'
              readOnly: true
    endpoint_overview_multipleDevices:
      allOf:
        - $ref: '#/components/schemas/helper_overview_device'
    type_unitType:
      description: |
        - definitions of the unit type, not all may be available
        - the unitType indicates which interfaces the unit will have
        - the relation to interfaces is not strict, there could be additional interfaces depending on the implemenation of the device
        | unitType                                    | Description                                                                       | expected interfaces
        | --------------------------------------------|-------------------------------------------------------------------                |------------------------
        | `generic`                                   | generic unit type                                                                 | unknown
        | `avmWidgetButton`                           | unit type for FRITZ! widget buttons (FSC440)                                      | widget, temperature, humidity
        | `avmButton`                                 | unit type for FRITZ! buttons (FSC400)                                             | button
        | `avmPlugSocket`                             | unit type for FRITZ! plug sockets (FSE200/FSE210)                                 | multimeter, onOff, temperature
        | `avmThermostat`                             | unit type for FRITZ! thermostats (Comet/FD300/FST301/FST302)                      | temperature, thermostat
        | `avmMeter`                                  | unit type for FRITZ! smart meters (FSE250 - first unit - supply meter)            | multimeter
        | `avmMeterFeedIn`                            | unit type for FRITZ! smart meters (FSE250 - second unit - feed-in meter)          | multimeter
        | `blindGroup`                                | unit type for group consisting of blinds                                          | blind, levelControl
        | `switchableGroup`                           | unit type for group consisting of lamps and switches                              | onOff (if lamp in group: colorControl, levelControl)
        | `thermostatGroup`                           | unit type for group consisting of thermostats                                     | thermostat
        | `otherGroup`                                | unit type for group consisting of other devices or unknown members                | unknown
        | `simpleOnOffSwitchable`                     | allows a unit to receive and interpret on/off requests<br>this unit will be acting upon some physical *switch* | onOff
        | `simpleLevelControllable`                   | allows a unit to receive and interpret requests for adjustment of some quantity   | levelControl
        | `simpleLevelControllableSwitchable`         | allows a unit to receive and interpret both on/off and level control requests     | onOff, levelControl
        | `acOutlet`                                  | allows a unit to receive and interpret on/off requests<br>this unit will be acting upon some physical AC switch | onOff
        | `acOutletSimplePowerMetering`               | allows a unit to receive and interpret on/off requests<br>this unit will be acting upon some physical AC switch<br>this unit is also able to do and provide simple measurements over electric quantities | onOff
        | `simpleLight`                               | allows a unit to receive and interpret on/off requests<br>this unit will be acting upon some physical Light switch | onOff
        | `dimmableLight`                             | allows a unit to receive and interpret both on/off and level control requests<br>this unit will be acting upon some dimmable light switch | onOff, levelControl
        | `simpleDoorLock`                            | allows a unit to receive and interpret on (lock)/off (unlock) requests<br>this unit will be acting upon some physical Door Lock switch | onOff
        | `simpleDoorBell`                            | allows a unit to send an alert whenever a door bell button is pushed              | alert
        | `simpleTemperatureSensor`                   | allows a unit to provide temperature readings                                     | temperature
        | `simpleHumiditySensor`                      | allows a unit to provide humidity readings                                        | humdity
        | `simpleButton`                              | allows a unit to identify several types of button presses and send notifications when they occur | button
        | `colorBulb`                                 | use for light bulbs that support color changes                                    | onOff, colorControl
        | `dimmableColorBulb`                         | use for light bulbs that support color and light intensity changes.               | onOff, levelControl, colorControl
        | `blind`                                     | use for window blinds                                                             | blind, levelControl
        | `lamellar`                                  | use for window lamellars                                                          | blind, levelControl
        | `simpleDetector`                            | use for a generic detector that senses and sends an alert                         | alert
        | `doorOpenCloseDetector`                     | use for an open/close door detector that senses and sends an alert                | alert
        | `windowOpenCloseDetector`                   | use for an open/close window detector that senses and sends an alert              | alert
        | `motionDetector`                            | use for a motion detector that senses and sends an alert                          | alert
        | `smokeDetector`                             | use for a smoke detector that senses and sends an alert                           | alert
        | `gasDetector`                               | use for a carbon monoxide detector that senses and sends an alert                 | alert
        | `floodDetector`                             | use for a flood detector that senses and sends an alert                           | alert
        | `glassBreakDetector`                        | use for a glass break detector that senses and sends an alert                     | alert
        | `vibrationDetector`                         | use for a vibration detector that senses and sends an alert                       | alert
        | `siren`                                     | allows a unit to receive and interpret on/off requests<br>this unit will be acting upon some physical siren that will sound an alert | onOff
        | `genericApplicationLogic`                   | application logic unit                                                            | unknown
      readOnly: true
      type: string
      example: dimmableColorBulb
      enum:
        - generic
        - avmWidgetButton
        - avmButton
        - avmPlugSocket
        - avmThermostat
        - avmMeter
        - avmMeterFeedIn
        - blindGroup
        - switchableGroup
        - thermostatGroup
        - otherGroup
        - simpleOnOffSwitchable
        - simpleLevelControllable
        - simpleLevelControllableSwitchable
        - acOutlet
        - acOutletSimplePowerMetering
        - simpleLight
        - dimmableLight
        - dimmerSwitch
        - simpleDoorLock
        - simpleDoorBell
        - simpleTemperatureSensor
        - simpleHumiditySensor
        - simpleButton
        - colorBulb
        - dimmableColorBulb
        - blind
        - lamellar
        - simpleDetector
        - doorOpenCloseDetector
        - windowOpenCloseDetector
        - motionDetector
        - smokeDetector
        - gasDetector
        - floodDetector
        - glassBreakDetector
        - vibrationDetector
        - siren
        - userInterface
        - genericApplicationLogic
    unit_base:
      properties:
        UID:
          description: unique identifier corresponding to ain of unit
          type: string
          example: 13077 0137031-1
          readOnly: true
        ain:
          description: unique hardware identifier of unit
          type: string
          example: 13077 0137031-1
          readOnly: true
        icons:
          description: icon-IDs from Iconlist (TBD), can be empty
          type: array
          items:
            type: integer
          example:
            - 3
            - 5
          readOnly: true
        isConnected:
          description: |
            - false: no connection / connection lost
            - true: connection established
            - if the device (and therefore its units) are not connected you may get the last known infos or default values. These may not be valid.
            - for groupUnits (`isGroupUnit` == true) `isConnected` will be true, if at least one memberUnit of the Group is connected
          type: boolean
          example: true
          readOnly: true
        unitType:
          allOf:
            - $ref: '#/components/schemas/type_unitType'
        isGroupUnit:
          description: |
            - false: parent is device
            - true: parent is group
          type: boolean
          example: false
          readOnly: true
        deviceUid:
          description: 'UID of parent Device; if not present: parent is group'
          type: string
          example: 13077 0137031
          readOnly: true
        parentUid:
          description: UID of parent device or group
          type: string
          example: 13077 0137031
          readOnly: true
        groupUid:
          description: |
            - UID of group, if unit is member in a group
            - if not present the unit has a group as a parent
            - if present, but not set, the unit is not in a group
          type: string
          example: grpFBF8B6-11915
          readOnly: true
    unit_name_overview:
      description: user defined name of funcitonal Unit, up to 39 2-Byte UTF-8 characters or up to 79 bytes allowed (may be automatically set through the device name if only 1 unit exists)
      type: string
      format: bytes
      example: Top Button
      minLength: 1
      maxLength: 39
      readOnly: true
    state_genericState:
      description: general info about the state of a device
      type: string
      enum:
        - valid
        - unknown
        - notConnected
      readOnly: true
    type_alertTypeDefinitions:
      description: type of alert
      readOnly: true
      type: string
      enum:
        - unknown
        - alert
        - open
        - closed
        - temperature
        - obstacle
        - motion
        - smoke
        - gas
        - flood
        - glassBreak
        - vibration
        - none
    alert_base:
      required:
        - state
      properties:
        state:
          allOf:
            - $ref: '#/components/schemas/state_genericState'
        alerts:
          description: type of alert
          type: array
          items:
            anyOf:
              - $ref: '#/components/schemas/type_alertTypeDefinitions'
          example:
            - open
          readOnly: true
        lastAlertTime:
          description: |
            - timestamp of last alert
            - only valid, if there was an event and host has valid time
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/helper_timestamp'
    IF_alert_overview:
      allOf:
        - $ref: '#/components/schemas/alert_base'
        - type: object
          readOnly: true
          description: functional interface for a general alert sensor (window, door, motion, etc)
    state_blindState:
      description: |
        - blind specific state
        - not available for groupUnits
        - potentially some blinds may not have the option to configure the endpositions via software -> `unknown`
      type: string
      enum:
        - endPositionNotConfigured
        - endPositionConfigured
        - unknown
      readOnly: true
    helper_blindAction:
      description: Action for getting/putting a blind unit
      type: string
      enum:
        - moveDown
        - moveUp
        - stop
      example: moveDown
    blind_base:
      readOnly: false
      required:
        - state
      properties:
        state:
          allOf:
            - $ref: '#/components/schemas/state_genericState'
        blindState:
          allOf:
            - $ref: '#/components/schemas/state_blindState'
        blindAction:
          description: When reading, this describes the last known state, which the blind send; when writing you can tell the blind to move into a certain (blind-specific) direction or to stop
          allOf:
            - $ref: '#/components/schemas/helper_blindAction'
    IF_blind_overview:
      allOf:
        - $ref: '#/components/schemas/blind_base'
        - type: object
          description: functional overview interface for blinds
    button_base:
      description: functional interface for a simple button sensor
      required:
        - state
      properties:
        state:
          allOf:
            - $ref: '#/components/schemas/state_genericState'
        lastEventTime:
          allOf:
            - $ref: '#/components/schemas/helper_timestamp'
          description: Timestamp of last button press. Only valid, if there was an event and host has valid time.
          readOnly: true
    IF_button_overview:
      description: functional interface for a simple button sensor
      readOnly: true
      allOf:
        - $ref: '#/components/schemas/button_base'
    helper_hsColor:
      description: |
        - object grouping the free hue saturation configuration for color capable lights
        - colors can also be set via the "activeHsColorPreset" object
        - when a preset is selected the hue and saturation which are provided here should solely be used as the entry point for a free color choice
        - when setting the color on a unit with an onOffInterface, the onOff will not be modified automatically
      required:
        - hue
        - saturation
      properties:
        hue:
          type: integer
          example: 200
          minimum: 0
          maximum: 359
          readOnly: false
        saturation:
          type: integer
          example: 70
          minimum: 0
          maximum: 255
          readOnly: false
    helper_hsColorPalette_item:
      properties:
        hueFromPalette:
          description: suggested hue value for display of the preset in a user-interface
          type: integer
          example: 200
          minimum: 0
          maximum: 359
          readOnly: true
        saturationFromPalette:
          description: suggested saturation value for display of the preset in a user-interface
          type: integer
          example: 70
          minimum: 0
          maximum: 255
          readOnly: true
        nameId:
          description: ID for name of hsColorPreset
          type: integer
          readOnly: true
        presetId:
          description: ID for hsColorPreset
          type: integer
    helper_activeHsColorPreset:
      description: |
        - allows for setting curated hsColors from the avmPresets.hsColorPalette
        - if set, that means a preset from the avmPresets.hsColorPalette is active, otherwise check the hsColor object
      type: object
      allOf:
        - $ref: '#/components/schemas/helper_hsColorPalette_item'
    colorControl_base:
      properties:
        hsColor:
          allOf:
            - $ref: '#/components/schemas/helper_hsColor'
        colorTemperature:
          description: |
            - "Kelvin (usually 2700..6500)"
            - when setting the color on a unit with an onOffInterface, the onOff will not be modified automatically
          type: integer
          example: 3000
          readOnly: false
        activeHsColorPreset:
          allOf:
            - $ref: '#/components/schemas/helper_activeHsColorPreset'
    colorControl_unit:
      allOf:
        - $ref: '#/components/schemas/colorControl_base'
        - type: object
          required:
            - state
          properties:
            state:
              allOf:
                - $ref: '#/components/schemas/state_genericState'
            currentColorMode:
              description: what color mode is currently active
              type: string
              enum:
                - hueSaturation
                - temperature
                - unknown
              example: temperature
              readOnly: true
            supportedColorModes:
              description: hueSaturation, temperature, unknown
              type: array
              items:
                type: string
                enum:
                  - hueSaturation
                  - temperature
                  - unknown
              example:
                - hueSaturation
                - temperature
                - unknown
              readOnly: true
    IF_colorControl_overview:
      allOf:
        - $ref: '#/components/schemas/colorControl_unit'
        - type: object
          description: functional interface for bulb with color capability
    IF_humidity:
      description: functional interface for devices with humidity sensors
      readOnly: true
      required:
        - state
      properties:
        state:
          allOf:
            - $ref: '#/components/schemas/state_genericState'
        relativeHumidity:
          description: current relative humidity
          type: integer
          example: 45
          minimum: 0
          maximum: 100
          readOnly: true
    IF_levelControl:
      description: functional interface for devices with a level (lights or blinds)
      required:
        - state
      properties:
        state:
          allOf:
            - $ref: '#/components/schemas/state_genericState'
        level:
          description: |
            - level of bulb or blind
            - when setting the level on a unit with an onOffInterface, the onOffInterface.active will not be modified automatically
          type: integer
          minimum: 0
          maximum: 100
          example: 75
          readOnly: false
    multimeter_base:
      description: functional interface for devices with power-measuring capability, may return value of only one member
      required:
        - state
      properties:
        state:
          allOf:
            - $ref: '#/components/schemas/state_genericState'
        power:
          description: 'power [milliWatts], resolution: 10 mW'
          type: integer
          example: 1000
          multipleOf: 10
          readOnly: true
        voltage:
          description: 'voltage [mV], resolution: 1 mV'
          type: integer
          example: 230000
          readOnly: true
        current:
          description: 'current [mA], resolution: 1 mA'
          type: integer
          example: 200
          multipleOf: 1
          readOnly: true
        energy:
          description: |
            - energy [Wh], resolution: 1 Wh
            - total energy since start of record
          type: integer
          example: 50
          readOnly: true
    helper_energyKeyFigures:
      description: global energy key figures (€/kWh & co2)
      properties:
        electricityRate:
          description: 'price [¢] - electricity rate in €/kWh, resolution: 0.01 cents'
          type: number
          example: 27
          minimum: 0
          multipleOf: 0.01
        co2emmissions:
          description: CO2-emmissions [g] - g/kWh
          type: number
          minimum: 0
          example: 120
    IF_multimeter:
      readOnly: true
      allOf:
        - $ref: '#/components/schemas/multimeter_base'
        - type: object
          properties:
            energyKeyFigures:
              allOf:
                - $ref: '#/components/schemas/helper_energyKeyFigures'
                - readOnly: true
    state_outletState:
      description: FRITZ!Smart Energy plugsocket specific state, not available for other device than Fritz!Smart Energy plugsockets.
      type: string
      enum:
        - valid
        - overcurrent
        - relayStuck
      readOnly: true
    onOff_base:
      required:
        - state
      properties:
        state:
          allOf:
            - $ref: '#/components/schemas/state_genericState'
        outletState:
          allOf:
            - $ref: '#/components/schemas/state_outletState'
        active:
          description: The unit is turned on if true. For FRITZ!Smart Energy plugsockets onOff will only be returned, if the outletState is valid.
          type: boolean
          example: true
          readOnly: false
    IF_onOff_overview:
      allOf:
        - $ref: '#/components/schemas/onOff_base'
        - type: object
          description: functional interface for devices with on/off capability (plugs, lights)
          readOnly: false
          required:
            - state
          properties:
            isLockedDeviceLocal:
              description: local operation of device is locked (HAN-FUN plug has no lock)
              type: boolean
              example: false
              readOnly: true
            isLockedDeviceApi:
              description: operation via API (App, UI, REST) of device is locked
              type: boolean
              example: true
              readOnly: true
    state_smartmeterState:
      description: |
        Smartmeter (FSE250) specific state
        | smartmeterState                   | Description
        | ----------------------------------|----------------------------------------------------
        | `reducedResolution`               | electricity meter supplies data with a reduced resolution
        | `noValidData`                     | electricity meter doesn't supply valid data
        | `noData`                          | electricity meter doesn't supply data at all
        | `temporaryNoData`                 | electricity meter supplied data in the past, but not anymore (most probably FSE250 was disconnected from meter)
        | `newMeterDetected`                | new electricity meter detected
        | `scatteredLight`                  | connection to electricity meter is disturbed, FSE250 may not be mounted correctly
      type: array
      readOnly: true
      items:
        type: string
        enum:
          - reducedResolution
          - noValidData
          - noData
          - temporaryNoData
          - newMeterDetected
          - scatteredLight
      example:
        - reducedResolution
    smartmeter_base:
      description: functional interface for devices with smartmeter capability
      required:
        - state
      readOnly: true
      properties:
        state:
          allOf:
            - $ref: '#/components/schemas/state_genericState'
        smartmeterState:
          allOf:
            - $ref: '#/components/schemas/state_smartmeterState'
    IF_smartmeter:
      allOf:
        - $ref: '#/components/schemas/smartmeter_base'
        - type: object
    temperature_base:
      required:
        - state
      properties:
        state:
          allOf:
            - $ref: '#/components/schemas/state_genericState'
        celsius:
          description: |
            - temperature [°C] of device
            - if a temperature offset is configured (either here on in the thermostatInterface) you may want to display the temperature including the offset for ease of use
          type: number
          example: 15.5
          multipleOf: 0.1
          readOnly: true
    IF_temperature_overview:
      allOf:
        - $ref: '#/components/schemas/temperature_base'
        - type: object
          description: functional interface for devices with temperature sensors
          readOnly: true
    state_thermostatState:
      description: |
        (FRITZ!) thermostat specific state
        | thermostatState                   | Description
        | ----------------------------------|----------------------------------------------------
        | `noError`                         | no error
        | `noAdapt`                         | adaption not possible, is the device mounted correctly?
        | `valveShort`                      | valve stroke too short or batteries weak(manually open and close valve manually or change batteries)
        | `valveMotion`                     | valve can‘t move, valve tappet free?
        | `valveInstallRun`                 | installation mode is being prepared
        | `valveInstall`                    | thermostat is in installation mode and can be mounted onto the radiator valve
        | `valveAdapt`                      | thermostat is adapting to valve
      type: string
      enum:
        - noError
        - noAdapt
        - valveShort
        - valveMotion
        - valveInstallRun
        - valveInstall
        - valveAdapt
      readOnly: true
    helper_temperature:
      description: Helper object for getting/setting temperature on a thermostat
      required:
        - mode
      properties:
        mode:
          type: string
          enum:
            - temperature
            - 'on'
            - 'off'
            - unknown
          example: temperature
        celsius:
          description: Only valid if 'mode' is set to temperature
          type: number
          multipleOf: 0.5
          minimum: 8
          maximum: 28
          example: 19.5
    helper_temperatureChange:
      allOf:
        - $ref: '#/components/schemas/helper_temperature'
      description: Only returned if changeTime is valid. Holds info about to be set temperature.
    helper_nextChange:
      description: Next thermostat temperature change
      readOnly: true
      properties:
        changeTime:
          allOf:
            - $ref: '#/components/schemas/helper_timestamp'
          readOnly: true
        temperatureChange:
          allOf:
            - $ref: '#/components/schemas/helper_temperatureChange'
    thermostat_base:
      required:
        - state
      properties:
        state:
          allOf:
            - $ref: '#/components/schemas/state_genericState'
        thermostatState:
          allOf:
            - $ref: '#/components/schemas/state_thermostatState'
        setPointTemperature:
          allOf:
            - $ref: '#/components/schemas/helper_temperature'
          description: Current setpoint temperature of thermostat
        isAdaptiveRunning:
          description: Adaptive heating period is active (up to an hour before the comfort temperature timer-configuration). Not available for Comet DECT and FRITZ!DECT 300.
          type: boolean
          example: true
          readOnly: true
        isHolidayActive:
          description: Holiday period is active (e.g. thermostat is in freeze protection mode)
          type: boolean
          example: false
          readOnly: true
        isSummertimeActive:
          description: Summertime is active (e.g. thermostat is in freeze protection mode)
          type: boolean
          example: false
          readOnly: true
        nextChange:
          allOf:
            - $ref: '#/components/schemas/helper_nextChange'
    helper_specialModeThermostat:
      description: groups special modes of thermostat (boost & windowOpenMode)
      readOnly: false
      properties:
        enabled:
          description: Special mode is active. Only valid if Host has a valid time.
          type: boolean
          example: true
          readOnly: false
        endTime:
          description: Unix timestamp for end of special mode. Required when enabling special mode. *null* means time is unknown, -1 means no (end-)time is set.
          type: integer
          nullable: true
          example: 1675765612
          minimum: -1
    helper_temperatureRangeLock:
      description: Setpoint Temperature Range Lock
      properties:
        minimum:
          description: Minimum temperature
          allOf:
            - $ref: '#/components/schemas/helper_temperature'
        maximum:
          description: Maximum temperature
          allOf:
            - $ref: '#/components/schemas/helper_temperature'
    IF_thermostat_overview:
      allOf:
        - $ref: '#/components/schemas/thermostat_base'
        - type: object
          description: Functional overview interface for thermostats
          properties:
            boost:
              allOf:
                - $ref: '#/components/schemas/helper_specialModeThermostat'
              description: Boost special mode.
            windowOpenMode:
              allOf:
                - $ref: '#/components/schemas/helper_specialModeThermostat'
              description: WindowOpen special mode.
            reducedTemperature:
              allOf:
                - $ref: '#/components/schemas/helper_temperature'
              description: Reduced temperature preset used for timer of thermostat
              readOnly: true
            comfortTemperature:
              allOf:
                - $ref: '#/components/schemas/helper_temperature'
              description: Comfort temperature preset used for timer of thermostat
              readOnly: true
            isLockedDeviceLocal:
              description: Local operation of device is locked
              type: boolean
              example: false
              readOnly: true
            isLockedDeviceApi:
              description: Operation via API (App, UI, REST) of device is locked
              type: boolean
              example: true
              readOnly: true
            temperatureRangeLock:
              allOf:
                - $ref: '#/components/schemas/helper_temperatureRangeLock'
                - type: object
                  readOnly: true
                  properties:
                    isTemperatureLock:
                      description: Temperature Range is locked
                      type: boolean
                      example: false
                      readOnly: true
    IF_unitInterfaces:
      description: |
        - functional interfaces for units
        - may be empty if no supported interface is present
      readOnly: false
      properties:
        alertInterface:
          allOf:
            - $ref: '#/components/schemas/IF_alert_overview'
        blindInterface:
          allOf:
            - $ref: '#/components/schemas/IF_blind_overview'
        buttonInterface:
          allOf:
            - $ref: '#/components/schemas/IF_button_overview'
        colorControlInterface:
          allOf:
            - $ref: '#/components/schemas/IF_colorControl_overview'
        humidityInterface:
          allOf:
            - $ref: '#/components/schemas/IF_humidity'
        levelControlInterface:
          allOf:
            - $ref: '#/components/schemas/IF_levelControl'
        multimeterInterface:
          allOf:
            - $ref: '#/components/schemas/IF_multimeter'
        onOffInterface:
          allOf:
            - $ref: '#/components/schemas/IF_onOff_overview'
        smartmeterInterface:
          allOf:
            - $ref: '#/components/schemas/IF_smartmeter'
        temperatureInterface:
          allOf:
            - $ref: '#/components/schemas/IF_temperature_overview'
        thermostatInterface:
          allOf:
            - $ref: '#/components/schemas/IF_thermostat_overview'
    helper_overview_unit:
      description: groups basic functionUnit info
      allOf:
        - $ref: '#/components/schemas/unit_base'
        - type: object
          required:
            - UID
            - name
            - ain
            - icons
            - unitType
            - isGroupUnit
            - parentUid
            - interfaces
          properties:
            name:
              $ref: '#/components/schemas/unit_name_overview'
            interfaces:
              allOf:
                - $ref: '#/components/schemas/IF_unitInterfaces'
    endpoint_overview_multipleUnits:
      allOf:
        - $ref: '#/components/schemas/helper_overview_unit'
    group_base:
      required:
        - UID
        - ain
        - groupCategory
        - icons
      properties:
        UID:
          description: unique identifier corresponding to ain of group
          type: string
          example: grpFBF8B6-11915
          readOnly: true
        ain:
          description: ain of group
          type: string
          example: grpFBF8B6-11915
          readOnly: true
        name:
          description: user defined name of group, up to 39 2-Byte UTF-8 characters or up to 79 bytes allowed
          type: string
          format: bytes
          example: Lights Bedroom
          minLength: 1
          maxLength: 39
          readOnly: false
        isConnected:
          description: |
            - false: no connection / connection lost
            - true: connection established to **at least one memberUnit**
            - if the group is not connected you may get the last known infos or default values. These may not be valid.
          type: boolean
          example: true
          readOnly: true
        groupCategory:
          description: describes the category, and therefore main feature, of the group
          type: string
          example: switchable
          readOnly: true
          enum:
            - blind
            - other
            - switchable
            - thermostat
        icons:
          description: device can have multiple icons (for example for multiple units), can be empty
          type: array
          items:
            type: integer
          example:
            - 3
            - 5
          readOnly: true
        unitUid:
          description: Uid of Unit(child) belonging to this group
          type: string
          example: grpFBF8B6-11915
          readOnly: true
        memberUnitUids:
          description: |
            - Uids of member units in group
            - always provide the complete list of memberUnits, otherwise they will be deleted from the group
            - a unit is only allowed to be in on group at a time
            - adding a unit, that is already a member of another group, will delete it from the old group
          type: array
          items:
            type: string
          example:
            - 13077 0137031-1
            - 11630 0015376-3
          readOnly: false
    endpoint_overview_group:
      description: groups basic overview infos of device
      allOf:
        - $ref: '#/components/schemas/group_base'
    endpoint_overview_trigger:
      required:
        - enabled
        - UID
        - name
        - ain
      properties:
        UID:
          description: unique identifier corresponding to ain of trigger
          type: string
          example: trgFBF8B6-11FB8
          readOnly: true
        ain:
          description: unique identifier of trigger
          type: string
          example: trgFBF8B6-11FB8
          readOnly: true
        name:
          description: user defined name of trigger, up to 39 2-Byte UTF-8 characters or up to 79 bytes allowed
          type: string
          format: bytes
          example: Heater Automation
          minLength: 1
          maxLength: 39
          readOnly: true
        enabled:
          description: is the trigger activated
          type: boolean
          example: true
          readOnly: false
    type_applyTypeDefinitions:
      description: |
        definitions of the different template apply types
        | applyType                           | number      | Description
        | ------------------------------------| ------------|----------------------------------------------------
        | `thermostatOnOff`                   | 1           | apply summerPeriod configuration to (FRITZ!) thermostat
        | `thermostatTemperature`             | 2           | apply absolute/relative temperature configuration to (FRITZ!) thermostat
        | `thermostatHoliday`                 | 3           | apply holiday configuration to (FRITZ!) thermostat
        | `thermostatTimetable`               | 4           | apply timer configuration to (FRITZ!) thermostat
        | `relayManual`                       | 5           | turn on/off (incl. switchDuration) or toggle onOff unit or trigger
        | `relayAutomatic`                    | 6           | apply timer configuration to onOff unit
        | `level`                             | 7           | apply absolute/relative level to unit (lamp or blind)
        | `color`                             | 8           | apply color to unit (colorTemperature or hsColor lamp)
        | `dialHelper`                        | 9           | calls telephone number
        | `sunSimulation`                     | 10          | apply sunSimulation configuration to lamp
        | `subTemplates`                      | 11          | (scenario) apply child-templates
        | `mainWifi`                          | 12          | turn on/off main wifi (no toggle)
        | `guestWifi`                         | 13          | turn on/off guest wifi (no toggle)
        | `tamControl`                        | 14          | turn on/off telephone answering machine (no toggle)
        | `httpRequest`                       | 15          | send out http-request
        | `timerControl`                      | 16          | apply boost/windowOpen/disable to (FRITZ!) thermostat
        | `switchMaster`                      | 17          | configures onOffMaster-unit of an exisiting onOff-group
        | `customNotification`                | 18          | send out push-mail or app-notification
      readOnly: true
      type: string
      enum:
        - thermostatOnOff
        - thermostatTemperature
        - thermostatHoliday
        - thermostatTimetable
        - relayManual
        - relayAutomatic
        - level
        - color
        - dialHelper
        - sunSimulation
        - subTemplates
        - mainWifi
        - guestWifi
        - tamControl
        - httpRequest
        - timerControl
        - switchMaster
        - customNotification
    type_applyTypeList:
      description: applyType list
      readOnly: true
      type: array
      items:
        anyOf:
          - $ref: '#/components/schemas/type_applyTypeDefinitions'
      example:
        - level
        - color
        - relayManual
    helper_template:
      description: |
        - groups template info
        - templates are mostly used for saving and applying states of units
        - when creating a new template either the interfaces-object or timer-object is required
      readOnly: false
      properties:
        memberUnitUids:
          description: |
            - UIDs of assigned member Units or Triggers
            - if the list is empty -> no members assigned
            - trigger templates *always* need at least one assigned trigger
          type: array
          items:
            type: string
          example:
            - 13077 0137031-1
            - grpFBF8B6-11915
    helper_scenario:
      description: |
        - groups scenario info
        - scenarios are used for grouping templates and applying them all at once
      properties:
        icons:
          description: list of icon-IDs, can be empty
          type: array
          items:
            type: integer
          example:
            - 3
            - 5
          readOnly: false
        templateUids:
          description: UIDs of assigned templates (if empty -> none assigned)
          type: array
          items:
            type: string
          example:
            - tmpFBF8B6-11E2C
            - tmpFBF8B6-11E36
          readOnly: false
    template_base:
      readOnly: false
      properties:
        UID:
          description: unique identifier corresponding to UID of template
          type: string
          example: tmpFBF8B6 11C2C
          readOnly: true
        ain:
          description: unique identifier of template
          type: string
          example: tmpFBF8B6 11C2C
          readOnly: true
        name:
          description: user defined name of template, up to 39 2-Byte UTF-8 characters or up to 79 bytes allowed
          type: string
          format: bytes
          example: Movie Night
          minLength: 1
          maxLength: 39
        applyType:
          allOf:
            - $ref: '#/components/schemas/type_applyTypeList'
        template:
          allOf:
            - $ref: '#/components/schemas/helper_template'
        scenario:
          allOf:
            - $ref: '#/components/schemas/helper_scenario'
    helper_template_isAutoCreated:
      description: Info whether the template was automatically created for a preset-scenario. Auto-Created displays should not be displayed.
      type: boolean
      example: false
      readOnly: false
    helper_template_memberType:
      description: |
        type of template members
        | memberType                          | Description
        | ------------------------------------| ----------------------------------------------------
        | `onOff`                             | plugsockets and lamps
        | `blind`                             | blinds
        | `thermostat`                        | thermostats
        | `trigger`                           | triggers (trigger templates always need at least one<br>triggerUid assigned )
        | `none`                              | all applyTypes, which do not have members
        | `unknown`                           | error state (this might occur shortly after a reboot)
      type: string
      enum:
        - onOff
        - blind
        - thermostat
        - trigger
        - none
        - unknown
      readOnly: false
    helper_template_with_autoCreated_and_memberType:
      allOf:
        - $ref: '#/components/schemas/helper_template'
        - type: object
          properties:
            isAutoCreated:
              allOf:
                - $ref: '#/components/schemas/helper_template_isAutoCreated'
            memberType:
              allOf:
                - $ref: '#/components/schemas/helper_template_memberType'
    type_scenarioType:
      description: types of (pre-defined) scenarios, not present for generic (user created) scenarios
      readOnly: false
      type: string
      enum:
        - coming
        - leaving
    endpoint_overview_getTemplate:
      description: groups basic template info (including templates for units and scenarios)
      allOf:
        - $ref: '#/components/schemas/template_base'
        - type: object
          required:
            - UID
            - ain
            - name
            - applyType
          properties:
            template:
              allOf:
                - $ref: '#/components/schemas/helper_template_with_autoCreated_and_memberType'
                - type: object
                  required:
                    - memberUnitUids
                    - isAutoCreated
            scenario:
              allOf:
                - $ref: '#/components/schemas/helper_scenario'
                - type: object
                  required:
                    - icons
                    - templateUids
                  properties:
                    type:
                      description: only available for preset-scenarios
                      allOf:
                        - $ref: '#/components/schemas/type_scenarioType'
    helper_hsColorPalette:
      description: |
        - curated hsColor palette for color-capable lamps
        - includes suggested hue & saturation values for display in a user-interface
      required:
        - hue
        - saturation
        - nameId
      readOnly: true
      type: array
      items:
        $ref: '#/components/schemas/helper_hsColorPalette_item'
    helper_avmPresets:
      description: curated hsColors and colorTemperatures
      type: object
      readOnly: true
      properties:
        hsColorPalette:
          allOf:
            - $ref: '#/components/schemas/helper_hsColorPalette'
        colorTemperaturePaletteList:
          description: color temperature default values
          type: array
          readOnly: true
          items:
            type: integer
          example:
            - 2700
            - 3000
            - 3400
            - 3800
            - 4200
            - 4700
            - 5300
            - 5900
            - 6500
    helper_astronomic_location:
      description: Helper Object for the astronomic timer location
      properties:
        latitude:
          description: latitude used for calculating sunrise/-fall
          type: number
          example: 52.52
          minimum: -90
          maximum: 90
        longitude:
          description: longitude used for calculating sunrise/-fall
          type: number
          example: 13.34
          minimum: -180
          maximum: 180
    helper_overview_globals:
      description: smart home global infos
      required:
        - avmPresets
        - location
      properties:
        avmPresets:
          allOf:
            - $ref: '#/components/schemas/helper_avmPresets'
            - type: object
        location:
          description: geographical location used for calculating sun position
          allOf:
            - $ref: '#/components/schemas/helper_astronomic_location'
        energyKeyFigures:
          description: global energy related values (electricity rate & CO2-emmissions)
          allOf:
            - $ref: '#/components/schemas/helper_energyKeyFigures'
    endpoint_overview:
      description: object for devices, groups, template und triggers info
      required:
        - devices
        - units
        - groups
        - triggers
        - templates
        - globals
      properties:
        devices:
          description: list of devices
          readOnly: true
          type: array
          items:
            allOf:
              - $ref: '#/components/schemas/endpoint_overview_multipleDevices'
        units:
          description: list of functionUnits
          readOnly: true
          type: array
          items:
            allOf:
              - $ref: '#/components/schemas/endpoint_overview_multipleUnits'
        groups:
          description: list of groups
          readOnly: true
          type: array
          items:
            allOf:
              - $ref: '#/components/schemas/endpoint_overview_group'
        triggers:
          description: list of triggers
          readOnly: true
          type: array
          items:
            allOf:
              - $ref: '#/components/schemas/endpoint_overview_trigger'
        templates:
          description: list of templates
          readOnly: true
          type: array
          items:
            allOf:
              - $ref: '#/components/schemas/endpoint_overview_getTemplate'
        globals:
          description: smart home globals
          readOnly: true
          allOf:
            - $ref: '#/components/schemas/helper_overview_globals'
    endpoint_overview_singleDevice:
      allOf:
        - $ref: '#/components/schemas/helper_overview_device'
    action_colorTemperature:
      description: Color temperature action (usually 2700..6500 Kelvin)
      type: integer
      example: 3000
    action_hsColor:
      type: object
      description: Hue-Saturation Color action
      required:
        - hue
        - saturation
      properties:
        hue:
          type: integer
          example: 200
          minimum: 0
          maximum: 359
          readOnly: false
        saturation:
          type: integer
          example: 70
          minimum: 0
          maximum: 255
          readOnly: false
    action_level:
      description: Level action
      type: integer
      minimum: 0
      maximum: 100
      example: 75
    helper_timer_actions_list:
      type: object
      properties:
        colorTemperature:
          description: (TBD FEATURE)
          allOf:
            - $ref: '#/components/schemas/action_colorTemperature'
        hsColor:
          description: (TBD FEATURE)
          allOf:
            - $ref: '#/components/schemas/action_hsColor'
        level:
          description: (TBD FEATURE)
          allOf:
            - $ref: '#/components/schemas/action_level'
    action_onOff:
      type: boolean
      example: false
      description: OnOff action
    action_temperature:
      type: object
      allOf:
        - $ref: '#/components/schemas/helper_temperature'
      description: (TBD FEATURE) Thermostat temperature action
    action_temperaturePreset:
      type: string
      enum:
        - comfort
        - reduced
        - unknown
      example: comfort
      description: |
        - thermostat temperature preset action
        - the FRITZ!Smart thermostat supports 4 comfort und 4 reduced temperatures each day of the week
        - this allows for a maximum number of 56 items for thermostats
        - provide an even amount of entries, the only exception to this is setting one entry which is set to "comfort" with time 0
        - setting only one entry, which is set to "reduced" is not allowed
    helper_base_timer_weekly_obj:
      description: Weekly time object for automations.
      required:
        - time
      allOf:
        - $ref: '#/components/schemas/helper_timer_actions_list'
        - type: object
          properties:
            time:
              description: |
                - minutes since beginning of week (day change from sunday to monday 00:00 o'clock)
                - for thermostats this need to be a multiple of 15 minutes
                - duplicates of time are not allowed
              type: integer
              example: 360
              minimum: 0
              maximum: 10079
            onOff:
              allOf:
                - $ref: '#/components/schemas/action_onOff'
            blind:
              allOf:
                - $ref: '#/components/schemas/helper_blindAction'
            temperature:
              allOf:
                - $ref: '#/components/schemas/action_temperature'
            temperaturePreset:
              allOf:
                - $ref: '#/components/schemas/action_temperaturePreset'
    helper_base_timer_weekly:
      description: Array of weekly time objects for automations
      type: array
      items:
        $ref: '#/components/schemas/helper_base_timer_weekly_obj'
    helper_base_timer_daily_obj:
      required:
        - time
      properties:
        time:
          description: |
            - minutes since beginning of day
            - duplicates of time are not allowed
          type: integer
          example: 360
          minimum: 0
          maximum: 1439
    helper_base_timer_daily:
      description: Array of daily time objects for automations
      type: object
      properties:
        turnOn:
          description: |
            - turn a unit on at a specific time of the day
            - this also applies to blinds (open)
            - (TBD) optionally you can set level and/or color
          allOf:
            - $ref: '#/components/schemas/helper_base_timer_daily_obj'
            - $ref: '#/components/schemas/helper_timer_actions_list'
            - type: object
        turnOff:
          description: |
            - turn a unit off at a specific time of the day
            - this also applies to blinds (close)
          allOf:
            - $ref: '#/components/schemas/helper_base_timer_daily_obj'
    helper_activePeriod:
      description: |
        - allows for enabling the feature in a certain period
        - time per day allows for further restrictions
        - the feature will only be active during the specified time of day
        - when setting startTime, endTime needs to be set too (and vice versa)
        - when setting startTimePerDay, endTimePerDay needs to be set too (and vice versa)
        - by not setting the startDate & endDate only the daily restriction will be active
        - by not setting the startTimePerDay & endTimePerDay, or setting them to the same value, only the date restriction will be active
      properties:
        startDate:
          description: |
            - start of active period
            - unix timestamp
            - only day, month and year are relevant
          type: integer
          example: 1697440931
          minimum: 1451602800
          maximum: 2147468400
        endDate:
          description: |
            - end of active period
            - unix timestamp
            - only day, month and year are relevant
          type: integer
          example: 1697440931
          minimum: 1451602800
          maximum: 2147468400
        startTimePerDay:
          description: |
            - minutes since beginning of day (00:00)
            - if startTimePerDay & endTimePerDay are set to the same value, activePeriod will be enabled all day
            - for wrapping into a new day set startTimePerDay > endTimePerDay
          type: integer
          minimum: 0
          maximum: 1439
          example: 600
        endTimePerDay:
          description: |
            - minutes since beginning of day (00:00)
            - if startTimePerDay & endTimePerDay are set to the same value, activePeriod will be enabled all day
            - for wrapping into a new day set endTimePerDay < startTimePerDay
          type: integer
          minimum: 0
          maximum: 1439
          example: 720
    helper_base_timer_random:
      description: Random time object for automations.
      allOf:
        - $ref: '#/components/schemas/helper_activePeriod'
        - $ref: '#/components/schemas/helper_timer_actions_list'
        - type: object
      properties:
        maxTurnOnOffDuration:
          description: maximum time in minutes the unit will be in the same state until it toggles back
          type: integer
          minimum: 1
          example: 2
          maximum: 1439
    helper_base_timer_countdown:
      description: Countdown time object for automations.
      allOf:
        - $ref: '#/components/schemas/helper_timer_actions_list'
        - type: object
          properties:
            mode:
              description: |
                - select whether to turn on/off the unit after configured time
              type: string
              enum:
                - turnOff
                - turnOn
                - unknown
            time:
              description: countdown time in minutes
              type: integer
              minimum: 1
              maximum: 60000
              example: 30
    helper_base_timer_rhythmic:
      description: Rhythmic time object for automations.
      allOf:
        - $ref: '#/components/schemas/helper_timer_actions_list'
        - type: object
          required:
            - onTime
            - offTime
          properties:
            onTime:
              description: time in minutes unit will stay turned on
              type: integer
              minimum: 1
              maximum: 720
              example: 5
            offTime:
              description: time in minutes unit will stay turned off
              type: integer
              minimum: 1
              maximum: 720
              example: 3
    helper_switchDuration:
      description: choose whether switching of unit should be permanent or toggle back after configured time
      required:
        - mode
      type: object
      properties:
        mode:
          description: when choosing toggleBack mode, toggleBackTime is required
          type: string
          enum:
            - permanent
            - toggleBack
            - unknown
        toggleBackTime:
          description: time in minutes
          type: integer
          example: 60
          minimum: 1
          maximum: 1440
    helper_base_timer_once:
      description: Once time object for automations.
      allOf:
        - $ref: '#/components/schemas/helper_timer_actions_list'
        - type: object
          properties:
            mode:
              description: select whether to turn the unit on (true) or off (false)
              type: string
              enum:
                - turnOn
                - turnOff
                - unknown
              example: turnOn
            timestamp:
              description: |
                - time at which the unit should be turned on/off
                - unix timestamp
                - overflowing of unix timestamp is not handled
              type: integer
              nullable: true
            switchDuration:
              allOf:
                - $ref: '#/components/schemas/helper_switchDuration'
    helper_astronomic_sunRiseFall_offsetTime:
      description: |
        - offset time in minutes
        - required, if mode is set to offset
        - configuring negative numbers applies an offset relative to before the sun event
        - configuring positive numbers applies an offset relative to after the sun event
      type: integer
      minimum: -720
      maximum: 720
      example: 120
    helper_astronomic_sunRiseFall_fixedTime:
      description: |
        - time in minutes
        - required, if mode is set to fixed
        - relative to the beginning of the day
      type: integer
      minimum: 0
      maximum: 1440
      example: 600
    helper_astronomic_sunRiseFall_turnOn:
      description: turn the unit off in regards to the sun event
      type: object
      required:
        - mode
      allOf:
        - type: object
          properties:
            mode:
              description: whether the unit should be switched at a fixed time or relative to the sun event
              type: string
              enum:
                - offset
                - fixed
                - unknown
              example: offset
            offsetTime:
              allOf:
                - $ref: '#/components/schemas/helper_astronomic_sunRiseFall_offsetTime'
            fixedTime:
              allOf:
                - $ref: '#/components/schemas/helper_astronomic_sunRiseFall_fixedTime'
    helper_astronomic_sunRiseFall_durationTime:
      description: |
        - time in minutes
        - required, if mode is set to duration
        - time after which unit is turned off again
      type: integer
      minimum: 1
      maximum: 360
      example: 30
    helper_astronomic_sunRiseFall_turnOff:
      description: turn the unit off in regards to the sun event
      type: object
      required:
        - mode
      properties:
        mode:
          description: whether the unit should be switched at a fixed time, relative to the sun event, after a specified time or with the next sun event (either sunset/sunrise)
          type: string
          enum:
            - offset
            - fixed
            - duration
            - nextSunEvent
            - unknown
          example: nextSunEvent
        offsetTime:
          allOf:
            - $ref: '#/components/schemas/helper_astronomic_sunRiseFall_offsetTime'
        fixedTime:
          allOf:
            - $ref: '#/components/schemas/helper_astronomic_sunRiseFall_fixedTime'
        durationTime:
          allOf:
            - $ref: '#/components/schemas/helper_astronomic_sunRiseFall_durationTime'
    helper_astronomic_sunRiseFall_data:
      description: Helper Object for the Sunrise and Sunset configuration
      required:
        - enabled
      properties:
        enabled:
          description: |
            - enable the sun event mode
            - disabling will delete the sun event data
          type: boolean
          example: true
          readOnly: false
        turnOn:
          $ref: '#/components/schemas/helper_astronomic_sunRiseFall_turnOn'
        turnOff:
          $ref: '#/components/schemas/helper_astronomic_sunRiseFall_turnOff'
    helper_base_timer_astronomic:
      description: Astronomic time object for automations.
      properties:
        location:
          description: geographical location used for calculating sun position
          allOf:
            - $ref: '#/components/schemas/helper_astronomic_location'
        sunrise:
          description: |
            - configure sunrise options
            - if setting turnOn.mode to 'offset', turnOff.mode can not be set to 'offset' too
            - if setting turnOn.mode to 'fixed', turnOff.mode can only be set to 'offset'
          allOf:
            - $ref: '#/components/schemas/helper_astronomic_sunRiseFall_data'
        sunset:
          description: |
            - configure sunset options
            - if setting turnOn.mode to 'offset', turnOff.mode can not be set to 'offset' too
            - if setting turnOn.mode to 'fixed', turnOff.mode can only be set to 'offset'
          allOf:
            - $ref: '#/components/schemas/helper_astronomic_sunRiseFall_data'
    helper_astronomic_sunRiseFall_turnOn_withActions:
      type: object
      allOf:
        - $ref: '#/components/schemas/helper_timer_actions_list'
        - $ref: '#/components/schemas/helper_astronomic_sunRiseFall_turnOn'
    helper_astronomic_sunRiseFall_data_withActions:
      description: Helper Object for the Sunrise and Sunset configuration
      required:
        - enabled
      type: object
      properties:
        turnOn:
          allOf:
            - $ref: '#/components/schemas/helper_astronomic_sunRiseFall_turnOn_withActions'
    helper_base_timer_astronomic_withActions:
      description: Astronomic time object for automations.
      type: object
      allOf:
        - $ref: '#/components/schemas/helper_base_timer_astronomic'
      properties:
        sunrise:
          description: |
            - configure sunrise options
            - if setting turnOn.mode to 'offset', turnOff.mode can not be set to 'offset' too
            - if setting turnOn.mode to 'fixed', turnOff.mode can only be set to 'offset'
          allOf:
            - $ref: '#/components/schemas/helper_astronomic_sunRiseFall_data_withActions'
    helper_base_timer:
      description: Timer object for automatic action of units, consists of a time object and a corresponding action
      type: object
      properties:
        weekly:
          description: |
            - when setting an action in a weekly timer, a subsequent action always needs to differ (e.g. different action or value) to the previous one
            - daylight saving time (winter- & summertime) is handled automatically by the backend and should not be handled by the client
          allOf:
            - $ref: '#/components/schemas/helper_base_timer_weekly'
        daily:
          description: |
            - when setting an action in a daily timer, a subsequent action always needs to differ (e.g. different action or value) to the previous one
            - daylight saving time (winter- & summertime) is handled automatically by the backend and should not be handled by the client
          type: object
          allOf:
            - $ref: '#/components/schemas/helper_base_timer_daily'
        random:
          description: |
            - random toggling of unit in the provided active period (startDate to endDate)
            - further restrict the time of day with startTimePerDay and endTimePerDay
            - (TBD) optionally you can set the level and/or color when the unit turns on
          type: object
          allOf:
            - $ref: '#/components/schemas/helper_base_timer_random'
        countdown:
          description: |
            - automatically turn the unit off or on after a configured time
            - turnOff countdown is triggered by turning the unit on
            - turnOn countdown is triggered by turning the unit off
            - (TBD) optionally you can set the level and/or color when the unit turns on
          type: object
          allOf:
            - $ref: '#/components/schemas/helper_base_timer_countdown'
        rhythmic:
          description: |
            - rhythmically turn the unit on and off
            - time to stay turned on and off are configurably seperately
            - (TBD) optionally you can set the level and/or color when the unit turns on
          type: object
          allOf:
            - $ref: '#/components/schemas/helper_base_timer_rhythmic'
        once:
          description: |
            - turn the unit on or off at a specific time once
            - (TBD) optionally you can set the level and/or color when the unit turns on
          type: object
          allOf:
            - $ref: '#/components/schemas/helper_base_timer_once'
        astronomic:
          description: |
            - astronomical timer based on geographical position
            - unit can be controlled based on sunrise and sunset
          type: object
          allOf:
            - $ref: '#/components/schemas/helper_base_timer_astronomic_withActions'
    helper_base_timer_calendar:
      description: Calendar time object for automations.
      allOf:
        - $ref: '#/components/schemas/helper_timer_actions_list'
        - type: object
          properties:
            name:
              description: name of the google calendar
              type: string
              example: myPlugAutomation
    helper_temperatureThreshold:
      type: number
      minimum: -5
      maximum: 50
      multipleOf: 0.1
    action_groupTemperature:
      type: string
      enum:
        - upperThreshold
        - lowerThreshold
        - unknown
      example: upperThreshold
      description: |
        - group temperature action
        - provide an even amount of entries, the only exception to this is setting one entry which is set to "comfort" with time 0
        - setting only one entry, which is set to "reduced" is not allowed
    helper_base_timer_groupTemperatureWeekly_obj:
      description: group temperature Weekly time object for automations.
      required:
        - time
      properties:
        time:
          description: |
            - minutes since beginning of week (day change from sunday to monday 00:00 o'clock)
            - duplicates of time are not allowed
          type: integer
          example: 360
          minimum: 0
          maximum: 10079
        groupTemperature:
          allOf:
            - $ref: '#/components/schemas/action_groupTemperature'
    helper_base_timer_groupWeekly:
      description: Array of group temperature weekly time objects for automations
      type: array
      items:
        $ref: '#/components/schemas/helper_base_timer_groupTemperatureWeekly_obj'
    helper_base_timer_groupTemperatureWeekly:
      description: Calendar time object for groupTemperatureWeekly.
      properties:
        sensorUid:
          description: UID of active temperature sensor unit. This always needs to be set for the groupTemperatureWeekly timer to work properly
          type: string
          example: 13077 0137031-1
          readOnly: false
        availableSensors:
          description: List of UIDs of possible units that can be configured as a temperature sensor
          type: array
          items:
            type: string
          example:
            - 13077 0137031-1
            - 13077 0137532-1
          readOnly: true
        upperThresholdTemperature:
          description: |
            - if heatingModeEnabled is true, this is equivalent to the comfort temperature of a thermostat; the group will turn on if the temperature is below the upperThreshold (use with electric heating)
            - if heatingModeEnabled is false (coolingMode), the group will turn on if the temperature is above the upperThreshold (use with air conditioning)
          allOf:
            - $ref: '#/components/schemas/helper_temperatureThreshold'
        lowerThresholdTemperature:
          description: |
            - this is equivalent to the reduced temperature of a thermostat
            - the actual configured lowerThresholdTemperature is only relevant if heatingModeEnabled is true
            - (it still needs to be set in the groupWeekly array though)
          allOf:
            - $ref: '#/components/schemas/helper_temperatureThreshold'
        heatingModeEnabled:
          description: |
            - groupTemperatureWeekly allows for two different modes
            - if the heatingMode is enabled the group will turn on, if the temperature falls beneath the configured thresholdTemperature
            - if the heatingMode is disabled (~coolingMode) the group will turn on, if the temperature rises above the configured temperature (only the upperThresholdTemperaute is valid)
          type: boolean
          readOnly: false
          example: true
        groupWeekly:
          allOf:
            - $ref: '#/components/schemas/helper_base_timer_groupWeekly'
    helper_unit_timer:
      description: Timer object for automatic action of units, consists of a time object and a corresponding action
      allOf:
        - $ref: '#/components/schemas/helper_base_timer'
        - type: object
          properties:
            calendar:
              description: |
                - allows the use of a google calendar for automations
                - (TBD) optionally you can set the level and/or color when the unit turns on
              type: object
              allOf:
                - $ref: '#/components/schemas/helper_base_timer_calendar'
            groupTemperatureWeekly:
              description: |
                - only availabe for groupUnits which have a memberUnit from the plugSocket-category
                - allows for combining an external temperature sensor with a group of switches to control either electric heating or air conditioning via a plug socket
              type: object
              allOf:
                - $ref: '#/components/schemas/helper_base_timer_groupTemperatureWeekly'
            timerMode:
              description: |
                - for thermostats only *disabled* and *weekly* are allowed
                - for thermostats disabling the timer will allow for full manual control
              type: string
              enum:
                - disabled
                - weekly
                - daily
                - random
                - countdown
                - rhythmic
                - once
                - astronomic
                - calendar
                - groupTemperatureWeekly
            sunSimulationMode:
              description: |
                - activate the sun simulation mode for lamps
                - when a lamp is turned on via a timer, the lamp slowly increases/decreases its color and or level over the course of 15 minutes
                - the current level of the lamp will be used as a starting point
              type: string
              enum:
                - disabled
                - sunrise
                - sunset
                - both
              example: both
    helper_statistics_period:
      description: |
        | period                            | Description
        | ----------------------------------|----------------------------------------------------
        | `hour`                            | - short-term data of the last hour <br> - will contain values relative to the time of the request
        | `day`                             | - short-term data of the last 24 hours <br> - will contain values relative to the time of the request
        | `week`                            | - long-term data of the last 7 days <br> - will contain 4 entries per day (00:00, 06:00, 12:00 & 18:00 o'clock) <br> - newest entry is the summed up value until the time of request
        | `month`                           | - long-term data of the last 31 days <br> - will contain 1 entry per day (starting at midnight) <br> - newest entry is the summed up value until the time of request
        | `twoYears`                        | - long-term data of the last 24 months <br> - will contain 1 entry per month (starting at the 1st of every month) <br> - newest entry is the summed up value until the time of request
        | `unknown`                         | - unknown state, internal error
      type: string
      enum:
        - hour
        - day
        - week
        - month
        - twoYears
        - unknown
      example: hour
    helper_statistics_object:
      type: object
      readOnly: true
      required:
        - statisticsState
      properties:
        statisticsState:
          description: |
            | statisticsState                   | Description
            | ----------------------------------|----------------------------------------------------
            | `valid`                           | valid data
            | `outdated`                        | statistic data is outdated and will not be returned
            | `notConnected`                    | communiation with unit is disturbed, no valid data available
            | `unknown`                         | unknown state, internal error
          type: string
          enum:
            - valid
            - outdated
            - notConnected
            - unknown
        period:
          $ref: '#/components/schemas/helper_statistics_period'
        interval:
          description: |
            - interval between values in seconds
            - **Warning**: for short-term data the interval is only an approximation and should not be understood as a fixed point in time relative to the time of the request
            - the actual sample time point is highly dependent on the type of device, type of unit and its radio interval
          type: integer
          example: 10
    helper_statistics_unit:
      description: |
        - object grouping unit statistics
        - **Warning**: requesting the statistics by sending a GET-Request for certain types of units (avmPlugSockets) will trigger a radio request to fetch the newest statistics. <br> If you decide to request alot of units at once, this could, and at some point will, lead to disturbances to the radio communication of the radioBase.
      type: object
      properties:
        temperatures:
          description: |
            - short-term data for temperature
            - array will contain period `day`
            - expected devices: `FRTIZ!Smart Energy 200`, `FRITZ!Smart Energy 210`, `FRITZ!Smart Thermo 301`, `FRITZ!Smart Thermo 302`, `FRITZ!Smart Control 440`
          type: array
          items:
            allOf:
              - $ref: '#/components/schemas/helper_statistics_object'
              - type: object
                properties:
                  values:
                    description: |
                      - temperature in °C
                      - index 0 holds the newest value
                    type: array
                    items:
                      type: number
                      nullable: true
                      example: 20.5
        humidities:
          description: |
            - short-term data for relative humidity
            - array will contain period `day`
            - expected devices: `FRITZ!Smart Control 440`
          type: array
          items:
            allOf:
              - $ref: '#/components/schemas/helper_statistics_object'
              - type: object
                properties:
                  values:
                    description: |
                      - relative humidity in %
                      - index 0 holds the newest value
                    type: array
                    items:
                      type: integer
                      nullable: true
                      example: 47
                      minimum: 0
                      maximum: 100
        voltages:
          description: |
            - short-term data for voltage
            - array will contain period `hour`
            - expected devices: `FRTIZ!Smart Energy 200`, `FRITZ!Smart Energy 210`, `FRITZ!Smart Energy 250`
          type: array
          items:
            allOf:
              - $ref: '#/components/schemas/helper_statistics_object'
              - type: object
                properties:
                  values:
                    description: |
                      - voltage in milliVolts
                      - index 0 holds the newest value
                    type: array
                    items:
                      type: number
                      example: 230.52
        powers:
          description: |
            - short-term data for power
            - array will contain period `hour`
            - expected devices: `FRTIZ!Smart Energy 200`, `FRITZ!Smart Energy 210`, `FRITZ!Smart Energy 250`
          type: array
          items:
            allOf:
              - $ref: '#/components/schemas/helper_statistics_object'
              - type: object
                properties:
                  values:
                    description: |
                      - power in milliWatts
                      - index 0 holds the newest value
                    type: array
                    items:
                      type: integer
                      example: 1680
        energies:
          description: |
            - short- & long-term data for energy
            - array will contain periods `day`, `week`, `month` & `twoYears`
            - expected devices: `FRTIZ!Smart Energy 200`, `FRITZ!Smart Energy 210`, `FRITZ!Smart Energy 250`
          type: array
          items:
            allOf:
              - $ref: '#/components/schemas/helper_statistics_object'
              - type: object
                properties:
                  values:
                    description: |
                      - energy in WattHours
                      - index 0 holds the newest value
                    type: array
                    items:
                      type: integer
                      example: 12
    endpoint_overview_singleUnit:
      allOf:
        - $ref: '#/components/schemas/helper_overview_unit'
        - type: object
          properties:
            timer:
              allOf:
                - $ref: '#/components/schemas/helper_unit_timer'
            statistics:
              allOf:
                - $ref: '#/components/schemas/helper_statistics_unit'
    IF_putUnitInterfaces:
      allOf:
        - $ref: '#/components/schemas/IF_unitInterfaces'
        - type: object
          properties:
            levelControlInterface:
              allOf:
                - $ref: '#/components/schemas/IF_levelControl'
                - type: object
                  required:
                    - level
            blindInterface:
              allOf:
                - $ref: '#/components/schemas/IF_blind_overview'
                - type: object
                  required:
                    - blindAction
                  description: Using the blindInterface at the same time with the levelInterface will result in undefined behaviour.
            onOffInterface:
              allOf:
                - $ref: '#/components/schemas/IF_onOff_overview'
                - type: object
                  required:
                    - active
    endpoint_overview_putUnit:
      allOf:
        - $ref: '#/components/schemas/unit_base'
        - type: object
          required:
            - interfaces
          properties:
            interfaces:
              allOf:
                - $ref: '#/components/schemas/IF_putUnitInterfaces'
    endpoint_overview_postTemplate:
      description: groups basic template info (including templates for units and scenarios)
      required:
        - triggerEvent
      properties:
        triggerEvent:
          description: trigger/apply the template
          type: boolean
          example: true
          writeOnly: true
    unit_name_configuration:
      description: user defined name of funcitonal Unit, up to 39 2-Byte UTF-8 characters or up to 79 bytes allowed (may be automatically set through the device name if only 1 unit exists)
      type: string
      format: bytes
      example: Top Button
      minLength: 1
      maxLength: 39
      readOnly: false
    helper_activePeriod_alert_button:
      description: button presses/sensor events will only be registered in the configured period
      type: object
      properties:
        mode:
          description: |
            - select activePeriod mode
            - `permanent`: button/sensor will always be active
            - `fixed`: button/sensor will only be active during the configured time period
            - `astronomic`: button/sensor will only be active realtive to the configured astronomical time periods
            - when choosing `fixed` mode, the `fixedActivePeriod` needs to have a valid configuration
            - when choosing `astronomic` mode, the `astronomicActivePeriod` needs to have a valid configuration
          type: string
          enum:
            - permanent
            - fixed
            - astronomic
            - unknown
        fixedActivePeriod:
          allOf:
            - $ref: '#/components/schemas/helper_activePeriod'
            - type: object
        astronomicActivePeriod:
          description: |
            - astronomical timer based on geographical position
            - active period can be controlled based on sunrise and sunset
          type: object
          allOf:
            - $ref: '#/components/schemas/helper_base_timer_astronomic'
    helper_destinationMode:
      description: |
        - whether to switch a unit or trigger a template/scenario
        - when choosing `units` or `templates` mode, the `destinationUids` array needs to be filled with at least one unit/template uid
      type: string
      enum:
        - disabled
        - units
        - templates
        - unknown
    helper_destinationUids:
      description: |
        - list of UIDs of units to be switched or templates to be triggered, in case of button press / sensor event
        - this array is only allowed to be filled with exclusively units or templates, not both
        - when putting this array, at least 1 items UID needs to be provided
      type: array
      maxItems: 50
      items:
        description: unique identifier corresponding to UID of units/templates/scenarios
        type: string
    helper_availableTemplates:
      description: list of template/scenario UIDs that can be triggered by the button/sensor
      type: array
      readOnly: true
      items:
        type: string
    helper_availableUnits:
      description: |
        - list of unit UIDs that can be switched by the button/sensor
        - for buttons this includes units with onOffInterfaces or blindInterfaces
        - for alert sensors this includes units with onOffInterfaces
      type: array
      readOnly: true
      items:
        type: string
    IF_alert_config_base:
      allOf:
        - $ref: '#/components/schemas/alert_base'
        - type: object
          description: functional interface for a general alert sensor (window, door, motion, etc)
          properties:
            activePeriod:
              allOf:
                - $ref: '#/components/schemas/helper_activePeriod_alert_button'
            destinationMode:
              allOf:
                - $ref: '#/components/schemas/helper_destinationMode'
            destinationUids:
              allOf:
                - $ref: '#/components/schemas/helper_destinationUids'
            availableTemplates:
              allOf:
                - $ref: '#/components/schemas/helper_availableTemplates'
            availableUnits:
              allOf:
                - $ref: '#/components/schemas/helper_availableUnits'
            thermostatDestinationUids:
              description: |
                - only available for units with the unitType `doorOpenCloseDetector` or `windowOpenCloseDetector`
                - besides switching onOff-units this allows for automatically enabling/disabling the `windowOpenMode` of thermostats
                - when adding a thermostat to this list, the `internal` `windowOpenMode.sensorMode` of the added thermostat will be overwritten
              type: array
              items:
                description: unique identifier corresponding to UID of thermostat unit
                type: string
            availableThermostats:
              description: list of thermostat unit UIDs that can be added to the thermostatDestinationUids
              type: array
              readOnly: true
              items:
                description: unique identifier corresponding to UID of thermostat unit
                type: string
    helper_switchDuration_with_sensor:
      description: choose whether switching of unit should be permanent, toggle back after configured time or determined by the sensor
      required:
        - mode
      type: object
      properties:
        mode:
          description: when choosing toggleBack mode, toggleBackTime is required
          type: string
          enum:
            - permanent
            - toggleBack
            - sensor
            - unknown
        toggleBackTime:
          description: time in minutes
          type: integer
          example: 60
          minimum: 1
          maximum: 1440
    IF_alert_config_units:
      allOf:
        - $ref: '#/components/schemas/IF_alert_config_base'
        - type: object
          properties:
            controlMode:
              description: |
                - only available for units
                - event in case of sensor event
              type: string
              enum:
                - 'off'
                - 'on'
                - unknown
              example: 'on'
            switchDuration:
              allOf:
                - $ref: '#/components/schemas/helper_switchDuration_with_sensor'
    IF_alert_config:
      allOf:
        - type: object
        - description: functional interface for a general alert sensor (window, door, motion, etc)
        - discriminator:
            propertyName: destinationMode
            mapping:
              disabled: '#/components/schemas/IF_alert_config_base'
              templates: '#/components/schemas/IF_alert_config_base'
              units: '#/components/schemas/IF_alert_config_units'
        - anyOf:
            - $ref: '#/components/schemas/IF_alert_config_base'
            - $ref: '#/components/schemas/IF_alert_config_units'
    helper_flyScreenProtectionEnabled:
      description: |
        - enables the fly screen protection for supported blinds
        - if enabled, the blind will try to detect an obstacle and only slowly move down
        - if an obstacle is detected the blind will move up into its upper end position
        - if the blind is running stiffly, disable this option
      type: boolean
      example: false
      readOnly: false
    helper_freezeProtectionEnabled:
      description: |
        - enables freeze protection for supported blinds
        - if enabled, once the blind reaches its upper end position, it will move down a bit into the reverse direction
        - this prevents freezing to the shutter box
      type: boolean
      example: false
      readOnly: false
    helper_endPositions:
      description: |
        - configure end positions and motor direction for supported blinds
        - when configuring end positions use the blindAction to move the blind up/down step-wise (around a few 100ms per step)
      type: object
      readOnly: false
      properties:
        upperEndPositionEnabled:
          description: |
            - whether the upper end position is configured
            - when setting this value, the current blind position will be set as the upper boundary (opened state)
            - once set, can only be reset by setting 'triggerReset'
          type: boolean
          readOnly: false
          example: true
        lowerEndPositionEnabled:
          description: |
            - whether the lower end position is configured
            - when setting this value, the current blind position will be set as the lower boundary (closed state)
            - once set, can only be reset by setting 'triggerReset'
          type: boolean
          readOnly: false
          example: true
        motorReversedActive:
          description: |
            - false: default direction
            - true: reverse direction
            - can only be set while configuring the end positions
          type: boolean
          example: false
        triggerReset:
          writeOnly: true
          description: reset both end positions and motor direction
          type: boolean
          example: true
    helper_currentSensingEnabled:
      description: |
        - enables current sensing for supported blinds
        - if enabled, the blind will automatically stop when detecting an obstacle
      type: boolean
      example: false
      readOnly: false
    helper_lamellarEnabled:
      description: |
        - enables lamellar mode for supported blinds
        - if enabled, a second unit will be available
      type: boolean
      example: false
      readOnly: false
    helper_lamellarSlatRuntime:
      description: |
        - max time for tilting of lamellar slats
        - default: 1.5 sec
        - only available, if lamellar is enabled
      type: number
      example: 1.5
      minimum: 1.5
      maximum: 10
      multipleOf: 0.1
      readOnly: false
    IF_blind_config:
      allOf:
        - $ref: '#/components/schemas/blind_base'
        - type: object
          description: functional configuration interface for blinds
          properties:
            flyScreenProtection:
              allOf:
                - $ref: '#/components/schemas/helper_flyScreenProtectionEnabled'
            freezeProtection:
              allOf:
                - $ref: '#/components/schemas/helper_freezeProtectionEnabled'
            endPositions:
              allOf:
                - $ref: '#/components/schemas/helper_endPositions'
            currentSensingEnabled:
              allOf:
                - $ref: '#/components/schemas/helper_currentSensingEnabled'
            lamellarEnabled:
              allOf:
                - $ref: '#/components/schemas/helper_lamellarEnabled'
            lamellarSlatRuntime:
              allOf:
                - $ref: '#/components/schemas/helper_lamellarSlatRuntime'
    IF_button_config_base:
      allOf:
        - $ref: '#/components/schemas/button_base'
        - type: object
          properties:
            activePeriod:
              allOf:
                - $ref: '#/components/schemas/helper_activePeriod_alert_button'
            destinationMode:
              allOf:
                - $ref: '#/components/schemas/helper_destinationMode'
            destinationUids:
              allOf:
                - $ref: '#/components/schemas/helper_destinationUids'
            availableTemplates:
              allOf:
                - $ref: '#/components/schemas/helper_availableTemplates'
            availableUnits:
              allOf:
                - $ref: '#/components/schemas/helper_availableUnits'
    helper_controlMode:
      type: string
      enum:
        - 'off'
        - 'on'
        - toggle
        - unknown
      example: 'on'
    IF_button_config_units:
      allOf:
        - $ref: '#/components/schemas/IF_button_config_base'
        - type: object
          properties:
            controlMode:
              allOf:
                - $ref: '#/components/schemas/helper_controlMode'
              description: |
                - only available for units
                - event in case of button press
                - when setting `controlMode` to `toggle`, `switchDuration.mode` will automatically be set to `permanent`
                - TODO: info about what on/off/toggle means for blinds
            switchDuration:
              allOf:
                - $ref: '#/components/schemas/helper_switchDuration'
              description: |
                - only available for units
                - choose whether switching of unit should be permanent or toggle back after configured time
                - `toggleBack` mode only available if `controlMode` is set to either `on` or `off`
    IF_button_config:
      allOf:
        - type: object
        - description: functional interface for a simple button sensor
        - discriminator:
            propertyName: destinationMode
            mapping:
              disabled: '#/components/schemas/IF_button_config_base'
              templates: '#/components/schemas/IF_button_config_base'
              units: '#/components/schemas/IF_button_config_units'
        - anyOf:
            - $ref: '#/components/schemas/IF_button_config_base'
            - $ref: '#/components/schemas/IF_button_config_units'
    IF_colorControl_config:
      allOf:
        - $ref: '#/components/schemas/colorControl_unit'
        - type: object
          description: functional interface for bulb with color capability
          properties:
            avmPresets:
              allOf:
                - $ref: '#/components/schemas/helper_avmPresets'
    IF_multimeter_config:
      allOf:
        - $ref: '#/components/schemas/multimeter_base'
        - type: object
          properties:
            energyKeyFigures:
              allOf:
                - $ref: '#/components/schemas/helper_energyKeyFigures'
                - readOnly: false
    helper_powerOnBehaviour:
      type: object
      description: |
        - configure state of onOffInterface.active after a restart of the device (e.g. after an update or power cut)
        - feature may not be available for certain units
        - also allows for configuring of level and colorControl after restart for suitable lamps
      required:
        - modes
      properties:
        modes:
          description: |
            - which state the device should be after restart
            - when selecting "lastState" or "off", level and color configurations will be deleted
            - when selecting one of the lamp-exclusive modes, 'level', 'colorTemperature' or 'hsColor', you must also select "on"
            - the ignored setting will be set to the last valid state, e.g. setting 'on' for a lamp, level and color will be as before the powerOn
          type: array
          items:
            type: string
            enum:
              - 'off'
              - 'on'
              - lastState
              - level
              - colorTemperature
              - hsColor
              - unknown
          example:
            - 'on'
            - level
        color:
          description: Color action
          properties:
            colorTemperature:
              allOf:
                - $ref: '#/components/schemas/action_colorTemperature'
            hsColorPreset:
              description: allows for setting a hsColor from avmPresets.hsColorPalette for powerOn
              allOf:
                - $ref: '#/components/schemas/helper_hsColorPalette_item'
        level:
          allOf:
            - $ref: '#/components/schemas/action_level'
    helper_standbyAutoTurnOff:
      type: object
      description: |
        - only available for FRITZ!Smart Energy plugsockets
        - automatically turn off unit, if standby is detected (e.g. undercutting powerThreshold for configured duration)
        - warning: this object may not be modifiable after a reboot of the F!Box/Gateway, if the Plugsocket was not connected yet
      required:
        - enabled
      properties:
        enabled:
          description: |
            - turn on/off the standby detection
            - when setting enabled to true, powerThreshold and duration are both required
          type: boolean
          example: false
          readOnly: false
        powerThreshold:
          description: threshold of power that needs to be undercut in milliWatts [mW]
          type: integer
          minimum: 10
          maximum: 368000
          multipleOf: 10
          example: 500
        duration:
          description: time in seconds for which the powerThreshold needs to be continiously undercut, for a standby to be detected
          type: integer
          minimum: 20
          multipleOf: 10
    helper_frequencyBound:
      description: frequency bound for noiseControl in Hz
      type: number
      minimum: 0
      maximum: 4000
      multipleOf: 62.5
    helper_noiseControl:
      type: object
      description: |
        - only available for FRITZ!Smart Energy plugsockets
        - control unit by noise (e.g. by clapping hands or custom signal)
      required:
        - noiseMode
      properties:
        noiseMode:
          description: |
            - select noise mode
            - clap mode detects 2 fast subsequent claps or knocks
            - customSignal allows for configuring frequencies and duration of the to be detected signal
          type: string
          enum:
            - disabled
            - clap
            - customSignal
          example: clap
        customSignal:
          description: |
            - configure custom signal options
            - required if customSignal mode is selected
          type: object
          properties:
            lowerFrequencyBound:
              allOf:
                - $ref: '#/components/schemas/helper_frequencyBound'
              description: lower frequency bound (may not be equal to or higher than higherFrequencyBound)
            higherFrequencyBound:
              allOf:
                - $ref: '#/components/schemas/helper_frequencyBound'
              description: higher frequency bound (may not be equal to or lower than lowerFrequencyBound)
            signalDuration:
              description: required duration of signal for detection in milliseconds
              type: integer
              minimum: 50
              maximum: 1000
              example: 100
            switchingMode:
              description: select mode to switch unit depending on whether a signal or silence is detected
              type: string
              enum:
                - signal
                - silence
                - unknown
              example: signal
        intensity:
          description: volume intensity (0 - lowest | 9 - highest)
          type: integer
          minimum: 0
          maximum: 9
          example: 4
        fixedActivePeriod:
          allOf:
            - $ref: '#/components/schemas/helper_activePeriod'
            - type: object
              properties:
                enabled:
                  description: |
                    - enable/disable the active period
                    - if disabled, the feature will always be on
                  type: boolean
                  example: false
                  readOnly: false
        controlMode:
          allOf:
            - $ref: '#/components/schemas/helper_controlMode'
          description: |
            - event in case of detected noise
            - when setting 'controlMode' to 'toggle', 'switchDuration.mode' will automatically be set to 'permanent'
        switchDuration:
          allOf:
            - $ref: '#/components/schemas/helper_switchDuration'
          description: |
            - choose whether switching of unit should be permanent or toggle back after configured time
            - 'toggleBack' mode only available if `controlMode` is set to either 'on' or 'off'
    IF_onOff_config:
      allOf:
        - $ref: '#/components/schemas/onOff_base'
        - type: object
          description: functional interface for devices with on/off capability (plugs, lights)
          readOnly: false
          required:
            - state
          properties:
            lockedDeviceLocalEnabled:
              description: local operation of device is locked (HAN-FUN plug has no lock)
              type: boolean
              example: false
              readOnly: false
            lockedDeviceApiEnabled:
              description: operation via API (App, UI, REST) of device is locked
              type: boolean
              example: true
              readOnly: false
            powerOnBehaviour:
              allOf:
                - $ref: '#/components/schemas/helper_powerOnBehaviour'
            buttonLedEnabled:
              description: |
                - only available for FRITZ!Smart Energy plugosckets
                - set state of button LED of FRITZ!Smart Energy plugsockets
                - if turned off, LED will only be turned on in case of an error
              type: boolean
              readOnly: false
              example: true
            standbyAutoTurnOff:
              allOf:
                - $ref: '#/components/schemas/helper_standbyAutoTurnOff'
            noiseControl:
              allOf:
                - $ref: '#/components/schemas/helper_noiseControl'
    IF_temperature_config:
      allOf:
        - $ref: '#/components/schemas/temperature_base'
        - type: object
          description: functional interface for devices with temperature sensors
          properties:
            offset:
              description: |
                - only available for FRITZ! FRITZ!Smart Energy plugsockets
                - temperature offset in Celsius
              type: number
              multipleOf: 0.5
              minimum: -10
              maximum: 10
    helper_summerPeriod_relativeTimestamp:
      description: |
        - minutes since beginning of year
        - timestamp is only valid if set to the day (hence multipleOf 1440)
        - leap year (29th February) is always included
        - endTime is used for setting the day, the period will be active until the end of the day
        - 0       -> 1st  January (day change from 31st December to 1st January 00:00 o'clock)
        - 525600  -> 31st December 23:00 o'clock
      type: integer
      example: 21600
      minimum: 0
      maximum: 525600
      multipleOf: 1440
    helper_summerPeriod:
      description: |
        - schedule and enabling of summer period (thermostat is in freeze protection mode)
        - if enabled, the summer period will be repeated every year
        - startTime is allowed to be bigger than endTime -> this allows setting a summerPeriod that extends into a new year
        - summerPeriod is not allowed to overlap with any of the configured holidayPeriods, if they are enabled
      required:
        - enabled
      properties:
        enabled:
          description: |
            - enable the summerPeriod
            - disabling the summerPeriod will delete startTime and endTime
            - when enabling startTime and endTime are mandatory
          type: boolean
          example: true
          readOnly: false
        startTime:
          allOf:
            - $ref: '#/components/schemas/helper_summerPeriod_relativeTimestamp'
        endTime:
          allOf:
            - $ref: '#/components/schemas/helper_summerPeriod_relativeTimestamp'
    helper_holidayPeriod_relativeTimestamp:
      description: |
        - minutes since beginning of year
        - timestamp is only valid, if set to the hour (hence multipleOf 60)
        - leap year (29th February) is always included
        - endTime is used for setting the day, the period will be active until the end of the day
        - 0       -> 1st  January (day change from 31st December to 1st January 00:00 o'clock)
        - 526980  -> 31st December 23:00 o'clock
      type: integer
      minimum: 0
      maximum: 526980
      multipleOf: 60
    helper_period_holidayRange:
      type: object
      required:
        - startTime
        - endTime
      properties:
        startTime:
          allOf:
            - $ref: '#/components/schemas/helper_holidayPeriod_relativeTimestamp'
        endTime:
          allOf:
            - $ref: '#/components/schemas/helper_holidayPeriod_relativeTimestamp'
        deleteAfterEndActive:
          type: boolean
          description: |
            - TO BE DONE, NOT FUNCTIONAL
            - if true, holidayPeriod will only be active once and deleted afterwards
          example: false
    helper_holidayPeriods:
      description: |
        - schedule for holiday periods (thermostat is set to configured temperature)
        - if the periods array contains date ranges, the holiday mode will activate automatically
        - startTime is allowed to be bigger than endTime -> this allows setting holidayPeriods that extend into a new year
      type: object
      properties:
        temperature:
          allOf:
            - $ref: '#/components/schemas/helper_temperature'
          description: Thermostat temperature for holiday periods
        periods:
          description: |
            - holidayPeriods are not allowed to overlap with each other or the summerPeriod, if it is enabled
            - modification and deletion is only possible by setting the whole periods-array
          type: array
          items:
            $ref: '#/components/schemas/helper_period_holidayRange'
          maxItems: 4
    IF_thermostat_config:
      allOf:
        - $ref: '#/components/schemas/thermostat_base'
        - type: object
          description: functional configuration interface for thermostats
          properties:
            reducedTemperature:
              allOf:
                - $ref: '#/components/schemas/helper_temperature'
              description: Reduced temperature preset used for timer of thermostat
            comfortTemperature:
              allOf:
                - $ref: '#/components/schemas/helper_temperature'
              description: Comfort temperature preset used for timer of thermostat
            boost:
              allOf:
                - $ref: '#/components/schemas/helper_specialModeThermostat'
              description: Boost special mode.
            windowOpenMode:
              allOf:
                - $ref: '#/components/schemas/helper_specialModeThermostat'
                - type: object
                  description: WindowOpen special mode.
                  properties:
                    sensorMode:
                      description: |
                        - internal: The thermostat automatically detects temperature drops and interprets them as an open window
                        - external: An external window-open-sensor (chosen from the externalAvailableSensors) acts as a trigger for detecting open windows
                        - internal and external sensorMode are mutually exclusive
                        - internal is the default value
                        - Comet DECT and FRITZ!DECT 300 only support the `internal` sensorMode
                      type: string
                      enum:
                        - internal
                        - external
                    internalSensitivity:
                      description: Sensitivity for automatically detecting temperature drops (e.g. open window) while the internal sensorMode is active.
                      type: string
                      enum:
                        - low
                        - medium
                        - high
                        - unknown
                    internalDuration:
                      description: Time in minutes freeze protection should stay turned on after thermostat detected open window. Only valid if internal mode is active.
                      type: integer
                      example: 10
                      minimum: 1
                      maximum: 120
                    externalAvailableSensors:
                      description: List of UIDs of possible units that can be configured as an external window Sensor
                      type: array
                      items:
                        type: string
                      example:
                        - 13077 0137031-1
                        - 13077 0137532-1
                      readOnly: true
                    externalSensorUids:
                      description: |
                        - list of UIDs of active external window sensor units
                        - if empty, no external sensor is configured
                        - when configuring externalSensors, sensorMode is required to be set to `external`
                      type: array
                      items:
                        type: string
                      example:
                        - 13077 0137031-1
                      readOnly: false
            temperatureOffset:
              type: object
              description: Offset configuration for thermostat
              required:
                - sensorMode
              properties:
                sensorMode:
                  description: |
                    - internal: Manual configuration of temperature offset. The thermostat uses its internal temperature readings as a base.
                    - external: An external temperature-sensor (chosen from the externalAvailableSensors) automatically detects the temperature offset.
                    - internal and external sensorMode are mutually exclusive
                    - internal is the default value
                    - Comet DECT and FRITZ!DECT 300 only support the `internal` sensorMode
                  type: string
                  enum:
                    - internal
                    - external
                internalOffset:
                  description: Manual offset configuration. Only valid if internal mode is active.
                  type: number
                  multipleOf: 0.5
                  example: 2
                  minimum: -5
                  maximum: 5
                externalAvailableSensors:
                  description: List of UIDs of possible UIDs that can be configured as an external temperature Sensor
                  type: array
                  items:
                    type: string
                  example:
                    - 13077 0137031-1
                    - 13077 0137031-1
                  readOnly: true
                externalSensorUid:
                  description: UID of active external temperature sensor unit, if empty, no external sensor is configured
                  type: string
                  example: 13077 0137031-1
                  readOnly: false
            lockedDeviceLocalEnabled:
              description: Local operation of device is locked
              type: boolean
              example: false
              readOnly: false
            lockedDeviceApiEnabled:
              description: Operation via API (App, UI, REST) of device is locked
              type: boolean
              example: true
              readOnly: false
            temperatureRangeLock:
              allOf:
                - $ref: '#/components/schemas/helper_temperatureRangeLock'
                - type: object
                  properties:
                    temperatureLockEnabled:
                      description: Temperature Range is locked
                      readOnly: false
                      type: boolean
                      example: false
            adaptiveHeatingModeEnabled:
              description: Enable the adaptive heating period
              readOnly: false
              type: boolean
              example: true
            summerPeriod:
              allOf:
                - $ref: '#/components/schemas/helper_summerPeriod'
            holidayPeriods:
              allOf:
                - $ref: '#/components/schemas/helper_holidayPeriods'
    helper_widgetSize:
      description: widget size on screen
      type: string
      readOnly: true
      enum:
        - quarter
        - half
        - full
        - unknown
    helper_widgetMode:
      description: |
        - widgets available on screen
        - each widgetMode has a static size, which can not be changed
        | widget mode                   | description                                                                     | widget size
        | ------------------------------|---------------------------------------------------------------------------------|------------
        | `on`                          | turn unit on                                                                    | `quarter`
        | `off`                         | turn unit off                                                                   | `quarter`
        | `toggle`                      | toggles unit on/off                                                             | `quarter`
        | `template`                    | applies a template                                                              | `quarter`
        | `thermostatTemperature`       | controls setpointTemperature of thermostats                                     | `half`
        | `onOff`                       | controls on/off for plugsockets, level of lamps, lamp-groups or mixed groups    | `half`
        | `blindLevel`                  | control level of blinds                                                         | `half`
        | `tamControl`                  | control on/off of telephone answering machine                                   | `half`
        | `hsColorPalette`              | toggle through hsColorPalette for supported lamps                               | `half`
        | `colorTemperaturePalette`     | toggle through colorTemperaturePalette for supported lamps                      | `half`
        | `trigger`                     | control on/off of triggers                                                      | `half`
        | `guestWifi`                   | control on/off of guestWifi, includes QR-Code, no destination                   | `full`
        | `thermostatFull`              | control setpointTemperature, boost and windowOpenMode of supported thermostats  | `full`
        | `mainWifi`                    | control on/off of guestWifi, includes QR-Code                                   | `full`
      type: string
      enum:
        - thermostatTemperature
        - onOff
        - 'on'
        - 'off'
        - toggle
        - template
        - blindLevel
        - guestWifi
        - tamControl
        - hsColorPalette
        - colorTemperaturePalette
        - thermostatFull
        - trigger
        - mainWifi
    helper_screenWidgets:
      type: array
      maxItems: 4
      description: |
        - screens allow for a collection of different widgets
        - depending on the positioning of the widgets, up to 4 are allowed per screen
      items:
        required:
          - name
          - position
          - widgetSize
          - widgetMode
        properties:
          name:
            description: |
              - user defined name to be displayed on the screen
              - maximum length depends on the screen-size of the widget
              - the `center`, `bottomCenter` and `topCenter` allow up to 15 characters
              - all other widgetModes allow up to 7 characters
            type: string
            format: bytes
            example: Lights
            minLength: 1
            maxLength: 15
          position:
            description: |
              - where the feature is positioned on the screen
              - widgetModes are bound to a certain position-type
              | position                                               | widget size
              | -------------------------------------------------------|--------------
              | `center`                                               | `full`
              | `bottomCenter`, `topCenter`                            | `half`
              | `topRight`, `bottomRight`,<br>`bottomLeft`, `topLeft`  | `quarter`
            type: string
            enum:
              - center
              - topRight
              - bottomRight
              - bottomCenter
              - bottomLeft
              - topLeft
              - topCenter
          widgetSize:
            $ref: '#/components/schemas/helper_widgetSize'
          widgetMode:
            $ref: '#/components/schemas/helper_widgetMode'
          toggleBackTime:
            description: |
              - only available for widgetMode `on`, `off` and `onOff`
              - whether to toggleBack to old state after configured time
              - time in seconds
            type: integer
            minimum: 0
            maximum: 1440
          destinationUids:
            description: |
              - list of UIDs of units/templates/triggers to be controlled by widget
              - depending on the widgetMode this array is required to have at least one UID
            type: array
            items:
              description: unique identifier corresponding to UID of unit, template or trigger
              type: string
          telephoneAnsweringMachineUid:
            description: |
              - UID of telephone answering machine to be controlled by widget
              - required if widgetMode is set to 'tamControl'
            type: string
            enum:
              - TAM0
              - TAM1
              - TAM2
              - TAM3
              - TAM4
          mainWifiBands:
            description: |
              - band of main wifi to be controlled by widget
              - required if widgetMode is set to 'mainWifi'
            type: array
            items:
              type: string
              enum:
                - 2.4GHz
                - 5GHz
                - triband
                - 6GHz
                - unknown
    IF_widget_config:
      type: object
      description: functional configuration interface for screen widgets (only available for the FRITZ!Smart Control 440)
      properties:
        defaultScreen:
          type: string
          enum:
            - temperature
            - first
            - second
            - third
            - unknown
          example: temperature
        temperatureChartEnabled:
          type: boolean
          description: whether an additional widget with a temperature and humidity chart of the last 24 hours should be displayed
          example: true
        firstScreenWidgets:
          $ref: '#/components/schemas/helper_screenWidgets'
        secondScreenWidgets:
          $ref: '#/components/schemas/helper_screenWidgets'
        thirdScreenWidgets:
          $ref: '#/components/schemas/helper_screenWidgets'
        availableWidgets:
          description: |
            - collection of available widgetModes and destinationUids for the unit
            - configuring a specific widgetMode is only available if it appears here
          type: object
          readOnly: true
          properties:
            widgetModes:
              description: depending on the firmware-version of the FSC!440, some widgets may not be available
              type: array
              items:
                allOf:
                  - $ref: '#/components/schemas/helper_widgetMode'
            onOffUnitUids:
              description: |
                - list of UIDs of units to be controlled by following widgetModes: `on`, `off`, `toggle` & `onOff`
              type: array
              items:
                description: unique identifier corresponding to UID of units with a onOffInterface
                type: string
            blindLevelUnitUids:
              description: |
                - list of UIDs of units to be controlled by following widgetMode: `blindLevel`
              type: array
              items:
                description: unique identifier corresponding to UID of blind units with a levelInterface
                type: string
            thermostatTemperatureUnitUids:
              description: |
                - list of UIDs of units to be controlled by following widgetMode: `thermostatTemperature`
              type: array
              items:
                description: unique identifier corresponding to UID of thermostat units
                type: string
            thermostatFullUnitUids:
              description: |
                - list of UIDs of units to be controlled by following widgetModes: `thermostatFull`
              type: array
              items:
                description: unique identifier corresponding to UID of thermostat units
                type: string
            colorUnitUids:
              description: |
                - list of UIDs of units to be controlled by following widgetModes: `hsColorPalette` & `colorTemperaturePalette`
                - it is theoretically possible to configure the `hsColorPalette` for colorTemperature-only-Lamps
                - this is because the supported color modes are only available for online bulbs
                - after a reboot a once configured valid hsColor-lamp, would become 'invalid', hence there is no check
              type: array
              items:
                description: |
                  - unique identifier corresponding to UID of lamp units with color-mode
                type: string
            templateUids:
              description: |
                - list of UIDs of templates to be controlled by following widgetMode: `template`
              type: array
              items:
                description: unique identifier corresponding to template
                type: string
            triggerUids:
              description: |
                - list of UIDs of triggers to be controlled by following widgetMode: `trigger`
              type: array
              items:
                description: unique identifier corresponding to trigger
                type: string
            telephoneAnsweringMachineUids:
              description: |
                - list of UIDs of telephone answering machines to be controlled by following widgetMode: `tamControl`
              type: array
              items:
                description: unique identifier corresponding to telephone anwering machine
                type: string
                enum:
                  - TAM0
                  - TAM1
                  - TAM2
                  - TAM3
                  - TAM4
            mainWifiBands:
              description: |
                - list of UIDs of main wifi band to be controlled by following widgetMode: `mainWifi`
              type: array
              items:
                type: string
                enum:
                  - 2.4GHz
                  - 5GHz
                  - triband
                  - 6GHz
    IF_unitInterfaces_config:
      description: |
        - functional interfaces for units
        - may be empty if no supported interface is present
      readOnly: false
      properties:
        alertInterface:
          allOf:
            - $ref: '#/components/schemas/IF_alert_config'
        blindInterface:
          allOf:
            - $ref: '#/components/schemas/IF_blind_config'
        buttonInterface:
          allOf:
            - $ref: '#/components/schemas/IF_button_config'
        colorControlInterface:
          allOf:
            - $ref: '#/components/schemas/IF_colorControl_config'
        humidityInterface:
          allOf:
            - $ref: '#/components/schemas/IF_humidity'
        levelControlInterface:
          allOf:
            - $ref: '#/components/schemas/IF_levelControl'
        multimeterInterface:
          allOf:
            - $ref: '#/components/schemas/IF_multimeter_config'
        onOffInterface:
          allOf:
            - $ref: '#/components/schemas/IF_onOff_config'
        smartmeterInterface:
          allOf:
            - $ref: '#/components/schemas/IF_smartmeter'
        temperatureInterface:
          allOf:
            - $ref: '#/components/schemas/IF_temperature_config'
        thermostatInterface:
          allOf:
            - $ref: '#/components/schemas/IF_thermostat_config'
        widgetInterface:
          allOf:
            - $ref: '#/components/schemas/IF_widget_config'
    endpoint_configuration_unit:
      description: groups configuration unit info
      allOf:
        - $ref: '#/components/schemas/unit_base'
        - type: object
          required:
            - UID
            - name
            - isConnected
            - ain
            - icons
            - unitType
            - isGroupUnit
            - parentUid
            - interfaces
          properties:
            name:
              $ref: '#/components/schemas/unit_name_configuration'
            timer:
              allOf:
                - $ref: '#/components/schemas/helper_unit_timer'
            interfaces:
              allOf:
                - $ref: '#/components/schemas/IF_unitInterfaces_config'
            statistics:
              allOf:
                - $ref: '#/components/schemas/helper_statistics_unit'
    endpoint_configuration_device:
      description: groups extended device configuration information and options
      allOf:
        - $ref: '#/components/schemas/device_base'
        - type: object
          required:
            - units
            - pushMail
            - name
          properties:
            units:
              description: Detailed list of unit-configuration belonging to device
              type: array
              readOnly: true
              items:
                $ref: '#/components/schemas/endpoint_configuration_unit'
            pushMail:
              allOf:
                - $ref: '#/components/schemas/helper_pushMail'
    endpoint_configuration_putDevice:
      description: groups extended device configuration information and options
      allOf:
        - $ref: '#/components/schemas/device_base'
        - type: object
          properties:
            pushMail:
              allOf:
                - $ref: '#/components/schemas/helper_pushMail'
    endpoint_configuration_putUnit:
      description: groups configuration unit info
      allOf:
        - $ref: '#/components/schemas/unit_base'
        - type: object
          properties:
            name:
              $ref: '#/components/schemas/unit_name_configuration'
            timer:
              allOf:
                - $ref: '#/components/schemas/helper_unit_timer'
            interfaces:
              allOf:
                - $ref: '#/components/schemas/IF_unitInterfaces_config'
    endpoint_configuration_postGroup:
      description: |
        - create new group
      allOf:
        - $ref: '#/components/schemas/group_base'
        - type: object
          required:
            - name
            - memberUnitUids
    createGroup_response:
      description: response for creating new group
      type: object
      required:
        - UID
      properties:
        UID:
          description: UID of newly created group
          type: string
          example: grp9D4BAB-3F8DDF4EB
          readOnly: true
    helper_onOffMasterUnitUid:
      description: |
        - unique identifier of group-master unit
        - only units with an onOffInterface are allowed
        - other members of the group will follow the master
      type: string
      readOnly: false
      example: 11568 0157891-1
    endpoint_configuration_group:
      description: groups extended device configuration information and options
      allOf:
        - $ref: '#/components/schemas/group_base'
        - type: object
          required:
            - name
            - memberUnitUids
          properties:
            unit:
              description: Detailed unit-configuration belonging to group
              type: object
              readOnly: true
              allOf:
                - $ref: '#/components/schemas/endpoint_configuration_unit'
            onOffMasterUid:
              allOf:
                - $ref: '#/components/schemas/helper_onOffMasterUnitUid'
            availableOnOffUnits:
              description: List of UIDs of possible units that can be configured as a onOffMasterUnit
              type: array
              items:
                type: string
              example:
                - 13077 0137031
                - 13077 0137532-1
              readOnly: true
    endpoint_configuration_putGroup:
      description: |
        - modify group
      allOf:
        - $ref: '#/components/schemas/group_base'
        - type: object
          properties:
            onOffMasterUnitUid:
              allOf:
                - $ref: '#/components/schemas/helper_onOffMasterUnitUid'
    helper_available_template_thermostatUids:
      description: |
        list of UIDs of thermostat units to be controlled by a template
        | property        |  available options  |
        | ---             | --- |
        | interfaces      | `thermostatInterface`<br>`timer` |
        | applyTypes      | `thermostatOnOff`<br>`thermostatTemperature`<br>`thermostatHoliday`<br>`thermostatTimeTable`<br>`timerControl` |
      type: array
      items:
        description: unique identifier corresponding to UID of thermostat units
        type: string
        example:
          - 09995 1015710
    helper_available_template_onOffUids:
      description: |
        list of UIDs of onOff units to be controlled by a template
        | property        |  available options  |
        | ---             | --- |
        | interfaces      | `onOffInterface`<br>`timer` |
        | applyTypes      | `relayManual`<br>`relayAutomatic` |
      type: array
      items:
        description: unique identifier corresponding to UID of onOff unit
        type: string
        example:
          - 13077 0137031-1
          - 11630 0015376
    helper_available_template_lampLevelUids:
      description: |
        list of lamp UIDs of level units to be controlled by a template
        | property        |  available options  |
        | ---             | --- |
        | interfaces      | `levelControlInterface`<br>`timer` |
        | applyTypes      | `level`<br>`sunSimulation` |
      type: array
      items:
        description: unique identifier corresponding to UID of lamp level unit
        type: string
        example:
          - 13077 0137031-1
    helper_available_template_blindLevelUids:
      description: |
        list of blind UIDs of level units to be controlled by a template
        | property        |  available options  |
        | ---             | --- |
        | interfaces      | `levelControlInterface`<br>`timer` |
        | applyTypes      | `level`<br>`relayAutomatic` |
      type: array
      items:
        description: unique identifier corresponding to UID of blind level unit
        type: string
        example:
          - 11934 0368330-1
    helper_available_template_colorUnitUids:
      description: |
        list of UIDs of color units to be controlled by a template
        | property        |  available options  |
        | ---             | --- |
        | interfaces      | `colorControlInterface` |
        | applyTypes      | `color` |
      type: array
      items:
        description: unique identifier corresponding to UID of color unit
        type: string
        example:
          - 13077 0137031-1
    helper_available_template_templateUids:
      description: |
        list of UIDs of templates to be controlled by a scenario
        | property        |  available options  |
        | ---             | --- |
        | interfaces      | `scenario` |
        | applyTypes      | `subTemplates` |
      type: array
      items:
        description: unique identifier corresponding to UID of templates
        type: string
        example:
          - tmp9D4BAB-3F42B59F6
    helper_available_template_triggerUids:
      description: |
        list of UIDs of triggers to be controlled by a template
        | property        |  available options  |
        | ---             | --- |
        | interfaces      | `triggerInterface` |
        | applyTypes      | `relayManual` |
      type: array
      items:
        description: unique identifier corresponding to UID of templates
        type: string
        example:
          - trg9D4BAB-3FC9C8507
    helper_available_template_telephoneAnsweringMachineUids:
      description: |
        list of telephone answering machine UIDs to be controlled by a template
        | property        |  available options  |
        | ---             | --- |
        | interfaces      | `telephoneAnsweringMachineInterface` |
        | applyTypes      | `tamControl` |
      type: array
      items:
        description: unique identifier corresponding to telephone anwering machine
        type: string
        enum:
          - TAM0
          - TAM1
          - TAM2
          - TAM3
          - TAM4
        example:
          - TAM0
          - TAM1
    template_configuration:
      allOf:
        - $ref: '#/components/schemas/template_base'
        - type: object
          properties:
            delayTime:
              description: |
                - delay time in seconds
                - if set, applying a template will not execute it immediately, but after configured time
              type: integer
              maximum: 604801
              readOnly: false
            availableDestinations:
              description: contains lists of unit uids that are allowed to be added to the template
              readOnly: true
              type: object
              properties:
                thermostatUnitUids:
                  allOf:
                    - $ref: '#/components/schemas/helper_available_template_thermostatUids'
                onOffUnitUids:
                  allOf:
                    - $ref: '#/components/schemas/helper_available_template_onOffUids'
                lampLevelUnitUids:
                  allOf:
                    - $ref: '#/components/schemas/helper_available_template_lampLevelUids'
                blindLevelUnitUids:
                  allOf:
                    - $ref: '#/components/schemas/helper_available_template_blindLevelUids'
                colorUnitUids:
                  allOf:
                    - $ref: '#/components/schemas/helper_available_template_colorUnitUids'
                templateUids:
                  allOf:
                    - $ref: '#/components/schemas/helper_available_template_templateUids'
                triggerUids:
                  allOf:
                    - $ref: '#/components/schemas/helper_available_template_triggerUids'
                telephoneAnsweringMachineUids:
                  allOf:
                    - $ref: '#/components/schemas/helper_available_template_telephoneAnsweringMachineUids'
    helper_template_timer:
      description: Timer object for automatic action of units, consists of a time object and a corresponding action
      allOf:
        - $ref: '#/components/schemas/helper_base_timer'
        - type: object
          properties:
            timerMode:
              description: |
                - for thermostats only *disabled* and *weekly* are allowed
                - for thermostats deleting the timer will allow for full manual control
                - templates unfortunately do not allow keeping the configuration of the last used timer
                - this means, when activating a timerMode, the corresponding configuration is always mandatory
              type: string
              enum:
                - disabled
                - weekly
                - daily
                - random
                - countdown
                - rhythmic
                - once
                - astronomic
                - unknown
            sunSimulationMode:
              description: |
                - activate the sun simulation mode for lamps
                - when a lamp is turned on via a timer, the lamp slowly increases/decreases its color and or level over the course of 15 minutes, if `both`, `sunrise` or `sunset` is chosen
                - for starting via the timer the current level of the lamp will be used as a starting point
                - additionally you can start the sunrise/sunset once, when applying the template
                - for starting the sunrise/sunset once, the lamp will revert to 0/100 % and it's respective color
              type: string
              enum:
                - disabled
                - sunrise
                - sunset
                - both
                - sunriseOnce
                - sunsetOnce
              example: both
    IF_template_colorControl:
      allOf:
        - $ref: '#/components/schemas/colorControl_base'
        - type: object
          description: |
            - functional interface for templates with color capability
            - when setting the colorControl, it is advisable to also set the `onOffInterface`, as it will be activated automatically
            - it is theoretically possible to configure the `hsColor` for colorTemperature-only-Lamps
            - this is because the supported color modes are only available for online bulbs
            - after a reboot a once configured valid hsColor-lamp, would become 'invalid' -> hence there is no check
          properties:
            avmPresets:
              $ref: '#/components/schemas/helper_avmPresets'
    IF_template_dialHelper:
      type: object
      description: |
        - functional interface for templates with dial helper capability
      required:
        - mode
      properties:
        destinationNumbers:
          description: |
            - numbers which will be called
            - if setting an external number as destination, only one is allowed with a maximum length of 32 characters
            - if setting internal number as destinations, up to 4 are allowed
            - internal numbers start with '**'
          type: array
          maxItems: 4
          items:
            type: string
        message:
          description: |
            - optional text message, which will be displayed on the display of the configured phone
            - if empty, the phone will display the name of the template
            - up to 39 2-Byte UTF-8 characters or up to 80 bytes allowed
          type: string
          format: bytes
          example: Dinner is ready
    IF_template_group:
      description: functional interface for templates with onOff-group units for setting the onOffMasterUnit
      type: object
      readOnly: false
      required:
        - onOffMasterUnitUid
      properties:
        onOffMasterUnitUid:
          allOf:
            - $ref: '#/components/schemas/helper_onOffMasterUnitUid'
        availableOnOffUnits:
          description: List of UIDs of possible units that can be configured as a onOffMasterUnit
          type: array
          items:
            type: string
          example:
            - 13077 0137031
            - 13077 0137532-1
          readOnly: true
    IF_template_guestWifi:
      description: functional interface for templates with guest wifi capability
      type: object
      readOnly: false
      required:
        - enabled
      properties:
        enabled:
          description: turn guest wifi on or off
          type: boolean
          example: true
    IF_template_httpRequest:
      description: functional interface for templates with http request capability
      type: object
      readOnly: false
      properties:
        method:
          description: http method for the request
          type: string
          enum:
            - GET
            - HEAD
            - PUT
            - POST
            - DELETE
            - unknown
          example: GET
        url:
          description: |
            - url to send the http request to
            - up to 255 bytes allowed
          type: string
          format: bytes
          minLength: 1
          maxLength: 255
          example: www.fritz.com
        header:
          description: |
            - http header for the request
            - up to 255 bytes allowed
          type: string
          format: bytes
          minLength: 0
          maxLength: 255
          example: 'Content-Type: application/json; charset=utf-8'
        body:
          description: |
            - http body for the request
            - up to 255 bytes allowed
          type: string
          format: bytes
          minLength: 0
          maxLength: 255
          example: '{"someProperty": true}'
    IF_template_levelControl:
      description: |
        - functional interface for templates with level capability (lamps & blinds)
        - when setting the levelControl for lamps, it is advisable to also set the `onOffInterface`, as it will be activated automatically
      type: object
      readOnly: false
      properties:
        mode:
          description: set the level to a fixed amount or inc-/decrease it
          type: string
          enum:
            - fixed
            - increase
            - decrease
            - unknown
        level:
          description: |
            - fixed or relative level for lamp or blind
            - when setting a fixed level on a unit with an onOffInterface, the onOffInterface.active will not be modified automatically
          type: integer
          minimum: 0
          maximum: 100
          example: 75
          readOnly: false
    IF_template_mainWifi:
      description: functional interface for templates with main wifi capability
      type: object
      readOnly: false
      required:
        - enabled
      properties:
        enabled:
          description: turn wifi on or off
          type: boolean
          example: true
    IF_template_notification:
      description: functional interface for templates with custom notification capability
      type: object
      readOnly: false
      required:
        - mode
      properties:
        mode:
          description: whether to send a pushMail to the configured recipient or a push notification to all configured F!Smarthome-Apps
          type: string
          enum:
            - pushMail
            - appNotification
            - unknown
          example: pushMail
        recipient:
          description: |
            - E-mail adress of push-mail recipient
            - required if `mode` is set to `pushMail`
            - user defined name of physical device, up to 127 2-Byte UTF-8 characters or up to 255 bytes allowed
          type: string
          format: bytes
          minLength: 1
          maxLength: 127
          example: client@nice.com
        subject:
          description: |
            - subject for the notification
            - up to 100 2-Byte UTF-8 characters or up to 200 bytes allowed
          type: string
          format: bytes
          minLength: 0
          maxLength: 100
          example: Dinner is ready
        message:
          description: |
            - message text for the notification
            - up to 500 2-Byte UTF-8 characters or up to 1000 bytes allowed
          type: string
          format: bytes
          minLength: 0
          maxLength: 500
          example: This is a message text set by the user.
    IF_template_onOff:
      description: functional interface for templates with on/off capability (plugs & lamps)
      type: object
      readOnly: false
      required:
        - controlMode
      properties:
        controlMode:
          allOf:
            - $ref: '#/components/schemas/helper_controlMode'
          description: |
            - turn the destination on, off or toggle it
            - when setting `controlMode` to `toggle`, `switchDuration.mode` will automatically be set to `permanent`
        switchDuration:
          allOf:
            - $ref: '#/components/schemas/helper_switchDuration'
    IF_template_telephoneAnsweringMachine:
      description: functional interface for templates with telephone answering machine capability
      type: object
      readOnly: false
      required:
        - mode
      properties:
        enabled:
          description: turn configured telephone answering machines on or off
          type: boolean
          example: true
        telephoneAnsweringMachineUids:
          description: UIDs of assigned telephoneAnsweringMachine (if empty -> none assigned)
          type: array
          items:
            description: unique identifier corresponding to telephone anwering machine
            type: string
            enum:
              - TAM0
              - TAM1
              - TAM2
              - TAM3
              - TAM4
    IF_template_thermostat:
      description: functional interface for templates with thermostat capability
      type: object
      readOnly: false
      required:
        - mode
      properties:
        mode:
          description: |
            - set the destination to a fixed or relative setpointTemperature
            - activate the boost/windowOpen special mode or deactivate it, if one of them is active
            - configure the holidayPeriods and/or summerPeriod
          type: string
          enum:
            - setPointTemperature
            - boost
            - windowOpenMode
            - disableSpecialMode
            - summerPeriod
            - holidayPeriods
            - summerAndHolidayPeriods
            - unknown
          example: setPointTemperature
        setPointTemperature:
          description: |
            - required if `mode` is set to `setPointTemperature`
            - set to fixed setpoint temperature, the currently configured comfort/reduced temperature or increase/decrease the setpointtemperature
          required:
            - mode
          properties:
            mode:
              type: string
              enum:
                - temperature
                - 'on'
                - 'off'
                - comfort
                - reduced
                - relative
                - unknown
              example: temperature
            celsius:
              description: Only valid if 'mode' is set to `temperature`
              type: number
              multipleOf: 0.5
              minimum: 8
              maximum: 28
              example: 19.5
            relativeCelsius:
              description: |
                - required if `mode` is set to `relative`
                - increase/decrease the currently configured setPointTemperature by a certain value
              type: number
              multipleOf: 0.5
              minimum: -15
              maximum: 15
              example: 3
        specialModeTime:
          description: |
            - required if `mode` is set to either `boost` or `windowOpenMode`
            - time in seconds for chosen special mode to be active
          type: integer
          example: 300
          minimum: 1
          maximum: 14400
        summerPeriod:
          allOf:
            - $ref: '#/components/schemas/helper_summerPeriod'
        holidayPeriods:
          allOf:
            - $ref: '#/components/schemas/helper_holidayPeriods'
    IF_template_trigger:
      description: functional interface for templates with trigger capability
      type: object
      readOnly: false
      required:
        - enabled
      properties:
        enabled:
          description: turn configured trigger on or off
          type: boolean
          example: true
    IF_templatesInterfaces:
      description: |
        - object grouping all functional interfaces for templates together
        - may be empty if no supported interface is present
        - for deleting one specific interface, you need to send the interfaces-object without it
        - **hence when editing interfaces you always need to send all interface-sub-objects you want to keep**
      readOnly: false
      properties:
        colorControlInterface:
          allOf:
            - $ref: '#/components/schemas/IF_template_colorControl'
        dialHelperInterface:
          allOf:
            - $ref: '#/components/schemas/IF_template_dialHelper'
        groupInterface:
          allOf:
            - $ref: '#/components/schemas/IF_template_group'
        guestWifiInterface:
          allOf:
            - $ref: '#/components/schemas/IF_template_guestWifi'
        httpRequestInterface:
          allOf:
            - $ref: '#/components/schemas/IF_template_httpRequest'
        levelControlInterface:
          allOf:
            - $ref: '#/components/schemas/IF_template_levelControl'
        mainWifiInterface:
          allOf:
            - $ref: '#/components/schemas/IF_template_mainWifi'
        notificationInterface:
          allOf:
            - $ref: '#/components/schemas/IF_template_notification'
        onOffInterface:
          allOf:
            - $ref: '#/components/schemas/IF_template_onOff'
        telephoneAnsweringMachineInterface:
          allOf:
            - $ref: '#/components/schemas/IF_template_telephoneAnsweringMachine'
        thermostatInterface:
          allOf:
            - $ref: '#/components/schemas/IF_template_thermostat'
        triggerInterface:
          allOf:
            - $ref: '#/components/schemas/IF_template_trigger'
    endpoint_configuration_postTemplate:
      description: groups extended template configuration information and options (including templates for devices and scenarios)
      allOf:
        - $ref: '#/components/schemas/template_configuration'
        - type: object
          required:
            - name
          properties:
            template:
              allOf:
                - $ref: '#/components/schemas/helper_template'
                - type: object
                  required:
                    - memberUnitUids
                    - memberType
                  properties:
                    isAutoCreated:
                      allOf:
                        - $ref: '#/components/schemas/helper_template_isAutoCreated'
                    memberType:
                      allOf:
                        - $ref: '#/components/schemas/helper_template_memberType'
                    timer:
                      allOf:
                        - $ref: '#/components/schemas/helper_template_timer'
                    interfaces:
                      allOf:
                        - $ref: '#/components/schemas/IF_templatesInterfaces'
            scenario:
              allOf:
                - $ref: '#/components/schemas/helper_scenario'
                - type: object
                  required:
                    - templateUids
                  properties:
                    type:
                      description: only available for preset-scenarios
                      allOf:
                        - $ref: '#/components/schemas/type_scenarioType'
    createTemplate_response:
      description: response for creating new template
      type: object
      required:
        - UID
      properties:
        UID:
          description: UID of newly created template
          type: string
          example: tmp9d4bab-410A6AF15
          readOnly: true
    endpoint_configuration_getTemplate:
      description: groups extended template configuration information and options (including templates for devices and scenarios)
      allOf:
        - $ref: '#/components/schemas/template_configuration'
        - type: object
          required:
            - UID
            - ain
            - name
            - applyType
          properties:
            template:
              allOf:
                - $ref: '#/components/schemas/helper_template_with_autoCreated_and_memberType'
                - type: object
                  required:
                    - memberUnitUids
                    - isAutoCreated
                  properties:
                    timer:
                      allOf:
                        - $ref: '#/components/schemas/helper_template_timer'
                    interfaces:
                      allOf:
                        - $ref: '#/components/schemas/IF_templatesInterfaces'
            scenario:
              allOf:
                - $ref: '#/components/schemas/helper_scenario'
                - type: object
                  required:
                    - icons
                    - templateUids
                  properties:
                    type:
                      description: only available for preset-scenarios
                      allOf:
                        - $ref: '#/components/schemas/type_scenarioType'
    endpoint_configuration_putTemplate:
      description: groups extended template configuration information and options (including templates for devices and scenarios)
      allOf:
        - $ref: '#/components/schemas/template_configuration'
        - type: object
          required:
            - UID
          properties:
            template:
              allOf:
                - $ref: '#/components/schemas/helper_template'
                - type: object
                  properties:
                    timer:
                      allOf:
                        - $ref: '#/components/schemas/helper_template_timer'
                    interfaces:
                      allOf:
                        - $ref: '#/components/schemas/IF_templatesInterfaces'
    endpoint_configuration_getTemplateCapabilities:
      description: groups extended template options
      properties:
        applyTypes:
          description: list of available applyTypes based on connected devices and current configuration of the F!Box/Gateway
          allOf:
            - $ref: '#/components/schemas/type_applyTypeList'
        interfaces:
          description: list of available interfaces based on connected devices and current configuration of the F!Box/Gateway
          type: array
          items:
            type: string
            enum:
              - colorControlInterface
              - dialHelperInterface
              - groupInterface
              - guestWifiInterface
              - httpRequestInterface
              - levelControlInterface
              - mainWifiInterface
              - notificationInterface
              - onOffInterface
              - telephoneAnsweringMachineInterface
              - thermostatInterface
              - triggerInterface
            example:
              - colorControlInterface
              - levelControlInterface
              - onOffInterface
        thermostatUnitUids:
          allOf:
            - $ref: '#/components/schemas/helper_available_template_thermostatUids'
        onOffUnitUids:
          allOf:
            - $ref: '#/components/schemas/helper_available_template_onOffUids'
        lampLevelUnitUids:
          allOf:
            - $ref: '#/components/schemas/helper_available_template_lampLevelUids'
        blindLevelUnitUids:
          allOf:
            - $ref: '#/components/schemas/helper_available_template_blindLevelUids'
        colorUnitUids:
          allOf:
            - $ref: '#/components/schemas/helper_available_template_colorUnitUids'
        templateUids:
          allOf:
            - $ref: '#/components/schemas/helper_available_template_templateUids'
        triggerUids:
          allOf:
            - $ref: '#/components/schemas/helper_available_template_triggerUids'
        telephoneAnsweringMachineUids:
          allOf:
            - $ref: '#/components/schemas/helper_available_template_telephoneAnsweringMachineUids'
    endpoint_radioBases:
      description: groups radioBase infos
      type: object
      required:
        - serial
        - isZigbeeAvailable
        - isDectAvailable
        - isSmarthomeMaster
      properties:
        serial:
          description: serial (based on MAC-address) of smart home radioBase
          type: string
          example: 02B1EB1A4DBA
          readOnly: true
        isZigbeeAvailable:
          description: is subscription via Zigbee available on radioBase
          type: boolean
          example: true
          readOnly: true
        isDectAvailable:
          description: is subscription via DECT available on radioBase
          type: boolean
          example: true
          readOnly: true
        activeSubscriptionUid:
          description: |
            - UID of active subscription on radioBase
            - empty if no active subscription
          type: string
          example: 6DA5BC33CED64CF98D134C913D0BA574
          readOnly: true
        isSmarthomeMaster:
          description: |
            - whether the radioBase is configured as the master in the smart home mesh
            - if yes, this allows for starting subscriptions and deleting devices on remote radioBases
            - if no, only a local subscription and deletion is available
          type: boolean
          example: false
          readOnly: true
    endpoint_subscriptionState:
      description: groups subscription state infos
      type: object
      required:
        - UID
        - state
        - time
      properties:
        UID:
          description: UID of subscription to return
          type: string
          example: 6DA5BC33CED64CF98D134C913D0BA574
          readOnly: true
        state:
          description: state of subscription
          readOnly: true
          type: string
          enum:
            - initial
            - dectPending
            - zigbeePending
            - alreadyRunning
            - abortedByUser
            - timeout
            - genericError
            - success
            - unknown
        time:
          description: unix timestamp of last update of state
          type: integer
          example: 1697440931
          minimum: 1451602800
          maximum: 2147468400
          nullable: true
          readOnly: true
        deviceUid:
          description: |
            - if subscription was successful, contains UID of newly subscribed device
            - otherwise empty
          type: string
          example: 99238 4279382
          readOnly: true
    endpoint_startSubscription:
      description: groups start subscription infos
      type: object
      properties:
        serial:
          description: serial (based on the MAC-Address) of smart home radioBase to start subscription on
          type: string
          example: 02B1EB1A4DBA
          readOnly: true
        triggerDect:
          description: |
            - start DECT subscription on radioBase
            - if not provided, default is true
          type: boolean
          example: true
          writeOnly: true
        triggerZigbee:
          description: |
            - start Zigbee subscription on radioBase
            - if not provided, default is true
          type: boolean
          example: true
          writeOnly: true
        triggerResubscription:
          description: |
            - for DECT devices only
            - allows for renewal of subscription of already known DECT devices
            - if not provided, default is false
          type: boolean
          example: false
          writeOnly: true
    startSubscription_response:
      description: response for startSubscription
      type: object
      required:
        - subscriptionUid
      properties:
        subscriptionUid:
          description: UID of started subscription
          type: string
          example: 6DA5BC33CED64CF98D134C913D0BA574
          readOnly: true
    endpoint_resetCode:
      description: groups zigbee reset code infos
      type: object
      required:
        - serial
        - resetCode
      properties:
        serial:
          description: serial (based on MAC-address) of zigbee radioBase to post reset code on
          type: string
          example: 02B1EB1A4DBA
          readOnly: true
        resetCode:
          description: The device-specific Zigbee reset code will unpair a device from it's gateway/radioBase. This is independent of the manufacturer of the gateway/radioBase.
          type: string
          example: '24E831'
    endpoint_installCode:
      description: groups zigbee install code infos
      type: object
      required:
        - serial
        - installCode
        - deviceAddress
      properties:
        serial:
          description: serial (based on MAC-address) of zigbee radioBase to post install code on
          type: string
          example: 02B1EB1A4DBA
          readOnly: true
        installCode:
          description: The device-specific Zigbee installation code allows for a secure pairing of Zigbee devices to the radioBase.
          type: string
          example: 402E530207320C30DDB7B230218C52E8FE92
        deviceAddress:
          description: The Zigbee device address needed for using the install code.
          type: string
          example: 4C2CB2FDEF000B2FDL
  examples:
    FSE200_device:
      value:
        isDeviceSubscribedLocally: false
        productCategory: socket
        isUpdateAvailable: false
        radioBaseSerial: '000000000000'
        productName: FRITZ!Smart Energy 200
        isZigbeeDevice: false
        lastConnectionTime: 0
        icons: []
        UID: 11630 0015376
        pushMail:
          recipient: ''
          enabled: false
          units:
            - intervalDriven: disabled
              eventDrivenEnabled: false
              unitUid: 11630 0015376
        unitUids:
          - 11630 0015376
        name: FSE200 Steckdose
        firmwareVersion: '04.26'
        ain: 11630 0015376
        manufacturer: AVM
        batteryState: unknown
        isConnected: true
    FST302_device:
      value:
        isDeviceSubscribedLocally: false
        productCategory: thermostat
        lastConnectionTime: 1712221186
        UID: 09995 1015710
        batteryState: known
        radioBaseSerial: '000000000000'
        isBatteryLow: false
        ain: 09995 1015710
        manufacturer: AVM
        isUpdateAvailable: false
        productName: FRITZ!Smart Thermo 302
        isZigbeeDevice: false
        icons: []
        name: REST_Heizung Wohnzimmer
        isConnected: true
        batteryValue: 80
        pushMail:
          enabled: false
          recipient: ''
        unitUids:
          - 09995 1015710
        firmwareVersion: '05.13'
    FSL500_device:
      value:
        isDeviceSubscribedLocally: false
        productCategory: lamp
        isUpdateAvailable: false
        radioBaseSerial: '000000000000'
        productName: FRITZ!Smart Light 500
        isZigbeeDevice: false
        lastConnectionTime: 0
        icons: []
        UID: 13077 0137031
        pushMail:
          recipient: ''
          enabled: false
          units:
            - eventDrivenEnabled: false
              unitUid: 13077 0137031-1
        unitUids:
          - 13077 0137031-1
        name: FSL500 Lampe
        firmwareVersion: 34.10.16.16.015
        ain: 13077 0137031
        manufacturer: AVM
        batteryState: unknown
        isConnected: true
    BeckerRollo_device:
      value:
        isDeviceSubscribedLocally: false
        productCategory: blind
        isUpdateAvailable: false
        radioBaseSerial: '000000000000'
        productName: BoxCTRL D01
        isZigbeeDevice: false
        lastConnectionTime: 0
        icons: []
        UID: 11934 0368330
        pushMail:
          enabled: false
          recipient: ''
        unitUids:
          - 11934 0368330-1
        name: Becker Unterputzrollo
        firmwareVersion: '00.00'
        ain: 11934 0368330
        manufacturer: ''
        batteryState: unknown
        isConnected: true
    Thermostat_group:
      value:
        memberUnitUids:
          - 09995 1015710
          - 09295 0130704
        name: Gruppe_HKRs
        unitUid: grp9D4BAB-3F83ED4FC
        ain: grp9D4BAB-3F83ED4FC
        groupCategory: thermostat
        icons: []
        UID: grp9D4BAB-3F83ED4FC
    Plugsocket_group:
      value:
        memberUnitUids:
          - 11630 0015376
          - 11324 0717699-1
        name: Gruppe_Sockets
        unitUid: grp9D4BAB-3F8DDF4EB
        ain: grp9D4BAB-3F8DDF4EB
        groupCategory: switchable
        icons: []
        UID: grp9D4BAB-3F8DDF4EB
    Lamp_group:
      value:
        memberUnitUids:
          - 12701 0118147-1
          - 12701 0011930-1
        name: Gruppe_Lampen
        unitUid: grp9D4BAB-3F99FC9B9
        ain: grp9D4BAB-3F99FC9B9
        groupCategory: switchable
        icons: []
        UID: grp9D4BAB-3F99FC9B9
    Plugsocket_and_Lamp_group:
      value:
        memberUnitUids:
          - 11630 0015376
          - 11324 0717699-1
          - 13077 0137031-1
        name: Gruppe_Mixed
        unitUid: grp9D4BAB-3F8DDF4EB
        ain: grp9D4BAB-3F8DDF4EB
        groupCategory: switchable
        icons: []
        UID: grp9D4BAB-3F8DDF4EB
    Blind_group:
      value:
        memberUnitUids:
          - 14276 0454345-1
          - 11934 0368330-1
        name: Gruppe_Rollos
        unitUid: grp9D4BAB-3FBE56AB2
        ain: grp9D4BAB-3FBE56AB2
        groupCategory: blind
        icons: []
        UID: grp9D4BAB-3FBE56AB2
    FSE200_unit:
      value:
        groupUid: grp9D4BAB-3F8DDF4EB
        deviceUid: 11630 0015376
        interfaces:
          multimeterInterface:
            state: valid
            current: 1
            power: 0
            energy: 1053
            voltage: 228055
          onOffInterface:
            state: valid
            active: false
            isLockedDeviceApi: false
            isLockedDeviceLocal: false
            outletState: valid
          temperatureInterface:
            state: valid
            celsius: 31
        icons: []
        UID: 11630 0015376
        statistics:
          temperatures:
            - interval: 900
              statisticsState: valid
              period: day
              values:
                - 31
                - 34.5
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
          powers:
            - interval: 10
              statisticsState: valid
              period: hour
              values:
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
          voltages:
            - interval: 10
              statisticsState: valid
              period: hour
              values:
                - 228055
                - 228055
                - 228055
                - 228055
                - 228055
                - 228055
                - 228055
                - 228055
                - 228055
                - 228055
                - 228055
                - 228055
                - 228095
                - 228095
                - 228095
                - 228095
                - 228095
                - 228095
                - 228095
                - 228095
                - 228095
                - 228095
                - 228095
                - 228095
                - 228509
                - 228509
                - 228509
                - 228509
                - 228509
                - 228509
                - 228509
                - 228509
                - 228509
                - 228509
                - 228509
                - 228509
                - 228593
                - 228593
                - 228593
                - 228593
                - 228593
                - 228593
                - 228593
                - 228593
                - 228593
                - 228593
                - 228593
                - 228593
                - 228757
                - 228757
                - 228757
                - 228757
                - 228757
                - 228757
                - 228757
                - 228757
                - 228757
                - 228757
                - 228757
                - 228757
                - 227999
                - 227999
                - 227999
                - 227999
                - 227999
                - 227999
                - 227999
                - 227999
                - 227999
                - 227999
                - 227999
                - 227999
                - 228440
                - 228440
                - 228440
                - 228440
                - 228440
                - 228440
                - 228440
                - 228440
                - 228440
                - 228440
                - 228440
                - 228440
                - 228430
                - 228430
                - 228430
                - 228430
                - 228430
                - 228430
                - 228430
                - 228430
                - 228430
                - 228430
                - 228430
                - 228430
                - 228749
                - 228749
                - 228749
                - 228749
                - 228749
                - 228749
                - 228749
                - 228749
                - 228749
                - 228749
                - 228749
                - 228749
                - 229055
                - 229055
                - 229055
                - 229055
                - 229055
                - 229055
                - 229055
                - 229055
                - 229055
                - 229055
                - 229055
                - 229055
                - 228633
                - 228633
                - 228633
                - 228633
                - 228633
                - 228633
                - 228633
                - 228633
                - 228633
                - 228633
                - 228633
                - 228633
                - 228711
                - 228711
                - 228711
                - 228711
                - 228711
                - 228711
                - 228711
                - 228711
                - 228711
                - 228711
                - 228711
                - 228711
                - 228169
                - 228169
                - 228169
                - 228169
                - 228169
                - 228169
                - 228169
                - 228169
                - 228169
                - 228169
                - 228169
                - 228169
                - 228566
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
          energies:
            - interval: 900
              statisticsState: valid
              period: day
              values:
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
            - interval: 21600
              statisticsState: valid
              period: week
              values:
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
            - interval: 86400
              statisticsState: valid
              period: month
              values:
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
            - interval: 2678400
              statisticsState: valid
              period: twoYears
              values:
                - 0
                - 1
                - 0
                - 0
                - 0
                - 4
                - 0
                - 1
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 905
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
        name: FSE200 Steckdose
        isConnected: true
        ain: 11630 0015376
        isGroupUnit: false
        parentUid: 11630 0015376
        unitType: avmPlugSocket
    FST302_unit:
      value:
        groupUid: ''
        deviceUid: 09995 1015710
        interfaces:
          temperatureInterface:
            state: valid
            celsius: 24
          thermostatInterface:
            comfortTemperature:
              celsius: 16.5
              mode: temperature
            isHolidayActive: false
            isAdaptiveActive: false
            isLockedDeviceLocal: false
            boost:
              enabled: false
              endTime: 0
            nextChange:
              changeTime: 0
              temperatureChange:
                celsius: 16.5
                mode: temperature
            setPointTemperature:
              mode: 'off'
            state: valid
            thermostatState: valveInstall
            isLockedDeviceApi: false
            windowOpenMode:
              enabled: false
              endTime: 0
            isSummertimeActive: false
            reducedTemperature:
              celsius: 21
              mode: temperature
        icons: []
        UID: 09995 1015710
        statistics:
          temperatures:
            - interval: 900
              statisticsState: valid
              period: day
              values:
                - 24
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
                - 0
        name: REST_Heizung Wohnzimmer
        isConnected: true
        ain: 09995 1015710
        isGroupUnit: false
        parentUid: 09995 1015710
        unitType: avmThermostat
    FSL500_unit:
      value:
        groupUid: grp9D4BAB-3F99FF853
        deviceUid: 13077 0137031
        interfaces:
          colorControlInterface:
            state: valid
            activeHsColorPreset:
              hueFromPalette: 212
              presetId: 8
              saturationFromPalette: 169
              nameId: 5576
            currentColorMode: hueSaturation
            hsColor:
              hue: 215
              saturation: 255
            supportedColorModes:
              - hueSaturation
              - temperature
          levelControlInterface:
            state: valid
            level: 25
          onOffInterface:
            state: valid
            active: false
        icons: []
        UID: 13077 0137031-1
        name: FSL500 Lampe
        isConnected: true
        ain: 13077 0137031-1
        isGroupUnit: false
        parentUid: 13077 0137031
        unitType: dimmableColorBulb
    BeckerRollo_unit:
      value:
        groupUid: grp9D4BAB-3F93A5663
        deviceUid: 11934 0368330
        interfaces:
          blindInterface:
            state: valid
            blindAction: stop
            blindState: endPositionConfigured
          levelControlInterface:
            state: valid
            level: 20
          alertInterface:
            state: valid
            lastAlertTime: 0
            alert:
              - none
        icons: []
        UID: 11934 0368330-1
        name: Becker Unterputzrollo
        isConnected: true
        ain: 11934 0368330-1
        isGroupUnit: false
        parentUid: 11934 0368330
        unitType: blind
    Thermostat_Group_unit:
      value:
        interfaces:
          thermostatInterface:
            comfortTemperature:
              celsius: 16.5
              mode: temperature
            isHolidayActive: false
            isAdaptiveActive: false
            boost:
              enabled: false
              endTime: 0
            nextChange:
              changeTime: 1712614500
              temperatureChange:
                celsius: 16.5
                mode: temperature
            setPointTemperature:
              celsius: 21
              mode: temperature
            state: valid
            isSummertimeActive: false
            windowOpenMode:
              enabled: false
              endTime: 0
            reducedTemperature:
              celsius: 21
              mode: temperature
        unitType: thermostatGroup
        name: Gruppe_HKRs
        parentUid: grp9D4BAB-3F83ED4FC
        ain: grp9D4BAB-3F83ED4FC
        isGroupUnit: true
        icons: []
        UID: grp9D4BAB-3F83ED4FC
    Plugsocket_Group_unit:
      value:
        interfaces:
          onOffInterface:
            state: valid
            active: false
        icons: []
        UID: grp9D4BAB-3F8DDF4EB
        name: Gruppe_Sockets
        parentUid: grp9D4BAB-3F8DDF4EB
        ain: grp9D4BAB-3F8DDF4EB
        isGroupUnit: true
        unitType: switchableGroup
    Lamps_Group_unit:
      value:
        interfaces:
          colorControlInterface:
            state: valid
            activeHsColorPreset: {}
            currentColorMode: hueSaturation
            hsColor:
              hue: 0
              saturation: 0
            supportedColorModes:
              - hueSaturation
              - temperature
          levelControlInterface:
            state: valid
            level: 46
          onOffInterface:
            state: valid
            active: true
        unitType: switchableGroup
        name: Gruppe_Lampen
        parentUid: grp9D4BAB-3F99FC9B9
        ain: grp9D4BAB-3F99FC9B9
        isGroupUnit: true
        icons: []
        UID: grp9D4BAB-3F99FC9B9
    Plugsocket_and_Lamp_Group_unit:
      value:
        interfaces:
          colorControlInterface:
            state: valid
            activeHsColorPreset:
              hueFromPalette: 35
              presetId: 2
              saturationFromPalette: 214
              nameId: 5570
            currentColorMode: hueSaturation
            hsColor:
              hue: 15
              saturation: 255
            supportedColorModes:
              - hueSaturation
              - temperature
          levelControlInterface:
            state: valid
            level: 59
          onOffInterface:
            state: valid
            active: false
        icons: []
        UID: grp9D4BAB-3F8DDF4EB
        name: Gruppe_Mixed
        parentUid: grp9D4BAB-3F8DDF4EB
        ain: grp9D4BAB-3F8DDF4EB
        isGroupUnit: true
        unitType: switchableGroup
    Blind_Group_unit:
      value:
        interfaces:
          blindInterface:
            state: valid
            blindAction: stop
          levelControlInterface:
            state: valid
            level: 0
        unitType: blindGroup
        name: Gruppe_Rollos
        parentUid: grp9D4BAB-3FBE56AB2
        ain: grp9D4BAB-3FBE56AB2
        isGroupUnit: true
        icons: []
        UID: grp9D4BAB-3FBE56AB2
    Socket_Toggle_template:
      value:
        name: Vorlage Steckdose Toggle
        ain: tmp9D4BAB-3F42B59F6
        template:
          memberUnitUids:
            - 11657 0039949
          isAutoCreated: false
          memberType: onOff
        applyType:
          - relayManual
        UID: tmp9D4BAB-3F42B59F6
    Blind_Level_template:
      value:
        name: Vorlage Blind Level
        ain: tmp9D4BAB-3F42C6E4B
        template:
          memberUnitUids:
            - grp9D4BAB-3FBE56AB2
          isAutoCreated: false
          memberType: blind
        applyType:
          - level
        UID: tmp9D4BAB-3F42C6E4B
    Lampe_Level_Color_On_template:
      value:
        name: Vorlage Lampe FarbeLevel
        ain: tmp9D4BAB-3FC90D729
        template:
          memberUnitUids:
            - 13077 0137031-1
          isAutoCreated: false
          memberType: onOff
        applyType:
          - relayManual
          - level
          - color
        UID: tmp9D4BAB-3FC90D729
    Szenario_Preset_Coming_Home_template:
      value:
        name: Nach Hause kommen
        ain: tmp9D4BAB-3F42B5C29
        scenario:
          templateUids:
            - tmp9D4BAB-3F42B5C15
            - tmp9D4BAB-3F42B5C1F
          type: coming
          icons: []
        applyType:
          - subTemplates
        UID: tmp9D4BAB-3F42B5C29
    Szenario_Generic_template:
      value:
        name: Szenario Test
        ain: tmp9D4BAB-3FC90DF64
        scenario:
          icons: []
          templateUids:
            - tmp9D4BAB-3F42C6E4B
            - tmp9D4BAB-3FC90D729
            - tmp9D4BAB-3F42B59F6
        applyType:
          - subTemplates
        UID: tmp9D4BAB-3FC90DF64
    Trigger_Example_1:
      value:
        ain: trg9D4BAB-3FC9C824E
        enabled: true
        name: Heizlüfter An
        UID: trg9D4BAB-3FC9C824E
    Trigger_Example_2:
      value:
        ain: trg9D4BAB-3FC9C8507
        enabled: true
        name: Heizlüfter Aus
        UID: trg9D4BAB-3FC9C8507
    FSE210_device:
      value:
        isDeviceSubscribedLocally: false
        productCategory: socket
        units:
          - groupUid: ''
            deviceUid: 11657 0039949
            interfaces:
              multimeterInterface:
                state: valid
                current: 1
                power: 0
                energy: 3420
                voltage: 227841
              onOffInterface:
                lockedDeviceLocalEnabled: false
                state: valid
                active: false
                lockedDeviceApiEnabled: false
                noiseControl:
                  customSignal:
                    switchingMode: signal
                    signalDuration: 1000
                    higherFrequencyBound: 4000
                    lowerFrequencyBound: 125
                  controlMode: 'off'
                  intensity: 5
                  activePeriod:
                    enabled: true
                    startTimePerDay: 710
                    startDate: 1462140000
                    endTimePerDay: 906
                    endDate: 1540418400
                  switchDuration:
                    mode: permanent
                  noiseMode: customSignal
                outletState: valid
                standbyAutoTurnOff:
                  enabled: false
                buttonLedEnabled: true
                powerOnBehaviour:
                  mode:
                    - lastState
              temperatureInterface:
                celsius: 23.5
                offset: 0
                state: valid
            icons: []
            UID: 11657 0039949
            statistics:
              temperatures:
                - interval: 900
                  statisticsState: valid
                  period: day
                  values:
                    - 23.5
                    - 23.5
                    - 23.5
                    - 24
                    - 24.5
                    - 24
                    - 26
                    - 26
                    - 26
                    - 26
                    - 26
                    - 25.5
                    - 25.5
                    - 26
                    - 26
                    - 26.5
                    - 29
                    - 34.5
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
              powers:
                - interval: 10
                  statisticsState: valid
                  period: hour
                  values:
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
              voltages:
                - interval: 10
                  statisticsState: valid
                  period: hour
                  values:
                    - 227841
                    - 227984
                    - 228049
                    - 228123
                    - 228403
                    - 228403
                    - 228403
                    - 228403
                    - 228403
                    - 228738
                    - 228738
                    - 228738
                    - 228738
                    - 228738
                    - 228738
                    - 228738
                    - 228738
                    - 228738
                    - 228738
                    - 228738
                    - 228738
                    - 228793
                    - 228793
                    - 228793
                    - 228793
                    - 228793
                    - 228793
                    - 228793
                    - 228793
                    - 228793
                    - 228793
                    - 228793
                    - 228793
                    - 228767
                    - 228767
                    - 228767
                    - 228767
                    - 228767
                    - 228767
                    - 228767
                    - 228767
                    - 228767
                    - 228767
                    - 228767
                    - 228767
                    - 228537
                    - 228537
                    - 228537
                    - 228537
                    - 228537
                    - 228537
                    - 228537
                    - 228537
                    - 228537
                    - 228537
                    - 228537
                    - 228537
                    - 227590
                    - 227590
                    - 227590
                    - 227590
                    - 227590
                    - 227590
                    - 227590
                    - 227590
                    - 227590
                    - 227590
                    - 227590
                    - 227590
                    - 227751
                    - 227751
                    - 227751
                    - 227751
                    - 227751
                    - 227751
                    - 227751
                    - 227751
                    - 227751
                    - 227751
                    - 227751
                    - 227751
                    - 227974
                    - 227974
                    - 227974
                    - 227974
                    - 227974
                    - 227974
                    - 227974
                    - 227974
                    - 227974
                    - 227974
                    - 227974
                    - 227974
                    - 227938
                    - 227938
                    - 227938
                    - 227938
                    - 227938
                    - 227938
                    - 227938
                    - 227938
                    - 227938
                    - 227938
                    - 227938
                    - 227938
                    - 228123
                    - 228123
                    - 228123
                    - 228123
                    - 228123
                    - 228123
                    - 228123
                    - 228123
                    - 228123
                    - 228123
                    - 228123
                    - 228123
                    - 228537
                    - 228537
                    - 228537
                    - 228537
                    - 228537
                    - 228537
                    - 228537
                    - 228537
                    - 228537
                    - 228537
                    - 228537
                    - 228537
                    - 228984
                    - 228984
                    - 228984
                    - 228984
                    - 228984
                    - 228984
                    - 228984
                    - 228984
                    - 228984
                    - 228984
                    - 228984
                    - 228984
                    - 228158
                    - 228158
                    - 228158
                    - 228158
                    - 228158
                    - 228158
                    - 228158
                    - 228158
                    - 228158
                    - 228158
                    - 228158
                    - 228158
                    - 229025
                    - 229025
                    - 229025
                    - 229025
                    - 229025
                    - 229025
                    - 229025
                    - 229025
                    - 229025
                    - 229025
                    - 229025
                    - 229025
                    - 227938
                    - 227938
                    - 227938
                    - 227938
                    - 227938
                    - 227938
                    - 227938
                    - 227938
                    - 227938
                    - 227938
                    - 227938
                    - 227938
                    - 228593
                    - 228593
                    - 228593
                    - 228593
                    - 228593
                    - 228593
                    - 228593
                    - 228593
                    - 228593
                    - 228593
                    - 228593
                    - 228593
                    - 229237
                    - 229237
                    - 229237
                    - 229237
                    - 229237
                    - 229237
                    - 229237
                    - 229237
                    - 229237
                    - 229237
                    - 229237
                    - 229237
                    - 229566
                    - 229566
                    - 229566
                    - 229566
                    - 229566
                    - 229566
                    - 229566
                    - 229566
                    - 229566
                    - 229566
                    - 229566
                    - 229566
                    - 229285
                    - 229285
                    - 229285
                    - 229285
                    - 229285
                    - 229285
                    - 229285
                    - 229285
                    - 229285
                    - 229285
                    - 229285
                    - 229285
                    - 229287
                    - 229287
                    - 229287
                    - 229287
                    - 229287
                    - 229287
                    - 229287
                    - 229287
                    - 229287
                    - 229287
                    - 229287
                    - 229287
                    - 229141
                    - 229141
                    - 229141
                    - 229141
                    - 229141
                    - 229141
                    - 229141
                    - 229141
                    - 229141
                    - 229141
                    - 229141
                    - 229141
                    - 229714
                    - 229714
                    - 229714
                    - 229714
                    - 229714
                    - 229714
                    - 229714
                    - 229714
                    - 229714
                    - 229714
                    - 229714
                    - 229714
                    - 229393
                    - 229393
                    - 229393
                    - 229393
                    - 229393
                    - 229393
                    - 229393
                    - 229393
                    - 229393
                    - 229393
                    - 229393
                    - 229393
                    - 229833
                    - 229833
                    - 229833
                    - 229833
                    - 229833
                    - 229833
                    - 229833
                    - 229833
                    - 229833
                    - 229833
                    - 229833
                    - 229833
                    - 229305
                    - 229305
                    - 229305
                    - 229305
                    - 229305
                    - 229305
                    - 229305
                    - 229305
                    - 229305
                    - 229305
                    - 229305
                    - 229305
                    - 228681
                    - 228681
                    - 228681
                    - 228681
                    - 228681
                    - 228681
                    - 228681
                    - 228681
                    - 228681
                    - 228681
                    - 228681
                    - 228681
                    - 228413
                    - 228413
                    - 228413
                    - 228413
                    - 228413
                    - 228413
                    - 228413
                    - 228413
                    - 228413
                    - 228413
                    - 228413
                    - 228413
                    - 229117
                    - 229117
                    - 229117
                    - 229117
                    - 229117
                    - 229117
                    - 229117
                    - 229117
                    - 229117
                    - 229117
                    - 229117
                    - 229117
                    - 229368
                    - 229368
                    - 229368
                    - 229368
                    - 229368
                    - 229368
                    - 229368
                    - 229368
                    - 229368
                    - 229368
                    - 229368
                    - 229368
                    - 228504
                    - 228504
                    - 228504
                    - 228504
                    - 228504
                    - 228504
                    - 228504
                    - 228504
                    - 228504
                    - 228504
                    - 228504
                    - 228504
                    - 227560
                    - 227560
                    - 227560
              energies:
                - interval: 900
                  statisticsState: valid
                  period: day
                  values:
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                    - 0
                    - 1
                    - 1
                - interval: 21600
                  statisticsState: valid
                  period: week
                  values:
                    - 11
                    - 16
                    - 16
                    - 16
                    - 16
                    - 16
                    - 15
                    - 16
                    - 16
                    - 17
                    - 17
                    - 17
                    - 14
                    - 17
                    - 17
                    - 17
                    - 17
                    - 16
                    - 17
                    - 17
                    - 17
                    - 18
                    - 18
                    - 19
                    - 18
                    - 17
                    - 17
                    - 17
                - interval: 86400
                  statisticsState: valid
                  period: month
                  values:
                    - 27
                    - 64
                    - 64
                    - 65
                    - 67
                    - 69
                    - 72
                    - 41
                    - 0
                    - 48
                    - 71
                    - 70
                    - 70
                    - 71
                    - 71
                    - 71
                    - 70
                    - 71
                    - 45
                    - 0
                    - 0
                    - 0
                    - 28
                    - 53
                    - 57
                    - 57
                    - 57
                    - 57
                    - 57
                    - 58
                    - 47
                - interval: 2678400
                  statisticsState: valid
                  period: twoYears
                  values:
                    - 287
                    - 1534
                    - 1539
                    - 60
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
            timer:
              astronomic:
                sunrise:
                  enabled: false
                sunset:
                  enabled: false
              calendar:
                name: ''
              timerMode: disabled
              weekly: []
              countdown: {}
              daily: {}
              rhytmic: {}
              once: {}
              random: {}
            name: Steckdose Becker Rollo
            isConnected: true
            ain: 11657 0039949
            isGroupUnit: false
            parentUid: 11657 0039949
            unitType: avmPlugSocket
        radioBaseSerial: '000000000000'
        productName: FRITZ!Smart Energy 210
        isZigbeeDevice: false
        lastConnectionTime: 0
        icons: []
        UID: 11657 0039949
        pushMail:
          recipient: mustermann@mail.de
          enabled: true
          units:
            - powerStatisticsPeriod: year
              intervalDriven: weekly
              eventDrivenEnabled: true
              unitUid: 11657 0039949
        unitUids:
          - 11657 0039949
        name: Steckdose Becker Rollo
        firmwareVersion: '04.25'
        ain: 11657 0039949
        manufacturer: AVM
        batteryState: unknown
        isConnected: true
    examples-FST302_device:
      value:
        isDeviceSubscribedLocally: false
        productCategory: thermostat
        lastConnectionTime: 1712307572
        UID: 09995 1015710
        batteryState: known
        radioBaseSerial: '000000000000'
        isBatteryLow: false
        ain: 09995 1015710
        manufacturer: AVM
        productName: FRITZ!Smart Thermo 302
        isZigbeeDevice: false
        icons: []
        units:
          - groupUid: grp9D4BAB-3F83ED4FC
            deviceUid: 09995 1015710
            interfaces:
              temperatureInterface:
                state: valid
                celsius: 24.5
              thermostatInterface:
                comfortTemperature:
                  celsius: 16.5
                  mode: temperature
                boost:
                  enabled: false
                  endTime: 0
                windowOpenMode:
                  enabled: false
                  sensorMode: internal
                  externalAvailableSensors:
                    - 12573 0000350-1
                  endTime: 0
                  externalSensorUids: []
                  internalDuration: 15
                  internalSensitivity: high
                summerPeriod:
                  enabled: true
                  startTime: 21600
                  endTime: 23040
                isHolidayActive: false
                temperatureOffset:
                  externalAvailableSensors:
                    - 11630 0015376
                    - 08761 1033959
                    - 09295 0130704
                    - 11657 0039949
                    - 09995 0897408
                  externalSensorUid: TEST
                  sensorMode: internal
                  internalOffset: 1.5
                lockedDeviceLocalEnabled: false
                temperatureRangeLock:
                  minimum:
                    celsius: 16
                    mode: temperature
                  temperatureLockEnabled: false
                  maximum:
                    celsius: 23
                    mode: temperature
                nextChange:
                  changeTime: 1712614500
                  temperatureChange:
                    celsius: 16.5
                    mode: temperature
                setPointTemperature:
                  celsius: 21
                  mode: temperature
                state: valid
                isSummertimeActive: false
                lockedDeviceApiEnabled: false
                holidayPeriods:
                  periods:
                    - endTime: 1560
                      startTime: 120
                      deleteAfterEndActive: false
                  temperature:
                    celsius: 16
                    mode: temperature
                adaptiveHeatingModeEnabled: true
                isAdaptiveActive: false
                thermostatState: noError
                reducedTemperature:
                  celsius: 21
                  mode: temperature
            icons: []
            UID: 09995 1015710
            statistics:
              temperatures:
                - interval: 900
                  statisticsState: valid
                  period: day
                  values:
                    - 24.5
                    - 24.5
                    - 24.5
                    - 24
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
                    - 0
            timer:
              weekly:
                - time: 1455
                  temperaturePreset: comfort
                - time: 1485
                  temperaturePreset: reduced
                - time: 1560
                  temperaturePreset: comfort
                - time: 1590
                  temperaturePreset: reduced
              timerMode: weekly
            name: REST_Heizung Wohnzimmer
            isConnected: true
            ain: 09995 1015710
            isGroupUnit: false
            parentUid: 09995 1015710
            unitType: avmThermostat
        name: REST_Heizung Wohnzimmer
        isConnected: true
        batteryValue: 80
        pushMail:
          enabled: false
          recipient: ''
        unitUids:
          - 09995 1015710
        firmwareVersion: '05.13'
    examples-FSL500_device:
      value:
        isDeviceSubscribedLocally: false
        productCategory: lamp
        units:
          - groupUid: ''
            deviceUid: 13077 0137031
            interfaces:
              colorControlInterface:
                state: valid
                currentColorMode: temperature
                colorTemperature: 3000
                supportedColorModes:
                  - hueSaturation
                  - temperature
                avmPresets:
                  hsColorPalette:
                    - hueFromPalette: 358
                      presetId: 1
                      saturationFromPalette: 180
                      nameId: 5569
                    - hueFromPalette: 35
                      presetId: 2
                      saturationFromPalette: 214
                      nameId: 5570
                    - hueFromPalette: 52
                      presetId: 3
                      saturationFromPalette: 153
                      nameId: 5571
                    - hueFromPalette: 92
                      presetId: 4
                      saturationFromPalette: 123
                      nameId: 5572
                    - hueFromPalette: 120
                      presetId: 5
                      saturationFromPalette: 160
                      nameId: 5573
                    - hueFromPalette: 160
                      presetId: 6
                      saturationFromPalette: 145
                      nameId: 5574
                    - hueFromPalette: 195
                      presetId: 7
                      saturationFromPalette: 179
                      nameId: 5575
                    - hueFromPalette: 212
                      presetId: 8
                      saturationFromPalette: 169
                      nameId: 5576
                    - hueFromPalette: 225
                      presetId: 9
                      saturationFromPalette: 204
                      nameId: 5577
                    - hueFromPalette: 266
                      presetId: 10
                      saturationFromPalette: 169
                      nameId: 5578
                    - hueFromPalette: 296
                      presetId: 11
                      saturationFromPalette: 140
                      nameId: 5579
                    - hueFromPalette: 335
                      presetId: 12
                      saturationFromPalette: 180
                      nameId: 5580
                    - hueFromPalette: 358
                      presetId: 13
                      saturationFromPalette: 112
                      nameId: 5569
                    - hueFromPalette: 35
                      presetId: 14
                      saturationFromPalette: 140
                      nameId: 5570
                    - hueFromPalette: 52
                      presetId: 15
                      saturationFromPalette: 102
                      nameId: 5571
                    - hueFromPalette: 92
                      presetId: 16
                      saturationFromPalette: 79
                      nameId: 5572
                    - hueFromPalette: 120
                      presetId: 17
                      saturationFromPalette: 82
                      nameId: 5573
                    - hueFromPalette: 160
                      presetId: 18
                      saturationFromPalette: 84
                      nameId: 5574
                    - hueFromPalette: 195
                      presetId: 19
                      saturationFromPalette: 118
                      nameId: 5575
                    - hueFromPalette: 212
                      presetId: 20
                      saturationFromPalette: 110
                      nameId: 5576
                    - hueFromPalette: 225
                      presetId: 21
                      saturationFromPalette: 135
                      nameId: 5577
                    - hueFromPalette: 266
                      presetId: 22
                      saturationFromPalette: 110
                      nameId: 5578
                    - hueFromPalette: 296
                      presetId: 23
                      saturationFromPalette: 92
                      nameId: 5579
                    - hueFromPalette: 335
                      presetId: 24
                      saturationFromPalette: 107
                      nameId: 5580
                    - hueFromPalette: 358
                      presetId: 25
                      saturationFromPalette: 54
                      nameId: 5569
                    - hueFromPalette: 35
                      presetId: 26
                      saturationFromPalette: 72
                      nameId: 5570
                    - hueFromPalette: 52
                      presetId: 27
                      saturationFromPalette: 51
                      nameId: 5571
                    - hueFromPalette: 92
                      presetId: 28
                      saturationFromPalette: 38
                      nameId: 5572
                    - hueFromPalette: 120
                      presetId: 29
                      saturationFromPalette: 38
                      nameId: 5573
                    - hueFromPalette: 160
                      presetId: 30
                      saturationFromPalette: 41
                      nameId: 5574
                    - hueFromPalette: 195
                      presetId: 31
                      saturationFromPalette: 59
                      nameId: 5575
                    - hueFromPalette: 212
                      presetId: 32
                      saturationFromPalette: 56
                      nameId: 5576
                    - hueFromPalette: 225
                      presetId: 33
                      saturationFromPalette: 67
                      nameId: 5577
                    - hueFromPalette: 266
                      presetId: 34
                      saturationFromPalette: 54
                      nameId: 5578
                    - hueFromPalette: 296
                      presetId: 35
                      saturationFromPalette: 46
                      nameId: 5579
                    - hueFromPalette: 335
                      presetId: 36
                      saturationFromPalette: 51
                      nameId: 5580
                  colorTemperaturePaletteList:
                    - 2700
                    - 3000
                    - 3400
                    - 3800
                    - 4200
                    - 4700
                    - 5300
                    - 5900
                    - 6500
              levelControlInterface:
                state: valid
                level: 13
              onOffInterface:
                state: valid
                active: false
                powerOnBehaviour:
                  mode:
                    - 'off'
            icons: []
            UID: 13077 0137031-1
            timer:
              astronomic:
                sunrise:
                  enabled: false
                sunset:
                  enabled: false
              calendar:
                name: ''
              timerMode: disabled
              weekly: []
              countdown: {}
              daily: {}
              sunSimulationMode: both
              rhytmic: {}
              once: {}
              random: {}
            name: FSL500 Lampe
            isConnected: true
            ain: 13077 0137031-1
            isGroupUnit: false
            parentUid: 13077 0137031
            unitType: dimmableColorBulb
        radioBaseSerial: '000000000000'
        productName: FRITZ!Smart Light 500
        isZigbeeDevice: false
        lastConnectionTime: 0
        icons: []
        UID: 13077 0137031
        pushMail:
          recipient: ''
          enabled: false
          units:
            - eventDrivenEnabled: false
              unitUid: 13077 0137031-1
        unitUids:
          - 13077 0137031-1
        name: FSL500 Lampe
        firmwareVersion: 34.10.16.16.015
        ain: 13077 0137031
        manufacturer: AVM
        batteryState: unknown
        isConnected: true
    Telekom_HAN-FUN_Taster:
      value:
        isDeviceSubscribedLocally: false
        productCategory: control
        isZigbeeDevice: false
        lastConnectionTime: 1738913179
        pushMail:
          recipient: ''
          enabled: false
          units:
            - eventDrivenEnabled: false
              unitUid: 11934 0082740-2
            - eventDrivenEnabled: false
              unitUid: 11934 0082740-1
        batteryState: unknown
        radioBaseSerial: '000000000000'
        ain: 11934 0082740
        manufacturer: ''
        productName: HAN-FUN
        icons: []
        units:
          - groupUid: ''
            deviceUid: 11934 0082740
            interfaces:
              buttonInterface:
                state: valid
                availableUnits:
                  - 11657 0039949
                  - 12701 0118147-1
                  - 13077 0137031-1
                  - 11934 0592358-1
                  - 11934 0368330-1
                  - 12701 0011930-1
                  - E8:DF:70:16:65:19
                activePeriod:
                  fixedActivePeriod:
                    startDate: 1719439200
                    startTimePerDay: 0
                    endTimePerDay: 360
                    endDate: 1756245600
                  mode: fixed
                lastEventTime: null
                destinationMode: templates
                availableTemplates:
                  - tmp9D4BAB-400D51C98
                  - tmp9D4BAB-4064C4EF2
                  - tmp9D4BAB-40B0AB5EA
                  - tmp9D4BAB-4064C4D71
                  - tmp9D4BAB-4065894B8
                destinationUids:
                  - tmp9D4BAB-4065894B8
            icons: []
            UID: 11934 0082740-2
            name: TK Taster - Anwesend
            isConnected: true
            ain: 11934 0082740-2
            isGroupUnit: false
            parentUid: 11934 0082740
            unitType: simpleButton
          - groupUid: ''
            deviceUid: 11934 0082740
            interfaces:
              buttonInterface:
                lastEventTime: null
                switchDuration:
                  mode: permanent
                availableTemplates:
                  - tmp9D4BAB-400D51C98
                  - tmp9D4BAB-4064C4EF2
                  - tmp9D4BAB-40B0AB5EA
                  - tmp9D4BAB-4064C4D71
                  - tmp9D4BAB-4065894B8
                destinationUids:
                  - 13077 0137031-1
                destinationMode: units
                controlMode: 'on'
                activePeriod:
                  mode: permanent
                state: valid
                availableUnits:
                  - 11657 0039949
                  - 12701 0118147-1
                  - 13077 0137031-1
                  - 11934 0592358-1
                  - 11934 0368330-1
                  - 12701 0011930-1
                  - E8:DF:70:16:65:19
            icons: []
            UID: 11934 0082740-1
            name: TK Taster - Abwesend
            isConnected: true
            ain: 11934 0082740-1
            isGroupUnit: false
            parentUid: 11934 0082740
            unitType: simpleButton
        name: Telekom Taster
        isConnected: true
        UID: 11934 0082740
        unitUids:
          - 11934 0082740-2
          - 11934 0082740-1
        firmwareVersion: '31.20'
    Telekom_HAN-FUN_Steckdose:
      value:
        isDeviceSubscribedLocally: false
        productCategory: socket
        units:
          - groupUid: grp9D4BAB-3F8DDF4EB
            deviceUid: 11324 0717699
            interfaces:
              onOffInterface:
                state: valid
                active: false
            icons: []
            UID: 11324 0717699-1
            timer:
              astronomic:
                sunrise:
                  enabled: false
                sunset:
                  enabled: false
              calendar:
                name: ''
              timerMode: disabled
              weekly: []
              countdown: {}
              daily: {}
              rhytmic: {}
              once: {}
              random: {}
            name: Telekom Steckdose
            isConnected: true
            ain: 11324 0717699-1
            isGroupUnit: false
            parentUid: 11324 0717699
            unitType: acOutlet
        radioBaseSerial: '000000000000'
        productName: HAN-FUN
        isZigbeeDevice: false
        lastConnectionTime: 0
        icons: []
        UID: 11324 0717699
        pushMail:
          recipient: ''
          enabled: false
          units:
            - eventDrivenEnabled: false
              unitUid: 11324 0717699-1
        unitUids:
          - 11324 0717699-1
        name: Telekom Steckdose
        firmwareVersion: 30.17.04.02.018
        ain: 11324 0717699
        manufacturer: ''
        batteryState: unknown
        isConnected: true
    examples-BeckerRollo_device:
      value:
        isDeviceSubscribedLocally: false
        productCategory: blind
        units:
          - groupUid: grp9D4BAB-3FBE56AB2
            deviceUid: 11934 0368330
            interfaces:
              blindInterface:
                state: valid
                freezeProtectionEnabled: false
                blindState: endPositionConfigured
                flyScreenProtectionEnabled: false
                blindAction: stop
                endPositions:
                  upperEndPositionEnabled: true
                  lowerEndPositionEnabled: true
                  motorReversedActive: true
              levelControlInterface:
                state: valid
                level: 30
              alertInterface:
                state: valid
                lastAlertTime: 0
                alert:
                  - none
            icons: []
            UID: 11934 0368330-1
            timer:
              daily: {}
              astronomic:
                sunrise:
                  enabled: false
                sunset:
                  enabled: false
              calendar:
                name: ''
              once: {}
              weekly: []
              timerMode: disabled
            name: Becker Unterputzrollo
            isConnected: true
            ain: 11934 0368330-1
            isGroupUnit: false
            parentUid: 11934 0368330
            unitType: blind
        radioBaseSerial: '000000000000'
        productName: BoxCTRL D01
        isZigbeeDevice: false
        lastConnectionTime: 0
        icons: []
        UID: 11934 0368330
        pushMail:
          enabled: false
          recipient: ''
        unitUids:
          - 11934 0368330-1
        name: Becker Unterputzrollo
        firmwareVersion: '00.00'
        ain: 11934 0368330
        manufacturer: ''
        batteryState: unknown
        isConnected: true
    FSC400_unit:
      value:
        groupUid: ''
        deviceUid: 13096 0006590
        interfaces:
          buttonInterface:
            state: valid
            availableUnits:
              - 11630 0015376
              - 11657 0039949
              - 08761 1033959
              - 11630 0350912
              - 12701 0118147-1
              - 13077 0137031-1
              - 11934 0592358-1
              - 11934 0368330-1
              - 12701 0011930-1
              - E8:DF:70:16:65:19
            activePeriod:
              mode: unknown
            lastEventTime: 1740390714
            destinationMode: disabled
            availableTemplates:
              - tmp9D4BAB-40CFE63CA
              - tmp9D4BAB-40D006A2B
            destinationUids: []
        icons: []
        UID: 13096 0006590-0
        name: 'FRITZ!Smart Control 400 #28: kurz'
        isConnected: true
        ain: 13096 0006590-0
        isGroupUnit: false
        parentUid: 13096 0006590
        unitType: avmButton
    FSC350_unit:
      value:
        groupUid: ''
        deviceUid: 15282 0032932
        interfaces:
          alertInterface:
            availableThermostats:
              - 09995 1015710
              - 09995 0108139
            availableTemplates:
              - tmp9D4BAB-40CFE63CA
              - tmp9D4BAB-40D006A2B
            destinationUids: []
            destinationMode: disabled
            alerts:
              - closed
            activePeriod:
              mode: unknown
            state: valid
            lastAlertTime: 1740392572
            availableUnits:
              - 11630 0015376
              - 11657 0039949
              - 08761 1033959
              - 11630 0350912
              - 12701 0118147-1
              - 13077 0137031-1
              - 12701 0011930-1
              - E8:DF:70:16:65:19
            thermostatDestinationUids: []
        icons: []
        UID: 15282 0032932-1
        name: 'FRITZ!Smart Control 350 #29'
        isConnected: true
        ain: 15282 0032932-1
        isGroupUnit: false
        parentUid: 15282 0032932
        unitType: windowOpenCloseDetector
    FSC440_unit:
      value:
        groupUid: ''
        deviceUid: 09995 0897408
        interfaces:
          temperatureInterface:
            state: valid
            celsius: 23
          widgetInterface:
            state: valid
            availableWidgets:
              mainWifiBands:
                - 2.4GHz
                - 5GHz
              thermostatFullUnitUids:
                - 09995 1015710
                - 09995 0108139
              telephoneAnsweringMachineUids:
                - TAM0
                - TAM1
                - TAM2
                - TAM3
                - TAM4
              onOffUnitUids:
                - 11630 0015376
                - 11657 0039949
                - 08761 1033959
                - 11630 0350912
                - 12701 0118147-1
                - 13077 0137031-1
                - 12701 0011930-1
                - E8:DF:70:16:65:19
              triggerUids:
                - trg9D4BAB-40CFDDFAE
              thermostatTemperatureUnitUids:
                - 09995 1015710
                - 09295 0130704
                - 09995 0108139
              blindLevelUnitUids:
                - 11934 0592358-1
                - 11934 0368330-1
              colorUnitUids:
                - 13077 0137031-1
                - 12701 0011930-1
              widgetModes:
                - thermostatTemperature
                - thermostatFull
                - 'on'
                - 'off'
                - toggle
                - onOff
                - hsColorPalette
                - colorTemperaturePalette
                - blindLevel
                - template
                - trigger
                - tamControl
                - guestWifi
                - mainWifi
              templateUids:
                - tmp9D4BAB-40CFE63CA
                - tmp9D4BAB-40D006A2B
            secondScreenWidgets:
              - mainWifiBands:
                  - 2.4GHz
                widgetMode: mainWifi
                name: WLAN 2,4 GHz
                position: center
                widgetSize: full
            firstScreenWidgets:
              - destinationUids:
                  - tmp9D4BAB-40D006A2B
                widgetMode: template
                name: Moody
                position: topRight
                widgetSize: quarter
              - destinationUids:
                  - 09995 1015710
                widgetMode: thermostatTemperature
                name: Heizung
                position: bottomCenter
                widgetSize: half
              - destinationUids:
                  - 13077 0137031-1
                  - 12701 0011930-1
                widgetMode: toggle
                name: Lampe
                position: topLeft
                widgetSize: quarter
            temperatureChartEnabled: true
            thirdScreenWidgets:
              - destinationUids:
                  - 11934 0368330-1
                widgetMode: blindLevel
                name: Rollo
                position: topCenter
                widgetSize: half
              - destinationUids:
                  - trg9D4BAB-40CFDDFAE
                widgetMode: trigger
                name: Trigger
                position: bottomCenter
                widgetSize: half
            defaultScreen: temperature
          humidityInterface:
            state: valid
            relativeHumidity: 41
        icons: []
        UID: 09995 0897408
        statistics:
          temperatures:
            - interval: 900
              statisticsState: valid
              period: day
              values:
                - 22.5
                - 22.5
                - 22.5
                - 22.5
                - 21.5
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
          humidities:
            - interval: 900
              statisticsState: valid
              period: day
              values:
                - 42
                - 42
                - 42
                - 42
                - 47
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
                - null
        name: 'FRITZ!Smart Control 440 #27'
        isConnected: true
        ain: 09995 0897408
        isGroupUnit: false
        parentUid: 09995 0897408
        unitType: avmWidgetButton
    examples-Thermostat_group:
      value:
        memberUnitUids:
          - 09995 1015710
          - 09295 0130704
        unit:
          interfaces:
            thermostatInterface:
              comfortTemperature:
                celsius: 16.5
                mode: temperature
              isHolidayActive: false
              isAdaptiveActive: false
              boost:
                enabled: false
                endTime: 0
              nextChange:
                changeTime: 1712614500
                temperatureChange:
                  celsius: 16.5
                  mode: temperature
              setPointTemperature:
                mode: unknown
              state: valid
              isSummertimeActive: false
              holidayPeriods:
                periods:
                  - endTime: 1560
                    startTime: 120
                    deleteAfterEndActive: false
                temperature:
                  celsius: 16
                  mode: temperature
              summerPeriod:
                enabled: true
                startTime: 21600
                endTime: 23040
              adaptiveHeatingModeEnabled: true
              temperatureRangeLock:
                minimum:
                  celsius: 16
                  mode: temperature
                temperatureLockEnabled: false
                maximum:
                  celsius: 23
                  mode: temperature
              windowOpenMode:
                enabled: false
                endTime: 0
              reducedTemperature:
                celsius: 21
                mode: temperature
          icons: []
          UID: grp9D4BAB-3F83ED4FC
          timer:
            weekly:
              - time: 1455
                temperaturePreset: comfort
              - time: 1485
                temperaturePreset: reduced
              - time: 1560
                temperaturePreset: comfort
              - time: 1590
                temperaturePreset: reduced
            timerMode: weekly
          name: Gruppe_HKRs
          isConnected: true
          ain: grp9D4BAB-3F83ED4FC
          isGroupUnit: true
          parentUid: grp9D4BAB-3F83ED4FC
          unitType: thermostatGroup
        name: Gruppe_HKRs
        unitUid: grp9D4BAB-3F83ED4FC
        ain: grp9D4BAB-3F83ED4FC
        groupCategory: thermostat
        icons: []
        UID: grp9D4BAB-3F83ED4FC
    examples-Plugsocket_group:
      value:
        unitUid: grp9D4BAB-3F8DDF4EB
        icons: []
        UID: grp9D4BAB-3F8DDF4EB
        memberUnitUids:
          - 11630 0015376
          - 11324 0717699-1
        groupCategory: switchable
        onOffMasterUid: ''
        ain: grp9D4BAB-3F8DDF4EB
        name: Gruppe_Sockets
        unit:
          interfaces:
            onOffInterface:
              state: valid
              active: false
          icons: []
          UID: grp9D4BAB-3F8DDF4EB
          timer:
            astronomic:
              sunrise:
                enabled: false
              sunset:
                enabled: false
            calendar:
              name: ''
            timerMode: groupTemperatureWeekly
            weekly: []
            countdown: {}
            daily: {}
            rhytmic: {}
            once: {}
            random: {}
            groupTemperatureWeekly:
              sensorUid: 11630 0015376
              availableSensors:
                - 09995 1015710
                - 11630 0015376
                - 09295 0130704
                - 11657 0039949
                - 08761 1033959
                - 09995 0897408
              lowerThresholdTemperature: 10
              heatingModeEnabled: false
              groupWeekly:
                - time: 150
                  groupTemperature: upperThreshold
                - time: 600
                  groupTemperature: lowerThreshold
                - time: 720
                  groupTemperature: upperThreshold
                - time: 960
                  groupTemperature: lowerThreshold
              upperThresholdTemperature: 2
          name: Gruppe_Sockets
          isConnected: true
          ain: grp9D4BAB-3F8DDF4EB
          isGroupUnit: true
          parentUid: grp9D4BAB-3F8DDF4EB
          unitType: switchableGroup
        availableOnOffUnits:
          - 11630 0015376
          - 11657 0039949
          - 08761 1033959
          - 11324 0717699-1
          - 12701 0118147-1
          - 13077 0137031-1
          - 12701 0011930-1
          - 11934 0592197-1
          - 11934 0592197-2
    examples-Lamp_group:
      value:
        unitUid: grp9D4BAB-3F99FC9B9
        icons: []
        UID: grp9D4BAB-3F99FC9B9
        memberUnitUids:
          - 12701 0118147-1
          - 12701 0011930-1
        groupCategory: switchable
        onOffMasterUid: ''
        ain: grp9D4BAB-3F99FC9B9
        name: Gruppe_Lampen
        unit:
          interfaces:
            colorControlInterface:
              state: valid
              activeHsColorPreset: {}
              currentColorMode: hueSaturation
              avmPresets:
                hsColorPalette:
                  - hueFromPalette: 358
                    presetId: 1
                    saturationFromPalette: 180
                    nameId: 5569
                  - hueFromPalette: 35
                    presetId: 2
                    saturationFromPalette: 214
                    nameId: 5570
                  - hueFromPalette: 52
                    presetId: 3
                    saturationFromPalette: 153
                    nameId: 5571
                  - hueFromPalette: 92
                    presetId: 4
                    saturationFromPalette: 123
                    nameId: 5572
                  - hueFromPalette: 120
                    presetId: 5
                    saturationFromPalette: 160
                    nameId: 5573
                  - hueFromPalette: 160
                    presetId: 6
                    saturationFromPalette: 145
                    nameId: 5574
                  - hueFromPalette: 195
                    presetId: 7
                    saturationFromPalette: 179
                    nameId: 5575
                  - hueFromPalette: 212
                    presetId: 8
                    saturationFromPalette: 169
                    nameId: 5576
                  - hueFromPalette: 225
                    presetId: 9
                    saturationFromPalette: 204
                    nameId: 5577
                  - hueFromPalette: 266
                    presetId: 10
                    saturationFromPalette: 169
                    nameId: 5578
                  - hueFromPalette: 296
                    presetId: 11
                    saturationFromPalette: 140
                    nameId: 5579
                  - hueFromPalette: 335
                    presetId: 12
                    saturationFromPalette: 180
                    nameId: 5580
                  - hueFromPalette: 358
                    presetId: 13
                    saturationFromPalette: 112
                    nameId: 5569
                  - hueFromPalette: 35
                    presetId: 14
                    saturationFromPalette: 140
                    nameId: 5570
                  - hueFromPalette: 52
                    presetId: 15
                    saturationFromPalette: 102
                    nameId: 5571
                  - hueFromPalette: 92
                    presetId: 16
                    saturationFromPalette: 79
                    nameId: 5572
                  - hueFromPalette: 120
                    presetId: 17
                    saturationFromPalette: 82
                    nameId: 5573
                  - hueFromPalette: 160
                    presetId: 18
                    saturationFromPalette: 84
                    nameId: 5574
                  - hueFromPalette: 195
                    presetId: 19
                    saturationFromPalette: 118
                    nameId: 5575
                  - hueFromPalette: 212
                    presetId: 20
                    saturationFromPalette: 110
                    nameId: 5576
                  - hueFromPalette: 225
                    presetId: 21
                    saturationFromPalette: 135
                    nameId: 5577
                  - hueFromPalette: 266
                    presetId: 22
                    saturationFromPalette: 110
                    nameId: 5578
                  - hueFromPalette: 296
                    presetId: 23
                    saturationFromPalette: 92
                    nameId: 5579
                  - hueFromPalette: 335
                    presetId: 24
                    saturationFromPalette: 107
                    nameId: 5580
                  - hueFromPalette: 358
                    presetId: 25
                    saturationFromPalette: 54
                    nameId: 5569
                  - hueFromPalette: 35
                    presetId: 26
                    saturationFromPalette: 72
                    nameId: 5570
                  - hueFromPalette: 52
                    presetId: 27
                    saturationFromPalette: 51
                    nameId: 5571
                  - hueFromPalette: 92
                    presetId: 28
                    saturationFromPalette: 38
                    nameId: 5572
                  - hueFromPalette: 120
                    presetId: 29
                    saturationFromPalette: 38
                    nameId: 5573
                  - hueFromPalette: 160
                    presetId: 30
                    saturationFromPalette: 41
                    nameId: 5574
                  - hueFromPalette: 195
                    presetId: 31
                    saturationFromPalette: 59
                    nameId: 5575
                  - hueFromPalette: 212
                    presetId: 32
                    saturationFromPalette: 56
                    nameId: 5576
                  - hueFromPalette: 225
                    presetId: 33
                    saturationFromPalette: 67
                    nameId: 5577
                  - hueFromPalette: 266
                    presetId: 34
                    saturationFromPalette: 54
                    nameId: 5578
                  - hueFromPalette: 296
                    presetId: 35
                    saturationFromPalette: 46
                    nameId: 5579
                  - hueFromPalette: 335
                    presetId: 36
                    saturationFromPalette: 51
                    nameId: 5580
                colorTemperaturePaletteList:
                  - 2700
                  - 3000
                  - 3400
                  - 3800
                  - 4200
                  - 4700
                  - 5300
                  - 5900
                  - 6500
              hsColor:
                hue: 0
                saturation: 0
              supportedColorModes:
                - hueSaturation
                - temperature
            levelControlInterface:
              state: valid
              level: 46
            onOffInterface:
              state: valid
              active: false
          icons: []
          UID: grp9D4BAB-3F99FC9B9
          timer:
            astronomic:
              sunrise:
                enabled: false
              sunset:
                enabled: false
            calendar:
              name: ''
            timerMode: disabled
            weekly: []
            countdown: {}
            daily: {}
            rhytmic: {}
            once: {}
            random: {}
          name: Gruppe_Lampen
          isConnected: true
          ain: grp9D4BAB-3F99FC9B9
          isGroupUnit: true
          parentUid: grp9D4BAB-3F99FC9B9
          unitType: switchableGroup
        availableOnOffUnits:
          - 11630 0015376
          - 11657 0039949
          - 08761 1033959
          - 11324 0717699-1
          - 12701 0118147-1
          - 13077 0137031-1
          - 12701 0011930-1
          - 11934 0592197-1
          - 11934 0592197-2
    examples-Plugsocket_and_Lamp_group:
      value:
        unitUid: grp9D4BAB-3F8DDF4EB
        icons: []
        UID: grp9D4BAB-3F8DDF4EB
        memberUnitUids:
          - 11630 0015376
          - 11324 0717699-1
          - 13077 0137031-1
        groupCategory: switchable
        onOffMasterUid: ''
        ain: grp9D4BAB-3F8DDF4EB
        name: Gruppe_Mixed
        unit:
          interfaces:
            colorControlInterface:
              state: valid
              supportedColorModes:
                - hueSaturation
                - temperature
              currentColorMode: unknown
              avmPresets:
                hsColorPalette:
                  - hueFromPalette: 358
                    presetId: 1
                    saturationFromPalette: 180
                    nameId: 5569
                  - hueFromPalette: 35
                    presetId: 2
                    saturationFromPalette: 214
                    nameId: 5570
                  - hueFromPalette: 52
                    presetId: 3
                    saturationFromPalette: 153
                    nameId: 5571
                  - hueFromPalette: 92
                    presetId: 4
                    saturationFromPalette: 123
                    nameId: 5572
                  - hueFromPalette: 120
                    presetId: 5
                    saturationFromPalette: 160
                    nameId: 5573
                  - hueFromPalette: 160
                    presetId: 6
                    saturationFromPalette: 145
                    nameId: 5574
                  - hueFromPalette: 195
                    presetId: 7
                    saturationFromPalette: 179
                    nameId: 5575
                  - hueFromPalette: 212
                    presetId: 8
                    saturationFromPalette: 169
                    nameId: 5576
                  - hueFromPalette: 225
                    presetId: 9
                    saturationFromPalette: 204
                    nameId: 5577
                  - hueFromPalette: 266
                    presetId: 10
                    saturationFromPalette: 169
                    nameId: 5578
                  - hueFromPalette: 296
                    presetId: 11
                    saturationFromPalette: 140
                    nameId: 5579
                  - hueFromPalette: 335
                    presetId: 12
                    saturationFromPalette: 180
                    nameId: 5580
                  - hueFromPalette: 358
                    presetId: 13
                    saturationFromPalette: 112
                    nameId: 5569
                  - hueFromPalette: 35
                    presetId: 14
                    saturationFromPalette: 140
                    nameId: 5570
                  - hueFromPalette: 52
                    presetId: 15
                    saturationFromPalette: 102
                    nameId: 5571
                  - hueFromPalette: 92
                    presetId: 16
                    saturationFromPalette: 79
                    nameId: 5572
                  - hueFromPalette: 120
                    presetId: 17
                    saturationFromPalette: 82
                    nameId: 5573
                  - hueFromPalette: 160
                    presetId: 18
                    saturationFromPalette: 84
                    nameId: 5574
                  - hueFromPalette: 195
                    presetId: 19
                    saturationFromPalette: 118
                    nameId: 5575
                  - hueFromPalette: 212
                    presetId: 20
                    saturationFromPalette: 110
                    nameId: 5576
                  - hueFromPalette: 225
                    presetId: 21
                    saturationFromPalette: 135
                    nameId: 5577
                  - hueFromPalette: 266
                    presetId: 22
                    saturationFromPalette: 110
                    nameId: 5578
                  - hueFromPalette: 296
                    presetId: 23
                    saturationFromPalette: 92
                    nameId: 5579
                  - hueFromPalette: 335
                    presetId: 24
                    saturationFromPalette: 107
                    nameId: 5580
                  - hueFromPalette: 358
                    presetId: 25
                    saturationFromPalette: 54
                    nameId: 5569
                  - hueFromPalette: 35
                    presetId: 26
                    saturationFromPalette: 72
                    nameId: 5570
                  - hueFromPalette: 52
                    presetId: 27
                    saturationFromPalette: 51
                    nameId: 5571
                  - hueFromPalette: 92
                    presetId: 28
                    saturationFromPalette: 38
                    nameId: 5572
                  - hueFromPalette: 120
                    presetId: 29
                    saturationFromPalette: 38
                    nameId: 5573
                  - hueFromPalette: 160
                    presetId: 30
                    saturationFromPalette: 41
                    nameId: 5574
                  - hueFromPalette: 195
                    presetId: 31
                    saturationFromPalette: 59
                    nameId: 5575
                  - hueFromPalette: 212
                    presetId: 32
                    saturationFromPalette: 56
                    nameId: 5576
                  - hueFromPalette: 225
                    presetId: 33
                    saturationFromPalette: 67
                    nameId: 5577
                  - hueFromPalette: 266
                    presetId: 34
                    saturationFromPalette: 54
                    nameId: 5578
                  - hueFromPalette: 296
                    presetId: 35
                    saturationFromPalette: 46
                    nameId: 5579
                  - hueFromPalette: 335
                    presetId: 36
                    saturationFromPalette: 51
                    nameId: 5580
                colorTemperaturePaletteList:
                  - 2700
                  - 3000
                  - 3400
                  - 3800
                  - 4200
                  - 4700
                  - 5300
                  - 5900
                  - 6500
            levelControlInterface:
              state: unknown
            onOffInterface:
              state: valid
              active: false
          icons: []
          UID: grp9D4BAB-3F8DDF4EB
          timer:
            astronomic:
              sunrise:
                enabled: false
              sunset:
                enabled: false
            calendar:
              name: ''
            timerMode: groupTemperatureWeekly
            weekly: []
            countdown: {}
            daily: {}
            rhytmic: {}
            once: {}
            random: {}
            groupTemperatureWeekly:
              sensorUid: 11630 0015376
              availableSensors:
                - 09995 1015710
                - 11630 0015376
                - 09295 0130704
                - 11657 0039949
                - 08761 1033959
                - 09995 0897408
              lowerThresholdTemperature: 10
              heatingModeEnabled: false
              groupWeekly:
                - time: 150
                  groupTemperature: upperThreshold
                - time: 600
                  groupTemperature: lowerThreshold
                - time: 720
                  groupTemperature: upperThreshold
                - time: 960
                  groupTemperature: lowerThreshold
              upperThresholdTemperature: 2
          name: Gruppe_Mixed
          isConnected: true
          ain: grp9D4BAB-3F8DDF4EB
          isGroupUnit: true
          parentUid: grp9D4BAB-3F8DDF4EB
          unitType: switchableGroup
        availableOnOffUnits:
          - 11630 0015376
          - 11657 0039949
          - 08761 1033959
          - 11324 0717699-1
          - 12701 0118147-1
          - 13077 0137031-1
          - 12701 0011930-1
          - 11934 0592197-1
          - 11934 0592197-2
    examples-Blind_group:
      value:
        memberUnitUids:
          - 14276 0454345-1
          - 11934 0368330-1
        unit:
          interfaces:
            blindInterface:
              state: valid
              blindAction: stop
            levelControlInterface:
              state: valid
              level: 0
          icons: []
          UID: grp9D4BAB-3FBE56AB2
          timer:
            daily: {}
            astronomic:
              sunrise:
                enabled: false
              sunset:
                enabled: false
            calendar:
              name: ''
            once: {}
            weekly: []
            timerMode: disabled
          name: Gruppe_Rollos
          isConnected: true
          ain: grp9D4BAB-3FBE56AB2
          isGroupUnit: true
          parentUid: grp9D4BAB-3FBE56AB2
          unitType: blindGroup
        name: Gruppe_Rollos
        unitUid: grp9D4BAB-3FBE56AB2
        ain: grp9D4BAB-3FBE56AB2
        groupCategory: blind
        icons: []
        UID: grp9D4BAB-3FBE56AB2
    examples-Socket_Toggle_template:
      value:
        availableDestinations:
          colorUnitUids:
            - grp9d4bab-4145A7184
            - 12701 0012930-1
            - 13077 0139031-1
          lampLevelUnitUids:
            - grp9d4bab-4145A7184
            - 12701 0012930-1
            - 13077 0139031-1
          onOffUnitUids:
            - 11657 0049949
            - 08761 1043959
            - 11630 0014376
            - 12573 0000402
            - 08761 0444432
            - grp9d4bab-4145A7184
            - 12701 0012930-1
            - 13077 0139031-1
            - E8:DF:70:16:65:19
        name: Vorlage Steckdose Toggle
        delayTime: 0
        ain: tmp9d4bab-415B279AF
        template:
          memberUnitUids:
            - 13077 0137031-1
          isAutoCreated: false
          interfaces:
            colorControlInterface: {}
            levelControlInterface: {}
            onOffInterface:
              switchDuration:
                mode: permanent
              controlMode: toggle
          memberType: onOff
        applyType:
          - relayManual
        UID: tmp9d4bab-415B279AF
    examples-Blind_Level_template:
      value:
        availableDestinations:
          blindLevelUnitUids:
            - grp9d4bab-413E3A3A6
            - 14376 0454345-1
        name: Vorlage Rollo Level
        delayTime: 0
        ain: tmp9d4bab-415B27D03
        template:
          memberUnitUids:
            - 14376 0454345-1
          isAutoCreated: false
          interfaces:
            levelControlInterface:
              level: 20
              mode: fixed
          memberType: blind
        applyType:
          - level
        UID: tmp9d4bab-415B27D03
    examples-Lampe_Level_Color_On_template:
      value:
        availableDestinations:
          colorUnitUids:
            - grp9d4bab-4145A7184
            - 12701 0011930-1
            - 13077 0137031-1
          lampLevelUnitUids:
            - grp9d4bab-4145A7184
            - 12701 0011930-1
            - 13077 0137031-1
          onOffUnitUids:
            - 11657 0039949
            - 08761 1033959
            - 11630 0015376
            - 12573 0000502
            - 08761 0447432
            - grp9d4bab-4145A7184
            - 12701 0011930-1
            - 13077 0137031-1
            - E8:DF:70:16:65:19
        name: Vorlgage Lampe Farbe Level
        delayTime: 0
        ain: tmp9d4bab-415B282AD
        template:
          memberUnitUids:
            - 13077 0137031-1
          isAutoCreated: false
          interfaces:
            colorControlInterface:
              avmPresets:
                hsColorPalette:
                  - hueFromPalette: 358
                    presetId: 1
                    saturationFromPalette: 180
                    nameId: 5569
                  - hueFromPalette: 35
                    presetId: 2
                    saturationFromPalette: 214
                    nameId: 5570
                  - hueFromPalette: 52
                    presetId: 3
                    saturationFromPalette: 153
                    nameId: 5571
                  - hueFromPalette: 92
                    presetId: 4
                    saturationFromPalette: 123
                    nameId: 5572
                  - hueFromPalette: 120
                    presetId: 5
                    saturationFromPalette: 160
                    nameId: 5573
                  - hueFromPalette: 160
                    presetId: 6
                    saturationFromPalette: 145
                    nameId: 5574
                  - hueFromPalette: 195
                    presetId: 7
                    saturationFromPalette: 179
                    nameId: 5575
                  - hueFromPalette: 212
                    presetId: 8
                    saturationFromPalette: 169
                    nameId: 5576
                  - hueFromPalette: 225
                    presetId: 9
                    saturationFromPalette: 204
                    nameId: 5577
                  - hueFromPalette: 266
                    presetId: 10
                    saturationFromPalette: 169
                    nameId: 5578
                  - hueFromPalette: 296
                    presetId: 11
                    saturationFromPalette: 140
                    nameId: 5579
                  - hueFromPalette: 335
                    presetId: 12
                    saturationFromPalette: 180
                    nameId: 5580
                  - hueFromPalette: 358
                    presetId: 13
                    saturationFromPalette: 112
                    nameId: 5569
                  - hueFromPalette: 35
                    presetId: 14
                    saturationFromPalette: 140
                    nameId: 5570
                  - hueFromPalette: 52
                    presetId: 15
                    saturationFromPalette: 102
                    nameId: 5571
                  - hueFromPalette: 92
                    presetId: 16
                    saturationFromPalette: 79
                    nameId: 5572
                  - hueFromPalette: 120
                    presetId: 17
                    saturationFromPalette: 82
                    nameId: 5573
                  - hueFromPalette: 160
                    presetId: 18
                    saturationFromPalette: 84
                    nameId: 5574
                  - hueFromPalette: 195
                    presetId: 19
                    saturationFromPalette: 118
                    nameId: 5575
                  - hueFromPalette: 212
                    presetId: 20
                    saturationFromPalette: 110
                    nameId: 5576
                  - hueFromPalette: 225
                    presetId: 21
                    saturationFromPalette: 135
                    nameId: 5577
                  - hueFromPalette: 266
                    presetId: 22
                    saturationFromPalette: 110
                    nameId: 5578
                  - hueFromPalette: 296
                    presetId: 23
                    saturationFromPalette: 92
                    nameId: 5579
                  - hueFromPalette: 335
                    presetId: 24
                    saturationFromPalette: 107
                    nameId: 5580
                  - hueFromPalette: 358
                    presetId: 25
                    saturationFromPalette: 54
                    nameId: 5569
                  - hueFromPalette: 35
                    presetId: 26
                    saturationFromPalette: 72
                    nameId: 5570
                  - hueFromPalette: 52
                    presetId: 27
                    saturationFromPalette: 51
                    nameId: 5571
                  - hueFromPalette: 92
                    presetId: 28
                    saturationFromPalette: 38
                    nameId: 5572
                  - hueFromPalette: 120
                    presetId: 29
                    saturationFromPalette: 38
                    nameId: 5573
                  - hueFromPalette: 160
                    presetId: 30
                    saturationFromPalette: 41
                    nameId: 5574
                  - hueFromPalette: 195
                    presetId: 31
                    saturationFromPalette: 59
                    nameId: 5575
                  - hueFromPalette: 212
                    presetId: 32
                    saturationFromPalette: 56
                    nameId: 5576
                  - hueFromPalette: 225
                    presetId: 33
                    saturationFromPalette: 67
                    nameId: 5577
                  - hueFromPalette: 266
                    presetId: 34
                    saturationFromPalette: 54
                    nameId: 5578
                  - hueFromPalette: 296
                    presetId: 35
                    saturationFromPalette: 46
                    nameId: 5579
                  - hueFromPalette: 335
                    presetId: 36
                    saturationFromPalette: 51
                    nameId: 5580
                colorTemperaturePaletteList:
                  - 2700
                  - 3000
                  - 3400
                  - 3800
                  - 4200
                  - 4700
                  - 5300
                  - 5900
                  - 6500
              activeHsColorPreset:
                hueFromPalette: 35
                presetId: 2
                saturationFromPalette: 214
                nameId: 5570
              hsColor:
                hue: 15
                saturation: 255
            levelControlInterface:
              level: 80
              mode: fixed
            onOffInterface:
              switchDuration:
                mode: permanent
              controlMode: 'on'
          memberType: onOff
        applyType:
          - relayManual
          - level
          - color
        UID: tmp9d4bab-415B282AD
    examples-Szenario_Preset_Coming_Home_template:
      value:
        availableDestinations:
          templateUids: []
        name: Nach Hause kommen
        delayTime: 300
        ain: tmp9d4bab-415B286D2
        scenario:
          templateUids:
            - tmp9d4bab-415B286A9
            - tmp9d4bab-415B286B3
            - tmp9d4bab-415B286BE
            - tmp9d4bab-415B286C8
          type: coming
          icons:
            - 1
        applyType:
          - subTemplates
        UID: tmp9d4bab-415B286D2
    examples-Szenario_Generic_template:
      value:
        availableDestinations:
          templateUids:
            - tmp9d4bab-415B28B85
            - tmp9d4bab-415B28A91
        name: Filmabend
        delayTime: 0
        ain: tmp9d4bab-415B28C9B
        scenario:
          icons:
            - 3
          templateUids:
            - tmp9d4bab-415B28A91
            - tmp9d4bab-415B28B85
        applyType:
          - subTemplates
        UID: tmp9d4bab-415B28C9B
x-tagGroups:
  - name: Smart Home
    tags:
      - smarthome-overview
      - smarthome-configuration
      - smarthome-connect
