https://github.com/adriankumpf/fritz-api
Fritz!Box Home Automation API Client for Elixir
https://github.com/adriankumpf/fritz-api
elixir elixir-library fritz fritzbox home-automation
Last synced: about 1 year ago
JSON representation
Fritz!Box Home Automation API Client for Elixir
- Host: GitHub
- URL: https://github.com/adriankumpf/fritz-api
- Owner: adriankumpf
- License: mit
- Created: 2017-10-06T20:14:18.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2025-06-01T11:41:51.000Z (about 1 year ago)
- Last Synced: 2025-06-01T19:15:11.531Z (about 1 year ago)
- Topics: elixir, elixir-library, fritz, fritzbox, home-automation
- Language: Elixir
- Homepage: https://hex.pm/packages/fritz_api
- Size: 154 KB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# FritzApi
[](https://github.com/adriankumpf/fritz-api/actions)
[](https://hexdocs.pm/fritz_api)
[](http://hex.pm/packages/fritz_api)
Fritz!Box Home Automation API Client for Elixir
([documentation](https://hexdocs.pm/fritz_api)).
## Installation
Add `:fritz_api` and `:finch` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[
{:fritz_api, "~> 3.0"},
{:finch, "~> 0.16"}
]
end
```
## Usage
```elixir
iex> {:ok, client} = FritzApi.Client.new()
...> |> FritzApi.Client.login("admin", "changeme")
iex> FritzApi.get_device_list_infos(client)
{:ok, [%FritzApi.Actor{
ain: "687690315761",
fwversion: "03.87",
id: 21,
manufacturer: "AVM",
name: "FRITZ!DECT #1",
powermeter: %{energy: 0.475, power: 0.0},
present: true,
productname: "FRITZ!DECT 200",
switch: %{
devicelock: false,
lock: false,
mode: :manual,
state: false
},
temperature: %{
celsius: 23.5,
offset: 0.0
}
}]}
iex> FritzApi.set_switch_off(client, "687690315761")
:ok
iex> FritzApi.get_temperature(client, "687690315761")
{:ok, 23.5}
```
## References
- [AHA HTTP Interface](https://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/AHA-HTTP-Interface.pdf)
- [AVM Technical Note - Session ID](https://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/AVM_Technical_Note_-_Session_ID.pdf)