FHEM hat KNX Adressen erhalten - Schalten nicht möglich

Begonnen von Kaste, 16 April 2016, 17:57:32

Vorheriges Thema - Nächstes Thema

Kaste

Hi,

ich habe den Rasperry PI 2; nutze EIBD und den TUL-Stick.

Nach Installation des TUL-Stick war ich froh, dass KNX Adressen bei mir in der fhem.cfg automatisch übernommen worden sind. Dachte alles wäre gut gelaufen. Leider funzt das Schalten der Lichter dann aber doch nicht. Ich habe mich an die Anleitung von meintechblog gehalten.

Beispiele für die übernommenen KNX-Adressen sind:

define EIB_6204 EIB 6/2/4
attr EIB_6204 IODev KNX
attr EIB_6204 room EIB

define FileLog_EIB_6204 FileLog ./log/EIB_6204-%Y.log EIB_6204
attr FileLog_EIB_6204 logtype text
attr FileLog_EIB_6204 room EIB

define EIB_1107 EIB 1/1/7
attr EIB_1107 IODev KNX
attr EIB_1107 room EIB

define FileLog_EIB_1107 FileLog ./log/EIB_1107-%Y.log EIB_1107
attr FileLog_EIB_1107 logtype text
attr FileLog_EIB_1107 room EIB


Könnt Ihr mit diesen Angaben bereits feststellen, was bei mir noch fehlt?  Leider bin ich absoluter Dummy und wenn ich mich nicht genau an die Anleitungen halten, wohl ziemlich aufgeschmissen....

Grüße
Kaste

Andi291

Hallo Kaste,

Dir fehlen die zwingend nötigen dpt - mehr dazu siehe commandref.

Ich würde Dir raten (wenn Du eh neu beginnst), auf das Modul KNX und nicht auf das Modul EIB zu bauen. Den Support für EIB habe ich eingestellt.

Beispiel für DPT5:

define myDimmer KNX 1/2/3:dpt5

Grüße, Andi

Kaste

Danke erstmal; wo ich genau das dpt noch definieren muss, habe ich noch nicht verstanden. Im commandref steht ja, dass dpt1 vordefiniert ist, oder?

D.h. ich habe bei mir nur in der config wie folgt geändert:

define EIB_6204 EIB 6/2/4:dpt1
attr EIB_6204 IODev KNX
attr EIB_6204 room EIB
define FileLog_EIB_6204 FileLog ./log/EIB_6204-%Y.log EIB_6204
attr FileLog_EIB_6204 logtype text
attr FileLog_EIB_6204 room EIB

und ich erhalte folgende Fehlermeldung:

Define EIB_6204: wrong group name format: specify as 0-15/0-15/0-255 or as hex Please define EIB_6204 first Please define EIB_6204 first

Meinen TUL-Stick habe ich wie folgt eingebunden:

define EIB TUL tul:/dev/ttyACM0@57600 1.1.255
define KNX TUL eibd:192.168.77.48 1.1.255

Die Lösung dieses Problems ist wahrscheinlich Basiswissen und unabhängig vom Modul KNX oder EIB, richtig?

Andi291

Hallo,

nein - Ausführung falsch und Ausführung auch :-)

EIB (alt - nicht mehr verwenden):
define myDevice EIB 1/2/3
attr myDevice model dpt5


define myDevice KNX 1/2/3:dpt5

Wenn beim EIB kein DPT angegeben ist, wird dpt1 angenommen und eine Fehlermeldung im Log geworfen. Der KNX läuft (richtigerweise) ohne angegebenen DPT gar nicht.

Grüße, Andi

Kaste

Hallo Andy,

wegen privaten Dingen und dem Frust beim letzten Mal musste ich bei dem Thema pausieren. Ich hoffe, Du hast noch ein bisschen Geduld mit mir und nochmals Lust mir etwas zu helfen.

Ich habe den raspberry 2 neu konfiguriert; (SD Karte rausgenommen, gelöscht; Jessy drauf gepackt dann KNXD draufgespielt), so wie Du es mir empfohlen hast. Es läuft aber leider immer noch nicht. Hier mal meine Einträge in relevanten Dateien:

=================================================================

Befehl /etc/init.d/knxd status zeigt:

knxd.service - KNX Daemon
   Loaded: loaded (/lib/systemd/system/knxd.service; enabled)
   Active: active (running) since Sun 2016-06-19 12:03:02 CEST; 1h 7min ago
Main PID: 508 (knxd)
   CGroup: /system.slice/knxd.service
           └─508 /usr/bin/knxd -u /tmp/eib -b ip:192.168.31.64

=================================================================
Datei sudo nano /etc/default/knxd zeigt:

START_KNXD=YES
#
DAEMON_ARGS="-u /tmp/eib -u /var/run/knx -i -b ip:192.168.31.64"
#
#DAEMON_ARGS="-u /tmp/eib -u /var/run/knx -D -R -T -S -i -b ipt:192.168.31.64"

=================================================================
Datei sudo nano /etc/knxd.conf zeigt:

# configuration for knxd.service
#alt
#KNXD_OPTS="-u /tmp/eib -b ip:192.168.31.64"
#neu
KNXD_OPTS=="-u /tmp/eib -u /var/run/knx -i -b ipt:192.168.31.64"

-b tpuarts:/dev/ttyKNX1


fhem-cfg zeigt:

attr global userattr cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride
attr global autoload_undefined_devices 1
attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global motd SecurityCheck:\
\
WEB,WEBtablet has no basicAuth attribute.\
telnetPort has no password/globalpassword attribute.\
\
Restart FHEM for a new check if the problem is fixed,\
or set the global attribute motd to none to supress this message.\

attr global statefile ./log/fhem.save
attr global updateInBackground 1
attr global verbose 3

define telnetPort telnet 7072 global

define WEB FHEMWEB 8083 global
attr WEB editConfig 1

define WEBphone FHEMWEB 8084 global
attr WEBphone basicAuth S2FzdGU6SGFuc2kxMTE=
attr WEBphone stylesheetPrefix smallscreen

define WEBtablet FHEMWEB 8085 global
attr WEBtablet stylesheetPrefix touchpad

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog

define autocreate autocreate
attr autocreate filelog ./log/%NAME-%Y.log

define eventTypes eventTypes ./log/eventTypes.txt

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create


#define KNX TUL knx:localhost 1.1.255
# define EIB TUL tul:/dev/ttyACM0@57600 1.1.255
#define tul TUL eibd:localhost 1.15.255
define tul TUL knx:localhost 1.15.255



define EIB_2214 KNX 2/2/14:dpt1
attr EIB_2214 IODev EIB
attr EIB_2214 room EIB
===============================
mit diesem Eintrag wird der EIB_2214 nicht im ,,Room"  EIB von FHEM angezeigt:

nur mit define EIB_2214 EIB 2/2/14:dpt1
aber da passiert nichts

Hast Du hier noch eine Idee?

Zusatzproblem:
nachdem ich das oben dokumentiert habe, habe ich einmal folgendes gestartet:
knxtool groupswrite ip:127.0.0.1 2/2/14 1

jetzt habe ich mir KNXD zerschossen? Ich kriege bei /etc/init.d/knxd status
jetzt leider folgendes:

knxd.service - KNX Daemon
   Loaded: loaded (/lib/systemd/system/knxd.service; enabled)
   Active: activating (auto-restart) (Result: exit-code) since Sun 2016-06-19 13:16:28 CEST; 2s ago
  Process: 869 ExecStart=/usr/bin/knxd $KNXD_OPTS (code=exited, status=1/FAILURE)
Main PID: 869 (code=exited, status=1/FAILURE)

Wie kann ich das im 1. Schritt wieder reparieren?

===================================================================
Mit freundlichen Grüßen     Kaste


mike3436

Hallo Kaste,

ich kann nicht deine ganze Konfiguration überblicken, aber ein Fehler ist in der define Zeile für das KNX Subdevice:
Zitat
define tul TUL knx:localhost 1.15.255

define EIB_2214 KNX 2/2/14:dpt1
attr EIB_2214 IODev EIB
attr EIB_2214 room EIB

===============================
mit diesem Eintrag wird der EIB_2214 nicht im ,,Room"  EIB von FHEM angezeigt:

Korrekt ist die Zuordnung zum IODev 'tul', also den Bezeichner, den du bei der Deklaration für das TUL Device vorgegeben hast:
define EIB_2214 KNX 2/2/14:dpt1
attr EIB_2214 IODev tul
attr EIB_2214 room EIB


Gruß mike3436

P.S.: der Übersicht halber sollten in den Forenbeiträgen alle Code- und Konfigurationsschnipsel in code-Tags eingefasst werden - das musste ich auch erst lernen :)
KNX Hausautomatisierung, RPi mit FHEM, Jeelink + LaCrosse, HM_LAN + KeyMatic, Somfy IO Rollladen mit Tahoma und KLF200, Buderus WPS mit USBTin und KM200

Kaste

Hallo Mike,

danke! Mit dem TUL-Stick von Busware braucht man doch kein EIBG oder KNXD, wenn man nicht die ETS-Software im Einsatz hat, richtig? Ich habe mein System neu konfiguriert und die beiden "Server" weggelassen. Nach dem Installieren von FHEM (anschließend update von FHEM) habe ich folgendes in die fhem.cfg eingetragen:

#TUL-Stick:
define KNX TUL tul:/dev/ttyACM0@57600 1.1.255

#der folgende Eintrag verhindert Modul EIB (KNX soll laufen)
attr KNX useEIB 0

#hier erstes Licht:
define devicename KNX 2/2/14:dpt1
attr devicename IODev KNX
attr devicename room EIB


Ansonsten habe ich nirgendwo was eingetragen. Die fhem.cfg gespeichert und ich kriege folgende Meldung in FHEM: "KNX: unknown attribute useEIB. Type 'attr KNX ?' for a detailed list.". Der Schalter wird auch nicht im Room "EIB" angezeigt.

Unter der Anzeige von FHEM steht bei der Auswahl "everything" unter TUL "KNX initialized" und wenn man das anklickt:

ZitatAckLineDef
Clients
:EIB:
DEF   
tul:/dev/ttyACM0@57600 1.1.255
DevType
TPUART
DeviceAddress
11ff
DeviceName
tul:/dev/ttyACM0@57600
FD
12
KNX_MSGCNT
10
KNX_TIME
2016-06-20 06:29:24
NAME
KNX
NR
30
PARTIAL
RAWMSG
B1116w110300
REFUSED
STATE
Initialized
TYPE
TUL

Kannst Du damit was anfangen?


mike3436

Hallo Kaste,

ich bin da nicht so tief in dem Thema drin!
Ich verwende den EIBD Service und greife von FHEM dann auf den Service über 172.0.0.1 zu.
Nähere Informationen kann dir nur der Entwickler des tul-Moduls beantworten - ich würde aber erst mal Doku, Wiki, und andere Beiträge durchforsten!
KNX Hausautomatisierung, RPi mit FHEM, Jeelink + LaCrosse, HM_LAN + KeyMatic, Somfy IO Rollladen mit Tahoma und KLF200, Buderus WPS mit USBTin und KM200

oggy

Zitat von: mike3436 am 21 Juni 2016, 17:15:42

Ich verwende den EIBD Service und greife von FHEM dann auf den Service über 172.0.0.1 zu.


Vertipper oder schon der Fehler?

mike3436

ZitatVertipper oder schon der Fehler?

Musste natürlich 127.0.0.1 heissen, sonst würde es ja bei mir auch nicht funktionieren!
KNX Hausautomatisierung, RPi mit FHEM, Jeelink + LaCrosse, HM_LAN + KeyMatic, Somfy IO Rollladen mit Tahoma und KLF200, Buderus WPS mit USBTin und KM200

Kaste

Hi Ihr beiden,

ich habe jetzt erstmal deswegen auf einen EIBD oder KNXD Server verzichtet, um das System möglichst einfach zu halten. D.h. TUL-Stick als Schnittstelle; fHEM und fertig. Trotzdem läuft es nicht.

In der fhem.cfg hatte ich folgendes eingetragen:

#TUL-Stick:
define KNX TUL tul:/dev/ttyACM0@57600 1.1.255

#der folgende Eintrag verhindert Modul EIB (KNX soll laufen)
attr KNX useEIB 0

#hier erstes Licht:
define devicename KNX 2/2/14:dpt1
attr devicename IODev KNX
attr devicename room EIB


Hätte ich in diesem "einfachen" System noch was anderes als den obigen Eintrag in die FHEM.cfg oder noch woanders eintragen müssen??

Ich hoffe es kann mir noch jemand weiterhelfen.

Beste Grüße   Kaste

Andi291

Abend!

Ich empfehle dringend, den knxd zu nutzen. Bei Nutzung des TUL-Stick werden immer wieder Probleme berichtet, welche ich aber nicht näher eingrenzen oder lösen kann. Deine Definition sieht eigentlich gut aus. Eventuell solltest Du den Namen des TUL-Devices ändern (Seiteneffekte auf Modulname KNX? Evtl. wird dadurch das Attribut verloren).

Wann hast Du das letzte mal geupdated? useEIB muss in der aktuellen Version nicht mehr auf 0 gesetzt werden.

Definition der Geräte: die Angabe des IODev ist optional. Die devices ziehen sich ohne Angabe automatisch das erste gefundene.

Grüße, Andi