FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Burny4600 am 28 Dezember 2016, 19:31:02

Titel: [gelöst] TEK603 mit ser2net bzw. cyclades-serial-client liefert LOG Fehler
Beitrag von: Burny4600 am 28 Dezember 2016, 19:31:02
Habe die Remote Verknüpfung zum TEK603 mit ser2net definiert.
Bekomme aber eine Fehlermeldung.
2016.12.28 13:29:21.419 3: Opening tek603_OG1 device <IP Adresse>:68500
Can't call method "reset_error" on an undefined value at ./FHEM/44_TEK603.pm line 95, <$fh> line 382.

ser2net Konfiguration:
### Proteus TEK603
68500:raw:0:/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 NONE 1STOPBIT 8DATABITS HANGUP_WHEN_DONE

FHEM Konfiguration:
define tek603 TEK603 <IP Adresse>:68500
attr tek603 longids 0
attr tek603 verbose 1

Entweder habe ich hier einen Denkfehler oder 44_TEK603.pm benötigt noch eine Anpassung.
Jedenfalls startet FHEM mit dieser Konfiguration nicht mehr.
Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: Puschel74 am 28 Dezember 2016, 20:04:18
https://forum.fhem.de/index.php/topic,63408.0.html (https://forum.fhem.de/index.php/topic,63408.0.html)
Und das benötigt wozu genau einen neuen Beitrag?
Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: Burny4600 am 28 Dezember 2016, 20:09:09
Ist im vorhergehend Beitrag nicht erkenntlich um welches Teil es sich handelt, darum ein neuer Eintrag?
Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: Puschel74 am 28 Dezember 2016, 20:14:29
Warum im anderen nicht erkenntlich machen?
Beiträge lassen sich auch bearbeiten - durch den Beitragsersteller.

Edith: Ich meinte damit nicht das du deinen letzten Beitrag dort löscht - du hattest ja die Infos in deinem letzten Beitrag dort schon gepostet.
Wozu kopierst du den letzten Beitrag von dort hier in einen neuen Beitrag und löscht nach meiner Antwort deinen letzen Beitrag?
Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: eisler am 28 Dezember 2016, 21:13:26
TEK603 gibt es nur mit USB-Schnittstelle.

Hinweis aus dem ser2net README:

If you want the opposite of ser2net (you want to connect to a "local"
serial port device that is really remote) then Cyclades has provided
a tool for this at http://www.coker.com.au/cyclades.  It is capable
of connecting to ser2net using RFC2217.


Lösung mit dem cyclades-serial-client könnte so aussehen:

define tek603 TEK603 /dev/ctty01

Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: Burny4600 am 29 Dezember 2016, 14:08:56
Das ist schon klar.
Auch die CUL Geräte sind per USB mit ser2net Remote angebunden.

Das sollte doch auch mit dem TEK603 möglich sein.

Die Anbindung eines USB CUL sieht am Remote Gerät so aus.
68433:raw:0:/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0:38400 NONE 1STOPBIT 8DATABITS HANGUP_WHEN_DONE
Am FHEM Gerät:
define nanoCUL433 CUL <IP Adresse>:68433 0000
attr nanoCUL433 longids 0
attr nanoCUL433 model nanoCUL


Die des TEK603 Remote Gerätes:
68500:raw:0:/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 NONE 1STOPBIT 8DATABITS HANGUP_WHEN_DONE
Am FHEM Gerät:
define tek603 TEK603 <IP Adresse>:68500

Ich denke wenn auf diese Meldung im TEK603 Modul Einfluss genommen wird könnte es vielleicht funktionieren.
2016.12.29 14:03:30.724 3: Opening tek603 device <IP Adresse>:68500
Can't call method "reset_error" on an undefined value at ./FHEM/44_TEK603.pm line 95, <$fh> line 382.


Die Anbindung mit cyclades-serial-client habe ich noch nicht durchschaut wie diese Anbindung gemeint ist.
Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: eisler am 29 Dezember 2016, 20:17:29
CUL gibts auch als CUN mit Netzwerk da macht Hostadresse:Port des Gerätes auch Sinn.
Bei TEK603 den es leider nicht mit Netzwerk gibt wird das weiterhin nur bei USB bleiben.

Funktionieren könnte es so:
TEK603 Device -> USB -> ser2net -> Netzwerk -> cyclades-serial-client -> TEK603 Modul -> FHEM
Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: Burny4600 am 30 Dezember 2016, 09:22:39
@ eisler

Wie und was von cyclades-serial-client muss ich installieren.
Welche CPU ist für den Raspberry? arm64, armel oder armhf.

Habe dazu leider keine passende Anleitung gefunden wie ich die Installation für RFC2217 durchführen muss.
Hast du dazu eine Anleitung?
Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: eisler am 30 Dezember 2016, 11:43:22
beim cyclades-serial-client kommt eine man page mit und genau so würde ich das testen:

1. cyclades-serial-client_0.92_i386.deb installieren.

2. Devices konfigurieren (/etc/cyclades-devices):
/dev/ctty01:192.xxx.xxx.xxx:68433:socket:

3. starten mit:
cyclades-serial-client start

Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: Burny4600 am 30 Dezember 2016, 18:42:19
Das funktioniert aber leider nicht.

Einen Fehler habe zumindest beheben können.
Beim Raspberry mit Jessie gehört diese Datei installiert.
cyclades-serial-client_0.92+b1_armhf.deb

Der Eintrag für die Datei cyclades-devices kann mit ctty01 so nicht stimmen.
Unter /dev gibt es keine Schnittstelle mit ctty01.
Darum bekomme ich die Fehlermeldung beim Start des Damon.
~ $ sudo cyclades-serial-client start
Starting /dev/modem <<==>> localhost:1 interface
/usr/sbin/cyclades-serial-client: 128: /usr/sbin/cyclades-serial-client: tsrsock: not found
tsrport : Bad device table line

/dev $ dir
autofs           loop-control        ram8     tty22  tty49      urandom
block            mapper              ram9     tty23  tty5       vc-cma
btrfs-control    mem                 random   tty24  tty50      vchiq
bus              memory_bandwidth    raw      tty25  tty51      vcio
cachefiles       mmcblk0             rfkill   tty26  tty52      vc-mem
char             mmcblk0p1           serial   tty27  tty53      vcs
console          mmcblk0p2           serial0  tty28  tty54      vcs1
cpu_dma_latency  mqueue              serial1  tty29  tty55      vcs2
cuse             net                 shm      tty3   tty56      vcs3
disk             network_latency     snd      tty30  tty57      vcs4
fb0              network_throughput  stderr   tty31  tty58      vcs5
fd               null                stdin    tty32  tty59      vcs6
full             ppp                 stdout   tty33  tty6       vcsa
fuse             ptmx                tty      tty34  tty60      vcsa1
gpiomem          pts                 tty0     tty35  tty61      vcsa2
hwrng            ram0                tty1     tty36  tty62      vcsa3
i2c-1            ram1                tty10    tty37  tty63      vcsa4
initctl          ram10               tty11    tty38  tty7       vcsa5
input            ram11               tty12    tty39  tty8       vcsa6
kmsg             ram12               tty13    tty4   tty9       vcsm
log              ram13               tty14    tty40  ttyAMA0    vhci
loop0            ram14               tty15    tty41  ttyprintk  watchdog
loop1            ram15               tty16    tty42  ttyS0      watchdog0
loop2            ram2                tty17    tty43  ttyUSB0    xconsole
loop3            ram3                tty18    tty44  ttyUSB1    zero
loop4            ram4                tty19    tty45  ttyUSB2
loop5            ram5                tty2     tty46  ttyUSB3
loop6            ram6                tty20    tty47  uhid
loop7            ram7                tty21    tty48  uinput
Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: eisler am 30 Dezember 2016, 20:39:51
was steht denn in /etc/cyclades-devices ?
Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: Burny4600 am 31 Dezember 2016, 09:38:37
Ich habe nur den vorgegeben Eintrag eingefügt der zur ser2net Konfiguration der Remote Schnittstelle passt.
ser2net
### Proteus TEK603
68500:raw:0:/dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 NONE 1STOPBIT 8DATABITS HANGUP_WHEN_DONE

cyclades-serial-client
### Proteus TEK603
/dev/ctty01:<IP Remote>:68500:socket:
Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: eisler am 31 Dezember 2016, 11:31:29
den Kommentar "### Proteus TEK603" in "/etc/cyclades-devices" weglassen könnte helfen. Also nur "/dev/ctty01:<IP Remote>:68500:socket:"



Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: Burny4600 am 31 Dezember 2016, 14:21:59
Was soll der Kommentar für einen Einfluss haben.
Dieser wird doch gar nicht berücksichtigt.
Spielt jedenfalls keine Rolle.
Ich bekomme mit und ohne Kommentar immer die gleiche Fehlermeldung beim Start das Client.
sudo cyclades-serial-client start
tsrport : Bad device table line


Eine Fehlermeldung habe ich zumindest ausschalten können, hatte aber nichts mit dem Kommentar zu tun.
Meldung:
~ $ sudo cyclades-serial-client start
Starting /dev/modem <<==>> localhost:1 interface
/usr/sbin/cyclades-serial-client: 128: /usr/sbin/cyclades-serial-client: tsrsock: not found

hervorgerufen durch einen standart aktiven Eintrag
# for Linux
/dev/modem:path:localhost:1:socket:

Habe diesen Eintrag auskommentiert.

Eine ander schreibweise der Schnittstellendefinition dürfte eher passen.
/dev/ctty01:path:<IP Adresse>:68500:socket:
Jetzt siehts es zumindest aus das die Schnittstelle initialsiert werden sollte.
:~ $ sudo cyclades-serial-client start
Starting /dev/ctty01 <<==>> <IP Adresse>:68500 interface
/usr/sbin/cyclades-serial-client: 128: /usr/sbin/cyclades-serial-client: tsrsock: not found

Jetzt sollte ich nur wissen was tsrsock: not found bedeutet.

Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: eisler am 31 Dezember 2016, 16:14:47
Ein Symlink von /usr/sbin/tsrsock auf /usr/sbin/cyclades-ser-cli könnte helfen. (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=280583)
Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: Burny4600 am 31 Dezember 2016, 19:39:52
Das dürfte die Lösung gewesen sein.
:~ $ sudo ln -s /usr/sbin/cyclades-ser-cli /usr/sbin/tsrsock
:~ $ sudo cyclades-serial-client start
Starting /dev/ctty01 <<==>> <IP Adresse>:68500 interface


Ist für cyclades-serial-client auch eine Autostart vorhanden damit dieses bei einem Neustart des Pi's automatisch gestartet wird.
Derweilen habe ich den Start in der fhem Autostart Datei angelegt.

Leider schmeckt FHEM auch mit dieser Art von Remote Schnittstelle die Verbindung zum TEK603 nicht.
log
2016.12.31 19:50:09.238 3: Opening tek603_OG1 device /dev/ctty01
2016.12.31 19:50:09.245 1: PERL WARNING: TIOCMBIS(21526) ioctl failed: Das Argument ist ungültig at ./FHEM/44_TEK603.pm line 101.
2016.12.31 19:50:09.246 1: PERL WARNING: dtr_active(1) ioctl: Das Argument ist ungültig
2016.12.31 19:50:09.248 1: PERL WARNING: TIOCMBIS(21526) ioctl failed: Das Argument ist ungültig at ./FHEM/44_TEK603.pm line 102.
2016.12.31 19:50:09.249 1: PERL WARNING: rts_active(1) ioctl: Das Argument ist ungültig
2016.12.31 19:50:09.250 3: connected to device /dev/ctty01
2016.12.31 19:50:09.251 3: tek603_OG1 device opened
Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: eisler am 31 Dezember 2016, 20:01:54
Autostart: Soweit ich das sehe leider nicht. "cyclades-serial-client start" in "/etc/rc.local" eintragen sollte funktionieren.

Stimmen die Rechte von /dev/ctty01 ?

Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: Burny4600 am 31 Dezember 2016, 20:17:39
Die Rechte stimmen sonst würde ein Eintrag im FHEM log ein Eintrag stehen das keine Zugriffsrechte bestehen.
sudo cyclades-serial-client start
sudo chmod g=rw /dev/ctty01

Nur die Rechte müssen nach dem cyclades-serial-client start immer neu definiert werden. Darum ist die Reihenfolge wichtig das vorher cyclades-serial-client start erfolgt und erst danach die Rechte definiert werden.
Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: eisler am 31 Dezember 2016, 21:43:18
Soweit sieht das doch schon mal gut aus. Kommen Daten über die Schnittstelle?
Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: Burny4600 am 01 Januar 2017, 13:47:47
Es kommen leider keine Daten an.
Das hängt sicher mit dieser Fehlermeldung zusammen.
2016.12.31 19:50:09.245 1: PERL WARNING: TIOCMBIS(21526) ioctl failed: Das Argument ist ungültig at ./FHEM/44_TEK603.pm line 101.
2016.12.31 19:50:09.246 1: PERL WARNING: dtr_active(1) ioctl: Das Argument ist ungültig
2016.12.31 19:50:09.248 1: PERL WARNING: TIOCMBIS(21526) ioctl failed: Das Argument ist ungültig at ./FHEM/44_TEK603.pm line 102.
2016.12.31 19:50:09.249 1: PERL WARNING: rts_active(1) ioctl: Das Argument ist ungültig

Das DTR und RTS passen da noch nicht mit dem cyclades-serial-client zusammen.
Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: eisler am 01 Januar 2017, 13:56:04
Wenn es nur daran liegen sollte einfach mal die zwei Zeilen (101,102) im Modul 44_TEK603.pm wie folgt auskommentieren.


# $po->dtr_active(1);
# $po->rts_active(1);
Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: Burny4600 am 01 Januar 2017, 18:31:17
Ich habe die beiden Zeilen auskommentiert.
Es ist zwar die Fehlermeldung im FHEM LOG nicht mehr vorhanden, aber Daten kommen dennoch keine an.
Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: Burny4600 am 02 Januar 2017, 14:46:28
Woran kann es liegen das die Daten nicht kommen?
Die Verbindungen sehen so aus als ob alles richtig konfiguriert ist.
Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: eisler am 03 Januar 2017, 20:03:16
da hilft nur debuggen.
telnet <IP Adresse>:68500
kommen Daten via ser2net?
Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: Burny4600 am 04 Januar 2017, 18:49:47
Mit telnet kann keine Verbindung hergestellt werden.
Egal welche ser2net Verbindung ich mit telnet definiere, bekomme ich diese Fehlermeldung obwohl via FHEM eine Verbindung herstellt werden konnte, ausser zu der TEK603 Konfiguration.
Verbindungsaufbau zu <IP Adrresse>:68500... Es konnte keine Verbindung hergestellt werden, auf Port 23: Verbindungsfehler
Nur telnet Port 23 bringt ja nichts.
Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: eisler am 04 Januar 2017, 22:29:29
telnet ohne den ":" also:

telnet <IP Adrresse> 68500
Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: Burny4600 am 05 Januar 2017, 10:06:05
Das sieht jetzt anders aus.
Nur Daten sehe ich auch keine, da nach einigen Sekunden der Ausstieg auf C:\ erfolgt.

Somit sehe ich auch keine Daten die versendet werden, da dies ja ungefähr nur alle 30min erfolgt.
Titel: Antw:TEK603 mit ser2net liefert LOG Fehler
Beitrag von: eisler am 05 Januar 2017, 10:40:25
Evt. Monitor und Sensor neu anlernen?
Nach der Paarung der Geräte sendet der Sensor für ungefähr 10 Minuten kontinuierlich Daten zum Monitor (Echtzeitmodus).
Dann via telnet schauen ob via ser2net Daten kommen.
Titel: Antw:[gelöst] TEK603 mit ser2net bzw. cyclades-serial-client liefert LOG Fehler
Beitrag von: Burny4600 am 06 April 2017, 20:50:06
Habe die Angelegenheit mit FHEM2FHEM gelöst.