Hallo liebe Fhem-Gemeinde,
Ich habe heute schon einige Stunden nach einer Möglichkeit gesucht, einen Wert aus der 99_myUtils in einen Dummy (state) zu übertragen. Bisher sind alle Bemühungen gescheitert, obwohl alle Eingaben in der Fhem-Befehlsleite funktionieren. Ist da ein Fehler in meiner Schreibweise?
--------------------------
package main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
sub
test()
{
fhem("setstate <Dummy> <Wert>");
}
1;
---------------------------
Nimm mal statt setstate lieber setreading.
Gruß
Dan
Hi,
1. Bitte code-Tags verwenden.
2. setstate setzt nicht das Reading state. Was Du meinst ist wahrscheinlich "set <dummy> <Wert>".
3. Wenn das, was Du da als Coding zeigst, Dein tatsächliches Coding ist, dann würde es den Dummy mit dem Namen <dummy> auf den Wert <Wert> setzen. Das fände ich recht seltsam. Zeig mal Dein wirkliches Coding.
4. Zeig auch mal, wie Du versuchst, das aufzurufen.
5. Routinen in myUtils sollten mit myUtils_ anfangen
Gruß,
Thorsten
Also im Moment versuche ich nur beim reload der 99_myUtils den wert 12 in den Dummy zu schreiben.
So sieht die aktuelle Datei aus.
package main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
sub
Vorlaufberechnung()
{
fhem("set VorlaufSoll 12");
}
1;
Habe die "sub" jetzt in "myUtils_Vorlaufberechnung" geändert und
rufe den Reload mit "reload 99_myUtils" auf.
Vielen Dank für Eure Hilfe
Hi,
also nochmal:
1. Bitte code-Tags verwenden.
4. Zeig auch mal, wie Du versuchst, das aufzurufen.
5. Routinen in myUtils sollten mit myUtils_ anfangen
Gruß,
Thorsten
Werde demnächst code-Tags verwenden. Sorry.
Achso...
Nur mit reload geht das nicht, Du musst die Routine schon noch aufrufen.
Z.B. so im Kommandofeld:
{myUtils_Vorlaufberechnung()}
Gruß,
Thorsten
Der Wert "12" wir nicht in "VorlaufSoll" übernommen.
Auch nicht nach dem Speichern oder "shutdown restart".
Habe ich da etwas übersehen?
Deine Eingabe hat aber geholfen.
Vielen Dank
Jörg
OK. Nachtrag.
Nach mehrmaligen Lesen habe ich verstanden.
Die Datei wird geladen, aber erst mit aufruf der Routine wird Diese auch abgearbeitet.
Jetzt hast Du mir echt weiter geholfen.
Vielen Dank noch mal