FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: KNUT345 am 03 Oktober 2016, 21:50:55

Titel: Gelöst: DOIF, Sub Aufruf aus myUtils
Beitrag von: KNUT345 am 03 Oktober 2016, 21:50:55
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
Titel: Antw:DOIF, Sub Aufruf aus myUtils
Beitrag von: Damian am 03 Oktober 2016, 22:13:47
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
Titel: Antw:DOIF, Sub Aufruf aus myUtils
Beitrag von: KNUT345 am 04 Oktober 2016, 12:38:59
Danke das war's