-
Notifications
You must be signed in to change notification settings - Fork 0
Freebox Binding
Documentation of the Freebox Binding Bundle
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)
- Last accepted call (from v1.7)
- Last missed call (from v1.7)
- Last outgoing call (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
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
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)
###Linux / OS X
###Windows
- Cosm Persistence
- db4o Persistence
- Exec Persistence
- InfluxDB Persistence
- JDBC Persistence
- JPA Persistence
- Logging Persistence
- mapdb Persistence
- MongoDB Persistence
- MQTT Persistence
- my.openHAB Persistence
- MySQL Persistence
- rrd4j Persistence
- Sen.Se Persistence
- SiteWhere Persistence
- AlarmDecoder Binding
- Anel Binding
- Arduino SmartHome Souliss Binding
- Asterisk Binding
- Astro Binding
- Autelis Pool Control Binding
- BenQ Projector Binding
- Bluetooth Binding
- Bticino Binding
- CalDAV Binding
- Comfo Air Binding
- Config Admin Binding
- CUL Binding
- CUL Intertechno Binding
- CUPS Binding
- DAIKIN Binding
- Davis Binding
- Denon Binding
- digitalSTROM Binding
- DMX512 Binding
- DSC Alarm Binding
- DSMR Binding
- eBUS Binding
- Ecobee Binding
- EDS OWSever Binding
- eKey Binding
- Energenie Binding
- EnOcean Binding
- Enphase Energy Binding
- Epson Projector Binding
- Exec Binding
- Freebox Binding
- Freeswitch Binding
- Frontier Silicon Radio Binding
- Fritz AHA Binding
- Fritz!Box Binding
- FS20 Binding
- Global Cache IR Binding
- GPIO Binding
- HAI/Leviton OmniLink Binding
- HDAnywhere Binding
- Heatmiser Binding
- Homematic / Homegear Binding
- HTTP Binding
- IEC 62056-21 Binding
- IHC / ELKO Binding
- ImperiHome Binding
- Insteon Hub Binding
- Insteon PLM Binding
- IPX800 Binding
- IRtrans Binding
- jointSPACE-Binding
- KNX Binding
- Koubachi Binding
- LCN Binding
- LightwaveRF Binding
- Leviton/HAI Omnilink Binding
- Lg TV Binding
- Logitech Harmony Hub
- MailControl Binding
- MAX!Cube-Binding
- MAX! CUL Binding
- MiLight Binding
- MiOS Binding
- Modbus TCP Binding
- MPD Binding
- MQTT Binding
- MQTTitude binding
- Neohub Binding
- Nest Binding
- Netatmo Binding
- Network Health Binding
- Network UPS Tools Binding
- Nibe Heatpump Binding
- Nikobus Binding
- Novelan/Luxtronic Heatpump Binding
- NTP Binding
- One-Wire Binding
- Onkyo AV Receiver Binding
- Open Energy Monitor Binding
- OpenPaths presence detection binding
- OpenSprinkler Binding
- OSGi Configuration Admin Binding
- Panasonic TV Bindung
- panStamp Binding
- Philips Hue Binding
- Piface Binding
- pilight Binding
- Pioneer-AVR-Binding
- Plex Binding
- Plugwise Binding
- PLCBus Binding
- Primare Binding
- Pulseaudio Binding
- RFXCOM Binding
- RWE Smarthome Binding
- Sager WeatherCaster Binding
- Samsung AC Binding
- Samsung TV Binding
- Serial Binding
- Sallegra Binding
- Satel Alarm Binding
- Sinthesi Sapp Binding
- Snmp Binding
- Somfy URTSI II Binding
- Sonos Binding
- Squeezebox Binding
- Swegon ventilation Binding
- System Info Binding
- TA CMI Binding
- TCP/UDP Binding
- Tellstick Binding
- TinkerForge Binding
- Tivo Binding
- VDR Binding
- Velleman-K8055-Binding
- Wago Binding
- Wake-on-LAN Binding
- Waterkotte EcoTouch Heatpump Binding
- Weather Binding
- Wemo Binding
- Withings Binding
- XBMC Binding
- xPL Binding
- Yamahareceiver Binding
- Zibase Binding
- Z-Wave Binding
- Asterisk
- Google Calendar
- Linux Media Players
- ROS Robot Operating System
- Telldus Tellstick
- Zoneminder
- Wink Hub (rooted)
- Wink Monitoring
- Transformations
- XSLT
- JSON
- REST-API
- Security
- Service Discovery
- Voice Control
- BritishGasHive-Using-Ruby
- Dropbox Bundle
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.
- Comfo Air Binding
- Ecobee Examples
- Nest Examples
- Rollershutter Bindings
- Squeezebox
- WAC Binding
- WebSolarLog
- Alarm Clock
- Convert Farenheit to Celcius
- The mother of all lighting rules
- Reusable Rules via Functions
- Combining different Items
- Items, Rules and more Examples of a SmartHome
- Google Map
- Controlling openHAB with Android
- Usecase examples
- B-Control Manager
- Spell checking for foreign languages
- Flic via Tasker
- Chromecast via castnow