[gelöst] Name des eigenen DOIF im ReadingsVal?

Begonnen von chunter1, 23 Juni 2023, 13:42:10

Vorheriges Thema - Nächstes Thema

chunter1

Ich habe folgendes DOIF definiert bei dem ich im Ausführungsteil ein eigenes reading des DOIF einlese.
Der Name des DOIF ist "MYTESTDOIF".

([+60])
({
 my $val = ReadingsVal("MYTESTDOIF","myValue",0);

 $val = $val + 1;

 fhem("setReading $SELF myValue $val");
})

Meine Frage ist ob, man im readingsVal den Namen "MYTESTDOIF" durch z.B. $SELF ersetzen kann und damit immer automatisch den richtigen Namen des DOIF erhält?

Damian

Zitat von: chunter1 am 23 Juni 2023, 13:42:10Ich habe folgendes DOIF definiert bei dem ich im Ausführungsteil ein eigenes reading des DOIF einlese.
Der Name des DOIF ist "MYTESTDOIF".

([+60])
({
 my $val = ReadingsVal("MYTESTDOIF","myValue",0);

 $val = $val + 1;

 fhem("setReading $SELF myValue $val");
})

Meine Frage ist ob, man im readingsVal den Namen "MYTESTDOIF" durch z.B. $SELF ersetzen kann und damit immer automatisch den richtigen Namen des DOIF erhält?

Warum probierst du es nicht aus? ;)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

chunter1

Zitat von: Damian am 23 Juni 2023, 13:57:37Warum probierst du es nicht aus? ;)

Hab ich, habt aber nicht funktioniert.

TomLee

ZitatHab ich, habt aber nicht funktioniert.

Zitatfhem("setReading $SELF myValue $val");

s/R/r/

Damian

defmod di_myValue DOIF {[+60];;set_Reading ("myValue",get_Reading("myValue",0)+1)}
siehe DOIF-Perlmodus: https://wiki.fhem.de/wiki/DOIF/Perl-Modus
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

betateilchen

Zitat von: TomLee am 23 Juni 2023, 16:44:53fhem("setReading $SELF myValue $val");

s/R/r/

Bullshit.

Das ist völlig egal, SeTrEaDiNg würde auch funktionieren.
Wer es nicht glaubt, soll es einfach ausprobieren.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

chunter1

Zitat von: Damian am 23 Juni 2023, 17:11:28defmod di_myValue DOIF {[+60];;set_Reading ("myValue",get_Reading("myValue",0)+1)}
siehe DOIF-Perlmodus: https://wiki.fhem.de/wiki/DOIF/Perl-Modus

Der Programmcode im ersten Post war nur ein simples Beispiel das noch erweitert wird.
Daher hilft mir der elegante Code von dir leider nicht weiter. :(

betateilchen

({ my $val = ReadingsVal('$SELF',"myValue",0);; $val++;; fhem("setReading $SELF myValue $val") })

Funktioniert bei mir einwandfrei.

Aber warum stellst Du deine Fragen zu DOIF nicht im zugehörigen Unterforum anstatt in den Anfängerfragen?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

chunter1

Zitat von: betateilchen am 23 Juni 2023, 17:39:23({ my $val = ReadingsVal('$SELF',"myValue",0);; $val++;; fhem("setReading $SELF myValue $val") })

Das wars!
Mit den Apostroph funktionierts.
Vielen Dank!