How to get started on the ABB Developer Portal


How to create an account for the ABB Developer Portal

To create an account you simply have to click the "Sign up" button on the start page of the developer portal. Additionally you are also able to use your already existing myBuildings Portal account to log in. To create an account just browse here.


Why is a myBuildings Portal account required to log in to the ABB Developer Portal?

The myBuildings portal is the central point for our customers to register and manage all Internet-enabled devices for Smart Home and Smart Building. In order to give you the most user-friendly handling possible, we offer you login on both portals with only one pair of user credentials.


How to activate the myBuildings Portal account for the ABB Developer Portal

To activate your myBuildings Portal account for the ABB Developer Portal please simply use the request button on the start page. After successful review of our API Team you get an approval as developer. Afterwards you are able to log into the portal with your credentials and enter all required areas..


How to get access to different APIs on the developer portal

To get access to different APIs you simply have to click the Product area and subscribe to the APIs you want to start development with.



How to use the free@home cloud API to access and control your smart home


free@home cloud API model

The ABB-free@home smart home systems connect to the ABB-cloud and send all state changes to the cloud. The free@home API provides endpoints to request the current configuration or data model. Additional endpoints allow to get and set datapoints which represent the current state of the devices in your smart home.

With a WebSocket connection or using a WebHook the application can be informed about changes to the model or datapoints without polling.

Then there is a endpoint to register virtual devices on the ABB-free@home smart home system that represent 3rd-party hardware.


Data model

The data model consists of the different ABB-free@home smart home systems (also called SysAP) that are registered for the same ABB-myBuildings Account. The SysAPs are identified by their UUID or Site ID. Most endpoints return a JSON-Object where the SysAP-UUID is the key for the response object from this SysAP.

A simplified response from the configuration endpoint looks like this:

{
  "1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1": {
    "sysapName": "my little SysAP",
    "devices": {
      "BEED2CD50001": {
        "displayName": "Dimmable lamp",
        "floor": "04",
        "room" : "01",
        "channels": {
          "ch0000": {
            "displayName": "Dimmable lamp",
            "floor": "04",
            "room" : "01",
            "type": "BEED0064",
            "functionID": "0012",
            "inputs": {
              "idp0000": {
                "pairingID":1,
                "value":"1"
              },
              "idp0001": {
                "pairingID":16,
                "value": "50"
              }
            }
            "outputs": {
              "odp0000": {
                "pairingID":256,
                "value":"0"
              },
              "odp0001": {
                "pairingID":272,
                "value":"0"
              }
            }
          }
        }
      }
    }
    "floorplan": {
      "floors": {
        "04": { 
          "name":"First floor",
          "rooms": {
            "01": {
              "name":"Office"
            },
            "02": {
              "name":"Kitchen"
            }
          }
        }
      }
    }
  }
}

In this shortened example you see that there is a single SysAP sending its data model. That model consists of devices (here only one) that consists of channels that are made of input and output datapoints.


Devices and Channels

The channels in the devices are used to establish specific applications like switching and dimming etc. A device with multiple functions has multiple channels. Both devices and channels have attributes like displayName, floor and room that not always have the same values. In most cases you should use the values from the channel. For example a 4-channel switching actuator may have his different outputs in different rooms. The floor and room attributes may be missing then the user has not set a location in the free@home configuration.

Devices are identified by their ID or serial, in the example above: BEED2CD50001. Channel IDs are numbered with a prefix of ch. Both IDs are used as keys in the hashmaps under devices and channels.

The meaning of a channel is given by the attribute functionID that is given as a 4-digit hexadecimal number.

In the example the device BEED2CD50001 has only one channel (ch0000) with the functionID of "0012" which represents a Dimming actuator. Here are some other possible values, see the reference documentation for a complete list:

functionID name
0000 Switch sensor
0001 Dimming sensor
0003 Blind sensor
0007 Switch actuator
0009 Shutter actuator
000a Room temperature controller master with fan
000b Room temperature controller slave
0012 Dimming actuator
0023 Room temperature controller master without fan
0025 LED Brightness sensor
0061 Blind actuator
0062 Attic window actuator
0063 Awning actuator
4000 Light group
4001 Blind group
4a00 Timer program switch actuator

Function IDs

Here is a list of currently used function ids in free@home:

 

Function ID

Name

Description

0x0000

FID_SwitchSensor

Switch sensor

0x0001

FID_DimmingSensor

Dimming sensor

0x0003

FID_BlindSensor

Blind sensor

0x0004

FID_StairCaseLightSensor

Staircase light sensor

0x0005

FID_ForceOnOffSensor

Force on/off sensor

0x0006

FID_SceneSensor

Scene sensor

0x0007

FID_SwitchActuator

Switch actuator

0x0008

FID_StairCaseLightActuator

Staircase light actuator

0x0009

FID_ShutterActuator

Shutter actuator

0x000A

FID_RoomTemperatureController-MasterWithFan

Room temperature controller master with fan

0x000B

FID_RoomTemperatureController-Slave

Room temperature controller slave

0x000C

FID_WindAlarmSensor

Wind alarm sensor

0x000D

FID_FrostAlarmSensor

Frost alarm sensor

0x000E

FID_RainAlarmSensor

Rain alarm sensor

0x000F

FID_WindowDoorSensor

Window door sensor

0x0010

FID_NotificationSensor

Notification sensor

0x0011

FID_MovementDetector

Movement detector

0x0012

FID_DimmingActuator

Dimming actuator

0x0013

FID_NotificationCenter

Notification center

0x0014

FID_RadiatorActuator

Radiator actuator

0x0015

FID_UnderfloorHeating

Underfloor heating

0x0016

FID_FanCoil

Fan coil

0x0017

FID_TwoLevelController

Two level controller

0x0018

FID_PushButtonSensor

Push button sensor

0x0019

FID_DuplicateRingIndicationSensor

Duplicate_ringindication sensor

0x001A

FID_DESDoorOpenerActuator

Des-door opener actuator

0x001B

FID_Proxy

Proxy

0x001C

FID_FanCoilSensor

Fan coil sensor

0x001D

FID_DESLevelCallActuator

Des-level call actuator

0x001E

FID_DESLevelCallSensor

Des-level call sensor

0x001F

FID_DESDoorRingingSensor

Des-door ringing sensor

0x0020

FID_DESAutomaticDoorOpener-Actuator

Des-automatic-door-opener actuator

0x0021

FID_DESLightSwitchActuator

Des-light switch actuator

0x0022

FID_DESUnknownHVACActuator

Des unknown hvac actuator

0x0023

FID_RoomTemperatureController-MasterWithoutFan

Room temperature controller master without fan

0x0024

FID_CoolingActuator

Cooling actuator

0x0025

FID_LEDBrightnessSensor

Led brightness sensor

0x0026

FID_DateAndTime

Date and time

0x0027

FID_HeatingActuator

Heating actuator

0x0028

FID_ForceUpDownSensor

Force up/down sensor

0x0029

FID_HeatingCoolingActuator

Heating cooling actuator

0x002A

FID_HeatingCoolingSensor

Heating/cooling sensor

0x002B

FID_DESDeviceSettings

Des-device settings

0x002C

FID_SACEBlindActuator

Sace blind actuator

0x002D

FID_RGBSensor

Rgb sensor

0x002E

FID_RGBWActuator

Rgb-w actuator

0x002F

FID_RGBActuator

Rgb actuator

0x0030

FID_PanelSwitchSensor

Panel switch sensor

0x0031

FID_PanelDimmingSensor

Panel dimming sensor

0x0033

FID_PanelBlindSensor

Panel blind sensor

0x0034

FID_PanelStairCaseLightSensor

Panel staircase light sensor

0x0035

FID_PanelForceOnOffSensor

Panel force on/off sensor

0x0036

FID_PanelForceUpDownSensor

Panel force up/down sensor

0x0037

FID_PanelSceneSensor

Panel scene sensor

0x0038

FID_PanelRoomTemperature-ControllerSlave

Panel room temperature controller slave

0x0039

FID_PanelFanCoilSensor

Panel fan coil sensor

0x003A

FID_PanelRGBCtSensor

Panel rgb ct sensor

0x003B

FID_PanelRGBSensor

Panel rgb sensor

0x003C

FID_PanelCtSensor

Panel ct sensor

0x003D

FID_AdditionalHeatingActuator

Additional heating actuator

0x003E

FID_RadiatorActuatorMaster

Radiator actuator master

0x003F

FID_RadiatorActuatorSlave

Radiator actuator slave

0x0040

FID_ColorTemperatureActuator

Colortemperature actuator

0x0041

FID_BrightnessSensor

Brightness sensor

0x0042

FID_RainSensor

Rain sensor

0x0043

FID_TemperatureSensor

Temperature sensor

0x0044

FID_WindSensor

Wind sensor

0x0045

FID_Trigger

Trigger

0x0047

FID_FCA2pipeheating

Fca: 2-pipe heating

0x0048

FID_FCA2pipecooling

Fca: 2-pipe cooling

0x0049

FID_FCA2pipeheatingcooling

Fca: 2-pipe heating/cooling

0x004A

FID_FCA4pipeheatingandcooling

Fca: 4-pipe heating and cooling

0x004B

FID_WindowDoorActuator

Window door actuator

0x004E

FID_InverterInfo

Inverter info

0x004F

FID_MeterInfo

Meter info

0x0050

FID_BatteryInfo

Battery info

0x0051

FID_PanelTimerProgramSwitchSensor

Panel timer program switch sensor

0x0053

FID_SafetySensor

Safety sensor

0x0054

FID_CentralUnitActuator

Central unit actuator

0x0055

FID_DomusTechZone

Domustech zone

0x0056

FID_CentralHeatingActuator

Central heating actuator

0x0057

FID_CentralCoolingActuator

Central cooling actuator

0x0058

FID_LinkActuator

Link actuator

0x0059

FID_HouseKeeping

House keeping

0x005A

FID_MediaPlayer

Media player

0x005B

FID_PanelRoomTemperature-ControllerSlaveForBatteryDevice

Panel room temperature controller slave for battery device

0x005C

FID_WelcomeIPMuteSensor

Welcome ip mute sensor

0x005D

FID_WelcomeIPMuteActuator

Welcome ip mute actuator

0x005E

FID_WelcomeIPDoorOpenSensor

Welcome ip door open sensor

0x005F

FID_WelcomeIPSwitchSensor

Welcome ip switch sensor

0x0060

FID_PanelMediaPlayerSensor

Panel media player sensor

0x0061

FID_BlindActuator

Blind actuator

0x0062

FID_AtticWindowActuator

Attic window actuator

0x0063

FID_AwningActuator

Awning actuator

0x0064

FID_WindowDoorPositionSensor

Window door position sensor

0x0065

FID_WindowDoorPositionActuator

Window door position actuator

0x0066

FID_MediaPlaybackControlSensor

Media playback control sensor

0x0067

FID_MediaVolumeSensor

Media volume sensor

0x0068

FID_Dishwasher

Dishwasher

0x0069

FID_Laundry

Laundry

0x006A

FID_Dryer

Dryer

0x006B

FID_Oven

Oven

0x006C

FID_Fridge

Fridge

0x006D

FID_Freezer

Freezer

0x006E

FID_Hood

Hood

0x006F

FID_Coffeemachine

Coffee machine

0x0070

FID_FridgeFreezer

Fridgefreezer

0x0071

FID_TimerProgramOrAlertSwitch-Sensor

Timer program or alert switch sensor

0x0072

FID_WelcomeIPBellIndicatorSensor

Welcome ip bell indicator sensor

0x0073

FID_CeilingFanActuator

Ceilingfanactuator

0x0074

FID_CeilingFanSensor

Ceilingfansensor

0x0075

FID_SplitUnitGateway

Splitunitgateway

0x0076

FID_Zone

Zone

0x0077

FID_24hZone

24h zone

0x0078

FID_ExternalIRSensorBX80

Externalirsensorbx80

0x0079

FID_ExternalIRSensorVXI

Externalirsensorvxi

0x007A

FID_ExternalIRSensorMini

Externalirsensormini

0x007B

FID_ExternalIRSensorHighAltitude

Externalirsensorhighaltitude

0x007C

FID_ExternalIRSensorCurtain

Externalirsensorcurtain

0x007D

FID_SmokeDetector

Smokedetector

0x007E

FID_CarbonMonoxideSensor

Carbonmonoxidesensor

0x007F

FID_MethaneDetector

Methanedetector

0x0080

FID_GasSensorLPG

Gassensorlpg

0x0081

FID_FloodDetection

Flooddetection

0x0082

FID_DomusCentralUnitNextGen

Domuscentralunitnextgen

0x0083

FID_Thermostat

Thermostat

0x0084

FID_PanelDomusZoneSensor

Paneldomuszonesensor

0x0085

FID_ThermostatSlave

Thermostat slave

0x0086

FID_DomusSecureIntegration

Domussecureintegration

0x0087

FID_AdditionalCoolingActuator

Additionalcoolingactuator

0x4000

FID_LightGroup

Light group

0x4001

FID_DimmerGroup

Dimmer group

0x4002

FID_BlindGroup

Blind group

0x4003

FID_DimmerGroupType2

Dimmer group type 2

0x4004

FID_RGBGroup

Rgb group

0x4800

FID_Scene

Scene

0x4801

FID_SpecialScenePanic

special scene: panic

0x4802

FID_SpecialSceneAllOff

special scene: all off

0x4803

FID_SpecialSceneAllBlindsUp

special scene: all blinds up

0x4804

FID_SpecialSceneAllBlindsDown

special scene: all blinds down

0x4A00

FID_TimerProgramSwitchActuator

Timer program switch actuator

0x4A01

FID_AlertSwitchActuator

Alert switch actuator

 

 

 

Input and output datapoints

The datapoints represent the internal state of the devices. Input and output is meant from the perspective of the device. Setting new values to an input datapoint will change the state and will be represented by changed output datapoint values. Input datapoints are used to control the device and output datapoints are the feedback datapoints that show the current condition in which the device is. The input and output datapoints can be distinguished by their prefix idp and odp.

You can use the pairingID to determine the semantic for a datapoint. This pairingID also define values or value types you can write to a datapoint. For reading and writing datapoints the value is always encoded as string.

In the example above the first input datapoint (idp0000) has a pairingID of 1, which specifies a On/Off switch. Here are some other values:

pairingID in/out name value
1 in Switch On/Off 0 - Off
1 - On
17 in Absolute control of the set value percent from 0 to 100
32 in Move sunblind up / down 0 - up
1 - down
33 in Stops the sunblind and to step it up/down 0
35 in Moves the sunblinds into a specified position position from 0 to 100 percent
51 out Defines the displayed set point temperature of the system temperature in °C
54 out states: on/off; heating/cooling; eco/comfort; frost/not frost bitmask:
0x01 - comfort mode
0x02 - standby
0x04 - eco mode
0x08 - building protect
0x10 - dew alarm
0x20 - heat (set) / cool (unset)
0x40 - no heating/cooling (set)
0x80 - frost alarm
56 out Switches controller on or off. Off means protection mode 0 - off (Protection mode)
1 - on (Comfort mode or Eco mode)
58 in Switches eco mode on or off 0 - off
1 - on
66 in Request for switching controller on or off. Off means protection mode 0 - off (Protection mode)
1 - on (Comfort mode or Eco mode)
256 out Info On/Off 0 - Off
1 - On
272 out Info Actual dimming value brightness from 0 to 100 percent
288 out indicate the move up/down and stop state 0 - not moving
2 - moves up
3 - moves down
289 out Indicate the current position of the sunblinds in percentage position from 0 to 100 percent
320 in Absolute set point temperature input for timer temperature in °C

See the reference for a complete list:

Pairing IDs

Here is a list of currently used pairing ids in free@home:

 

Pariring ID

Name

Description

0x0001

PID_SwitchOnOff

 

0x0002

PID_TimedStartStop

 

0x0003

PID_Forced

 

0x0004

PID_SceneControl

 

0x0005

PID_DoorOpener

 

0x0006

PID_TimedMovement

 

0x0007

PID_TimedPresence

 

0x0010

PID_RelativeSetValueControl

 

0x0011

PID_AbsoluteSetValueControl

 

0x0012

PID_Night

 

0x0013

PID_ResetError

 

0x0014

PID_NightActuatorForSysAP

 

0x0015

PID_RGB

 

0x0016

PID_ColorTemperature

 

0x0017

PID_HSV

 

0x0018

PID_Color

 

0x0019

PID_Saturation

 

0x0020

PID_MoveUpDown

 

0x0021

PID_Stop_StepUpDown

 

0x0022

PID_DedicatedStop

 

0x0023

PID_SetAbsolutePositionBlinds-Percentage

 

0x0024

PID_SetAbsolutePositionSlats-Percentage

 

0x0025

PID_WindAlarm

 

0x0026

PID_FrostAlarm

 

0x0027

PID_RainAlarm

 

0x0028

PID_ForcedUpDown

 

0x0029

PID_WindowDoorPosition

 

0x0030

PID_ActuatingValueHeating

 

0x0031

PID_FanCoilLevel

 

0x0032

PID_ActuatingValueCooling

 

0x0033

PID_SetPointTemperature

 

0x0034

PID_RelativeSetPointTemperature

 

0x0035

PID_WindowDoorSensor

 

0x0036

PID_StateIndication

 

0x0037

PID_FanManualOnOff

 

0x0038

PID_ControllerOnOff

 

0x0039

PID_RelativeSetPointRequest

 

0x003A

PID_EcoOnOff

 

0x003B

PID_ComfortTemperature

 

0x0040

PID_FanStageRequest

 

0x0041

PID_FanManualOnOffRequest

 

0x0042

PID_ControllerOnOffRequest

 

0x0043

PID_ValueAdditionalHeating

 

0x0044

PID_EcoOnOffIndication

 

0x0100

PID_InfoOnOff

 

0x0101

PID_InfoForce

 

0x0105

PID_SysAPInfoOnOff

 

0x0106

PID_SysAPInfoForce

 

0x0110

PID_InfoActualDimmingValue

 

0x0111

PID_InfoError

 

0x0115

PID_SysAPInfoActualDimmingValue

 

0x0116

PID_SysAPInfoError

 

0x0117

PID_InfoRGB

 

0x0118

PID_InfoColorTemperature

 

0x0119

PID_SysAPInfoRGB

 

0x011A

PID_SysAPInfoColorTemperature

 

0x011B

PID_InfoHSV

 

0x011C

PID_SysAPInfoHSV

 

0x011D

PID_InfoColorMode

 

0x011E

PID_SysAPInfoColorMode

 

0x0120

PID_InfoMoveUpDown

 

0x0121

PID_CurrentAbsolutePositionBlinds-Percentage

 

0x0122

PID_CurrentAbsolutePositionSlats-Percentage

 

0x0123

PID_ValidCurrentAbsolutePosition

 

0x0125

PID_SysAPInfoMoveUpDown

 

0x0126

PID_SysAPCurrentAbsolutePosition-BlindsPercentage

 

0x0127

PID_SysAPCurrentAbsolutePosition-SlatsPercentage

 

0x0130

PID_MeasuredTemperature

 

0x0131

PID_InfoValueHeating

 

0x0132

PID_InfoValueCooling

 

0x0133

PID_ResetOverload

 

0x0135

PID_HeatingCooling

 

0x0136

PID_ActuatingFanStageHeating

 

0x0140

PID_InfoAbsSetPointRequest

 

0x0141

PID_InfoActuatingValueAddHeating

 

0x0142

PID_InfoActuatingValueAddCooling

 

0x0143

PID_ActuatingValueAddHeating

 

0x0144

PID_ActuatingValueAddCooling

 

0x0145

PID_InfoFanActuatingStageHeating

 

0x0146

PID_InfoFanManOnOffHeating

 

0x0147

PID_ActuatingFanStageCooling

 

0x0149

PID_InfoFanActuatingStageCooling

 

0x014A

PID_InfoFanManOnOffCooling

 

0x014B

PID_HeatingActive

 

0x014C

PID_CoolingActive

 

0x014D

PID_HeatingDemand

 

0x014E

PID_CoolingDemand

 

0x014F

PID_InfoHeatingDemand

 

0x0150

PID_InfoCoolingDemand

 

0x0151

PID_Humidity

 

0x0152

PID_AuxOnOffrequest

 

0x0153

PID_AuxOnOffresponse

 

0x0154

PID_HeatingOnOffrequest

 

0x0155

PID_CoolingOnOffrequest

 

0x0156

PID_InfoOperationMode

 

0x0157

PID_InfoSwingMode

 

0x0158

PID_Supportedfeatures

 

0x0159

PID_Extendedstatus

 

0x015A

PID_ExtendedstatusUS

 

0x0160

PID_RelativeFanSpeedControl

 

0x0161

PID_AbsoluteFanSpeedControl

 

0x0162

PID_InfoAbsoluteFanSpeed

 

0x0163

PID_SysAPInfoAbsoluteFanSpeed

 

0x01A0

PID_NotificationFlags

 

0x0201

PID_NotificationStart

 

0x0202

PID_NotificationEnd

 

0x0300

PID_SetoperatingMode

 

0x0301

PID_HeatingCoolingDomustech

 

0x0400

PID_OutdoorTemperature

 

0x0401

PID_WindForce

 

0x0402

PID_BrightnessAlarm

 

0x0403

PID_BrightnessLevel

 

0x0404

PID_WindSpeed

 

0x0405

PID_RainSensorActivationPercentage

 

0x0406

PID_RainSensorFrequency

 

0x0440

PID_MediaPlay

 

0x0441

PID_MediaPause

 

0x0442

PID_MediaNext

 

0x0443

PID_MediaPrevious

 

0x0444

PID_MediaPlayMode

 

0x0445

PID_MediaMute

 

0x0446

PID_RelativeVolumeControl

 

0x0447

PID_AbsoluteVolumeControl

 

0x0448

PID_GroupMembership

 

0x0449

PID_PlayFavorite

 

0x044A

PID_PlayNextFavorite

 

0x0460

PID_PlaybackStatus

 

0x0461

PID_InfoMediaCurrentItemMetadata

 

0x0462

PID_InfoMute

 

0x0463

PID_InfoActualVolume

 

0x0464

PID_AllowedPlaybackActions

 

0x0465

PID_InfoGroupMembership

 

0x0466

PID_InfoPlayingFavorite

 

0x0467

PID_AbsoluteGroupVolumeControl

 

0x0468

PID_InfoAbsoluteGroupVolume

 

0x0469

PID_InfoCurrentMediaSource

 

0x04A0

PID_SolarPowerProduction

 

0x04A1

PID_InverterOutputPower

 

0x04A2

PID_SolarEnergyToday

 

0x04A3

PID_InjectedEnergyToday

 

0x04A4

PID_PurchasedEnergyToday

 

0x04A5

PID_NotificationRunStandalone

 

0x04A6

PID_SelfConsumption

 

0x04A7

PID_SelfSufficiency

 

0x04A8

PID_HomePowerConsumption

 

0x04A9

PID_PowerToGrid

 

0x04AA

PID_ConsumedEnergyToday

 

0x04AB

PID_NotificationMeterCommunication-ErrorWarning

 

0x04AC

PID_SOC

 

0x04AD

PID_BatteryPower

 

0x0500

PID_SystemstateDomustech

 

0x0501

PID_DisarmSystem

 

0x0502

PID_DisarmCounter

 

0x0503

PID_SMStriggerevent

 

0x0504

PID_InfoIntrusionAlarm

 

0x0505

PID_InfoSafetyAlarm

 

0x0506

PID_Armed

 

0x0507

PID_InfoErrorStatus

 

0x0508

PID_EnableConfiguration

 

0x0509

PID_DomusZoneCtrl

 

0x050A

PID_DomusKeyInfo

 

0x050B

PID_ZoneStatus

 

0x050C

PID_SensorStatus

 

0x050D

PID_InfoConfigurationStatus

 

0x0600

PID_StartStop

 

0x0601

PID_PauseResume

 

0x0602

PID_SelectProgram

 

0x0603

PID_Delayedstarttime

 

0x0604

PID_Infostatus

 

0x0605

PID_Inforemotestartenabled

 

0x0606

PID_Infoprogram

 

0x0607

PID_Infofinishtime

 

0x0608

PID_Infodelayedstarttime

 

0x0609

PID_Infodoor

 

0x060A

PID_Infodooralarm

 

0x060B

PID_Switchsupercool

 

0x060C

PID_Switchsuperfreeze

 

0x060D

PID_Infoswitchsupercool

 

0x060E

PID_Infoswitchsuperfreeze

 

0x060F

PID_Currenttemperatureappliance1

 

0x0610

PID_Currenttemperatureappliance2

 

0x0611

PID_Setpointtemperatureappliance1

 

0x0612

PID_Setpointtemperatureappliance2

 

0xF001

PID_TimeOfDay

 

0xF002

PID_Date

 

0xF003

PID_MessageCenterNotification

 

0xF101

PID_SwitchEntityOnOff

 

0xF102

PID_InfoSwitchEntityOnOff

 

0xF104

PID_ConsistencyTag

 

0xF105

PID_BatteryStatus

 

0xF106

PID_StayAwake

 

0xF107

PID_Proxy16bit

 

0xF108

PID_Proxy1Byte

 

0xF109

PID_Proxy2Byte

 

0xF10A

PID_Proxy4Byte

 

0xF10B

PID_CyclicSleepTime

 

0xF10C

PID_SysAPPresence

 

0xF10D

PID_SysAPTemperature

 

0xFF01

PID_MeasuredTemperature1

 

0xFF02

PID_MeasuredTemperature2

 

0xFF03

PID_MeasuredTemperature3

 

0xFF04

PID_MeasuredTemperature4

 

 

 


Websocket

The free@home cloud API provides a websocket endpoint to enable the API user to get immediately informed about changes to datapoints or the configuration without polling.

After connecting to the websocket all events in the free@home smart home system will be send on the websocket as JSON objects.

A event looks like this:

{
  "1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1": {
    "configDirty":"false",
    "datapoints":{
      "ABB70000098B/ch0000/odp0000":"1",
      "ABB70000098B/ch0006/idp0000":"1"
    },
    "devices":{},
    "devicesAdded":[],
    "devicesRemoved":[],
    "timestamp":"2019-09-05T12:54:14.992Z"
  }
}

In this event two datapoints were changed and their new values are notified. Changing attributes of devices and/or adding/removing devices will be notified in the devices, devicesAdded and devicesRemoved attributes. The latter two attributes only contain the device serials. But the devices attribute contains the whole configuration for the new/modified device like in JSON returned by the configuration endpoint.


Webhooks

Please note: There is no self-service right now to use webhooks for the free@home API. Please contact us at DE-SmarterHomeDeveloper@abb.com and send us your webhook redirect URL.

Using this call, webhooks are registered for a specific user:

      POST /fhapi/v1/events/subscription HTTP/1.1
Host: apim.eu.mybuildings.abb.com
Authorization: Bearer <User-JWT>
Content-Type: application/json

{
    "simpleToken": "xxxxxxx-User-Scoped-Secret-xxxxxxx"
}

    

With this call, the registration is deleted:

      DELETE /fhapi/v1/events/subscription HTTP/1.1
Host: apim.eu.mybuildings.abb.com
Authorization: Bearer <User-JWT>

    

This call sets a filter which determines which information is of interest. Setting an empty whitelist causes the delivery of no updates.

      PUT /fhapi/v1/events/whitelist HTTP/1.1
Host: apim.eu.mybuildings.abb.com
Authorization: Bearer <User-JWT>
Content-Type: application/json

{
    "<sysap-uuid>/<dpSerial1>": {
        "some data": "needed for recognizing the type of the datapoint",
        "some more data": "not interpreted by fhapi"
    },
    "<sysap-uuid>/<dpSerial2>": {
        "some data": "needed for recognizing the type of the datapoint"
    }
}

    

For example:

      PUT /fhapi/v1/events/whitelist HTTP/1.1
Host: apim.eu.mybuildings.abb.com
Authorization: Bearer <User-JWT>
Content-Type: application/json

{
    "86f10d2c-ea8c-11e9-920a-68f728dbd933/FFFFFFFFFFFF/chFFFF/idpFFFF": {
        "mydeviceid": "afa55e08-ea8c-11e9-86c2-68f728dbd933",
        "type": "toaster"
    }
}

    

The serial is to be submitted in the same format as seen in the updates. May be constructed using the results of /api/rest/configuration. Always pass the whole whitelist as the old one will be completely replaced by the new one.

A typical webhook may look like this:

      POST /url HTTP/1.1
Host: cloud.thirdparty.com
Content-Type: application/json
X-Simple-Auth: xxxxxxx-User-Scoped-Secret-xxxxxxx

{
    "updates": {
        "7476596e-0f9e-404b-89d8-c822dcca29a8": {
            "datapoints": {
                "FFFFFFFFFFFF/chFFFF/idpFFFF": "0"
            },
            "timestamp": "2019-08-01T12:07:50.465Z"
        }
    },
    "whitelist": {
        "86f10d2c-ea8c-11e9-920a-68f728dbd933/FFFFFFFFFFFF/chFFFF/idpFFFF": {
            "mydeviceid": "afa55e08-ea8c-11e9-86c2-68f728dbd933",
            "type": "toaster"
        }
    }
}

    

Virtual devices

There is a REST endpoint to register a virtual device in the free@home smart home automation system. The API user can use this to create a proxy device in free@home for a hardware device operated outside of the free@home smart home system. For example you can register a garage door opener in your home automation system as virtual device to control and monitor it from there.

To register a virtual device to a sysap you need the SysAP ID to identify the SysAP where you will register the virtual device. As second parameter a Native ID to uniquely identify the device in this and subsequent calls. Additional parameters are given as JSON in the request body. This object may look like:

{
    "type": "SwitchingActuator",
    "properties": {
        "ttl": "180",
        "displayname": "Virtual switch"
    }
}

In this request object you can give a type to specify the device type of the new virtual device. Check the table below for possible device types.

The value of displayname is the friendly name shown to the user.

The value of ttl is a decimal string that specifies the Time to live in seconds. After this time you need to re-register the virtual device. If you fail to re-register the virtual device before the TTL expires the device is marked as unresponsive in the free@home smart home automation system. This is retracted when a new lifesign is send by calling the endpoint to register a virtual device again. If you omit the ttl parameter it will be default to 180 seconds. To disable TTL expiration by the SysAP you can specify a TTL value of -1. A TTL value of 0 immediately marks the device as unresponsive.

As the return value the endpoint will return the serial used by the free@home automation system to identify the virtual device. Note that this serial ID is different from the native ID. You will find the nativeId in the data model as attribute on virtual devices. Another attribute to identify virtual device in the data model is the interface attribute whose value have a prefix of "vdev:".

After the registration you will be informed via the WebSocket of the new device and it will be returned by the configuration endpoint. The available channels and input and output datapoints will depend on the specified device type. Please remember that input and output datapoints are named from the perspective of the device. This means that the API user has to write to the output datapoints that are the feedback datapoints to show the current state of the virtual device. The input datapoints for a virtual device are used to control it and change its current state. The owner of the virtual device has to monitor the input datapoints for its virtual devices to react to these changes and use it to control the hardware device.


Life-cycle of a virtual device

The virtual device is created via the first call to the api/rest/virtualdevice endpoint. The request object is required to contain the type value and can contain the other properties like ttl and displayname.

Then before the TTL from the previous call is expired the api user needs to call the endpoint again. But in this case you can omit all parameters with the exception of the the two path parameters (SysAP ID and Native ID). The TTL value will be the default (3 minutes) in this case.

To mark a virtual device as unresponsive in the free@home automation system re-register it with a TTL value of 0. An unresponsive device can be removed by the enduser.


Device type

The type parameter in the request object can be one of the following values:

Device Type
BinarySensor
WindowSensor
CeilingFanActuator
DimActuator
ShutterActuator
SwitchingActuator
RTC
CODetector
FireDetector
Weather-BrightnessSensor
Weather-RainSensor
Weather-TemperatureSensor
Weather-WindSensor
WeatherStation

See below for an example.


Scene support for virtual devices

As all devices in ABB-free@home smart home system the virtual devices created by calling the virtualdevice endpoint can be configured and used with scenes. This means the enduser is able to trigger a scene (using the frontend, a switch, …) and the SysAP will inform all configured devices for the scene to switch to a specified state.

For virtual devices the API user can implement this feature using the events received via WebSocket or WebHook. They contain a scenesTriggered subobject for each SysAP. In this object you find the information you need to activate the scene on your virtual device. It is send once per scene activation and only for virtual devices created by your API user. The contents of these objects are a subset of the devices objects returned from the configuration endpoint. It contains only the output datapoints for the channels of the virtual device. For each output datapoint the value and pairingID is transmitted.

The following JSON is an example for an event with a non empty scenesTriggered object.

{
  "1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1" : {
    "configDirty": "false",
    "datapoints" : {
      "BEED2CD50001/ch0000/idp0004" : "1",
      "ABB70000098B/ch0006/idp0005" : "1"
    },
    "scenesTriggered" : {
      "BEED2CD50001" : {
        "channels" : {
          "ch0000" : {
            "outputs" : {
              "odp0000" : {"value" : "1",   "pairingID" : 256},
              "odp0001" : {"value" : "100", "pairingID" : 272}
            }
          }
        }
      },
      "ABB70000098B" : {
        "channels" : {
          "ch0006" : {
            "outputs" : {
              "odp0001" : {"pairingID" : 272, "value" : "100"}
            }
          }
        }
      }
    },
    "devices":{},
    "devicesAdded":[],
    "devicesRemoved":[],
    "timestamp":"2019-09-05T13:54:14.992Z"
  }
}

Note: In this example you can also see the input datapoints set to the scene number (here: 1). These datapoints have a pairingID of 4 (Scene Control) and are used internally.

The main difference of triggered scenes and normal datapoint changes is that datapoint changes for your device always affect only input datapoints. But scenes are configured in the SysAP by saving the output datapoints for the devices. When the scene is activated the device has to restore the state to have the same output datapoint values as the scenesTriggered object specifies.


Examples

Note that all endpoints need a valid OAuth2 access token for authorization. Substitute the OAUTH2_ACCESS_TOKEN in the authorization header with your current access token. Please note that the access token has only a limited lifetime.


Query the configuration

With the following command you can fetch a data model.

curl -X GET \
  https://apim.eu.mybuildings.abb.com/fhapi/v1/api/rest/configuration \
  -H 'authorization: Bearer OAUTH2_ACCESS_TOKEN'

Your response would be JSON like the example given above.


Query a datapoint

curl -X GET \
  https://apim.eu.mybuildings.abb.com/fhapi/v1/api/rest/datapoint/1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1/FFFF40000001.ch0000.idp0000 \
  -H 'authorization: Bearer OAUTH2_ACCESS_TOKEN'

The response looks like this:

{
  "1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1": {
    "values": [
     "1"
    ]
  }
}

The current value for the first input datapoint on channel 0 for device FFFF40000001 is "1".


Set a datapoint

To set a datapoint to the value “1” call:

curl -X PUT \
  https://apim.eu.mybuildings.abb.com/fhapi/v1/api/rest/datapoint/1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1/BEED2CD50001.ch0000.idp0000 \
  -H 'authorization: Bearer OAUTH2_ACCESS_TOKEN' \
  -d 1

The response body is:

{
  "1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1": {
    "result": "OK"
  }
}

How to control devices

Switch actuator

To operate an Switch actuator you first need to fetch the configuration and search for a device and channel that has a value of "0007" (Switch actuator) as functionID. Note that for example the Switch actuator sensor, 2/2gang from ABB has multiple channels and two with the functionID == "0007" because it has two outputs that can be controlled.

In the selected channel you need to check for an input datapoint with the pairingID == 1 (Switch On/Off). This input datapoint can be used to send a Switch Off command by setting the value to "0" and the value of "1" sends a Switch On command.

The output datapoint with the pairingID == 256 (Info On/Off) shows the current state of the switch.


Relevant IDs and values

For channels:

functionID name
0007 Switch actuator

For datapoints:

pairingID in/out name value
1 in Switch On/Off 0 - Off
1 - On
256 out Info On/Off see above

Example

Switch output on:

curl -X PUT \
   https://apim.eu.mybuildings.abb.com/fhapi/v1/api/rest/datapoint/1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1/60007F6A06A7.ch0000.idp0000 \
  -H 'authorization: Bearer OAUTH2_ACCESS_TOKEN' \
  -d 1

Check current state:

curl -X GET \
   https://apim.eu.mybuildings.abb.com/fhapi/v1/api/rest/datapoint/1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1/60007F6A06A7.ch0000.odp0000 \
  -H 'authorization: Bearer OAUTH2_ACCESS_TOKEN' \

Returns the following, meaning the output is switched off:

{
  "1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1": {
    "values":["0"]
  }
}

Dimming actuator

For a dimming actuator you have to search for a device and channel with the functionID == "0012" (Dimming actuator).

In the selected channel you need to search for an input datapoint with the pairingID == 17 (Absolute control of the set value) to set the brightness. The brightness is given in percent from "0" to "100" as decimal string.

The input datapoint with pairingID == 1 (Switch On/Off) works like the switch actuator. Setting this datapoint to "0" switches the dimmer off. Setting it to "1" switches it on and restores the last brightness setting.

When setting a new brightness level it is not necessary to explicitly send a "1" to the Switch On/Off datapoint. But to switch off a "0" should be send to the Switch On/Off datapoint.

Note: A really low brightness level may be too dark to be visible and therefore does not activate the dimming lamp.

The output datapoints with the pairingIDs 272 (Info actual dimming value) and 256 (Info On/Off) use the same data representations like their input counterparts.


Relevant IDs and values

For channels:

functionID name
0012 Dimming actuator

For datapoints:

pairingID in/out name value
1 in Switch On/Off 0 - Off
1 - On
17 in Absolute control of the set value brightness from 0 to 100 percent
256 out Info On/Off 0 - Off
1 - On
272 out Info Actual dimming value brightness from 0 to 100 percent

Example

Set the brightness to 75%:

curl -X PUT \
   https://apim.eu.mybuildings.abb.com/fhapi/v1/api/rest/datapoint/1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1/BEED2CD50001.ch0000.idp0002 \
  -H 'authorization: Bearer OAUTH2_ACCESS_TOKEN' \
  -d 75

Switch off:

curl -X PUT \
   https://apim.eu.mybuildings.abb.com/fhapi/v1/api/rest/datapoint/1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1/BEED2CD50001.ch0000.idp0000 \
  -H 'authorization: Bearer OAUTH2_ACCESS_TOKEN' \
  -d 0

Check current/last brightness:

curl -X GET \
   https://apim.eu.mybuildings.abb.com/fhapi/v1/api/rest/datapoint/1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1/BEED2CD50001.ch0000.odp0001 \
  -H 'authorization: Bearer OAUTH2_ACCESS_TOKEN' \

Returns the brightness as 75% (approximately):

{
  "1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1":
  {
    "values":["75.1969"]
  }
}

Check whether the dimming actuator is switched on or off:

curl -X GET \
   https://apim.eu.mybuildings.abb.com/fhapi/v1/api/rest/datapoint/1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1/BEED2CD50001.ch0000.odp0000 \
  -H 'authorization: Bearer OAUTH2_ACCESS_TOKEN' \

{
  "1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1":
  {
    "values":["1"]
  }
}

Blind actuator

For a blind/shutter actuator you need to search for a device with a channel that has a functionID with a value of "0009" (Shutter actuator), "0061" (Blind actuator), "0062" (Attic window actuator) or "0063" (Awning actuator) depending on the device configuration.

On the selected channel search for an input datapoint with pairingID == 35 (Moves the sunblinds into a specified position). To this datapoint you send a percent value to control the position of the blind.

The other method is to send command to move the blind up or down and send a stop command when done. The pairingId == 32 (Move sunblind up / down) input datapoint gets the value "0" to move up or "1" to move down. When the blind is in the desired position send "0" to the input datapoint with pairingID == 33 (Stops the sunblinds and to step it up/down) to stop it.

There is an output datapoint with pairingID == 288 (indicate the move up/down and stop state) shows the current movement, see in the table below for possible values. Another output datapoint (289 Indicate the current position of the sunblinds in percentage) represents the current position in percent. But note, that its not necessarly updated during the movement.


Relevant IDs and values

For channels:

functionID name
0009 Shutter actuator
0061 Blind actuator
0062 Attic window actuator
0063 Awning actuator

For datapoints:

pairingID in/out name value
32 in Move sunblind up / down 0 - up
1 - down
33 in Stops the sunblind and to step it up/down
35 in Moves the sunblinds into a specified position position from 0 to 100 percent
288 out indicate the move up/down and stop state 0 - not moving
2 - moves up
3 - moves down
289 out Indicate the current position of the sunblinds in percentage position from 0 to 100 percent

Example

Move the blind to 50%:

curl -X PUT \
   https://apim.eu.mybuildings.abb.com/fhapi/v1/api/rest/datapoint/1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1/ABB700C886B5.ch0003.idp0002 \
  -H 'authorization: Bearer OAUTH2_ACCESS_TOKEN' \
  -d 50

Move the blind up:

curl -X PUT \
   https://apim.eu.mybuildings.abb.com/fhapi/v1/api/rest/datapoint/1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1/ABB700C886B5.ch0003.idp0000 \
  -H 'authorization: Bearer OAUTH2_ACCESS_TOKEN' \
  -d 0

Stop moving:

curl -X PUT \
   https://apim.eu.mybuildings.abb.com/fhapi/v1/api/rest/datapoint/1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1/ABB700C886B5.ch0003.idp0001 \
  -H 'authorization: Bearer OAUTH2_ACCESS_TOKEN' \
  -d 0

Query for current moving state:

curl -X GET \
   https://apim.eu.mybuildings.abb.com/fhapi/v1/api/rest/datapoint/1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1/ABB700C886B5.ch0003.odp0000 \
  -H 'authorization: Bearer OAUTH2_ACCESS_TOKEN' \

May return that its moving down:

{
  "1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1": {
    "values":["3"]
  }
}

Query for current position:

curl -X GET \
   https://apim.eu.mybuildings.abb.com/fhapi/v1/api/rest/datapoint/1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1/ABB700C886B5.ch0003.odp0001 \
  -H 'authorization: Bearer OAUTH2_ACCESS_TOKEN' \

Returns 0% as position:

{
  "1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1": {
    "values":["0"]
  }
}

Thermostat

Depending on the device configuration (room temperature controller with or without fan) you have to search for a device with channel that has a functionID of "000a" (Room temperature controller master with fan) or "0023" (Room temperature controller master without fan).

On this channel are many input datapoints, search for pairingID == 320 (Absolute set point temperature input). There you can write the new temperature in degree Celsius with a precession of 0.5 degree.

There are other input datapoints to switch the controller on/off (66 Request for switching controller on or off) and activating the Eco mode (58 Switches eco mode on or off). Both use "0" to switch off and "1" to switch on their mode.

You can query for the modes by reading the values from the output datapoints with values 56 and 54. The first is a normal boolean values ("0" or "1"), the other is an integer bitwise-ORed with the mask values given below.

You can read the current target temperature with output datapoint for pairingID == 51. Also interesting is the temperature measured by the thermostat, that you can read from the output datapoint with pairingID == 304.


Relevant IDs and values

For channels:

functionID name
000a Room temperature controller master with fan
000b Room temperature controller slave
0023 Room temperature controller master without fan

For datapoints:

pairingID in/out name value
51 out Defines the displayed set point temperature of the system temperature in °C
54 out states: on/off; heating/cooling; eco/comfort; frost/not frost bitmask:
0x01 - comfort mode
0x02 - standby
0x04 - eco mode
0x08 - building protect
0x10 - dew alarm
0x20 - heat (set) / cool (unset)
0x40 - no heating/cooling (set)
0x80 - frost alarm
56 out Switches controller on or off. Off means protection mode 0 - off (Protection mode)
1 - on (Comfort mode or Eco mode)
58 in Switches eco mode on or off 0 - off
1 - on
66 in Request for switching controller on or off. Off means protection mode 0 - off (Protection mode)
1 - on (Comfort mode or Eco mode)
304 out Indicates the actual measured temperature temperature in °C
320 in Absolute set point temperature input for timer temperature in °C

Example

Set the temperature to 20.5°C:

curl -X PUT \
   https://apim.eu.mybuildings.abb.com/fhapi/v1/api/rest/datapoint/1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1/ABB700C878FA.ch0000.idp0016 \
  -H 'authorization: Bearer OAUTH2_ACCESS_TOKEN' \
  -d 20.5

Activate the eco mode:

curl -X PUT \
   https://apim.eu.mybuildings.abb.com/fhapi/v1/api/rest/datapoint/1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1/ABB700C878FA.ch0000.idp0011 \
  -H 'authorization: Bearer OAUTH2_ACCESS_TOKEN' \
  -d 1

Query target temperature:

curl -X GET \
   https://apim.eu.mybuildings.abb.com/fhapi/v1/api/rest/datapoint/1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1/ABB700C878FA.ch0000.odp0006 \
  -H 'authorization: Bearer OAUTH2_ACCESS_TOKEN' \

Returns 17.5 °C because of the active ECO mode:

{
  "1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1": {
    "values":["17.5"]
  }
}

Query measured temperature:

curl -X GET \
   https://apim.eu.mybuildings.abb.com/fhapi/v1/api/rest/datapoint/1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1/ABB700C878FA.ch0000.odp0010 \
  -H 'authorization: Bearer OAUTH2_ACCESS_TOKEN' \

Returns the temperature measured by the RTC:

{
  "1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1": {
    "values":["25.98"]
  }
}


How to register a virtual device


Registering for the first time with a friendly name and a TTL value of 3 minutes:

curl -X PUT \
   https://apim.eu.mybuildings.abb.com/fhapi/v1/api/rest/virtualdevice/1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1/abcdefgh0123456789 \
  -H 'authorization: Bearer OAUTH2_ACCESS_TOKEN' \
  -d '{"type": "SwitchingActuator", "properties": {"ttl": "180","displayname":"Virtual switch"}}'

Later it is enough to send a new lifesign with only a TTL value:

curl -X PUT \
   https://apim.eu.mybuildings.abb.com/fhapi/v1/api/rest/virtualdevice/1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1/abcdefgh0123456789 \
  -H 'authorization: Bearer OAUTH2_ACCESS_TOKEN' \
  -d '{"properties": {"ttl": "60"}}'

To mark a virtual device as unresponsive (or ready for removal), reregister the device with a TTL value of zero:

curl -X PUT \
   https://apim.eu.mybuildings.abb.com/fhapi/v1/api/rest/virtualdevice/1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1/abcdefgh0123456789 \
  -H 'authorization: Bearer OAUTH2_ACCESS_TOKEN' \
  -d '{"properties": {"ttl": "0"}}'

To avoid re-registering the virtual device at regular intervals, the API user can specify a TTL value of -1:

curl -X PUT \
   https://apim.eu.mybuildings.abb.com/fhapi/v1/api/rest/virtualdevice/1f07d9e0-a9fd-4696-8b2d-1bf2ccabd3a1/abcdefgh0123456789 \
  -H 'authorization: Bearer OAUTH2_ACCESS_TOKEN' \
  -d '{"properties": {"ttl": "-1"}}'


How to get started with the KNX i-bus® IoT Dashboard API


How to get the rights to use the local REST API on a KNX i-bus® IoT Dashboard Server

Create a user account via the IoT Dashboard Tool who has the right to access the API and upload the project to the device.


How to authorize to the local REST API on a KNX i-bus® IoT Dashboard Server

You can access the API of a physical device in the same network via different tools, e.g. via Postman. In the following example we are showing the access using the Swagger on the box:


1. Open http://ipadress:port/swagger/ in your webbrowser to see the Swagger Interface


2. Open the call "api/user/login/" from the list and press "try out". Edit user/password according to your IoT Dashboard Account


3. Then click the execute button


4. Copy the token received as a response (only the value as selected below)


5. Then unblock API via the "Authorize" button in the right upper corner of the Swagger window.


6. Please type “Bearer” and paste the token after one space and the press "authorize".


Now you are authorized to the device and can start using all the other API calls shown at Swagger.