FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: kaihs am 03 Juli 2016, 17:48:16

Titel: Text2Speech REMOTE unterstützt nur IP-Nr. und keinen Hostnamen
Beitrag von: kaihs am 03 Juli 2016, 17:48:16
Bei der Definition des Zugriffs auf eine Remote Instanz wird aktuell für die Adresse der Remoteinstanz nur eine IPV4 Adresse unterstützt.

Ich möchte gerne einen Hostnamen verwenden, weil die IP Adressen bei mir nicht statisch sind und auch die aktiven Interfaces (LAN/WLAN) wechseln.

Ursache ist die Zeile 191, diese habe ich erstmal von

  if($dev =~ m/^([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}).*/ ) {

in

  if($dev =~ m/^([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}).*/ || $dev =~ m/[^:]+:[0-9]+/) {

geändert.

Das funktioniert dann nur, wenn auch eine Portnummer mit angegeben wird.

Ich bin mir nicht sicher, wie man zweifelsfrei eine Remoteaddresse von einem Audiodevice unterscheiden kann. Besser wäre wahrscheinlich, das durch einen zusätzlichen Parameter explizit zu unterscheiden.

Ergänzung:
Damit Geräte mit mehreren IP-Adressen zuverlässig angesprochen werden, muss beim Verbindungsaufbau noch der Parameter MultiHomed gesetzt werden:


  if($hash->{SSL}) {
    eval "use IO::Socket::SSL";
    Log3 $name, 1, $@ if($@);
    $conn = IO::Socket::SSL->new(PeerAddr => "$dev", MultiHomed => 1) if(!$@);
  } else {
    $conn = IO::Socket::INET->new(PeerAddr => $dev, MultiHomed => 1);
  }
Titel: Antw:Text2Speech REMOTE unterstützt nur IP-Nr. und keinen Hostnamen
Beitrag von: Tobias am 03 März 2017, 12:43:30
Habe Multihomed ergänzt. Danke...