This aims to be a Framework that provides a clean and modern Swift API for communicating with Fritz!Box routers. The focus is on home automation features.
Features
Authentication with API
Load device information (currently limited to thermostats and switches)
Toggle switches
Set Thermostat temperature
Load thermostat timetable
manipulate thermostat timetable
The Basics
Create an instance of the SDK with your myfritz URL and user credentials.
Get a session identifier by calling the login method. This will be used for all further requests.
fritzBox.login { result in
if case .success(let info) = result {
print("Info: \(String(describing: info))")
// We are now ready to do further requests.
}
}
You can now get information about devices and then act on them.
fritzBox.getDevices(completion: { result in
if case .success(let devices) = result {
print("Devices: \(String(describing: devices))")
// Prints a list of devices and their properties.
}
})
Hardware
As I only have one home, this was only tested with the following setup.
Fritz!Box Kit
This aims to be a Framework that provides a clean and modern Swift API for communicating with Fritz!Box routers. The focus is on home automation features.
Features
The Basics
Create an instance of the SDK with your myfritz URL and user credentials.
Get a session identifier by calling the
login
method. This will be used for all further requests.You can now get information about devices and then act on them.
Hardware
As I only have one home, this was only tested with the following setup.
Installation
When using Swift Package Manager add this:
If you´re using CocoaPods, add this to your Podfile: