Nabend,
ist es irgendwie möglich dass fhem einen über Telnet eingehenden Befehl quittiert?
wäre für mein Projekt von Vorteil, finde aber nichts dazu.
danke & Grüße
Frank
Guten Abend,
was erwartest Du für eine Antwort? Ja? oder Nein?
Was genau meinst Du mit quittiert?
Welches Telnet? Kommando an FHEM? Telnet auf einen anderen Client?
Gruß Otto
Er meint sicher die Eingabe eines Fhem Befehls in das Fhem Telnet.
Und eine echte Quittierung gibt es nicht, so funktioniert telnet ja allgemein nicht. Man kann aber natürlich sofort sehen was Fhem mit dem Befehl macht, wenn man z.b. die Ausgabe aller Aktivitäten von Fhem mittels "inform timer" aktivert.
Das sieht dann z.b. so aus:
fhem> set Licht_Anlage on <- Eingabe
fhem> 2015-12-16 23:49:58 IT Licht_Anlage on <- Fhem Reaktion
Morgen,
Sorry, ich war wohl nicht präzise genug.
Ja, ich möchte einen Befehl per Telnet client absetzen und FHEm sollte diesen irgendwie quittieren. ein simples "ack" würde genügen.
Das mit dem "inform timer" klingt interessant, nur bei einem kurzen Telnet Test gesehen dass dann zu viel ankommt. :(
Hintergrund:
über die NetIO app habe ich einen Button definiert. Beim druck darauf sendet der Button einen Befehl: "SET GPIO_IN_14 readValue on"
Damit greift mein Notify zum Toggeln.
Funktioniert einwandfrei.
Jetzt möchte ich aber auch auf dem gleichen Button den Status des Aktors sehen.
Also noch ein "read" Attribut mit Wiederholung auf den Button: "getstate OUT1_A1"
Ich kann dem Button allerdings nur global sagen ob er auf Antwort warten soll oder nicht .
in NetIO über "requireSendresponse"
mach ich den auf ON geht der Toggle einmal zu schalten, dann steht NetIO weil es auf Antwort wartet.
mach ich auf off wird NetIO strubbelig weil Antworten kommen die nicht erwartet werden.
von daher wäre wirklich ein simples "ack" nach absetzen des Telnet Befehls am besten.
mir ist klar dass Telnet selbst so nicht arbeitet, das ging mehr in die FHEM Ecke. Telnet ist ja nur das Übertragungsprotokoll.
Ich hab jetzt eine andere "Lösung gefunden. Ich lege zwei Buttons übereinander.
Der Statusanzeigebutton unten und einen Schaltbutton oben drüber. diesen dann transparent und alles geht soweit. zwar nicht die schönste Lösung, aber sie funktioniiert. :)
Danke fürs mitdenken!
Grüße
Frank
wenn du ein mal eine leere zeile sendest bekommst du ab da nach jeder zeile einen fhem prompt.
ansonsten kannst du bei inform timer angeben was du sehen willst. z.b. nur bestimmte events von bestimmten devices.
gruss
andre
mach Dir doch eine Perl Funktion, die Dein ach sendet und rufe diese via telnet auf
sub machirgendwas(Befehl) {
print "preAck";
$Befehl;
print "postAck";
}
Ohje, Ich und Perl. ;-)
Werd ich mir mal anschauen, für den Moment geht es aber recht gut mit den zwei Buttons übereinander.
Das ganze Projekt steht eh noch aufm Schreibtisch. Baubeginn ist erst nächstes Jahr.
vielleicht schaff ich es bis dahin was in Per zu machen. ;)
Danke nochmal und viele Grüße
Frank
Nur Mut. Ist einfacher als du denkst 8)
Grüße Otto
wenn Du die NetIO App einsetzen willst, versuche es lieber über HTTP statt über Telnet, ich habe auf der NetIO Demo-Seite ein kleines Beispiel abgelegt, ist viel einfacher und umgeht das Problem mit den Antworten
schau mal hier, habe auch lange damit gekämpft:
http://netio.davideickhoff.de/en/projects/836
Zitat von: Klaus0815
wenn Du die NetIO App einsetzen willst, versuche es lieber über HTTP statt über Telnet, ich habe auf der NetIO Demo-Seite ein kleines Beispiel abgelegt, ist viel einfacher und umgeht das Problem mit den Antworten
http://netio.davideickhoff.de/en/projects/836
Danke Klaus, werde ich versuchen.