Freebox Binding - vpjuslin/openhab GitHub Wiki

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 call (number, duration, status) And act on :
  • wifi network status
  • 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"}

// 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"}

The following items are available for read/write actions :

  • switch on/off wifi
  • switch to reboot the freebox
  • switch to force lcd orientation
  • lcd orientation to use (0,90,180,270).
  • lcd brightness (0 to 100)
⚠️ **GitHub.com Fallback** ⚠️