[gelöst] Problem mit Codeschnipsel

Begonnen von AndyMu, 08 November 2015, 17:52:47

Vorheriges Thema - Nächstes Thema

AndyMu

Heute stehe ich irgendwie aufm Schlauch.
Ich habe ein Notify, da das zuletzt anwesende Handy in einen Dummy schreiben soll:
Handys:present.* set zuletzt_anwesend ReadingsVal("Handys","LastDevice","Privathandy_Andy")
Ich bekomme in den Dummy aber 'ReadingsVal("Handys","LastDevice","Privathandy_Andy")' geschrieben, und nicht den Namen des letzten Devices.

Wie bekomme ich das hin? Danke!

marvin78

Weil ReadingsVal eine perl Funktion ist.

Handys:present.* {fhem("set zuletzt_anwesend ".ReadingsVal('Handys','LastDevice','Privathandy_Andy')}

betateilchen

@AndyMu: Bevor Du jetzt noch mehr Threads mit solchen Baiscs-Fragen aufmachst, wie wäre es denn, wenn Du einfach mal die Doku zu fhem lesen würdest? Da steht sowas alles drin.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

AndyMu

Zitat von: marvin78 am 08 November 2015, 17:54:46
Weil ReadingsVal eine perl Funktion ist.

Handys:present.* {fhem("set zuletzt_anwesend ".ReadingsVal('Handys','LastDevice','Privathandy_Andy')}
Also irgendwie ist da noch ein Fehler drin, ich hatte einen "Syntax Error" bekommen.
Hab es jetzt aber auch anders gelöst:
Handys:present.* { my $letzter=(ReadingsVal("Handys","LastDevice","Privathandy_Andy")); fhem "set zuletzt_anwesend $letzter" }

@betateilchen
Ok, mach ich...  ;)

CoolTux

Du Betateilchen,

Du bist aber schon bisschen gemein. Sagst ihm einfach nicht das es für all das was er heute hier gefragt hat und sich mühsam über Stunde zusammen gesucht hat, bereits eine Modulfamilie für gibt  ;D

Roommate und Residents
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

betateilchen

Zitat von: AndyMu am 08 November 2015, 18:52:42
Also irgendwie ist da noch ein Fehler drin, ich hatte einen "Syntax Error" bekommen.

ist doch logisch, zähle einfach mal nach, wieviele runde Klammern Du öffnest und wieviele Du schließt.

Tipp: Es sollten immer genausoviele Klammern geschlossen werden wie man aufgemacht hat.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

marvin78

Sorry. Kleiner Klammerfehler. Aber ehrlich gesagt sollte man auch nicht einfach nur kopieren, sondern das Beispiel nehmen und für sich umsetzen. Dabei merkt man solche Sachen.

Beherzige betateilchens Rat und schaue dir die Grundlagen an.

@CoolTux: Auch in der Modulfamilie, die du meinst, muss der jeweilige Status irgendwie gesetzt werden. Das Lernen der Grundlagen nimmt ihm das/die Modul(e) auch nicht ab.

AndyMu

Zitat von: betateilchen am 08 November 2015, 20:27:46
ist doch logisch, zähle einfach mal nach, wieviele runde Klammern Du öffnest und wieviele Du schließt.

Tipp: Es sollten immer genausoviele Klammern geschlossen werden wie man aufgemacht hat.
Hast ja recht, ich sollte nicht stundenlang an Codes rumprobieren, irgendwann macht das Hirn zu.
Und ja, ich werde mich jetzt erstmal mit den Grundlagen näher befassen. Normalerweise bin ich ein Fan von learning by doing, aber das geht hierbei wohl einfach nicht. Mir fehlen offensichtlich mehr als nur ein paar Infos...