FHEM Forum

FHEM => Automatisierung => Perl für FHEM-User => Thema gestartet von: matzke am 19 Januar 2023, 18:00:34

Titel: [gelöst] Reading durch FHEM(); durchführen?
Beitrag von: matzke am 19 Januar 2023, 18:00:34
Hallo,

wie kann ich aus Perl heraus einen FHEM Befehl absetzen, der erst 10 Sekunden später ausgeführt wird und dann erst auch ein Reading einliest? Ich wolle es so machen:

fhem("sleep 10 ; setreading $Device z_2_1_VerbrauchIn_ws {(ReadingsNum($Device,'energy0',0);} - $oldEnergy)

Problem ist dies hier:
{(ReadingsNum($Device,'energy0',0);}

Viele Grüße
Titel: Antw:Reading durch FHEM(); durchführen?
Beitrag von: Beta-User am 19 Januar 2023, 18:05:36
Vielleicht hilft es schon, wenn du die schießende set-magic-Klammer an der richtigen Stelle setzt? (hinten)
Titel: Antw:Reading durch FHEM(); durchführen?
Beitrag von: AnBad am 19 Januar 2023, 18:35:41
ja aber der Wert der Variable $oldEnergie wird noch durch den Perl-Code eingesetzt.
Titel: Antw:Reading durch FHEM(); durchführen?
Beitrag von: betateilchen am 19 Januar 2023, 18:35:50
Zitat von: matzke am 19 Januar 2023, 18:00:34
Problem ist dies hier:

Nein. Problem ist, dass Du die Klammern nicht gezählt hast und die Zahl der öffnenden Klammern nicht mit der Zahl der schließenden Klammern übereinstimmt.

fhem("sleep 10 ; setreading $Device z_2_1_VerbrauchIn_ws ". ReadingsNum($Device,'energy0',0) - $oldEnergy)

Ich würde die Aufgabe übrigens einfach mit einem at lösen, das in 10 Sekunden ausgeführt wird.
Titel: Antw:Reading durch FHEM(); durchführen?
Beitrag von: AnBad am 19 Januar 2023, 19:06:27
OK, ja, ich hatte die Zeile gekürzt und dabei ist der Fehler entstanden. Ist aber nicht das eigentliche Problem. Ich werde meine Problem, habe ich mir gerade überlegt, anders lösen. Anstatt über fhem(,,") werde ich ein at schreiben, das mir dann 10 sec später (nach Update der Daten) die Sub nochmals aufruft und die Berechnungen durchführt.
Titel: Antw:Reading durch FHEM(); durchführen?
Beitrag von: betateilchen am 19 Januar 2023, 19:11:06
Zitat von: matzke.

Zitat von: AnBad.

Gespaltene Persönlichkeit?
Titel: Antw:Reading durch FHEM(); durchführen?
Beitrag von: matzke am 19 Januar 2023, 20:38:10
Ja,
anfangs, wie ich überhaupt keine Ahnung von FHEM und Perl und im allgemeinen von Coding hatte, da hat man mich hier im Forum übel behandelt, weil ich viele Fragen hatte. Da es mir zu blöd wurde, habe ich dann ein zweites Profil mir angelegt. Am Ipad bin ich wohl mit dem zweiten Profil angemeldet.... Muss ich mal ändern.