Passwort attribut von allowed in telnet setzen

Begonnen von plaicy, 07 März 2022, 23:26:20

Vorheriges Thema - Nächstes Thema

plaicy

Halllo,

ich versuche ein bischen fhem per telnet fernzubedienen (go).  Beim Schreiben von Test habe ich irgendwie den Effekt, dass fhem eine Eingabe verschluckt. Hier eine Telnet-Session mit Kommentaren:

$ telnet localhost 7072
[...]
Connected to localhost.
Escape character is '^]'.
define test allowed                    # Eingabe
define test allowed                    # Eingabe
test already defined, delete it first  # Ausgabe: doppelte Definition gibt Fehler (korrekt)
attr test password passwd              # Eingabe
define test allowed                    # Eingabe
                                       # Augabe: keine Ausgabe, hätte hier wieder einen Fehler erwartet
define test allowed                    # Eingabe
test already defined, delete it first  # Ausgabe: hier funktioniert es wieder


Irgendwie wird nach dem Setzen des Passwortes der nächste Befehl ignoriert und dafür eine Leerzeile ausgegeben. Den selben Effekt habe ich sowohl mit dem fhem von http://fhem.de/fhem-6.0.tar.gz mit der jeweiligen fhem.cfg.demo als auch mit meiner frisch geupdateten Installation und meiner "normalen" fhem.cfg.

Nach dem Passwort-Setzen wird wird wohl jeder Befehl ignoriert (nach einem validFor aber beispielsweise wohl nicht). Hier die Definition eines Dummy-Devices.

attr test password passwd              # Eingabe
define test2 dummy                     # Eingabe: wird ignoriert
                                       # Ausgabe
set test2 on                           # Eingabe
Please define test2 first              # Ausgabe


Ist das ein Fehler oder gibt es eine Logik wann man zwei Returns einfügen muss?

rudolfkoenig

Dieses Problem existiert (nur) fuer aktive telnet und FHEMWEB Verbindungen beim Aendern des allowed Passwortes, ich hoffe das ist nicht praxisrelevant.
Wenn doch, bitte das eigentliche Problem beschreiben.

Bisher hat das Aendern eine Auswirkung auf alle telnet und FHEMWEB Verbindungen gehabt, das habe ich jetzt eingeschraenkt auf die, die in validFor aufgefuehrt sind.

plaicy

Danke werde ich ausprobieren.

Problem trat auf, weil ich in einer Bibliothek fhem ansteuern wollte. Ähnlich wie in der Python-Biblitohek, aber halt für go. Um das ganze zu Testen starte ich in den Tests ein fhem-6.0 mit der fhem.cfg.demo und benutze es. Ich wollte dann auch Passwörter unterstützen also habe ich den Tests ein Telnet auf 7073 angelegt und ein Passwort festgelegt. Damit kam dann die Routine durcheinander, weil ein nachfolgendes define in der aktuellen Session (7072) verschluckt wurde.

Als Workaround kann ich sonst das Passwort-Ändern in den Kommandos erkennen und dann einen Befehl senden der nichts macht aber eine Fehlermeldung ausgibt und diese dann ignorieren. z.B. "delete notexistinginvaliddevice". Alternativ könnte ich in den Tests wohl einfach eine alternative fhem.cfg nehmen, die bereits in telnet mit Passwort angelegt hat. Hatte nur gedacht, ich teste gleich etwas mehr.