Hallo liebe FHEM Gemeinde,
ich habe ein anliegen welches ich nicht alleine gelöst bekomme.
Ich habe in meinen Einfamilienhaus zwei seperate Eltako Buslinien verbaut, die können leider auch nicht zusammen gelegt werden aufgrund der Teilnehmerzahl. In jedem der Buslinien habe ich einen Eltako FGW14-USB, die Gateways sind über USB an meinen Raspberry Pi angeschlossen.
Auf den Raspberry Pi habe ich FHEM laufen. Die erste Buslinie habe ich erfolgreich in FHEM eingebunden und läuft soweit wunderbar. Jedoch wenn ich die zweite Buslinine einbinden will vermischen sich die Signale, d.h. wenn ich z.b. einen Aktor vom ersten Bus über die Weboberfläche "ein" schalte wird der Aktor im Schaltschrank vom ersten Bus "eingeschaltet" jedoch kommt die Rückmeldung vom Aktor auf der Weboberfäche beim Aktor vom zweiten Bus an.
Ich könnte mir vorstellen das die DEF einstellung der Devices die Probleme machen da beide die selbe haben.
In beiden Devices der Aktoren ist auch der richtige IODev ausgewählt, jedoch steht bei den Internals noch LASTInputDev aber vom falschen IODev.
Ich hoffe ihr habt es einigermaßen verstanden was mein Problem ist, es ist nicht ganz einfach zu beschreiben.
Anbei noch ein paar "List" der Geräte.
Gateway erste Buslinie:
Internals:
BaseID FF800000
DEF ESP2 /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.4:1.0-port0@57600
DeviceName /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.4:1.0-port0@57600
FD 23
FUUID 5f9dd9b3-f33f-1fbd-0a64-388f46d2a9b61f8f
LastID FF80007F
MODEL ESP2
NAME FGW14_USB_Bus1
NOTIFYDEV global
NR 42
NTFY_ORDER 45-FGW14_USB_Bus1
PARTIAL
STATE initialized
TYPE TCM
READINGS:
2021-05-25 19:17:09 state initialized
helper:
cdmSeq 1
init_done 1
BaseID:
FF800000
Attributes:
DbLogExclude .*
baseID FF800000
comType RS485
icon usb@3399FF
learningMode demand
room System->Gateways
sendInterval 100
verbose 3
Gateway zweite Buslinie:
Internals:
BaseID AA800000
DEF ESP2 /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.1:1.0-port0@57600
DeviceName /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.1:1.0-port0@57600
FD 47
FUUID 601afd97-f33f-1fbd-5484-f57c57fceeeb38d0
LastID AA80007F
MODEL ESP2
NAME FGW14_USB_Bus2
NOTIFYDEV global
NR 315
NTFY_ORDER 45-FGW14_USB_Bus2
PARTIAL
STATE initialized
TYPE TCM
READINGS:
2021-05-25 20:31:04 state initialized
helper:
cdmSeq 3
init_done 1
BaseID:
FF800000
AA800000
Attributes:
DbLogExclude .*
baseID AA800000
comType RS485
icon usb@3399FF
learningMode demand
room System->Gateways
sendInterval 100
verbose 3
Aktor erste Bus (Gerätebusadresse 1):
Internals:
DEF 00000001
FUUID 5f9ddf6c-f33f-1fbd-385d-0153041f4f11bbb8
IODev FGW14_USB_Bus1
NAME EnO_00000001
NR 43
NTFY_ORDER 50-EnO_00000001
STATE off
TYPE EnOcean
READINGS:
2021-05-25 19:17:05 IODev FGW14_USB_Bus1
2021-05-25 21:32:49 block unlock
2021-05-25 21:32:49 state off
helper:
Attributes:
DbLogExclude .*
IODev FGW14_USB_Bus1
alias Technik 1 Zirkulationspumpe
eep A5-38-08
gwCmd switching
icon sani_pump
manufID 00D
room EnOcean,Haus,Technik1
subDef FF800001
subType gateway
teachMethod RPS
Aktor zweite Bus (ebenfalls Gerätebusadresse 1):
Internals:
DEF 00000001
FGW14_USB_Bus1_MSGCNT 8
FGW14_USB_Bus1_TIME 2021-05-25 21:32:52
FUUID 601b06c7-f33f-1fbd-88ca-e7b06b2a0995cb8e
IODev FGW14_USB_Bus2
LASTInputDev FGW14_USB_Bus1
MSGCNT 8
NAME EnO_B2_00000001
NR 317
NTFY_ORDER 50-EnO_B2_00000001
STATE off
TYPE EnOcean
READINGS:
2021-05-25 19:17:07 IODev FGW14_USB_Bus2
2021-05-25 21:10:48 block unlock
2021-05-25 21:32:52 state off
helper:
Attributes:
DbLogExclude .*
IODev FGW14_USB_Bus2
alias Terrasse Steckdosen unten
eep A5-38-08
event-on-change-reading .*
gwCmd switching
icon message_socket
manufID 00D
room EnOcean
subDef AA800001
subType gateway
Vielen Dank im Voraus
Soweit ich den Eltako-Unterlagen entnehme, ist der Adressbereich der Aktoren 0x00000000 bis 0x000007F fest vorgegeben. Ich habe deshalb im TCM-Modul ein neues Attribut "rcvIDShift" eingebaut. Damit kann der über die RS485-Schnittstelle empfangene Adressbereich in 0x80-Schritten insgesamt verschoben werden.
attr <name> rcvIDShift 00000080
konvertiert so z. B. die empfangene ID 0x00000002 zu 0x00000082.
Bitte mit der Entwicklerversion, siehe Anlage, testen. Ich kann das selbst nicht verifizieren, da mir eine RS485-Anschaltung fehlt.
Nabend,
vielen Dank ich werde das ausprobieren und berichte ob das funktioniert.
Einen schönen Abend wünsche ich noch.
EDIT:
Ich habe gestern abend das Modul eingebunden und probeweise einen Aktor eingerichtet. Heute habe ich noch weitere sechs Aktoren eingebunden.
Alles funktioniert bestens! Vielen vielen Dank an dich Klaus!
Wie würde das mit dem von dir geänderten Modul ablaufen, wird das dann mit in FHEM aufgenommen?
Die Änderungen stehen dann in den nächsten Tagen als Update zur Verfügung.
Nabend,
ich habe doch noch ein kleines Problem mit der einbindung von FTS14EM Eingangsmodule bzw. deren Eingänge.
Beim betätigen eines Einganges wird ganz normal ein Device per Autocreate angelegt. In diesem Beispiel handelt es sich um ein Fensterkontakt welches auf einen FTS14EM mit der Geräteadresse (Potis) UT 401/30 eingestellt ist.
Der Fensterkontakt ist auf den Eingang E9 angeschlossen, beim autocreate wird dann in FHEM das Device EnO_00001439 angelegt.
Soweit ist das auch alles richtig, jedoch wenn es einen zweiten FTS14EM mit der selben Adresse auf einen seperaten Bus gibt mischen sich wieder die Signale. Hier fehlt die verschiebung der Eingangssignale welche Klaus ja schon für die Aktoren eingefügt hat.
Ich habe mal ein List vom Device angefügt, dort kann man auch wieder sehen das als LASTInputDev mein Bus2 eingetragen ist.
Internals:
DEF 00001439
FGW14_USB_Bus1_MSGCNT 314
FGW14_USB_Bus1_TIME 2021-08-05 19:32:07
FGW14_USB_Bus2_MSGCNT 4842
FGW14_USB_Bus2_TIME 2021-08-05 19:35:53
FUUID 5f9de550-f33f-1fbd-8a30-971f2827b0feaaeb
IODev FGW14_USB_Bus1
LASTInputDev FGW14_USB_Bus2
MSGCNT 5156
NAME EnO_00001439
NR 113
NTFY_ORDER 50-EnO_00001439
STATE released
TYPE EnOcean
OLDREADINGS:
READINGS:
2021-08-02 11:38:30 IODev FGW14_USB_Bus1
2021-08-05 19:35:53 buttons released
2021-08-05 19:35:48 channelB B0
2021-08-05 19:35:53 state released
helper:
Attributes:
DbLogExclude .*
IODev FGW14_USB_Bus1
alias Fensterkontakt Technik 2
eventMap closed:geschlossen open:geöffnet
group Tür- und Fensterkontakte
icon fts_shutter_all
manufID 00D
model Eltako_FTS12
room EnOcean
subType contact
teachMethod 1BS
Gateway erste Buslinie:
Internals:
BaseID FF800000
DEF ESP2 /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.4:1.0-port0@57600
DeviceName /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.4:1.0-port0@57600
FD 23
FUUID 5f9dd9b3-f33f-1fbd-0a64-388f46d2a9b61f8f
LastID FF80007F
MODEL ESP2
NAME FGW14_USB_Bus1
NOTIFYDEV global
NR 41
NTFY_ORDER 45-FGW14_USB_Bus1
PARTIAL
STATE initialized
TYPE TCM
READINGS:
2021-08-02 11:38:31 state initialized
helper:
cdmSeq 2
init_done 1
BaseID:
FF800000
Attributes:
DbLogExclude .*
baseID FF800000
comType RS485
icon usb@3399FF
learningMode demand
room System->Gateways
sendInterval 100
verbose 3
Gateway zweite Buslinie:
Internals:
BaseID AA800000
DEF ESP2 /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.1:1.0-port0@57600
DeviceName /dev/serial/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.1:1.0-port0@57600
FD 28
FUUID 601afd97-f33f-1fbd-5484-f57c57fceeeb38d0
LastID AA80007F
MODEL ESP2
NAME FGW14_USB_Bus2
NOTIFYDEV global
NR 314
NTFY_ORDER 45-FGW14_USB_Bus2
PARTIAL
STATE initialized
TYPE TCM
READINGS:
2021-08-02 11:38:32 state initialized
helper:
cdmSeq 1
init_done 1
BaseID:
FF800000
AA800000
Attributes:
DbLogExclude .*
baseID AA800000
comType RS485
icon usb@3399FF
learningMode demand
rcvIDShift 00000080
room System->Gateways
sendInterval 100
verbose 3
Klaus eventuell hast du ja wieder eine lösung parat.
Schönen Dank im Vorraus und euch einen schönen abend.
Ich sehe nicht, weshalb die Verschiebung
attr <name> rcvIDShift 00000080
nicht auch für die Sensoren geeignet wäre. Man muss natürlich einen größeren Versatz vorsehen, z. B. 0x00010000.
Nabend,
ich hätte eigentlich auch damit gerechnet das er ein neues Decive anlegt nur dann halt + 80 HEX, dass ist aber leider nicht passiert stattdessen hat er die empfangenen Daten dem EnO_00001439 zugeordnet.
Ich habe es vorhin extra nochmal mit deinem Vorschlag die Verschiebung zu vergrößern probiert, jedoch mit dem selben Ergebnis.