Hallo!
Da ich es ungern mag TCP Ports offen zu halten und noch dazu mit nicht vorhandenen Sicherheitsfunktionen im EIBD, würde ich es mir wünschen, wenn FHEM die Unix Sockets Verbindung unterstützen würde. Nein, mit iptables will ich auch nicht hantieren.
Ich denke aber mal, dass vermutlich keiner Zeit und Lust dazu haben wird, habe ich es selbst gebaut:
--- 00_TUL.pm-orig 2015-05-31 10:20:10.514377428 +0200
+++ 00_TUL.pm 2015-05-31 10:48:50.770847746 +0200
@@ -475,6 +475,26 @@
$selectlist{"$name.$dev"} = $hash;
}
+ elsif($dev =~ m/^(ueibd):(.+)$/) { # ueibd:/path/to/unix.socket
+ my $dev = $2;
+
+ my $conn = IO::Socket::UNIX->new(Type => SOCK_STREAM(), Peer => $dev);
+
+ if(!$conn) {
+ return undef if($reopen);
+ Log(3, "Can't open $dev: $!");
+ $readyfnlist{"$name.$dev"} = $hash;
+ $hash->{STATE} = "disconnected";
+ return "";
+ }
+
+ $hash->{DevType} = 'EIBD';
+ $hash->{TCPDev} = $conn;
+ $hash->{FD} = $conn->fileno();
+ delete($readyfnlist{"$name.$dev"});
+ $selectlist{"$name.$dev"} = $hash;
+
+ }
elsif ($dev =~ m/^(tul|tpuart):(.+)$/) { # tpuart:ttydev[@baudrate] / USB/Serial device
my $dev = $2;
Wäre super, wenn man das in die offiziellen Quellen integrieren könnte, gerne auch noch verbessert, da ich nicht der Perl Spezi bin.
Danke euch für das hammer Projekt!