Skip to content
This repository has been archived by the owner on May 17, 2021. It is now read-only.

Freebox Binding

lolodomo edited this page Jun 20, 2015 · 10 revisions

Documentation of the Freebox Binding Bundle

Introduction

For installation of the binding, please see Wiki page Bindings. This binding is intended to users of the french DSL operator Free, using Freebox Revolution (v6).

Currently, it's able to report :

  • System informations (Version number, uptime, different cpu temperature, fan speed)
  • Connection Status informations (line status, public ip address, upload/download rate, up/downloaded volumes)
  • Last phone call (number, duration, status)
  • Last accepted phone call (from v1.7)
  • Last missed phone call (from v1.7)
  • Last outgoing phone call (from v1.7)
  • Caller name when contact entry is defined and number is not masked (from v1.7)
  • network devices reachable status (from v1.7)

And act on :

  • wifi network status
  • FTP server status (from v1.7)
  • UPnP AV status (from v1.7)
  • AirMedia status (from v1.7)
  • Windows file sharing status (from v1.7)
  • Windows printer sharing status (from v1.7)
  • Reboot

Authentication

You'll have to authorise openHAB to connect to your Freebox. Here is the process described :

Step 1 Put these lines in your openhab.cfg file

#################################### Freebox Binding ###########################################
# Freebox server IP address (optional, defaulted to mafreebox.freebox.fr)
#freebox:server=192.168.0.254
# Application token generated by the Freebox server. Empty at first launch, fill it with the provided token
#freebox:apptoken=
# Device Name
freebox:device=openhabsrv
# refresh interval in milliseconds (optional, defaults to 60000)
#freebox:refresh=
################################################################################################

Step 2 Start openhab in a console, you shall see something like this in the logs :

            ####################################################################
            # Please accept activation request directly on your freebox        #
            # Once done, record current Apptoken in your 'openhab.cfg'         #
            # bEK7a7O8GkxxxxxxxxxxXBsKu/xxxttttwj5bXSssd5gUvSXs4vrpuhZwelEo804 #
            ####################################################################

Step 3 Run near your Freebox and approve the pairing request for openHAB Freebox Binding that is displayed on the Freebox screen

Step 4 Copy the apptoken in openhab.cfg freebox:apptoken=bEK7a7O8GkxxxxxxxxxxXBsKu/xxxttttwj5bXSssd5gUvSXs4vrpuhZwelEo804

Step 5 Restart openhab, the authentification of the freebox shall go on automatically.

Optionally you can log in your freebox admin console to allocate needed rights to openhab

Generic Item Binding Configuration

Here are the list of items you can put in your .items file in order to use binding functionalities :

Group gFreebox						
Group gfbSys				"System" 					(gFreebox)				
Group gfbCS 				"Connection Status"				(gFreebox)
Group gfbCalls				"Calls"						(gFreebox)
Group gfbWifi				"Wifi"						(gFreebox)
Group gfbLCD				"LCD"						(gFreebox)
Group gfbXdsl				"xDsl Status"					(gFreebox)

// Wifi Entries
Switch freebox_wifi			"Wifi"						(gfbWifi)  {freebox="wifi_status", autoupdate="false"}

// (from v1.7) FTP server, UPnP AV, AirMedia and Windows sharings status
Switch FreeboxFTP			"FTP"						(gFreebox) {freebox="ftp_status", autoupdate="false"}
Switch FreeboxUPnPAV			"UPnP AV"					(gFreebox) {freebox="upnpav_status", autoupdate="false"}
Switch FreeboxAirMedia			"AirMedia"					(gFreebox) {freebox="airmedia_status", autoupdate="false"}
Switch FreeboxSambaFiles		"Partage fichiers Win"				(gFreebox) {freebox="sambafileshare_status", autoupdate="false"}
Switch FreeboxSambaPrinters		"Partage imprimantes Win"			(gFreebox) {freebox="sambaprintershare_status", autoupdate="false"}

// Call Entries
String freebox_call_lastnum		"Last call [%s]"				(gfbCalls) {freebox="call_number"}
Number freebox_call_duration		"Duration [%d sec]"				(gfbCalls) {freebox="call_duration"}
DateTime freebox_call_ts		"TimeStamp [%1$tA, %1$td.%1$tm.%1$tY]"		(gfbCalls) {freebox="call_timestamp"}
String freebox_call_status		"Status [%s]"					(gfbCalls) {freebox="call_status"}

// Connection Status Items
String freebox_cs_state 		"State [%s]" 					(gfbCS) {freebox="line_status"}
String freebox_cs_ipv4 			"ipV4 [%s]" 					(gfbCS) {freebox="ipv4"}
Number freebox_cs_rate_up  		"Upload rate [%d b/s]" 				(gfbCS) {freebox="rate_up"}
Number freebox_cs_rate_down		"Download rate [%d b/s]" 			(gfbCS) {freebox="rate_down"}
Number freebox_cs_bytes_up		"Uploaded [%d bytes]" 				(gfbCS) {freebox="bytes_up"}
Number freebox_cs_bytes_down		"Downloaded [%d bytes]" 			(gfbCS) {freebox="bytes_down"}

// System Items
String freebox_sys_firmware_version 	"Version [%s]"					(gfbSys) {freebox="fw_version"}
Switch freebox_reboot			"Reboot freebox"				(gfbSys) {freebox="reboot"}
Number freebox_sys_uptime		"Uptime [%d sec]"				(gfbSys) {freebox="uptime"}
Number freebox_sys_temp_cpum 		"Temp cpum [%d °C]"		<temperature> 	(gfbSys) {freebox="temp_cpum"}
Number freebox_sys_temp_cpub 		"Temp cpub [%d °C]"		<temperature> 	(gfbSys) {freebox="temp_cpub"}
Number freebox_sys_temp_sw   		"Temp sw [%d °C]"		<temperature> 	(gfbSys) {freebox="temp_sw"}
Number freebox_sys_fan_rpm   		"Fan [%d rpm]" 			<fan>		(gfbSys) {freebox="fan"}

// LCD Configuration Items
Number freebox_lcd_brightness		"Brightness [%d %%]"				(gfbLCD) {freebox="lcd_brightness"}
Number freebox_lcd_orientation		"Orientation [%d °]"				(gfbLCD) {freebox="lcd_orientation"}
Switch freebox_lcd_forced		"LCD Forced"					(gfbLCD) {freebox="lcd_forced"}

// xDSL Status Items
String freebox_xdsl_status		"Status [%s]"					(gfbXdsl) {freebox="xdsl_status"}

// (from v1.7) Network devices reachable status
Switch NetDevice1			"Net device (MAC)"				(gFreebox) {freebox="reachable_mac/00:1B:D2:D5:97:01", autoupdate="false"}
Switch NetDevice2			"Net device (IP)"				(gFreebox) {freebox="reachable_ip/192.168.0.50", autoupdate="false"}
Switch NetDevice3			"Net device (name)"				(gFreebox) {freebox="reachable_name/Téléviseur", autoupdate="false"}

The following items are available for read/write actions :

  • switch on/off wifi
  • switch on/off FTP server (from v1.7)
  • switch on/off UPnP AV (from v1.7)
  • switch on/off AirMedia (from v1.7)
  • switch on/off Windows file sharing (from v1.7)
  • switch on/off Windows printer sharing (from v1.7)
  • switch to reboot the freebox
  • switch to force lcd orientation
  • lcd orientation to use (0,90,180,270).
  • lcd brightness (0 to 100)

Installation


User Interfaces


Community

(link to openHAB forum)

Development



Misc


Samples

A good source of inspiration and tips from users gathered over the years. Be aware that things may have changed since they were written and some examples might not work correctly.

Please update the wiki if you do come across any out of date information.

Use case examples

Collections of Rules on a single page

Single Rules

Scripts


Release Notes

Clone this wiki locally