fquinto / bticinoClasse300x

BTicino Classe 300X13E and C100X
GNU General Public License v2.0
85 stars 15 forks source link
bticino bticino-intercom firmware intercom video voip

BTicino C100X/C300X modified firmware

Donations for Software Development

https://www.paypal.com/donate/?business=XQQJHGVPHLD7W&no_recurring=0&item_name=Thank+you+for+collaborating+and+helping+the+development+of+software+improvements.&currency_code=EUR

Firmware preparation and flashing

If you need to use MQTT, first read here and insert the required information in TcpDump2Mqtt.conf. More info later

1. Prepare and create firmware via python script

asciicast

(Using GNU/Linux):

git clone https://github.com/fquinto/bticinoClasse300x.git
cd bticinoClasse300x
sudo python3 -m pip install --upgrade pip
sudo python3 -m pip install -r requirements.txt
sudo python3 main.py

(Using Docker):

git clone https://github.com/fquinto/bticinoClasse300x.git
cd bticinoClasse300x
docker compose run bticino

2. Flash firmware using MyHomeSuite


Device integration capabilities

NOTE: is the IP address of the video intercom door entry unit.

1. Via any generic MQTT broker

To better understand MQTT implementation, have a look here

Once you flashed the new firmware, establish a connection with your intercom via SSH

ssh root2@<intercom_ip>

If you're using a mac (OSx)

# First create a RSA key if you never done before
ssh-keygen -t rsa

# Do the connection
ssh -oHostKeyAlgorithms=+ssh-rsa root2@<intercom_ip>

Proceed with all the following

# Move to the folder
cd /etc/tcpdump2mqtt

# Make the filesystem writable.
mount -oremount, rw /  

# Modify the config file with your MQTT parameters (server, user and password)
vi TcpDump2Mqtt.conf 

# Make the filesystem read-only again.
mount -oremount, ro /

# Restart the video door entry unit.
reboot    

Our intercom is now sending / receiving any commands to the MQTT broker.

2. Homeassisant via an MQTT broker

NOTE: In order to manage MQTT topics in Homeassistant it is necessary to have the MQTT integration installed and have followed the instructions in the previous step

3. Via remote shell scripting

Home Assistant via shell scripts

Depending on your configuration, you may need to create a script to write commands in HA.

In next example are both. You can use only one (you don't need both if one it's running ok).

OpenWebNet commands

Known commands / notifications

Command Description
*8*19*20## main door opening button pressed
*8*20*20## main door opening button released
*8*19*21## secondary door opening button pressed
*8*20*21## secondary door opening button released
*8*21*10## stairs light activated
*8*1#5#4#20*10## intercom camera on
*8*3#5#4*420## intercom camera off
*8*1#1#4#21*10## incoming external call
*8*1#1#4#21*11## incoming external call
*8*1#1#4#21*16## incoming external call
*7*59#12#0#0*## incoming internal call

Explore new commands

You can discover new command in the following ways


Telegram Channel from which all of this originated

https://t.me/bTicinoClasse300x