FRITZ! Smart Home REST API (1.0.0)

Download OpenAPI specification:

This is the specification for the FRITZ! Smart Home REST API for FRITZ!OS 8.50.

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 and certain FRITZ!Box models support 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
SmarthomeRestApiFRITZOS85.yaml Disclaimer:
The internal structure and naming scheme inside the specification is not guaranteed and could change in the feature.

Changelog

Version Info
0.9.5 initial release (F!OS 08.20)
- basic control of all smart home features
- configuration for all device types, groups and templates
- device subscription features via the connect endpoint
1.0.0 support for F!OS 08.50
- configuration of triggers
- configuration of geofences
- support for FRITZ!Smart Thermo 303

Known Issues for FRITZ!OS 8.20

Error Property Description possible Workaround
orphaned memberUnitUids in lists template.memberUnitUids
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: 2026-09-18

(C) FRITZ! GmbH, Berlin

Overview

provides basic information and control for all FRITZ!Box SmartHome entities

Get all overview infos and lists

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
- battery info
- connection status
- etc.
units actuators & sensors tracking and control of device functions
- track temperature
- turn a socket on/off
- etc.
groups grouping of units allows for grouping of actuator units
- 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
- colorPalettes
- location
Authorizations:
AVM-SID

Responses

Response samples

Content type
application/json
{
  • "devices": [
    ],
  • "units": [
    ],
  • "groups": [
    ],
  • "triggers": [
    ],
  • "templates": [
    ],
  • "globals": {
    }
}

Get list of devices

devices

  • physical devices (e.g. battery or connection status, etc.)
  • each device has at least one unit
Authorizations:
AVM-SID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get device by UID

devices

  • physical devices (e.g. battery or connection status, etc.)
  • each device has at least one unit
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: 99238 4279382

UID of device to return, may be IPUI (International Portable User Identity), MACA or Zigbee Identifier

Responses

Response samples

Content type
application/json
Example
{
  • "isDeviceSubscribedLocally": false,
  • "productCategory": "socket",
  • "isUpdateAvailable": false,
  • "radioBaseSerial": "000000000000",
  • "productName": "FRITZ!Smart Energy 200",
  • "isZigbeeDevice": false,
  • "lastConnectionTime": 0,
  • "icons": [ ],
  • "UID": "11630 0015376",
  • "pushMail": {
    },
  • "unitUids": [
    ],
  • "name": "FSE200 Steckdose",
  • "firmwareVersion": "04.26",
  • "ain": "11630 0015376",
  • "manufacturer": "AVM",
  • "batteryState": "unknown",
  • "isConnected": true
}

Get list of groups

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
Authorizations:
AVM-SID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get group by UID

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
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: grpFBF8B6-11915

UID of group to return

Responses

Response samples

Content type
application/json
Example
{
  • "memberUnitUids": [
    ],
  • "name": "Gruppe_HKRs",
  • "unitUid": "grp9D4BAB-3F83ED4FC",
  • "ain": "grp9D4BAB-3F83ED4FC",
  • "groupCategory": "thermostat",
  • "icons": [ ],
  • "UID": "grp9D4BAB-3F83ED4FC"
}

Get list of units

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
Authorizations:
AVM-SID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get unit by UID

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
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: 11137 7239736-1

UID of unit to return

Responses

Response samples

Content type
application/json
Example
{
  • "groupUid": "grp9D4BAB-3F8DDF4EB",
  • "deviceUid": "11630 0015376",
  • "interfaces": {
    },
  • "icons": [ ],
  • "UID": "11630 0015376",
  • "statistics": {
    },
  • "name": "FSE200 Steckdose",
  • "isConnected": true,
  • "ain": "11630 0015376",
  • "isGroupUnit": false,
  • "parentUid": "11630 0015376",
  • "unitType": "avmPlugSocket"
}

Control interfaces for unit by UID

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
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: 11137 7239736-1

UID of unit that needs to be updated

Request Body schema: application/json
required

update an existent unit

required
object (IF_putUnitInterfaces)
  • functional interfaces for units
  • may be empty if no supported interface is present

Responses

Request samples

Content type
application/json
{
  • "interfaces": {
    }
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Get list of templates

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
Authorizations:
AVM-SID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get template by UID

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
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: 11630 0015376

UID of template to return

Responses

Response samples

Content type
application/json
Example
{
  • "name": "Vorlage Steckdose Toggle",
  • "ain": "tmp9D4BAB-3F42B59F6",
  • "template": {
    },
  • "applyType": [
    ],
  • "UID": "tmp9D4BAB-3F42B59F6"
}

Applies a template by UID

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
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: 11630 0015376

UID of template that should be applied

Request Body schema: application/json

Apply a template

triggerEvent
required
boolean

trigger/apply the template

Responses

Request samples

Content type
application/json
{
  • "triggerEvent": true
}

Get list of triggers

triggers

  • triggers check for values in interfaces of units (<, >, =, ...) or other events from F!OS and allow the automatic applying of templates based on events or conditions
  • combine up to 5 different events or conditions with a logical AND or OR
Authorizations:
AVM-SID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get trigger by UID

triggers

  • triggers check for values in interfaces of units (<, >, =, ...) or other events from F!OS and allow the automatic applying of templates based on events or conditions
  • combine up to 5 different events or conditions with a logical AND or OR
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: 11630 0015376

UID of trigger to return

Responses

Response samples

Content type
application/json
Example
{
  • "ain": "trg9D4BAB-3FC9C824E",
  • "enabled": true,
  • "name": "Heating on",
  • "UID": "trg9D4BAB-3FC9C824E"
}

Activate or deactivate trigger by UID

triggers

  • triggers check for values in interfaces of units (<, >, =, ...) or other events from F!OS and allow the automatic applying of templates based on events or conditions
  • combine up to 5 different events or conditions with a logical AND or OR
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: 11630 0015376

UID of trigger that needs to be updated

Request Body schema: application/json
required

update an existent trigger

enabled
required
boolean

is the trigger activated

Responses

Request samples

Content type
application/json
{
  • "enabled": true
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Get smart home global values

smart home avmPresets for lamps and location

Authorizations:
AVM-SID

Responses

Response samples

Content type
application/json
{
  • "avmPresets": {
    },
  • "location": {
    },
  • "energyKeyFigures": {
    },
  • "featureFlags": {
    }
}

Configure smart home global values

smart home avmPresets for lamps and location

Authorizations:
AVM-SID
Request Body schema: application/json
required

modify smart home global values

object

feature flags for smart home

Responses

Request samples

Content type
application/json
{
  • "featureFlags": {
    }
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Configuration

provides extended information and configuration options for all physical devices and their units

Get device configuration by UID

devices

  • physical devices (e.g. battery or connection status, etc.)
  • each device has at least one unit
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: 99238 4279382

UID of device to return, may be IPUI (International Portable User Identity), MACA or Zigbee Identifier

Responses

Response samples

Content type
application/json
Example
{
  • "isDeviceSubscribedLocally": false,
  • "productCategory": "socket",
  • "units": [
    ],
  • "radioBaseSerial": "000000000000",
  • "productName": "FRITZ!Smart Energy 210",
  • "isZigbeeDevice": false,
  • "lastConnectionTime": 0,
  • "icons": [ ],
  • "UID": "11657 0039949",
  • "pushMail": {
    },
  • "unitUids": [
    ],
  • "name": "Steckdose Becker Rollo",
  • "firmwareVersion": "04.25",
  • "ain": "11657 0039949",
  • "manufacturer": "AVM",
  • "batteryState": "unknown",
  • "isConnected": true
}

Configure and control device by UID

devices

  • physical devices (e.g. battery or connection status, etc.)
  • each device has at least one unit
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: 11630 0015376

UID of device that needs to be updated

Request Body schema: application/json
required

update an existent device

name
string <bytes> [ 1 .. 39 ] characters

user defined name of physical device, up to 39 2-Byte UTF-8 characters or up to 79 bytes allowed

object
  • Push-service for the device and corresponding units
  • only works for local F!Box/Gateway, not in smart home Mesh

Responses

Request samples

Content type
application/json
{
  • "name": "Lamp Living Room",
  • "pushMail": {
    }
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Delete device by UID

  • 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
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: 11630 0015376

UID of device which should be deleted

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Get unit configuration by UID

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
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: 11137 7239736-1

UID of unit to return

Responses

Response samples

Content type
application/json
Example
{
  • "groupUid": "",
  • "deviceUid": "13096 0006590",
  • "interfaces": {
    },
  • "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"
}

Configure and control unit by UID

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
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: 11137 7239736-1

UID of unit that needs to be updated

Request Body schema: application/json
required

update an existent unit

name
string <bytes> (unit_name_configuration) [ 1 .. 39 ] characters

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)

object (helper_unit_timer)

Timer object for automatic action of units, consists of a time object and a corresponding action

object
  • functional interfaces for units
  • may be empty if no supported interface is present

Responses

Request samples

Content type
application/json
{
  • "name": "Top Button",
  • "timer": {
    },
  • "interfaces": {
    }
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Create new group

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
Authorizations:
AVM-SID
Request Body schema: application/json
required

Create a new group

name
required
string <bytes> [ 1 .. 39 ] characters

user defined name of group, up to 39 2-Byte UTF-8 characters or up to 79 bytes allowed

memberUnitUids
required
Array of strings
  • 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

Responses

Request samples

Content type
application/json
{
  • "name": "Lights Bedroom",
  • "memberUnitUids": [
    ]
}

Response samples

Content type
application/json
{
  • "UID": "grp9D4BAB-3F8DDF4EB"
}

Get group configuration by UID

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
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: grp9D4BAB-3F83ED4FC

UID of group to return

Responses

Response samples

Content type
application/json
Example
{
  • "memberUnitUids": [
    ],
  • "unit": {
    },
  • "name": "Gruppe_HKRs",
  • "unitUid": "grp9D4BAB-3F83ED4FC",
  • "ain": "grp9D4BAB-3F83ED4FC",
  • "groupCategory": "thermostat",
  • "icons": [ ],
  • "UID": "grp9D4BAB-3F83ED4FC"
}

Configure and control group by UID

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
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: grp9D4BAB-3F83ED4FC

UID of group that needs to be updated

Request Body schema: application/json
required

update an existent group

name
string <bytes> [ 1 .. 39 ] characters

user defined name of group, up to 39 2-Byte UTF-8 characters or up to 79 bytes allowed

memberUnitUids
Array of strings
  • 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
onOffMasterUnitUid
string
  • unique identifier of group-master unit
  • only units with an onOffInterface are allowed
  • other members of the group will follow the master

Responses

Request samples

Content type
application/json
{
  • "name": "Lights Bedroom",
  • "memberUnitUids": [
    ],
  • "onOffMasterUnitUid": "11568 0157891-1"
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Delete group by UID

  • deletes group from smart home
  • deletion is usually always allowed for local groups
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: grp9D4BAB-3F83ED4FC

UID of group which should be deleted

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Create new template

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
Authorizations:
AVM-SID
Request Body schema: application/json
required
  • create a new template
  • either the template-object or scenario-object is required
name
required
string <bytes> [ 1 .. 39 ] characters

user defined name of template, up to 39 2-Byte UTF-8 characters or up to 79 bytes allowed

object
  • 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
object
  • groups scenario info
  • scenarios are used for grouping templates and applying them all at once
delayTime
integer <= 604801
  • delay time in seconds
  • if set, applying a template will not execute it immediately, but after configured time

Responses

Request samples

Content type
application/json
{
  • "name": "Movie Night",
  • "template": {
    },
  • "scenario": {
    },
  • "delayTime": 604801
}

Response samples

Content type
application/json
{
  • "UID": "tmp9d4bab-410A6AF15"
}

Get template configuration by UID

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
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: tmpFBF8B6-11C2C

UID of template to return

Responses

Response samples

Content type
application/json
Example
{
  • "availableDestinations": {
    },
  • "name": "Vorlage Steckdose Toggle",
  • "delayTime": 0,
  • "ain": "tmp9d4bab-415B279AF",
  • "template": {
    },
  • "applyType": [
    ],
  • "UID": "tmp9d4bab-415B279AF"
}

Configure and control template by UID

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
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: tmpFBF8B6-11C2C

UID of template that needs to be updated

Request Body schema: application/json
required

update an existent template

name
string <bytes> [ 1 .. 39 ] characters

user defined name of template, up to 39 2-Byte UTF-8 characters or up to 79 bytes allowed

object
  • 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
object
  • groups scenario info
  • scenarios are used for grouping templates and applying them all at once
delayTime
integer <= 604801
  • delay time in seconds
  • if set, applying a template will not execute it immediately, but after configured time

Responses

Request samples

Content type
application/json
{
  • "name": "Movie Night",
  • "template": {
    },
  • "scenario": {
    },
  • "delayTime": 604801
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Delete template by UID

  • deletes template from smart home
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: tmpFBF8B6-11C2C

UID of template which should be deleted

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Get possible template configuration capabilities

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
Authorizations:
AVM-SID

Responses

Response samples

Content type
application/json
{
  • "applyTypes": [
    ],
  • "interfaces": [
    ],
  • "thermostatUnitUids": [
    ],
  • "onOffUnitUids": [
    ],
  • "lampLevelUnitUids": [
    ],
  • "blindLevelUnitUids": [
    ],
  • "colorUnitUids": [
    ],
  • "templateUids": [
    ],
  • "triggerUids": [
    ],
  • "telephoneAnsweringMachineUids": [
    ]
}

Create new trigger

triggers

  • triggers check for values in interfaces of units (<, >, =, ...) or other events from F!OS and allow the automatic applying of templates based on events or conditions
  • combine up to 5 different events or conditions with a logical AND or OR
Authorizations:
AVM-SID
Request Body schema: application/json
required
  • create a new trigger
enabled
required
boolean

is the trigger activated

targetTemplateUid
required
string

UID of template which should applied once the trigger activates

cooldownTime
integer [ 0 .. 86400 ]
Default: 0

time in seconds, for which the trigger will not activate again after being triggered once

hysteresisTime
integer [ 0 .. 86400 ]
Default: 0
  • important: only available for state-dependent triggers
  • time in seconds, for which the thresholds of configured thresholds need to be exceeded for the trigger to activate
  • if logicOperator is set to and: all of the configured triggers need to exceed their respective threshold
  • if logicOperator is set to or: at least one of the configured triggers needs to exceed its respective threshold
logicOperator
required
string
Enum: "and" "or"
  • boolean logic operator for combining multiple trigger in the triggers list
  • if only one trigger is configured, the logicOperator has no effect
  • or: one of the configured conditions need to be met
  • and: all of the configured conditions need to be met
  • and is only valid in case all of the configured triggers in the triggers list are state dependent
required
Array of objects [ 1 .. 5 ] items
  • list of events/conditions of multiple triggers
  • allows for more complex combinations of multiple values, events or states to be checked against at once
  • to configure whether one or all condtions need to be fulfilled use the logicOperator
  • when configuring state-independent (==event-based) triggers, you are only allowed to set or as the logicOperator

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "targetTemplateUid": "tmpFBF8B6-11C2C",
  • "cooldownTime": 60,
  • "hysteresisTime": 60,
  • "logicOperator": "and",
  • "triggers": [
    ]
}

Response samples

Content type
application/json
{
  • "UID": "trgFBF8B6-11FB8"
}

Get trigger configuration by UID

triggers

  • triggers check for values in interfaces of units (<, >, =, ...) or other events from F!OS and allow the automatic applying of templates based on events or conditions
  • combine up to 5 different events or conditions with a logical AND or OR
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: trg9d4bab-4145A77B2

UID of trigger to return

Responses

Response samples

Content type
application/json
Example
{
  • "isLocalTrigger": true,
  • "targetTemplateUid": "tmp9d4bab-429E36214",
  • "UID": "trg9d4bab-42AC1E53A",
  • "triggers": [
    ],
  • "cooldownTime": 3600,
  • "name": "Dehumidify",
  • "availableConfiguration": {
    },
  • "ain": "trg9d4bab-42AC1E53A",
  • "logicOperator": "or",
  • "enabled": true,
  • "hysteresisTime": 300
}

Configure and control trigger by UID

triggers

  • triggers check for values in interfaces of units (<, >, =, ...) or other events from F!OS and allow the automatic applying of templates based on events or conditions
  • combine up to 5 different events or conditions with a logical AND or OR
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: trg9d4bab-4145A77B2

UID of trigger that needs to be updated

Request Body schema: application/json
required

update an existent trigger

enabled
boolean

is the trigger activated

targetTemplateUid
string

UID of template which should applied once the trigger activates

cooldownTime
integer [ 0 .. 86400 ]
Default: 0

time in seconds, for which the trigger will not activate again after being triggered once

hysteresisTime
integer [ 0 .. 86400 ]
Default: 0
  • important: only available for state-dependent triggers
  • time in seconds, for which the thresholds of configured thresholds need to be exceeded for the trigger to activate
  • if logicOperator is set to and: all of the configured triggers need to exceed their respective threshold
  • if logicOperator is set to or: at least one of the configured triggers needs to exceed its respective threshold
logicOperator
string
Enum: "and" "or"
  • boolean logic operator for combining multiple trigger in the triggers list
  • if only one trigger is configured, the logicOperator has no effect
  • or: one of the configured conditions need to be met
  • and: all of the configured conditions need to be met
  • and is only valid in case all of the configured triggers in the triggers list are state dependent
Array of objects [ 1 .. 5 ] items
  • list of events/conditions of multiple triggers
  • allows for more complex combinations of multiple values, events or states to be checked against at once
  • to configure whether one or all condtions need to be fulfilled use the logicOperator
  • when configuring state-independent (==event-based) triggers, you are only allowed to set or as the logicOperator

Responses

Request samples

Content type
application/json
{
  • "enabled": true,
  • "targetTemplateUid": "tmpFBF8B6-11C2C",
  • "cooldownTime": 60,
  • "hysteresisTime": 60,
  • "logicOperator": "and",
  • "triggers": [
    ]
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Delete trigger by UID

  • deletes trigger from smart home
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: trg9d4bab-4145A77B2

UID of trigger which should be deleted

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Get possible trigger configuration capabilities

triggers

  • triggers check for values in interfaces of units (<, >, =, ...) or other events from F!OS and allow the automatic applying of templates based on events or conditions
  • combine up to 5 different events or conditions with a logical AND or OR
Authorizations:
AVM-SID

Responses

Response samples

Content type
application/json
{
  • "logicOperators": [
    ],
  • "types": [
    ],
  • "templateUids": [
    ],
  • "temperatureUnitUids": [
    ],
  • "powerUnitUids": [
    ],
  • "humidityUnitUids": [
    ],
  • "onOffUnitUids": [
    ],
  • "alertUnitUids": [
    ],
  • "buttonUnitUids": [
    ],
  • "levelUnitUids": [
    ],
  • "thermostatUnitUids": [
    ],
  • "telephoneAnsweringMachineUids": [
    ],
  • "geofenceRegistrationUids": [
    ],
  • "illuminanceUnitUids": [
    ]
}

Connect

provides states and functions relevant to smart home subscriptions

Get list of radioBases

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
Authorizations:
AVM-SID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get radioBase by Serial

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
Authorizations:
AVM-SID
path Parameters
serial
required
string
Example: 02B1EB1A4DBA

serial (based on MAC-address) of radioBase to return

Responses

Response samples

Content type
application/json
{
  • "serial": "02B1EB1A4DBA",
  • "isZigbeeAvailable": true,
  • "isDectAvailable": true,
  • "activeSubscriptionUid": "6DA5BC33CED64CF98D134C913D0BA574",
  • "isSmarthomeMaster": false
}

Get subscription state by UID

subscription

  • local subscription and deletion of smart home devices is always available
  • remote subscriptions and deletions are only available on the smart home master
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: 6DA5BC33CED64CF98D134C913D0BA574

UID of subscription to return

Responses

Response samples

Content type
application/json
{
  • "UID": "6DA5BC33CED64CF98D134C913D0BA574",
  • "state": "initial",
  • "time": 1697440931,
  • "deviceUid": "99238 4279382"
}

Start Subscription on radioBase by Serial

subscription

  • local subscription and deletion of smart home devices is always available
  • remote subscriptions and deletions are only available on the smart home master
Authorizations:
AVM-SID
path Parameters
serial
required
string
Example: 02B1EB1A4DBA

serial (based on MAC-Address) of radioBase to start subscription on

Request Body schema: application/json
optional

start subscription

triggerDect
boolean
  • start DECT subscription on radioBase
  • if not provided, default is true
triggerZigbee
boolean
  • start Zigbee subscription on radioBase
  • if not provided, default is true
triggerResubscription
boolean
  • for DECT devices only
  • allows for renewal of subscription of already known DECT devices
  • if not provided, default is false

Responses

Request samples

Content type
application/json
{
  • "triggerDect": true,
  • "triggerZigbee": true,
  • "triggerResubscription": false
}

Response samples

Content type
application/json
{
  • "subscriptionUid": "6DA5BC33CED64CF98D134C913D0BA574"
}

Stop Subscription on radioBase by Serial

subscription

  • local subscription and deletion of smart home devices is always available
  • remote subscriptions and deletions are only available on the smart home master
Authorizations:
AVM-SID
path Parameters
serial
required
string
Example: 02B1EB1A4DBA

serial (based on MAC-Address) of radioBase to stop subscription on

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Set resetCode on zigbee radioBase

Zigbee specific reset code for unpairing devices

Authorizations:
AVM-SID
path Parameters
serial
required
string
Example: 02B1EB1A4DBA

serial (based on MAC-Address) of zigbee radioBase to post resetCode

Request Body schema: application/json
resetCode
required
string

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.

Responses

Request samples

Content type
application/json
{
  • "resetCode": "24E831"
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Set installCode on zigbee radioBase

Zigbee specific installation code for secure pairing

Authorizations:
AVM-SID
path Parameters
serial
required
string
Example: 02B1EB1A4DBA

serial (based on MAC-Address) of zigbee radioBase to post installCode

Request Body schema: application/json
installCode
required
string

The device-specific Zigbee installation code allows for a secure pairing of Zigbee devices to the radioBase.

deviceAddress
required
string

The Zigbee device address needed for using the install code.

Responses

Request samples

Content type
application/json
{
  • "installCode": "402E530207320C30DDB7B230218C52E8FE92",
  • "deviceAddress": "4C2CB2FDEF000B2FDL"
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Geofence

provides information relevant to smart home geofences

Get list of geofences zones

Geofence Zone

  • geofences allow for automation via triggers on location based events
  • geofence zones are defined by a set of coordinates and a corresponding radius
  • entering or exiting such a zone is handled in the registrations
  • the geofence endpoint is only supported on the smart home master box
Authorizations:
AVM-SID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create geofence zone

Geofence Zone

  • geofences allow for automation via triggers on location based events
  • geofence zones are defined by a set of coordinates and a corresponding radius
  • entering or exiting such a zone is handled in the registrations
  • the geofence endpoint is only supported on the smart home master box
Authorizations:
AVM-SID
Request Body schema: application/json
required

Create a new geofence zone

required
object

coordinates of geofence zone center point

radius
required
integer [ 100 .. 10000000 ]

radius for border of geofence zone in meters

name
required
string <bytes> [ 1 .. 127 ] characters

user defined name of geofence zone, up to 127 2-Byte UTF-8 characters or up to 255 bytes allowed

type
string
Enum: "home" "unknown"

classification of geofence zone

Responses

Request samples

Content type
application/json
{
  • "coordinates": {
    },
  • "radius": 150,
  • "name": "Home",
  • "type": "home"
}

Response samples

Content type
application/json
{
  • "UID": "zon9D4BAB-3F42B59F6"
}

Get geofence zone by UID

Geofence Zone

  • geofences allow for automation via triggers on location based events
  • geofence zones are defined by a set of coordinates and a corresponding radius
  • entering or exiting such a zone is handled in the registrations
  • the geofence endpoint is only supported on the smart home master box
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: zon9D4BAB-3F42B59F6

UID of geofence zone to return

Responses

Response samples

Content type
application/json
{
  • "coordinates": {
    },
  • "radius": 150,
  • "name": "Home",
  • "UID": "zon9D4BAB-3F42B59F6",
  • "type": "home"
}

Configure geofence zone by UID

Geofence Zone

  • geofences allow for automation via triggers on location based events
  • geofence zones are defined by a set of coordinates and a corresponding radius
  • entering or exiting such a zone is handled in the registrations
  • the geofence endpoint is only supported on the smart home master box
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: zon9D4BAB-3F42B59F6

UID of geofence zone which should be modified

Request Body schema: application/json
required

update an existent geofence zone

object

coordinates of geofence zone center point

radius
integer [ 100 .. 10000000 ]

radius for border of geofence zone in meters

name
string <bytes> [ 1 .. 127 ] characters

user defined name of geofence zone, up to 127 2-Byte UTF-8 characters or up to 255 bytes allowed

type
string
Enum: "home" "unknown"

classification of geofence zone

Responses

Request samples

Content type
application/json
{
  • "coordinates": {
    },
  • "radius": 150,
  • "name": "Home",
  • "type": "home"
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Delete geofence zone by UID

Geofence Zone

  • geofences allow for automation via triggers on location based events
  • geofence zones are defined by a set of coordinates and a corresponding radius
  • entering or exiting such a zone is handled in the registrations
  • the geofence endpoint is only supported on the smart home master box
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: 6DA5BC33CED64CF98D134C913D0BA574

UID of geofence zone which should be deleted

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Get list of geofence registrations

Geofence Registration

  • to notify a smart home base of a geofence event you can link one or more registrations to a specific geofence zone
  • as of today this is only fully supported for the FRITZ!App Smart Home (iOS/Android)
  • registrations without a valid appRegistrationId will be automatically deleted by some cleanup process (e.g. after a reboot)
  • the geofence endpoint is only supported on the smart home master box
Authorizations:
AVM-SID

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create geofence registration

Geofence Registration

  • to notify a smart home base of a geofence event you can link one or more registrations to a specific geofence zone
  • as of today this is only fully supported for the FRITZ!App Smart Home (iOS/Android)
  • registrations without a valid appRegistrationId will be automatically deleted by some cleanup process (e.g. after a reboot)
  • the geofence endpoint is only supported on the smart home master box
Authorizations:
AVM-SID
Request Body schema: application/json
required

Create a new geofence registration

geofenceZoneUid
required
string

UID of linked geofence zone

appRegistrationId
required
string <bytes> [ 1 .. 200 ] characters

box-internal ID of registered application, up to 200 bytes allowed

registrationEnabled
required
boolean

when disabled, setting of geofenceState is not allowed

Responses

Request samples

Content type
application/json
{
  • "geofenceZoneUid": "zon9D4BAB-3F42B59F6",
  • "appRegistrationId": "deavmfritzappsmarthomeC99E9999FD9A99E99C99999999DE9999",
  • "registrationEnabled": true
}

Response samples

Content type
application/json
{
  • "UID": "reg1B2C45-3F42B59F6"
}

Get geofence registration by UID

Geofence Registration

  • to notify a smart home base of a geofence event you can link one or more registrations to a specific geofence zone
  • as of today this is only fully supported for the FRITZ!App Smart Home (iOS/Android)
  • registrations without a valid appRegistrationId will be automatically deleted by some cleanup process (e.g. after a reboot)
  • the geofence endpoint is only supported on the smart home master box
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: reg1B2C45-3F42B59F6

UID of geofence registration to return

Responses

Response samples

Content type
application/json
{
  • "UID": "reg1B2C45-3F42B59F6",
  • "geofenceZoneUid": "zon9D4BAB-3F42B59F6",
  • "appRegistrationId": "deavmfritzappsmarthomeC99E9999FD9A99E99C99999999DE9999",
  • "registrationEnabled": true,
  • "geofenceState": "entered",
  • "lastEnterTime": 0,
  • "lastLeaveTime": 0
}

Configure geofence registration by UID

Geofence Registration

  • to notify a smart home base of a geofence event you can link one or more registrations to a specific geofence zone
  • as of today this is only fully supported for the FRITZ!App Smart Home (iOS/Android)
  • registrations without a valid appRegistrationId will be automatically deleted by some cleanup process (e.g. after a reboot)
  • the geofence endpoint is only supported on the smart home master box
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: appUID

UID of geofence registration which should be modified

Request Body schema: application/json
required

update an existent geofence registration

geofenceZoneUid
string

UID of linked geofence zone

appRegistrationId
string <bytes> [ 1 .. 200 ] characters

box-internal ID of registered application, up to 200 bytes allowed

registrationEnabled
boolean

when disabled, setting of geofenceState is not allowed

geofenceState
string
Enum: "entered" "left" "unknown"

state of linked geofence zone

lastEnterTime
integer or null

UTC unix timestamp of last entry into linked geofence zone

lastLeaveTime
integer or null

UTC timestamp of last exit out of linked geofence zone

Responses

Request samples

Content type
application/json
{
  • "geofenceZoneUid": "zon9D4BAB-3F42B59F6",
  • "appRegistrationId": "deavmfritzappsmarthomeC99E9999FD9A99E99C99999999DE9999",
  • "registrationEnabled": true,
  • "geofenceState": "entered",
  • "lastEnterTime": 0,
  • "lastLeaveTime": 0
}

Response samples

Content type
application/json
{
  • "errors": [
    ]
}

Delete geofence registration by UID

Geofence Registration

  • to notify a smart home base of a geofence event you can link one or more registrations to a specific geofence zone
  • as of today this is only fully supported for the FRITZ!App Smart Home (iOS/Android)
  • registrations without a valid appRegistrationId will be automatically deleted by some cleanup process (e.g. after a reboot)
  • the geofence endpoint is only supported on the smart home master box
Authorizations:
AVM-SID
path Parameters
UID
required
string
Example: appUID

UID of geofence registration which should be deleted

Responses

Response samples

Content type
application/json
{
  • "errors": [
    ]
}