ABB Free@Home

Eliona App for ABB Free@home integration

Simply smart. ABB-free@home® transforms the house or the apartment into an intelligent home. Whether blinds, lights, heating, air conditioning, door communication or scenes. Easy to remote control via a switch on the wall, with the laptop or with the smartphone. Very convenient. Extremely comfortable. Very energy efficient. Especially attractive: Only minimal costs are involved when compared with conventional electrical installations.

This app allows accessing ABB Free@home systems directly in Eliona using the ABB ProService portal. Users can monitor values, browse through statistics, control the Free@home devices and, most importantly, interconnect 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 automatically creates all the necessary asset types and assets. The asset names are kept synchronized from ABB -> Eliona (therefore assets must be renamed in Free@home system. If they are renamed in Eliona, the name will not ve persisted).

Structure assets

The following asset types are created just to create a structure in Eliona:

  • Floor: Represents a specific level in a building.

  • Room: Represents a specific room on a floor.

  • System: Represents a central system controlling multiple devices.

  • Device: Represents a specific device in the system. Devices are linked to their respective systems and locations in Eliona asset tree.

Channels

Channels are linked to devices. These channels provide the real functionality:

Here's the updated documentation based on the provided data structure:

  • Switch: A regular light switch.

  • Dimmer: A channel to control lighting intensity.

  • HueActuator: A channel to control colored lighting.

  • RTC: Room Temperature Controller.

  • RadiatorThermostat: Thermostat for a radiator.

  • HeatingActuator: Heating control unit.

  • WindowSensor: Sensor to detect window position.

  • DoorSensor: Sensor to detect door position.

  • MovementSensor: Sensor to detect movement.

  • SmokeDetector: Sensor to detect fire. Note: ABB implements it in a way that makes all fire detectors trigger an alarm at once when one device detects smoke.

  • FloorCallButton: Rings a bell.

  • MuteButton: Mutes the floor call button.

  • Scene: Represents a scene.

  • Wallbox: Car charging station.

Configuration

The ABB Free@home App is configured by defining one or more authentication credentials. Each configuration requires the following data:

The configuration is done via a corresponding JSON structure. As an example, the following JSON structure can be used to define an endpoint for app permissions:

{
  "abbConnectionType": "ProService",
  "apiKey": "api.key",
  "orgUUID": "org-uuid",
  "enable": true,
  "refreshInterval": 3600,
  "requestTimeout": 120,
  "assetFilter": [],
  "projectIDs": [
    "10"
  ]
}

Configurations can be created using this structure in Eliona under Apps > ABB Free@home > Settings. To do this, select the /configs endpoint with the POST method.

After completing configuration, the app starts Continuous Asset Creation. When all discovered devices are created, user is notified about that in Eliona's notification system.

After configuration

After the application is configured, it looks up systems connected to the configured ProService account. On all of these systems, it automatically creates a user called "eliona_ProService" that would later be used when controlling the devices. This account has to be enabled locally on these systems.

To enable the account, log in to the SysAPs, find "User settings" and find a user called "eliona_ProService". Enable this user and ensure it has the correct access rights to control the devices.

Troubleshooting

Defective Device error message

There is an error with some devices, that some datapoint writes cause the system to consider the device "defective". The system then stops sending data to these devices, making them uncontrollable.

The devices are not defective though, the sysAP just needs to be restarted and the devices respond again.

ABB is aware of that error and on a way to fix it. If you run into this issue repeatedly, please let us know about it for a fix.

Troubleshooting using GraphQL

ABB has a GraphQL playground for it's Smart Home API: https://apim.eu.mybuildings.abb.com/adtg-api/v1/graphiql

You can log in to the playground either using 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 verify which relation 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 that invited the user as customer
}

Please note that ABB currently does not recommend using the same user account for ProService and MyBuildings portals. It causes some problems that can be worked around, but are not desired.

Requests optimization

ABB implemented a way to analyze resource usage by current user:

{
  ServerDescriptionService
  {
    consumedRequestCosts # returns the sum of costs produced by this user (should be turned back to 0 in the night)
    requestCosts #returns the costs by this query (in your case mainly affected by 1 per object loaded + 1 per DataPointRequest)
  }
# … add here the rest/normal query
}

We took a lot of effort to bring resource usage down. Still, the app polling for new devices is a very resource-intensive process that can be further optimized if there is a demand for it.

Last updated