CUL ueber Netz

Aus FHEMWiki
Version vom 8. Juli 2022, 12:42 Uhr von Cbl (Diskussion | Beiträge) (→‎ser2net: Ergänzung für Version 4 mit ser2net.yaml)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Da bei mir RFR CUL sehr instabil lief, WLAN aber zufriedenstellend, habe ich einen Buffalo WZR-HP-G300NH mit OpenWRT Backfire (10.03.1-rc4) ausgestattet, als WLAN-Client konfiguriert und den CUL am USB-Port betrieben.

Um den CUL als Quasi-CUN über FHEM anzusprechen, läuft folgendes Script auf dem Router:

#!/bin/sh

DEV=/dev/ttyACM0

while (true)
do
       /usr/bin/socat -ly -lh GOPEN:$DEV,raw,echo=0 TCP-LISTEN:2323
       sleep 2
done

Zu beachten ist, dass socat in der mitgelieferten Version (1.6.0.1-2) für o.g. Zweck nicht funktioniert. Man kann aber eine neuere Version (1.7.1.3-2) von http://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/ herunterladen und installieren.

Die Konfiguration in fhem ist einfach:

define cul868 CUL <name-des-geräts>:2323 <fhtid>
attr cul868 model CUL

Anstelle von socat kann man im Notfall auch netcat benutzen. Dazu im Script die Zeile mit socat durch

netcat -l -p 2323 < $DEV >$DEV

ersetzen. Allerdings gab es dann häufig Probleme mit der Echo-Einstellung, so dass mehrere Anläufe erforderlich waren, bis es nach einen Reboot stabil läuft.

ser2net

Statt socat kann man auch ser2net verwenden. Hierzu das standard ser2net Paket installieren und in /etc/ser2net.conf so konfigurieren:

2000:raw:0:/dev/ttyACM0:38400 NONE 1STOPBIT 8DATABITS HANGUP_WHEN_DONE

Danach den CUL in fhem anlegen:

 define cul CUL<ip>:2000 0000

Natürlich lassen sich auch mehrere CUL, panStick, JeeLink oder miniCul einrichten. Hierzu ist dann jeweils ein eigener Port zu verwenden und die Geschwindigkeit passend zu setzen:

#cul
2000:raw:0:/dev/ttyACM0:38400 NONE 1STOPBIT 8DATABITS HANGUP_WHEN_DONE
2001:raw:0:/dev/ttyACM1:38400 NONE 1STOPBIT 8DATABITS HANGUP_WHEN_DONE

#panStick
2002:raw:0:/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A900LDNL-if00-port0:38400 NONE 1STOPBIT 8DATABITS HANGUP_WHEN_DONE

#JeeLink
2003:raw:0:/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AE01DTXW-if00-port0:57600 NONE 1STOPBIT 8DATABITS HANGUP_WHEN_DONE

#miniCul
2004:raw:0:/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AI02IDI4-if00-port0:38400 NONE 1STOPBIT 8DATABITS HANGUP_WHEN_DONE

Ab der ser2net Version 4, die z.B. ab Debian Bullseye enthalten ist, erfolgt die Konfiguration in einem anderen Format: /etc/ser2net.yaml. Siehe manpage Im Wiki gibt es ein Beispiel bei HM-MOD-RPI-PCB.