Maak nieuwe virtuele sensoren aan in Domoticz, deze worden gevuld met het python script
Indien je nog geen dummy hardware apparaat hebt toegevoegd in Domoticz ga je naar Hardware, add new Hardware, kies voor dummy als type. Andere settings kunnen default blijven.
Maak vervolgens 4 virtuele sensoren aan door te klikken op create virtual sensors onder het dummy hardware apparaat op de hardware pagina. Je hebt er vier nodig:
Zorg eerst dat de server up-to-date is:
sudo apt-get update
en
sudo apt-get upgrade
Bluetooth:
Note: Bluez versie 5.44 compiled standaard geen gatttool op een Raspberry Pi (deprecated tool), doe dus eerst:
--enable-deprecated
Voer nu onderstaande commando’s uit:
Dependencies :
sudo apt-get install libglib2.0-dev libdbus-1-dev libical-dev libreadline-dev libudev-dev
Setup :
cd /home/pi wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.44.tar.gz tar -xvf bluez-5.44.tar.gz cd bluez-5.44 sudo ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-tools --disable-test --disable-systemd --enable-deprecated sudo make all sudo apt-get install python-bluez python-requests
Als alles goed is gegaan moet Gatt tool nog naar de programma locatie worden gekopieerd:
Dit kan per Linux installatie verschillen, probeer:
sudo cp attrib/gatttool /usr/bin/
of
sudo cp attrib/gatttool /usr/local/bin/
En voor de zekerheid:
export PATH=$PATH:~/bluez-5.44/attrib/
Bluetooth is nu geïnstalleerd. Herstart de server:
sudo shutdown -r now
Download het Python3 script met git command :
Indien git niet is geïnstalleerd kan dit met:
sudo apt-get install -y git-core
Installeer het script:
cd ~ && git clone https://github.com/Tristan79/miflora.git
Kopieer de miflora folder naar de Domoticz python scripts directory:
cp -R ~/miflora/ ~/domoticz/scripts/python/miflora
Python-to-bluetooth
Installeer nu Python3 en de benodigde Python3 libraries zodat Python met bluetooth overweg kan:
sudo aptitude install python3 python3-pip sudo pip3 install pygatt sudo pip3 install requests
Vindt het sensor Bluetooth Adres
Nu is het Bluetooth adres van de sensor nodig zodat deze in het script kan worden geplaatst.
Zorg dat Bluetooth LE aanstaat. Doe vanuit de bluez folder de volgende commando’s:
sudo tools/btmgmt le on sudo tools/btmgmt connectable on sudo tools/btmgmt power on
Zoek naar je sensor:
sudo hciconfig hci0 down sudo hciconfig hci0 up hciconfig sudo hcitool lescan/
Schrijf het adres op (dit is iets als 12:34:56:78:90:AB), en druk op ctrl-z om te sluiten
Alternatieve manier:
bluetoothctl scan on exit
Het domoticz.py script bewerken:
Vervang het dummy adres met jouw Domoticz server IP adres bovenin het script, pas eventueel ook de login gegevens aan.
Voeg nu je gevonden Bluetooth adres(sen) toe in de update call onderaan het script. Voeg hierachter ook de IDX codes toe van de switches die je eerder hebt aangemaakt in Domoticz. De IDX codes vind je in het apparaten overzicht.
Voorbeeld:
update(“C3:7C:8E:12:80:94″,”72″,”73″,”74″,”75”)
Polling opzetten:
Om ervoor te zorgen dat het script elke 12 uur draait (bijvoorbeeld) moet er een crontask worden gemaakt:
sudo crontab -e
Voeg de volgende regel toe:
0 0,12 * * * /usr/bin/python3 /home/pi/domoticz/scripts/python/miflora/domoticz.py
Hiermee draait het script twee keer per dag.