Skip to main content

Python Library to communicate with local Busch-Jaeger Free@Home REST API

Project description

python_freeathome_local

PyPI - Python Version PyPI release Release status Build Pipeline Checked with mypy Pre-commit License

The datamodel of the Free@Home Rest-API is setup the following way:

  • The root-node is a SysAp
  • The SysAp contains devices and a floorplan
  • Each device has 1 to many channels (the behaviour of a channel is defined by the FunctionID)
  • A channel has 0 to many Input- and Output-Datapoints (the behaviour of a datapoint is defined by the PairingID)
  • An Input-Datapoint is used to set a value (e.g. turn on a switch) -- To change the value of an such a datapoint a PUT-call is needed
  • An Output-Datapoint shows the current state (e.g. switch is on) -- All modifications are reported through a websocket-connection
  • A device and a channel can have 0 to many parameters (the function of a parameter is defined by the ParameterID)

Drawback

The major drawback I see so far regarding the Rest-API is that the parameters can't be controlled. E.g. the WeatherStation has a parameter called 'par0039' (TRANSMISSION_INTERVAL), which defines how often updated values are send. This interval can be changed in the mobile app, but not through the Rest-API, additionally (what is even more worse) any modifications are not reported through the websocket. This means that after the initial load of the configuration any modifications to the parameters through the mobile app are not recognized by this library :(

Implemented channels

Name Inputs Outputs
BrightnessSensor - brightness_level (float) - state
brightness_alarm (bool)
RainSensor - rain_alarm (bool) - state
rain_sensor_activation_percentage (float)
rain_sensor_frequency (float)
TemperatureSensor - outdoor_temperature (float) - state
frost_alarm (bool)
WindSensor - wind_speed (float) - state
wind_alarm (bool)
wind_force (float)
Trigger timed_start_stop - press -
SwitchActuator switch_on_off (bool) - turn_on/turn_off
forced (bool)
timed_start_stop (bool)
timed_movement (bool)
info_on_off (bool) - state
info_force (bool)
info_error (bool)
WindowDoorSensor - window_door (bool) - state
MovementDetector info_on_off info_on_off (bool) - state
brightness_level (float)
timed_movement (bool)
timed_presence (bool)
SwitchSensor - switch_on_off (bool) - state
ForceOnOffSensor - forced (bool) - state
BlindSensor - stop_step_up_down (bool) - state
DesDoorRingingSensor - timed_start_stop (bool) - state

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python_freeathome_local-0.0.6.tar.gz (45.0 kB view details)

Uploaded Source

Built Distribution

python_freeathome_local-0.0.6-py3-none-any.whl (62.6 kB view details)

Uploaded Python 3

File details

Details for the file python_freeathome_local-0.0.6.tar.gz.

File metadata

File hashes

Hashes for python_freeathome_local-0.0.6.tar.gz
Algorithm Hash digest
SHA256 53015e2f361255dfcebd1311984dc10685db4a9e9b3d1455eb932f12dde045c6
MD5 f3d806f19d99b74fae8ce7f04d5fd57f
BLAKE2b-256 0f4c28f1429a07e07c449b7c8c5535c304c3e53ca5c4d80affba9125b68a1ab8

See more details on using hashes here.

File details

Details for the file python_freeathome_local-0.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for python_freeathome_local-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 1220aac5aed5834d73fdff0b2251f8d14592462c89cc6697afdbcba6ac73053e
MD5 ebb1dcffb3da217ca372e97f398bcfe4
BLAKE2b-256 818135e9fe3d2a5d54ffa7bf875b7fcd9cd387c638ce6e2f5d09f9def242ed94

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page