Via knxd hoop ik volgende problemen op te lossen
- Invalid frames bij de BusMonitor van ETS5 wanneer EIBD in tunneling mode gebruikt wordt.
- Mijn Hager TR131A wil niet werken in ETS 5 zowel voor Tunnel als Router mode
Ik heb er ook voor gekozen om niet meer via noobs te werken maar van een lege linux doos. Hoe minder toepassingen er uiteindelijk om de RPI3 komen te staan. Hoe stabieler deze zal werken.
Basic RPI setup
Downloaden van raspbian jessie lite
https://downloads.raspberrypi.org/raspbian_lite_latest
Wegschrijven naar SD card met Win32diskimager
https://www.raspberrypi.org/documentation/installation/installing-images/windows.md
via HDMI en USB toetsenbord
- passwd pi, root
- sudo raspi-config
- timezone, keyboard layout
- Update OS
- apt-get update
- apt-get upgrade
Blacklist Wifi & Bleutooth
/etc/modprobe.d/raspi-blacklist.conf
#wifi
blacklist brcmfmac
blacklist brcmutil
#bt
blacklist btbcm
blacklist hci_uart
Installatie Vim
Voor gebruik vi
Geeft problemen met de pijltjestoetsen
De gemakkelijkste manier is gewoon vim erbij installeren
apt-get install vim
Netwerk configureren
Procedure met DHCP (Debian Jessie)
vi /etc/dhcpcd.conf
interface eth0 static ip_address=192.168.10.15/24 static routers=192.168.10.1 static domain_name_servers=192.168.10.5 195.130.130.11
Procedure zonder DHCP (oude manier)
Uitschakelen van DHCP services
systemctl disable dhcpcd
ipv6 uitschakelen (momenteel nog niet in gebruik)
Static network config
ifdown wlan0 /etc/hosts --> hostname wijzigen vi /etc/network/interfaces auto eth0 iface eth0 inet static address 192.168.10.15 netmask 255.255.255.0 gateway 192.168.10.1 dns-nameservers 192.168.10.5 post-up route add -net 224.0.23.12 netmask 255.255.255.255 eth0 pre-down route del -net 224.0.23.12 netmask 255.255.255.255 eth0
SSH activeren onboot
systemctl enable ssh
Verplaatsen RPI3
RPI3 terug in de garage aangesloten
- Stroomkabel
- UTP
- USB -> KNX connectie Hager TH101
Controle USB interface
pi@Pi:~ $ sudo lsusb -v Bus 001 Device 004: ID 135e:0025 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x135e idProduct 0x0025 bcdDevice 1.01 iManufacturer 1 Hager Electro iProduct 2 KNX-USB Data Interface
Installatie KNXD
Nu is onze RPI3 klaar om KNXD te installeren.
Volg de readme op https://github.com/knxd/knxd
Installatie build tools
sudo apt-get install git-core build-essential
Ophalen source code
git clone https://github.com/knxd/knxd.git
wget https://www.auto.tuwien.ac.at/~mkoegler/pth/pthsem_2.0.8.tar.gz
Compilatie & installatie pthsem
tar xzf pthsem_2.0.8.tar.gz cd pthsem-2.0.8 sudo apt-get install debhelper sudo apt-get install cdbs dpkg-buildpackage -b -uc cd .. sudo dpkg -i libpthsem*.deb
Compilatie installatie KNXD
cd knxd/ sudo apt-get install libsystemd-dev libsystemd-daemon-dev libusb-1.0-0-dev dh-systemd dpkg-buildpackage -b -uc cd .. sudo dpkg -i knxd_*.deb knxd-tools_*.deb
Aanpassen van de EIBD options.
Deze configuratieregel stelt de parameters in waarmee KNXD moet opstarten.
vi /etc/knxd.conf KNXD_OPTS="-e 1.1.128 -DTRS -b usb:1:4:1:0:0" Debugging opties: KNXD_OPTS="-e 1.1.128 -t1023 -f9 -DTRS -b usb:1:4:1:0:0"
EDIT AUGUST 2016: Tunneling mode opnieuw toegevoegd aan KNXD server!!! Dit omdat ik problemen ondervond tijdens het opladen van de applicatiecode in een domoticaproduct van Hager.
Onderstaande regel heb ik moeten toevoegen aan de udev rules. Indien ik dit niet doe mag de user knxd de USB interface niet gebruiken.
vi /etc/udev/rules.d/70-knxd.rules # Hager KNX-USB Data Interface SUBSYSTEM=="usb", ATTR{idVendor}=="135e", ATTR{idProduct}=="0025", ACTION=="add", GROUP="knxd", MODE="0664"
MySQL client tools
sudo apt-get install mysql-client
Reboot pi
Na het herstarten de status van onze knxd instantie controleren
systemctl status knxd root@SennePi:/etc/udev/rules.d# systemctl status knxd ● knxd.service - KNX Daemon Loaded: loaded (/lib/systemd/system/knxd.service; enabled) Active: active (running) since Thu 2016-03-24 15:08:41 CET; 4min 22s ago Main PID: 498 (knxd) CGroup: /system.slice/knxd.service └─498 /usr/bin/knxd -e 1.1.128 -DRS -b usb:1:4:1:0:0 Mar 24 15:08:41 SennePi systemd[1]: Started KNX Daemon. Mar 24 15:10:02 SennePi knxd[498]: W00000033: RecvError 2
De periodieke RecvError2 krijg ik nog niet weg. Ik merk dat er nog andere personen met dit probleem zitten en het zou te maken hebben met een timeout van de USB connectie.
Het ziet er echter wel naar uit dat alle functies van knxd correct werken.
Dus voorlopig laat ik de foutmelding gerust staan.
Testen van knxd
Testen in linux met knxtool
Busmonitor
knxtool vbusmonitor1 ip:localhost
Waarde uitlezen van een knx apparaat (in dit voorbeeld een Hager TE360 energiemeter)
knxtool groupreadresponse local:/run/knx 4/6/9
Send request
Response from 1.1.9: 00 51 E7 08
Ending groupreadresponse.
Testen in ETS5
In routing mode werkt ETS5 zoals het hoort.
In tunneling mode krijg ik nog steeds invalid frames bij de busmonitor. De groepmonitor werkt wel goed in tunneling mode. Momenteel geen idee waar het verschil zou kunnen zitten.
Het probleem met de TR131A is ook opgelost geraakt.
Dit had te maken in een bug van ETS5. Met de laatste nieuwe update ETS5.0.8 blijkt de TR131A in combinatie met een routing interface goed te werken.
Hey Stijn,
Heb zelf een raspberry pi 2 draaien waarop ik knxd heb geinstalleerd. Daemon start bij het opstarten van de raspberry pi. Wanneer ik vbusmonitor1 doe op localhost zie ik ook mooi pakketjes voorbijkomen wanneer ik mijn schakelaars e.d. gebruik, dus dat werkt prima.
Ik heb echter problemen met deze juist in te stellen als interface in ETS5. Ik kies de IP router onder discoverable interfaces (niet de knxd IP tunneling interface). Maar moet ik verder het mediumtype (IP / TP) van mijn topologie ook nog aanpassen om de interface te laten werken? Momenteel kan ik geen applicaties downloaden over het netwerk… Wanneer ik bijvoorbeeld een schakelactor (bus adres 1.1.3) aanpas en probeer deze applicatie te downloaden via deze interface dan faalt deze na een tijdje. Bij vbusmonitor1 zie ik dan de volgende pakketten voorbij komen:
LPDU: B0 11 7F 11 03 50 80 E3 :L_Data system from 1.1.128 to 1.1.3 hops: 05 T_CONNECT_REQ
LPDU: B0 11 7F 11 03 51 43 00 21 :L_Data system from 1.1.128 to 1.1.3 hops: 05 T_DATA_CONNECTED_REQ serno:00 A_DeviceDescriptor_Read Type:00
LPDU: B0 11 7F 11 03 51 43 00 21 :L_Data system from 1.1.128 to 1.1.3 hops: 05 T_DATA_CONNECTED_REQ serno:00 A_DeviceDescriptor_Read Type:00
LPDU: B0 11 7F 11 03 51 43 00 21 :L_Data system from 1.1.128 to 1.1.3 hops: 05 T_DATA_CONNECTED_REQ serno:00 A_DeviceDescriptor_Read Type:00
LPDU: B0 11 7F 11 03 51 43 00 21 :L_Data system from 1.1.128 to 1.1.3 hops: 05 T_DATA_CONNECTED_REQ serno:00 A_DeviceDescriptor_Read Type:00
LPDU: B0 11 7F 11 03 50 81 E2 :L_Data system from 1.1.128 to 1.1.3 hops: 05 T_DISCONNECT_REQ
Mijn raspberry pi hangt voorlopig aan een MDT USB interface. Deze wordt gedetecteerd d.m.v. de volgende regel in knxusb-devices.rules
# MDT KNX_USB_Interface
SUBSYSTEM==”usb”, ATTR{idVendor}==”16d0″, ATTR{idProduct}==”0491″, ACTION==”add”, GROUP=”knxd”, MODE=”0664″
MVG,
Nick
PS: Ik heb je ook een bericht gestuurd op het knx-forum, maar daar ben je misschien niet meer actief 🙂
LikeLike
Hey Nick,
Welke versie van ETS5 gebruik je? Inclusief het buildnummer? Ik weet dat ETS5.0.8 Build 1411 dit probleem oplost.
Mvg,
Stijn
LikeLike
Dag Stijn,
De allerlaatste, namelijk ETS 5.5.2 (Build 665)… Dus betwijfel ofwant dit het probleem gaat zijn.
Nick
LikeLike
Juist, mijn probleem situeerde zich in het feit dat ik slechte telegrammen ontving in ETS5 wanneer ik de router mode gebruikte. Na het upgraden had ik hier geen last meer van. Nu moet ik wel zeggen dat ik ook 1 busdeelnemer heb dat ik enkel in tunnelingmode kan programmeren maar ik vermoed dat jij problemen hebt met al jouw busdeelnemers.
Mvg,
Stijn
LikeLike
Om op jouw vraag te antwoorden ivm IP / TP. Bij mij staat alles op TP. Dit zou voldoende moeten zijn.
LikeLike
Heb even een topic gemaakt op knx-forum: http://knx-forum.be/viewtopic.php?f=6&t=1415
LikeLike
Super, Ik hoop dat er jou snel iemand kan helpen. Ik wil je niet ontmoedigen maar het is allemaal zeer fragile. Een paar maanden geleden had ik een defecte bus coupler (hager th101). Deze heb ik 1 op 1 vervangen met een nieuwe en sindsdien werkt enkel mijn busmonitor1 nog. de vbusmonitor1 werkt niet alsook alle andere functies werken niet meer. De busmonitor connecteert rechtstreeks naar het apparaat en de vbusmonitor zou via de router software werken. Enfin, hier dus ook miserie momenteel..
LikeLike
Uiteindelijk is het de bedoeling om een Siemens buskoppelaar op de TPUART pinnen van de Pi te hangen (de MDT USB interface is namelijk niet van mij, maar heb deze geleend van mn vader). Dit zorgt echter voor een extra plaats waar het fout kan lopen, daarom dacht ik eerst even de knxd aan de praat te krijgen met een ‘bewezen’ interface 🙂 Misschien dat ik met een buskoppelaar op de TPUART pinnen mijn actoren dan wel kan programmeren via ETS5? Ik wacht in ieder geval even wat mogelijke reacties van knx-forum af.
Alvast bedankt!
LikeLike
Hi
I have a USBto serial adapter that is connected to Tapko serial interface. I can see all telegrams in a terminal connection to /dev/ttyUSB0 port.
But Do i have to have a USB-KNX adapter or can i use my Tapko for that?
LikeLike
You should be fine with the current setup. Try pointing knxd to the USB interface in /etc/knxd.conf and see what happens.
LikeLike
Well already tried that. It statrts for about 2 seconds and then crashes with message that
root@raspberrypi:~# knxd –eibaddr=1.1.128 –client-addrs=1.1.129:8 -d -D -T -R -S -i –listen-local=/tmp/knx -b tpuart:/dev/ttyUSB0 root@raspberrypi:~# F00000105: [15:C.tpuart] Link down, terminating
and
root@raspberrypi:~# knxd –eibaddr=1.1.128 –client-addrs=1.1.129:8 -d -D -T -R -S -i –listen-local=/tmp/knx -b usb:/dev/ttyUSB0
root@raspberrypi:~# terminate called after throwing an instance of ‘std::invalid_argument’
what(): stoi
LikeLike
I suggest you try asking for help on the issues page on https://github.com/knxd/knxd/issues . We are probably on different versions and also I encountered a bug that they fixed for me.
Good luck
LikeLike