Gelöst: DOIF, Sub Aufruf aus myUtils

Begonnen von KNUT345, 03 Oktober 2016, 21:50:55

Vorheriges Thema - Nächstes Thema

KNUT345

Hallo,
ich komme mit DOIF und dem Aufruf einer Sub aus myUtils einfach nicht weiter.
Auszug aus MyUtils

sub RolloDatenSchreiben ($$$$)
{
my ($datei,$wert1,$wert2,$wert3) =@_;
my $W = TimeNow();
$W =~ tr/ /_/;
open (DATEI,$datei);
print DATEI $W." ".$wert1." ".$wert2."\n";
print DATEI $W." ".$wert1." ".$wert3."\n";
close DATEI;
}

Die Sub habe ich geschrieben,
da ich mit histeps keine korrekte Darstellung der Übergänge geschafft habe.

Mein DOIF aus dem DEF-Editor

DOIF ([LuxTempDruck_Aussen:luminosity2] > [RolloSonnenSensitivitaet] and [{substr(TimeNow(),11)}] lt [Rolladen_Sued_auf]) (
  {RolloDatenSchreiben (">>./log/Rolladen-".$year.".log","Rollo_Sued","up","down");;
  RolloDatenSchreiben (">>./log/Rolladen-".$year.".log","Rollo_WZ1","up","down")},
  set Rollo_Sued down
)
DOELSE (
  {RolloDatenSchreiben (">>./log/Rolladen-".$year.".log","Rollo_Sued","down","up");;
  RolloDatenSchreiben (">>./log/Rolladen-".$year.".log","Rollo_WZ1","down","up")},
  set Rollo_Sued up
)


Fehlermeldung im DOIF
Zitat
error {RolloDatenSchreiben (">>./log/Rolladen-".$year.".log","Rollo_Sued","down","up");; RolloDatenSchreiben (">>./log/Rolladen-".$year.".log","Rollo_WZ1","down","up")}: 1

Wo ist der Denkfehler?

Danke im voraus und Grüße
Knut

Damian

Deine Routine liefert einen Returnwert ungleich Null.

Einfach am Ende deiner Funktion return 0; einfügen, dann sollte es keine Fehlermeldung mehr geben.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

KNUT345