Wert aus 99_myUtils in einen Dummy übertragen

Begonnen von Bobsonbob, 12 April 2017, 20:35:25

Vorheriges Thema - Nächstes Thema

Bobsonbob

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;
---------------------------

DeeSPe

Nimm mal statt setstate lieber setreading.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Thorsten Pferdekaemper

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
FUIP

Bobsonbob

#3
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

Thorsten Pferdekaemper

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
FUIP

Bobsonbob

Werde demnächst code-Tags verwenden. Sorry.

Thorsten Pferdekaemper

Achso...
Nur mit reload geht das nicht, Du musst die Routine schon noch aufrufen.
Z.B. so im Kommandofeld:

{myUtils_Vorlaufberechnung()}

Gruß,
   Thorsten
FUIP

Bobsonbob

#7
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