FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Bobsonbob am 12 April 2017, 20:35:25

Titel: Wert aus 99_myUtils in einen Dummy übertragen
Beitrag von: Bobsonbob am 12 April 2017, 20:35:25
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;
---------------------------
Titel: Antw:Wert aus 99_myUtils in einen Dummy übertragen
Beitrag von: DeeSPe am 12 April 2017, 20:38:58
Nimm mal statt setstate lieber setreading.

Gruß
Dan
Titel: Antw:Wert aus 99_myUtils in einen Dummy übertragen
Beitrag von: Thorsten Pferdekaemper am 12 April 2017, 20:40:30
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
Titel: Antw:Wert aus 99_myUtils in einen Dummy übertragen
Beitrag von: Bobsonbob am 12 April 2017, 20:47:11
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
Titel: Antw:Wert aus 99_myUtils in einen Dummy übertragen
Beitrag von: Thorsten Pferdekaemper am 12 April 2017, 20:49:34
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
Titel: Antw:Wert aus 99_myUtils in einen Dummy übertragen
Beitrag von: Bobsonbob am 12 April 2017, 21:08:30
Werde demnächst code-Tags verwenden. Sorry.
Titel: Antw:Wert aus 99_myUtils in einen Dummy übertragen
Beitrag von: Thorsten Pferdekaemper am 12 April 2017, 21:22:46
Achso...
Nur mit reload geht das nicht, Du musst die Routine schon noch aufrufen.
Z.B. so im Kommandofeld:

{myUtils_Vorlaufberechnung()}

Gruß,
   Thorsten
Titel: Antw:Wert aus 99_myUtils in einen Dummy übertragen
Beitrag von: Bobsonbob am 12 April 2017, 21:30:29
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