Onewire installieren
zusätzliche Linux Pakete installieren
SmartHomeNG realisiert den Zugriff auf einen OneWire Bus über ein Plugin.
Das Plugin nutzt dazu das Paket owserver
.
Die dazu benötigten Komponenten werden installiert mit:
sudo apt-get -y install owhttpd owserver
Owserver konfigurieren
Nach der Paketinstallation von owserver
muß die Konfigurationsdatei /etc/owfs.conf
noch auf den verwendeten Adapter angepasst werden:
sudo nano /etc/owfs.conf
Eine Beispieldatei für einen USB-Adapter wie den weit verbreiteten DS9490R kann z.B. so aussehen:
######################## SOURCES ########################
#
# With this setup, any client (but owserver) uses owserver on the
# local machine...
! server: server = 127.0.0.1:4304
#
# ...and owserver uses the real hardware, by default fake devices
# This part must be changed on real installation
#server: FAKE = DS18S20,DS2405
#
# USB device: DS9490
server: usb = all
#
# Serial port: DS9097
#server: device = /dev/ttyS1
#
# owserver tcp address
#server: server = 192.168.10.1:3131
#
# random simulated device
#server: FAKE = DS18S20,DS2405
#
######################### OWFS ##########################
#
mountpoint = /mnt/1wire
allow_other
#
####################### OWHTTPD #########################
http: port = 2121
####################### OWFTPD ##########################
ftp: port = 2120
####################### OWSERVER ########################
server: port = 127.0.0.1:4304
Wichtig dabei ist vor allem das in der Config nicht localhost steht sondern 127.0.0.1 explizit angegeben wird. Dadurch wird eine Bindung des Ports 4304 an eine normale IP erreicht und nicht an IPv6 wie es sonst der Fall wäre. Mit tcp6 wiederum könnte das Smarthome.py derzeit nichts anfangen.
Bei der Installation werden owserver
und owhttp
automatisch gestartet.
Nach der Konfigurationsänderung wird der owserver
neu gestartet:
sudo systemctl restart owserver
Bemerkung
Wenn kein USB-Bridge angeschlossen ist, starten owserver
und owhttp
nicht. In diesem Fall muss die Zeile
# USB device: DS9490
server: usb = all
auskommentiert werden und eine FAKE Konfiguration enabled werden. Also folgendermaßen:
# This part must be changed on real installation
server: FAKE = DS18S20,DS2405
#
# USB device: DS9490
#server: usb = all
#
SmartHomeNG Plugin konfigurieren
Die Konfiguration des Plugins erfolgt über das Admin Interface (Siehe Abschnitt Konfiguration).
Alternativ kann die Konfiguration des Onewire-Plugin natürlich auch über die Konfigurationsdatei ../etc/plugin.yaml erfolgen. Dazu muss dort noch folgendes eingefügt werden:
ow:
plugin_name: onewire
host: 127.0.0.1
port: 4304
cycle: 60 # update every minute