Installation eibd auf pi 2

Begonnen von Marthinx, 16 September 2015, 05:22:18

Vorheriges Thema - Nächstes Thema

grappa24

Zitat von: smurfix am 17 November 2015, 19:53:43
DAEMON_ARGS="-u /tmp/eib -u /var/run/knx ? ? ? ? tpuarts:dev/ttyACM0"

Statt der Fragezeichen empfehle ich -DTRS.  8)
Nach den -u bitte (vorerst) die Leerstellen entfernen. Nach dem Doppelpunkt braucht es einen Schrägstrich.
Danke, jetzt kommt folgende Meldung
/etc/init.d/knxd: 1: /etc/default/knxd: Defaults: not found
[ ok ] knxd is running.
ist das jetzt gut oder schlecht  ::)

dann hab ich halt noch das Problem mit der fhem.cfg, wie wird der TUL definiert, so gehts nicht:
define EIB TUL eibd:localhost 1.1.249
FHEM 6.1, 2 x RasPi 3B+, Debian Buster; KNX, FS20, HM, HUE, Tradfri, Shellies, KLF200
Rollo-/Lichtsteuerung/-szenarien, T-Sensoren, Fensterkontakte, Heizungssteuerung, HEOS, Sprachsteuerung mit Alexa-FHEM, Netatmo, Nuki, ...

smurfix

@reTORic: Nein, der Doppelpunkt war für @grappa24. Bez. Netzverbindung willst du wahrscheinlich "ipt:ip-vom-Gateway". Anpingen kannst du ihn hoffentlich.

@grappa24: Du hast in der Konfigdatei einer Kommentarzeile das Kommentarzeichen geklaut. Gib es ihr wieder.

smurfix

So, die aktuelle Version hat das Leerstellenproblem nicht mehr.

reTOric

N'abend,

klar anpingen kann ich das IP-Gateway aber wo trag ich die IP genau ein?
in die /etc/knxd.conf?
Muss die Zeile dann

KNXD_OPTS="-u/tmp/eib -b ipt:192.168.XXX.XXX"

oder

KNXD_OPTS="-u/tmp/eib -b ip:192.168.XXX.XXX"

heißen?

Sorry das ich mich so dämlich anstelle, hangen mich aber an Anleitungen lang aber dafür hab ich noch nichts gefunden? Die anderen Dateien die im Thread vorherauftauchen sind bei mir irgendwie nicht da. /etc/init.d/knx z.B.

Vielen Dank schon mal für die Hinweise.
Henrik

reTOric

ALLES Läuft.

Vielen Dank an Smurfix.
Hab die Zeile geändert.

KNXD_OPTS="-u/tmp/eib -b ipt:192.168.XXX.XXX"

Damit nun zugriff auf mein knx System.

Vielen Dank

smurfix

Bitte sehr.

Nun sag mir noch, wo du die Doku bez. des Unterschieds zwischen ip: und ipt: gerne gefunden hättest, damit du nicht hättest fragen brauchen.  ;D


woodySI

Hallo,
ich versuche bis jetzt ohne nennenswerte Erfolge nach der Anleitung von "Martinx" (hier http://www.fhemwiki.de/wiki/Knxd) den knxd auf einem PI2 mit Wheezy zu installieren.

Nach der Installation läuft zwar der knxd (kontrolliert in putty) und auch FHEM sagt "initialisiert", aber ansonsten passiert nichts - fhem bekommt nichst rein und nichts raus.

Nach einem reboot des PI2 startet knxd nicht mehr. Bekomme den gleichen Fehler wie unter Beitrag 20 (http://forum.fhem.de/index.php/topic,41131.msg335876.html#msg335876)

/etc/init.d/knxd start
E00000016: OpenLocalSocket /tmp/eib: bind: Address already in use
initialisation of the knxd unix protocol failed: Address already in use
pi@pi ~ $ /etc/init.d/knxd status
[FAIL] knxd is not running ... failed!

Mit dem Löschen der Leerzeichen nach den zwei "-u"s habe ich mich schon versucht. Das hat mich aber leider nicht weiter gebracht. Ebenso wenig wie "ip" oder "ipt" für mein IP Gateway.

Ich bin blutiger Laie was linux anbelangt - sollte ich hier grundlegend was falsch gemacht haben/etwas überlesen haben, bitte ich um Nachsicht  :-[
Schon mal vielen Dank im Voraus fürs lesen.
Ich hoffe Ihr könnt mir weiterhelfen.
Schönen Abend noch.
Marcus

smurfix

ZitatE00000016: OpenLocalSocket /tmp/eib: bind: Address already in use

Wie kommst du darauf, dass der knxd nicht gestartet ist, obwohl der Socket offen ist?

Bitte die üblichen Verdächtigen angeben, als da wären
* ps ax|grep knx
* ps ax|grep eib
* systemctl status knxd.service
* systemctl status knxd.socket
* cat /etc/knxd.conf
* cat /etc/default/knxd # nur, falls es bei dir kein "systemctl" gibt

Nochmal für Alle: Für den knxd gilt: "ip:" ist Multicast-Client. Danach willst du allerhöchstens eine Multicastadresse angeben.
"ipt:" ist für die Verbindung zu einem remote-Gateway da. Der Hilfstext ist da ein bisschen blöd, das ändere ich gleich.
(Im "knxtool" bedeutet "ip:" leider etwas ganz Anderes.)

Wenn du im gleichen Netz bist wie der Gateway, und wenn dein Gateway Multicast kann, dann nimm "ip:". Das ist viel stabiler als "ipt:".

woodySI

@ smurfix - Du bist aber fix - Danke

Also, ich war auch nicht untätig und habe herausgefunden, dass:
Folgendes muss ich nach (neu-)start des RPI2 machen, damit ich über FHEM schalten kann und FHEM auf BUS-Telegramme reagiert:
1) sudo service knxd stop (FHEM wird mit beendet//ohne sudo geht es nicht!)
2) sudo service knxd restart
3) service fhem start
.. erst jetzt geht es??

Nun die von die gewünschten Antworten:

pi@raspberrypi ~ $ ps ax|grep knx
2615 ?        Ss     0:00 /usr/bin/knxd -d -p /var/run/knxd.pid -u /tmp/eib -u /var/run/knx -i -b ipt:192.168.180.3
2646 pts/0    S+     0:00 grep --color=auto knx

pi@raspberrypi ~ $ ps ax|grep eib
2615 ?        Ss     0:00 /usr/bin/knxd -d -p /var/run/knxd.pid -u /tmp/eib -u /var/run/knx -i -b ipt:192.168.180.3
2648 pts/0    S+     0:00 grep --color=auto eib

pi@raspberrypi ~ $ systemctl status knxd.service
-bash: systemctl: command not found

pi@raspberrypi ~ $ systemctl status knxd.socket
-bash: systemctl: command not found

pi@raspberrypi ~ $ cat /etc/knxd.conf
cat: /etc/knxd.conf: No such file or directory

pi@raspberrypi ~ $ cat /etc/default/knxd
# Defaults for knxd initscript
# sourced by /etc/init.d/knxd
# installed at /etc/default/knxd by the maintainer scripts

########################################################################
# This file is ignored when using systemd: edit /etc/knxd.conf instead #
########################################################################

# start knxd when /etc/init.d/knxd start is run
# by default knxd does NOT start. set to YES to enable
START_KNXD=YES

# Additional options that are passed to the Daemon.
#
# sane default: route between local KNX clients and multicast
DAEMON_ARGS="-u /tmp/eib -u /var/run/knx -i -b ipt:192.168.180.3"
# -e 1.1.241 / 192.168.180.3//34

# Run `knxd --help` to get a complete list of available options and drivers.

# If you have KNX hardware on a serial port or USB, add the appropriate
# "-b TYPE:..." option. In this case, you probably want to set up a multicast
# server, not a client (i.e. use "-D -T -R -S", not "-b ip:").
# DO NOT use both.
#
# If your KNX hardware is a KNX/IP gateway that doesn't do multicast,
# use "-b ipt:192.168.1.2" (or its DNS name) to talk to it.
#
# KNX MUST NOT have more than one path between any two devices. Thus,
# you need to make sure that the KNX/IP gateway does not route multicast
# before you use both "-S" and "-b ipt:".

# The default bus address of knxd is 0.0.1. If that's in use in your KNX
# network (or if you run more than one knxd on your network), set a
# different address (-e 15.0.99).

Mit "ip:" geht es nicht - nur mit "ipt:"!

smurfix

ZitatMit "ip:" geht es nicht - nur mit "ipt:"!
Mit "ip:Adresse.des.gate.ways" kann es auch nicht gehen. Mit einem nackten "ip:" schon, wenn dein Gateway Multicasts versteht.

Wieso das nach dem Start nicht gleich geht, wäre zu erforschen.

woodySI

@ smurfix: Danke.

So, nun weiß ich auch weshalb KNXD erst nach manuellem Restart von FHEM und dem KNXD-Service funktioniert (wie oben beschrieben). Die Startreihenfolge der Dienste wird willkürlich vom System erstellt. Ich musste die Services manuell anpassen (erst KNXD dann FHEM starten lassen). Jetzt geht es nach einem Reboot/Neustart ohne manuellen Eingriff.

smurfix

Zitat(erst KNXD dann FHEM starten lassen)

Das ist nicht willkürlich, sondern alphabetisch.  :P

Unter Anderem aus diesem Grund mag ich die Socket-Aktivierung via systemd -- da spielt die Startreihenfolge keine Rolle mehr.

haeberle

@woodySI

Könnest du hier noch posten wie du das gemacht hast? Bei mir started der knxd nicht automatisch,m manuel tuts wie gewünscht.

Danke