Skip to content

Go package for accessing the free@home API (Smart Home System from ABB)

License

Notifications You must be signed in to change notification settings

guckykv/freeathome-go-fahapi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fahapi

Very first version of a GoLang library for accessing the local free@home API of the System Access Point 2.0 für Busch-free@home® (needs at least Access Point Software Version 2.6).

fahapi - GoLang Package

This package reads in all devices from the System Access Point and connects via WebSocket to get all updates. Some of the Device/Cahnnel types are hydrated in easier usabel Go Objects.

Currently supported Device Types (FunctionIDs):

  • FID_SWITCH_SENSOR
  • FID_DIMMING_SENSOR
  • FID_SWITCH_ACTUATOR
  • FID_DIMMING_ACTUATOR
  • FID_WINDOW_DOOR_SENSOR
  • FID_ROOM_TEMPERATURE_CONTROLLER_MASTER_WITHOUT_FAN
  • FID_BRIGHTNESS_SENSOR
  • FID_RAIN_SENSOR
  • FID_TEMPERATURE_SENSOR
  • FID_WIND_SENSOR

You can use a CallBack function to get a message for all updates (for the supported types).

For examples how to use the package look into fahinflux and fahcli.

Example Usages of this package

Some example tools based on this package can be found here

fahinflux - Writes all Updates for some Device Types into an InfluxDB

Writes all updates of all RTC, window sensors and weather station to InfluxDB.

See fahinflux.

fahcli - Manage devices via shell command

Very first version of a shell command to make all sorts of operations possible via the f@h API.

See fahcli.

Limitations

  • Works only with SysAP ID 00000000-0000-0000-0000-000000000000. So propably it doesn't work, if you have more than one SysAP.

  • VirtualDevices not yet implemented. PUT call for creating virtual devices is implemented. And the standard Unit logging now shows the NativeId too. The fhapi also supports, that new devices show up while the websocket loop already runs.

  • No writing possiblies via the UnitModel data structure. If you want to change a value, you have to use fahapi.PutDatapoint(sysapId, deviceId, channelId, datapointId, value). Via WebSocket connection the change will be synced into the UnitModel very quickly.

About

Go package for accessing the free@home API (Smart Home System from ABB)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages