Aktoren mit Python abfragen

Begonnen von kurtklaiber, 04 Januar 2016, 18:43:54

Vorheriges Thema - Nächstes Thema

kurtklaiber

Hallo Hans,

jetzt bin ich einen Schritt weiter.
Die Funktion telnetlib.TELNET_PORT gibt es zwar, aber nur mit telnetlib.Telnet() tut es jetzt.
Allerdings muss ich noch herausfinden, warum dazu try und except notwendig sind.

Vielen Dank, Du warst mir eine große Hilfe.

Gruß

Kurt

kurtklaiber

Jetzt bräuchte ich nochmal Unterstützung.
Das betätigen von Aktoren in Fhem funktioniert.
Probleme habe ich noch mit dem Auslesen der Zustände von Sensoren.
was ist an folgendem Code falsch?


read_cmd= "{TK_Haustuer}{readings}{state}{val}

try:

kurtklaiber

Ich habe hier offensichtlich Probleme mit der Synatx. Gibt es eine Doku inder diese beschrieben ist?

CoolTux

Da fehlen Gänsefüße am Ende


read_cmd= "{TK_Haustuer}{readings}{state}{val}

try:


und warum nimmst Du nicht ReadingsVal oder wegen meiner Value



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

kurtklaiber

Das Gänsefüßchen ist nicht das Problem. Das habe ich hier beim Übertrag schlicht vergessen.
Eigentlich funktionieren aus Python Sicht beide Varianten

read_cmd= "{TK_Haustuer}{READINGS}{state}{VAL}"
read_cmd= "ReadingsVal(TK_Haustuer,state,VAL)}"

Der Code wird so offensichtlich auch an Fhem übergeben (also kein Syntaxfehler in Python) aber mit

tn.write(read_cmd + "\n"
ret = tn.read_all()
print ret


wird von Fhem folgender Fehler übergeben:

Bareword "TK_Haustuer" not allowed while "strict subs" in use at (eval 140) line 1.
Das selbe auch für "state" und "Val".

Mit dieser Fehlermedung kann ich bis jetzt noch nichts anfangen

Gruß

CoolTux


read_cmd= "ReadingsVal("TK_Haustuer","state","VAL")}"


Wobei das mit VAL so nicht korrekt ist. Was genau soll VAL eigentlich sein?

Kannst auch so machen


read_cmd= "Value("TK_Haustuer")}"
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

kurtklaiber

Mein Python Editor meldet einen Syntaxerror, wenn ich die " " vor die Klammern und in die Klammern hineinsetze.
Wenn ich die "" innerhalb der Klammern weglasse dann bekomme ich den oben bereits beschriebenen Fehler:

Bareword "TK_Haustuer" not allowed while "strict subs" in use (eval 153) line 1.

Ansonsten verhalten sich alle drei Varianten gleich.

Gruß

Kurt

CoolTux

Tja was soll ich sagen. Der Perlsyntax ist Dein phytoninterpreter total egal.
Musste halt escapen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Was mir noch ein fällt. Du bist ja in FHEM Telnet. Du musst von da ja noch auf die Perl ebene oder Du macht ein list Device mit Optionen oder parst das Ergebnis. Schau Dir mal list an und welche Optionen Du da hast um ein bestimmtes Reading ab zu fragen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

kurtklaiber

Vielen Dank für Deine Hilfe.
Ich versuche das alles mal.

Gruß

Kurt


Hans Franz

read_cmd= '{ReadingsVal("TK_Haustuer","state","")}'
sollte klappen.

Gruß
Hans
Raspi
CUL, Nano-CUL
FHT8V, FHT80B, S300TH
WM1000WZ, ELRO
LW12, LD382,DS18B20

CoolTux

Das klappt so auch. Aber ich denke mal er kommt besser weg mit nem FHEM list. Ich glaube man konnte da auch Readings mit angeben. Mag aber jetzt nicht nach suchen.


Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

kurtklaiber

Das tut:


read_cmd= ("list FK1_Hobbyraum state VAL


Das Ganze hat allerdings mit ingenieurmässigem Arbeiten nicht mehr viel zu tun. Das ist ein reines probieren.

Grüße

CoolTux

Das liegt aber auch ein bisschen am Halbwissen  :D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

kurtklaiber

Das möchte ich nicht bestreiten.
Allerdings vermisse ich eine gute Dokumentaion, aus der ich die andere Hälfte beziehen könnte. ;)
Kannst Du mir hier einen guten Tipp geben?