You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
2.9 KiB
89 lines
2.9 KiB
# FBSmartHome
|
|
|
|
A small collection of one usefull FritzBox SmartHome tool and one example script. Still in development and highly experimental.
|
|
|
|
If you have any issues or questions regarding this tool and script just get in contact with me.
|
|
|
|
## fb-login-test.sh
|
|
|
|
A simple script to test the user name and passwort set in file `~/.fbsh.config`. If the login was successfull an XML file with connected SmartHome devices will be printed out.
|
|
|
|
The config file for both script and client use the same syntax.
|
|
|
|
#
|
|
# PARAMETERNAME=VALUE no space allowed except for the value.
|
|
# but not between parametername, = and value.
|
|
#
|
|
#
|
|
FBSH_USER=testuser
|
|
FBSH_PASS=anypassword
|
|
FBSH_SIDFILE=/home/username/.fbsh.sid
|
|
FBSH_HOSTNAME=http://192.168.0.1
|
|
|
|
|
|
## fbsh-cli FritzBox SmartHome Console Client
|
|
|
|
I wrote the fbsh-cli tool to get a small easy low ressourced interface for the Fritzbox Smart Home devices. It should be able to get it running on most of the SoC devices which are out there.
|
|
|
|
### Preparation
|
|
|
|
You need the libxml2 and openssl devel pakages for compilation. In addition you will need to download, compile and install the [libUDPTCPNetwork](https://steffen.gulpe.de/gitea/steffen/libUDPTCPNetwork) library which includes some helper functions i use.
|
|
If you have a debian based distribution you can install them with:
|
|
|
|
apt install libxml2-dev libssl-dev
|
|
git clone https://steffen.gulpe.de/gitea/steffen/libUDPTCPNetwork.git
|
|
cd libUDPTCPNetwork
|
|
make
|
|
sudo make install
|
|
|
|
## Compilation
|
|
|
|
No comment here. Just download, compile and run the tool.
|
|
|
|
git clone https://steffen.gulpe.de/gitea/steffen/FBSmartHome.git
|
|
cd FBSmartHome
|
|
make
|
|
./fbsh-cli
|
|
|
|
### Configuration File
|
|
|
|
To set some default settings and create the configuration file, just run the command.
|
|
|
|
`./fbsh-cli -host http://192.168.0.1 -user SOMEUSER -pass SOMEPASSWORD saveconfig`
|
|
|
|
The default configuration will be saved under `$HOME/.fbsh.config`. In addition the client will save a SID file `.fbsh.sid` which contains the last known SID (session ID). This file will also be located inside the home directory.
|
|
|
|
Both script and the client will use the same config file.
|
|
|
|
### Test the Login
|
|
Test the connection with `./fbsh-cli connect`. The successfull conntion will look like:
|
|
|
|
user@desktop ~/FBSmartHome $ ./fbsh-cli connect
|
|
SID:989346018a2dca53
|
|
user@desktop ~/FBSmartHome $
|
|
|
|
### Supported Commands
|
|
+ saveconfig
|
|
+ connect
|
|
+ list
|
|
+ gethkr
|
|
+ listhkr
|
|
+ help
|
|
|
|
|
|
### Currently Not Working
|
|
+ HTTPS is yet not supported
|
|
+ sending commands to switches and lights
|
|
+ readin additional data from devices
|
|
|
|
# Sample Output
|
|
|
|
steffen@pc1 ~/Dokumente/Programmierung/FBSmartHome $ ./fbsh-cli listhkr
|
|
01234 0001234 name:Heizung 1 temp:19.5 cur:19.5 set:21.0
|
|
01234 0001235 name:Heizung 2 temp:19.0 cur:19.0 set:19.0
|
|
01234 0001236 name:Heizung 3 temp:21.5 cur:21.5 set:22.0
|
|
steffen@pc1 ~/Dokumente/Programmierung/FBSmartHome $
|
|
|
|

|
|
|