ABB free@home
ABB Free@home
Eliona App for the ABB Free@home Integration
Simply smart. ABB-free@home® turns a house or apartment into a smart home. Whether it's blinds, lights, heating, air conditioning, door communication, or scenes. Easily remote-controlled via a switch on the wall, with a laptop, or with a smartphone. Very convenient. Extremely comfortable. Very energy-efficient. Particularly attractive: the costs are minimal compared to conventional electrical installations.
This app allows access to ABB Free@home systems directly in Eliona via the ABB ProService Portal. The user can monitor values, browse statistics, control the Free@home devices, and, most importantly, network ABB devices with systems from other manufacturers.
Installation
The ABB Free@home App is installed via the App Store in Eliona.
Assets
The ABB Free@home App independently creates all necessary assets and asset types.
Asset Structure
The following asset types are created only to create a structure in Eliona:
Floor: Represents a specific level in a building.
Id
Floor identifier
Name
Floor name
Level
Floor level
Room: Represents a specific room on a floor.
Id
Room identifier
Name
Room name
System: Represents a central system that controls multiple devices.
ID
System ID
x
GAI
GAI
x
Name
System Name
x
Device: Represents a specific device in the system. Devices are linked to their respective systems and locations in the Eliona asset tree.
ID
Device identifier
x
GAI
GAI
Name
Device name
x
Location
Device location
Channels
Channels are linked to devices. These channels provide the actual functionality:
Switch: A normal light switch.
SwitchState
Switch state
Input
Switch
Switch
Output
Dimmer: A channel for controlling light intensity.
SwitchState
Switch state
Input
DimmerState
Dimmer State
Input
Switch
Switch
Output
Dimmer
Dimmer
Output
HueActuator: A channel for controlling colored lighting.
SwitchState
Switch state
Input
DimmerState
Dimmer state
Input
HSVState
HSV state
Input
ColorModeState
Color mode status
Input
ColorTemperatureState
Color temperature status
Input
Switch
Switch
Output
Dimmer
Dimmer
Output
HSVHue
HSV hue
Output
HSVSaturation
HSV saturation
Output
HSVValue
HSV value
Output
ColorTemperature
Color temperature
Output
RTC: Room temperature controller.
SwitchState
Switch state
Input
CurrentTemp
Current temperature
Input
SetTempState
Set temperature state
Input
Switch
Switch
Output
SetTemp
Set temperature
Output
RadiatorThermostat: Thermostat for a radiator.
SwitchState
Switch state
Input
CurrentTemp
Current temperature
Input
SetTempState
Set temperature state
Input
StatusIndication
Status indication
Input
HeatingActive
Heating active
Input
HeatingValue
Heating value
Input
Switch
Switch
Output
SetTemp
Set temperature
Output
HeatingActuator: Heating control unit.
InfoFlow
Info Flow
Input
ActuatorFlow
Actuator Flow
Input
WindowSensor: Sensor for detecting window position.
Position
Position
Input
DoorSensor: Sensor for detecting door position.
Position
Position
Input
MovementSensor: Sensor for detecting movement.
Movement
Movement
Input
Scene: Represents a scene.
SwitchState
Switch state
Input
Configuration
The ABB Free@home app is configured by defining one or more authentication credentials. The following data is required for each configuration:
abbConnectionType
Type of connection. Currently, only "ProService" is supported.
apiKey
API key provided by ABB
orgUUID
UUID of the ProService organization
enable
Flag to activate or deactivate the retrieval from this API
refreshInterval
Interval in seconds for device detection. This is an expensive operation and should not be less than 3600 s
requestTimeout
API query timeout in seconds
assetFilter
Filter for asset creation, more details can be found in the app's README
projectIDs
List of Eliona project IDs for which this device should collect data. For each project ID, all assets are automatically created in Eliona.
The configuration is done via a corresponding JSON structure. For example, the following JSON structure can be used to define an endpoint for app permissions:
{
„abbConnectionType“: „ProService“,
„apiKey“: „api.key“,
„orgUUID“: „org-uuid“,
„enable“: wahr,
„refreshInterval“: 3600,
„requestTimeout“: 120,
„assetFilter“: [],
„projectIDs“: [
„10“
]
}Configurations can be created with this structure in Eliona under Apps > ABB Free@home > Settings. To do this, select the endpoint /configs with the POST method.
After completing the configuration, the app starts the continuous asset creation. When all detected devices are created, the user is informed about it via Eliona's notification system.
After Configuration
After the application is configured, it searches for systems connected to the configured ProService account. On all of these systems, a user named "eliona_ProService" is automatically created, who is later used to control the devices. This account must be activated locally on these systems.
To activate the account, log in to the SysAPs, search for a user named "eliona_ProService" under "User settings." Activate this user and make sure that they have the correct access rights to control the devices.
Troubleshooting
Error Message "Defective Device"
Some devices have a bug that causes the system to classify the device as "defective" when it writes data points. The system then no longer sends data to these devices and makes them uncontrollable.
However, the devices are not defective; the sysAP only needs to be restarted and the devices will respond again.
ABB is aware of this error and is working on a way to fix it. If you repeatedly encounter this problem, please let us know so we can fix it.
Troubleshooting with GraphQL
ABB has a GraphQL playground for its Smart Home API: https://apim.eu.mybuildings.abb.com/adtg-api/v1/graphiql
You can log in to the playground with either your MyBuildings account or your ProService account.
{
PSOrganization{dtId} # should not work for a normal user
}
{
User{userName} # should return the username of the user who created the token
}To check what relationship you have to the systems, you can use this query:
{
UserDevice {dtId} #the dtId should appear here - in case the user is the owner of the sysap
CustomerDevice {dtId} #the dtId should appear here - in case the user is the installer who invited the user as a customer
}Please note that ABB currently does not recommend using the same user account for ProService and MyBuildings portals. This leads to some problems that can be circumvented but are not desirable.
Optimizing Requests
ABB has implemented a way to analyze resource usage by the current user:
{
ServerDescriptionService
{
consumedRequestCosts # returns the sum of the costs caused by this user (should be reset to 0 at night)
requestCosts # returns the costs for this query (in your case, mainly affected by 1 per loaded object + 1 per DataPointRequest)
}
# ... add the rest/the normal query here
}We have made great efforts to reduce resource consumption. Nevertheless, the app's querying for new devices is a very resource-intensive process that can be further optimized if there is a need for it.
Last updated