Moin !
So langsam komme ich hinter fhem und meine Testinstallation tut auch soweit. Nun wollte ich mittels Telnet ein par aktuelle Readings abholen. Nur scheinbar geht das gar nicht, oder? Ich kann zwar xmllist aufrufen und da ist das letzte reading drin (in meinem Fall ein Analog Wert von einem arduino + Firmata + LM335), aber das kanns ja nicht sein, oder?
Ich hatte ja gehofft das es mittels get Firmata_ANALOG reading klappt. Aber da kommt nix zurück.
Muss ich jetzt wirklich die Werte über xmllist parsen? Und gibt es keinen Grund das ich nciht per Telnet an die readings komme?
Mir ist klar das es auch mit einem HTTP Aufruf gehen würde. Aber mir gehts erstmal um Telnet.
Grüße Dominik
Hallo
{ReadingsVal ("Firmata_ANALOG", "reading", "")}
geht auch über Telnet. Wenn dein reading wirklich reading heisst.
Gruß
Hans
Hallo Hans,
herzlichen Dank dafür !!!!
Ich hatte schon angefangen jsonlist zu nutzen und dann das Gerät zu lesen. Da stehen die readings auch drin.
Aber das ist deutlich schlanker und der Server muss nicht alles durch json schieben.
Grüße Dominik
Hallo
trotz dieser anleitung ist es mir nicht gelungen auf ein reading übert telent zuzugreifen.
was muss ich eingeben um ein reading zu erhalten.
Für jede hilfe dankbar
Gruß Hp
Wie heißt dein Gerät und wie heißt das Reading was du anzeigen willst?
Hans Franz hat weiter oben ja bereits die Lösung gepostet. Sie funktioniert schematisch gesehen folgendermaßen:
{ReadingsVal ("DEFINITIONS-NAME", "READING-NAME", "STANDARDWERT")}
Gruß
Markus
vielen Dank für deine Anwort
Das module heist "WTCX5" selbst erstellt, damit lese ich die Daten über ebus aus meiner weishaupt wtc15.
Habe ich 2013 hier veröffentlich.
das reading "Vorlauf-Soll"
Gruß H.P
Ich versteh noch immer nicht, was das Problem ist. Wie bereits mehrfach geschrieben funktioniert das mit:
{ReadingsVal ("DEFINITIONS-NAME", "Vorlauf-Soll", "")}
Bitte DEFINITIONS-NAME durch den Namen deiner Definition vom Typ WTCX5 ersetzen.
Gruß
Markus
Tut mir leid wenn ich dich nerve.
ich bin halt Amateur.
was ist der DEFINITIONS-NAME ?
meine readings sehe wie folgt aus:
DEF /dev/ttyAMA0@2400
DeviceName /dev/ttyAMA0@2400
FD 9
NAME WTCX5
NR 11
PARTIAL
STATE opened
TYPE WTCX5
Readings Aussen 5
Beriebsart Winter
Brenner Aus
Leistung 0
Modus X
Status A470a
Vorlauf-Ist 35
Vorlauf-Soll 44
WWasser-Ist 53
WWasser-Soll 49
logBAussen 5
logBDatum 04.03.2016
Was muss ich über telent eingeben um irgendein reading
zu erhalten ?
Gruß H.P.
Zitat von: hans88 am 04 März 2016, 21:09:39
DEF /dev/ttyAMA0@2400
DeviceName /dev/ttyAMA0@2400
FD 9
NAME WTCX5
NR 11
PARTIAL
STATE opened
TYPE WTCX5
Das sind Internals. Sowas wie "interne Daten". Die werden durch FHEM selber "intern" verwaltet. Hier findest du auch den Definitions-Namen:
Zitat von: hans88 am 04 März 2016, 21:09:39
NAME WTCX5
Das ist die Bezeichnung die du beim definieren durch den Befehl "define" angibst.
Zitat von: hans88 am 04 März 2016, 21:09:39
Readings
Aussen 5
Beriebsart Winter
Brenner Aus
Leistung 0
Modus X
Status A470a
Vorlauf-Ist 35
Vorlauf-Soll 44
WWasser-Ist 53
WWasser-Soll 49
logBAussen 5
logBDatum 04.03.2016
Das sind Readings, Daten die den Status der entsprechenden Definition anzeigt.
Zitat von: hans88 am 04 März 2016, 21:09:39
Was muss ich über telent eingeben um irgendein reading
zu erhalten ?
Normalerweise, wird das über den "get"-Befehl gelöst, analog wie es moelski im Initial-Beitrag gepostet hat. Das heißt man gibt im telnet in deinem Falle folgendes ein:
get WTCX5 Vorlauf-Soll
Dies setzt aber Voraus, dass der "get"-Befehl entsprechend so vom Modul bereitgestellt wird/ist. Ist dies nicht der Fall sollte der Modulautor dies entsprechend nachimplementieren (siehe dazu im Wiki: http://www.fhemwiki.de/wiki/DevelopmentModuleIntro). Dies ist der Standardweg.
Sollte dies aber nicht funktionieren, so muss man auf Perl-Code zurückgreifen und den Wert mittels der Funktion ReadinsVal() auslesen. In diesem Fall gibt man folgendes im Telnet ein:
{ReadingsVal ("WTCX5", "Vorlauf-Soll", "")}
Gruß
Markus
o.k.
ich habe verstanden
ich hab da immer ein get davorgesetzt.
Danke für die Hilfe
H.P