fritz_api

FritzBox Home Automation API Client for Elixir


Keywords
elixir, elixir-library, fritz, fritzbox, home-automation
License
Other

Documentation

FritzApi

Build Status Docs Hex.pm

Fritz!Box Home Automation API Client for Elixir (documentation).

Installation

Add :fritz_api and :finch to your list of dependencies in mix.exs:

def deps do
  [
    {:fritz_api, "~> 3.0"},
    {:finch, "~> 0.16"}
  ]
end

Usage

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