Fehlermeldung nach Update auf neueste TCM / Enocean Version

Begonnen von Sturi2011, 20 Juni 2014, 16:31:24

Vorheriges Thema - Nächstes Thema

Sturi2011

Hallo,

ich bekomme folgende Fehlermeldung
ZitatCan't locate object method "TCM" via package "RS485" (perhaps you forgot to load "RS485"?) at /opt/fhem/FHEM/00_TCM.pm line 590.

System Ubuntu 13.10

Definition des Devices
Zitatdefine RS485 TCM ESC2 /dev/ttyUSB0@9600

es handelt sich um ein Wired enocean System mit einem Standard rs485 Transmitter (China) per USB

Nach einem Rollback geht das Ganze wieder.

Gruß Andreas


krikan

Zitatdefine RS485 TCM ESC2 /dev/ttyUSB0@9600

ESC2 gibt es mWn nicht; müsste allenfalls ESP2 sein! Ist es das schon?

Sturi2011

#2
Hi,

Mein Fehler beim abtippeln - nein das ist es nicht in der Config ist es richtig.

Die Schleife ist IMO auch

if($hash->{MODEL} eq "ESP2") {}else{}

also sollte er selbst den Schreibfehler überspringen...

Gruß Andreas

krikan

Sorry, dann bin ich mangels Programmierkenntnissen raus. Die angemeckerte Zeile ist doch eine Log-Zeile, jedoch scheinst Du Dich mit Perl auszukennen.

klaus.schauer liest bestimmt mit; sicherlich hat er Ideen.

Gruß, Christian

klaus.schauer

Ich habe hier keine Möglichkeit Transceiver mit TCM120 Chip zu testen. Die 00_TCM-Module unterscheiden sich im Wesentlichen durch die Typbezeichnung TCM120 >> ESP2. TCM120 wird aber weiterhin akzeptiert.

Um den Fehler eingrenzen zu können, bitte wie immer:
- list <devices>
- logs mit verbose 5

Sturi2011

Hi,

hier das Log:

Zitat
2014.06.20 17:30:50 3: Opening RS485Stick device /dev/ttyUSB0
2014.06.20 17:30:50 3: Setting RS485Stick baudrate to 9600
2014.06.20 17:30:50 3: RS485Stick device opened
2014.06.20 17:30:50 2: EnOcean Cryptographic functions are not available.
2014.06.20 17:30:53 3: HUEDevice1: I/O device is HuBr
2014.06.20 17:30:53 3: HUEDevice2: I/O device is HuBr
2014.06.20 17:30:53 3: HUEDevice3: I/O device is HuBr
2014.06.20 17:30:53 3: HUEDevice4: I/O device is HuBr
2014.06.20 17:30:53 3: HUEDevice5: I/O device is HuBr
2014.06.20 17:30:53 3: HUEGroup0: I/O device is HuBr
2014.06.20 17:30:53 3: HUEDevice6: I/O device is HuBr
2014.06.20 17:30:53 3: HUEDevice7: I/O device is HuBr
2014.06.20 17:30:53 1: Including /opt/fhem/log/fhem.save
2014.06.20 17:30:53 2: TCM RS485Stick Attribute sendInterval 100 initialized
2014.06.20 17:30:53 2: TCM get RS485Stick baseID

Ein list kann ich nicht machen da Fhem nach dem getbaseID stribt.

Gruß Andreas

klaus.schauer

Das hilft schon mal weiter. Bei dem TCM310 Chip gab es ein ähnliches Problem. Beim Start werden scheinbar die empfangenen Daten, die während des Startprozesses kommen, nicht richtig verarbeitet. Ich werde sehen, ob ich eine ähnliche "Löschfunktion" wie für die TCM310 Chips einbauen kann.

klaus.schauer

Bitte mal mit der ergänzten Version versuchen. Hier wird wie beim TCM310 der Sendespeicher vor der Abfrage der SenderID geleert und ein Reset des TCM 120 ausgeführt. Der Reset könnte für andere Konfigurationen mit einer seriellen Kopplung zu der Eltako 14er-Serie kritisch sein.

Sturi2011

Hi,

Zitat2014.06.20 19:02:25 1: Including /opt/fhem/FHEM/rs485.cfg
2014.06.20 19:02:25 3: Opening RS485Stick device /dev/ttyUSB0
2014.06.20 19:02:25 3: Setting RS485Stick baudrate to 9600
2014.06.20 19:02:25 3: RS485Stick device opened
2014.06.20 19:02:25 2: EnOcean Cryptographic functions are not available.
2014.06.20 19:02:27 3: HUEDevice1: I/O device is HuBr
2014.06.20 19:02:27 3: HUEDevice2: I/O device is HuBr
2014.06.20 19:02:27 3: HUEDevice3: I/O device is HuBr
2014.06.20 19:02:27 3: HUEDevice4: I/O device is HuBr
2014.06.20 19:02:27 3: HUEDevice5: I/O device is HuBr
2014.06.20 19:02:27 3: HUEGroup0: I/O device is HuBr
2014.06.20 19:02:27 3: HUEDevice6: I/O device is HuBr
2014.06.20 19:02:27 3: HUEDevice7: I/O device is HuBr
2014.06.20 19:02:28 1: Including /opt/fhem/log/fhem.save
2014.06.20 19:02:31 2: TCM set RS485Stick reset
2014.06.20 19:02:34 1: TCM RS485Stick Timeout reading answer for get reset
2014.06.20 19:02:34 2: TCM RS485Stick Attribute sendInterval 100 initialized
2014.06.20 19:02:34 2: TCM get RS485Stick baseID

er leert aber der Fehler ist der Selbe.

Gruß Andreas

klaus.schauer

Bitte die Logs mit "verbose 5" aufzeichnen. Vielleicht kann man in den detaillierteren Ausgaben etwas sehen.

Können wir vielleicht eingrenzen, ob der Fehler nur bei diesem speziellen Transceiver auftritt oder grundsätzlich bei allen mit TCM120-Chip? Gibt es Installationen mit TCM120, die fehlerfrei laufen?

Sturi2011

Hallo,

durch das hin und her geteste war eine cfg mit verbose3 aktiv. Hier mit 5

Zitat2014.06.20 19:21:52 2: TCM set RS485Stick reset
2014.06.20 19:21:52 5: TCM RS485Stick sending A55AAB0A000000000000000000B5
2014.06.20 19:21:52 5: SW: A55AAB0A000000000000000000B5
2014.06.20 19:21:55 1: TCM RS485Stick Timeout reading answer for get reset
2014.06.20 19:21:55 2: TCM RS485Stick Attribute sendInterval 100 initialized
2014.06.20 19:21:55 2: TCM get RS485Stick baseID
2014.06.20 19:21:55 5: TCM RS485Stick sending A55AAB5800000000000000000003
2014.06.20 19:21:55 5: SW: A55AAB5800000000000000000003

Gruß Andreas

klaus.schauer

Es scheint ja überhaupt keine Rückmeldung des Transceivers zu geben. Wie sieht denn die Kommunikation mit der vorherigen Version von 00_TCM und 10_EnOcean aus?

Sturi2011

Hi,

Zitat2014.06.20 19:43:42 5: Cmd: >define RS485Stick TCM 120 /dev/ttyUSB0@9600<
2014.06.20 19:43:42 5: Loading /opt/fhem/FHEM/00_TCM.pm
2014.06.20 19:43:42 3: Opening RS485Stick device /dev/ttyUSB0
2014.06.20 19:43:42 3: Setting RS485Stick baudrate to 9600
2014.06.20 19:43:42 3: RS485Stick device opened
2014.06.20 19:43:42 5: TCM RS485Stick sending A55AAB5800000000000000000003
2014.06.20 19:43:42 5: SW: A55AAB5800000000000000000003
2014.06.20 19:43:45 1: Timeout reading answer for get baseID
2014.06.20 19:43:45 5: Cmd: >attr RS485Stick devStateIcon opened:cul@green *:cul@red<
2014.06.20 19:43:45 5: Cmd: >attr RS485Stick fp_Keller 415,195,0,<
2014.06.20 19:43:45 5: Cmd: >attr RS485Stick room System<
2014.06.20 19:43:45 5: Cmd: >define FSR12_01_ch1 EnOcean AABBCC02<
2014.06.20 19:43:45 5: Loading /opt/fhem/FHEM/10_EnOcean.pm
2014.06.20 19:43:45 5: Cmd: >attr FSR12_01_ch1 IODev RS485Stick<

Gruß Andreas

Sturi2011

Hi,

wie bereits oben geschrieben - es ist ein noname USB->RS232->RS485 Stick mit verkabeltem Eltako Kram. Da kommt IMO keine BaseID zurück..

Gruß Andreas

klaus.schauer

Hier die Sonderlösung für RS485-Kommunikation. Bitte

attr <IODev> comType RS485 setzen.

Mit Hilfe des zusätzlichen Attributes comType wird u. a. die Abfrage der BaseID unterdrückt. Eigentlich sollten alle set- und get-Befehle gesperrt werden. Mache ich vielleicht bei Gelegenheit.

Ich hoffe, damit ist das Problem gelöst.