Hab das bisherige "telnet" Code aus
fhem.pl nach
98_telnet.pm ausgelagert.
Konsequenzen:
- das bisherige "attr global port XXX [global]" wird beim Hochfahren
automatisch zu einem telnet Instanz mit dem Namen telnetPort konvertiert.
- FHEMWEB und telnet verwenden gemeinsam TcpServerUtils.pm, d.h. FHEMWEB kennt
jetzt das allowfrom Attribut, und telnet hat SSL gelernt. Der Code sollte
wegen der Zusammenfuehrung insgesamt auch etwas kleiner geworden sein.
- man kann mehrere "telnet" Ports oeffnen, und diese mit unterschiedlichen
Attributen belegen. Auch die hergestellten Verbindungen sieht man jetzt im
list analog zu den FHEMWEB Verbindungen, und man kann mit "delete" solche
explizit schliessen.
- rereadcfg schliesst alle Verbindungen ausser dem aktuellen, sowas koennte
evtl. FHEM2FHEM beeintraechtigen, auch wenn F2F die Verbindung automatisch
wieder herstellt.
- das vor kurzem eingefuehrte global Attribut portpasswort ist wieder passe, es
existiert aber natuerlich ein telnet Attribut password und ein
globalpassword, letzteres ist beim lokalen Verbindungen inaktiv (wichtig fuer
den FritzBox)
- das globale Parameter allowfrom ist auch passe und wird auch nicht
konvertiert! telnet hat natuerlich ein allowfrom, dieser ist jetzt statt
Komma separierte Liste ein regexp geworden.
- Aenderung: falls man in FHEMWEB HTTPS aktiviert hat, dann werden HTTP
Verbindungen nicht mehr akzeptiert. Gilt auch fuer telnet/SSL, den gabs aber
bisher nicht :)
- Falls man im telnet SSL aktiviert hat, dann sollte man statt telnet einen der
folgenden Kommandos verwenden:
socat openssl:fhemhost:fhemport,verify=0 readline
ncat --ssl fhemhost fhemport
openssl s_client -connect fhemhost:fhemport
- telnet beteiligt sich jetzt auch an SecurityCheck, abschalten kann man die
Meckerei mit "attr global motd none", oder man setzt die Passwoerter.
Fuer den Fritzbox kann man netuerlich, wie kuerzlich eingefuehrt, das
"eingebaute" Passwort verwenden mit:
attr telnetPort globalpassword\
{use FritzBoxUtils;;FB_checkPw("localhost","$password") }
Das password Attribut sollte man beim FritzBox meiden, sonst funktioniert
"fhemcmd" nicht (triggern von fhem uebers Telefon)
Ich habs (gefuehlt) relativ viel getestet, aber Garantien uebernehme ich
keine. :)
Gruss
Rudi