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.
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?
Ist im vorhergehend Beitrag nicht erkenntlich um welches Teil es sich handelt, darum ein neuer Eintrag?
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?
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
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.
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
@ 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?
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
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
was steht denn in /etc/cyclades-devices ?
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:
den Kommentar "### Proteus TEK603" in "/etc/cyclades-devices" weglassen könnte helfen. Also nur "/dev/ctty01:<IP Remote>:68500:socket:"
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.
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)
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
Autostart: Soweit ich das sehe leider nicht. "cyclades-serial-client start" in "/etc/rc.local" eintragen sollte funktionieren.
Stimmen die Rechte von /dev/ctty01 ?
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.
Soweit sieht das doch schon mal gut aus. Kommen Daten über die Schnittstelle?
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.
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);
Ich habe die beiden Zeilen auskommentiert.
Es ist zwar die Fehlermeldung im FHEM LOG nicht mehr vorhanden, aber Daten kommen dennoch keine an.
Woran kann es liegen das die Daten nicht kommen?
Die Verbindungen sehen so aus als ob alles richtig konfiguriert ist.
da hilft nur debuggen.
telnet <IP Adresse>:68500
kommen Daten via ser2net?
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.
telnet ohne den ":" also:
telnet <IP Adrresse> 68500
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.
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.
Habe die Angelegenheit mit FHEM2FHEM gelöst.