All Projects → bpicode → Fritzctl

bpicode / Fritzctl

Licence: mit
A lightweight, easy to use console client for the AVM FRITZ!Box Home Automation.

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Fritzctl

Homeassistant Config
Configuration for @brianjking & @KinnaT's Home Assistant Installation
Stars: ✭ 80 (-4.76%)
Mutual labels:  home-automation, smarthome, smart-home, homeautomation
Home Assistantconfig
🏠 Home Assistant configuration & Documentation for my Smart House. Write-ups, videos, part lists, and links throughout. Be sure to ⭐ it. Updated FREQUENTLY!
Stars: ✭ 3,687 (+4289.29%)
Mutual labels:  home-automation, smarthome, smart-home, homeautomation
Streamdeck Homeassistant
🏠 Use the Elgato Stream Deck as Home Assistant controller. Call any available service and toggle lights or resume your music.
Stars: ✭ 69 (-17.86%)
Mutual labels:  home-automation, smarthome, smart-home, homeautomation
Eventghost
EventGhost is an advanced, yet easy-to-use extensible automation tool for Windows.
Stars: ✭ 257 (+205.95%)
Mutual labels:  home-automation, smarthome, smart-home, homeautomation
libzwaveip
libzwaveip - Control Z-Wave devices from your IP network
Stars: ✭ 76 (-9.52%)
Mutual labels:  home-automation, smarthome, smart-home
homeassistant
Home Assistant Config
Stars: ✭ 50 (-40.48%)
Mutual labels:  home-automation, smarthome, smart-home
ad-alexatalkingclock
Alexa (or other Smart Speakers) tell you the time without asking every hour. Please ⭐️if you like my app :)
Stars: ✭ 30 (-64.29%)
Mutual labels:  home-automation, smarthome, smart-home
zigbee
Database of Zigbee devices compatible with third party gateways: ZHA, deCONZ, Zigbee2MQTT, Tasmota, ZiGate, ioBroker,
Stars: ✭ 117 (+39.29%)
Mutual labels:  home-automation, smarthome, smart-home
Home-Assistant-Main
My Home Assistant Configuration Be sure to ⭐ my repo so you can keep up to date on the daily progress!
Stars: ✭ 54 (-35.71%)
Mutual labels:  home-automation, smarthome, smart-home
Awesome Home Assistant
A curated list of amazingly awesome Home Assistant resources.
Stars: ✭ 3,487 (+4051.19%)
Mutual labels:  home-automation, smarthome, homeautomation
Hoobs
Build your Smart Home with HOOBS. Connect over 2,000 Accessories to your favorite Ecosystem.
Stars: ✭ 325 (+286.9%)
Mutual labels:  home-automation, smarthome, smart-home
Homeassistant
Example Home Assistant Configs
Stars: ✭ 846 (+907.14%)
Mutual labels:  home-automation, homeautomation
Smarthome
Eclipse SmartHome™ project
Stars: ✭ 867 (+932.14%)
Mutual labels:  home-automation, smarthome
Iobroker.discovery
This adapter tries to discover all known devices
Stars: ✭ 20 (-76.19%)
Mutual labels:  home-automation, smarthome
Pimatic Edimax
Pimatic Plugin for Edimax WiFi Smart Plugs
Stars: ✭ 7 (-91.67%)
Mutual labels:  smarthome, smart-home
Hodd
Homie Device Discovery
Stars: ✭ 21 (-75%)
Mutual labels:  home-automation, smarthome
Tp Link Smart Switch Web Client
Creating a web client for the tp-link series of smart switches (HS-100, HS-110, etc).
Stars: ✭ 31 (-63.1%)
Mutual labels:  home-automation, smarthome
Lifx Menu
OSX Menu bar application to control LIFX bulbs
Stars: ✭ 45 (-46.43%)
Mutual labels:  home-automation, smarthome
Node Hue Api
Node.js Library for interacting with the Philips Hue Bridge and Lights
Stars: ✭ 1,034 (+1130.95%)
Mutual labels:  smarthome, smart-home
Coapnet
CoAPnet is a high performance .NET library for CoAP based communication. It provides a CoAP client and a CoAP server. It also has DTLS support out of the box.
Stars: ✭ 23 (-72.62%)
Mutual labels:  home-automation, smart-home

fritzctl - console AVM FRITZ!Box client

fritzctl

Usage

Demo usage

About Wiki

fritzctl is a command line client for the AVM FRITZ!Box primarily focused on the AVM Home Automation HTTP Interface.

It should work out-of-the-box with most FRITZ!Boxes running a recent FRITZ!OS version. It has been explicitly tested with

FRITZ!Box FRITZ!OS
FRITZ!Box Fon WLAN 7390 06.51, 06.80, 06.83
FRITZ!Box 6490 Cable 06.63, 06.83, 06.84, 06.87, 07.00
FRITZ!Box 7490 06.83, 06.90, 06.93

CI Actions AppVeyor

Code Go Report Card codecov codebeat badge Codacy Badge BCH compliance Maintainability CodeFactor

Releases

  • release downloads github release
  • Download .deb .deb packages
  • Download .rpm .rpm packages
  • Download .zip windows

Install

Debian/Ubuntu

Add the repository (replace stretch by buster, jessie, wheezy or sid depending on your distribution)

echo "deb https://dl.bintray.com/bpicode/fritzctl_deb stretch main" | sudo tee -a /etc/apt/sources.list

and its signing key

wget -qO - https://api.bintray.com/users/bpicode/keys/gpg/public.key | sudo apt-key add -

The fingerprint of the repository key 3072D/35E71039 is 93AC 2A3D 418B 9C93 2986 6463 15FC CFC9 35E7 1039. Update your local repository data and install

sudo apt update
sudo apt install fritzctl

Upgrades for fritzctl will now be detected by apt update and can be installed via apt upgrade.

openSUSE

Add the repository

wget https://bintray.com/bpicode/fritzctl_rpm/rpm -O bintray-bpicode-fritzctl_rpm.repo && sudo zypper ar -f bintray-bpicode-fritzctl_rpm.repo && rm bintray-bpicode-fritzctl_rpm.repo

Update your local repository data and install

sudo zypper refresh
sudo zypper in fritzctl

MacOS

Install using homebrew

brew install bpicode/tap/fritzctl

Windows

Windows binaries can found in the windows directory.

From Source

fritzctl is go-gettable. Set up a go environment guided by How To Write Go Code and then run

go get github.com/bpicode/fritzctl

As Library GoDoc

Example:

package main

import "github.com/bpicode/fritzctl/fritz"

func main() { 
	h := fritz.NewHomeAuto(
		fritz.SkipTLSVerify(),
		fritz.Credentials("", "password"),
	)

	err := h.Login()
	if err != nil {
		panic(err)
	}

	h.Off("Socket_Bedroom")
	h.Temp(18.5, "Heating_Bedroom")
}

Reproducing binaries

Versions >= 1.4.16 can be checked for reproducibility. There is a ready-to-go Dockerfile which prepares an appropriate environment. Of course, the setup instructions can applied to any other build platform. To reproduce a release, prepare a docker image with the help of build-args

docker build -t fritzctl/build docker/build \
   --build-arg go_version=1.9.2 \
   --build-arg fritzctl_version=1.4.16 \
   --build-arg fritzctl_revision=v1.4.16

Building the binaries is done in the container phase:

docker run --rm -v fritzctl_build_folder:/root/go/src/github.com/bpicode/fritzctl/build fritzctl/build

The above command will create a docker volume fritzctl_build_folder containing the binaries. Those can be checked for equality with the distributed ones.

License License FOSSA Status

This project is licensed under the terms of the MIT license, see LICENSE.

The fritzctl image is licensed under the Creative Commons 3.0 Attributions license. It is build upon the following work:

  • The Go gopher was designed by Renee French, licensed under the Creative Commons 3.0 Attributions license.
  • The Go gopher w/ patch cable image was created by Egon Elbre, licensed under CC0 1.0 Universal.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].