FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Gear am 17 August 2018, 17:40:36

Titel: [Gelöst]99_myUtils.pm und SwitchCase bringen fehlermeldung / funktionieren nicht
Beitrag von: Gear am 17 August 2018, 17:40:36
Guten Tag Zusammen,

ich bin gerade dabei die Rückgabewerde meines Nextion-Displays auszuwerten.
If Else fände ich in diesem Fall eher mehr aufwand als ne lange Switch Case abfrage zu verwenden.

Ich habe in meiner 99_myUtils.pm folgende Funktion die durch ein Notify gestartet wird:
sub
DisplayFrame_WZ_Receiving_Utils($)
{
my ($VarValue) = @_;

switch ($VarValue)
{
  case 1273
  {
   fhem("set BU.LightScene scene ON");
  }
  case 1274
  {
   fhem("set BU.LightScene scene OFF");
  }
}
}


Ich bekomme die Rückgabe in die Funktion, daran liegt es nicht.
Wenn ich die 99_myUtils.pm speichere, bekomme ich folgende Fehlermeldung angezeigt:
ERROR:
syntax error at ./FHEM/99_DisplayFrameUtils.pm line 188, near ") {" syntax error at ./FHEM/99_DisplayFrameUtils.pm line 193, near "case 1274"


Ich weiß echt nicht, was ich falsch mache oder was das Problem ist.

Ich hoffe ihr könnt mir helfen.
Viele Grüße und Danke
Gear
Titel: Antw:99_myUtils.pm und SwitchCase bringen fehlermeldung / funktionieren nicht
Beitrag von: Otto123 am 17 August 2018, 17:43:31
Hallo Gear,

was denn jetzt -> ./FHEM/99_DisplayFrameUtils.pm
vs.
Wenn ich die 99_myUtils.pm speichere...

Welche Datei stimmt?

Gruß Otto
Titel: Antw:99_myUtils.pm und SwitchCase bringen fehlermeldung / funktionieren nicht
Beitrag von: Gear am 17 August 2018, 18:00:57
Ach, ich hab die "Test-Datei" "99_DisplayFrameUtils.pm" verwendet, weil ich schauen wollte ob es an der "99_myUtils.pm" selber liegt, sry mein Fehler.
Die Funktion liegt natürlich in der "99_myUtils.pm"
Da kommt die gleiche Fehlermeldung.
Titel: Antw:99_myUtils.pm und SwitchCase bringen fehlermeldung / funktionieren nicht
Beitrag von: betateilchen am 17 August 2018, 18:07:43
Otto, das ist doch völlig egal. Der Syntaxfehler kommt mit Sicherheit nicht vom Dateinamen.

switch/case ist mindestens seit 2011 deprecated.


use feature qw(switch);

sub DisplayFrame_WZ_Receiving_Utils($) {
  my ($VarValue) = @_;
  given($VarValue) {
    when (1273) { fhem("set BU.LightScene scene ON") }
    when (1274) { fhem("set BU.LightScene scene OFF") }
  }
}
Titel: Antw:99_myUtils.pm und SwitchCase bringen fehlermeldung / funktionieren nicht
Beitrag von: Gear am 17 August 2018, 18:15:18
Danke, jedoch kommt der Fehler mit given when auch.

ERROR:
syntax error at ./FHEM/99_myUtils.pm line 97, near ") {" syntax error at ./FHEM/99_myUtils.pm line 97, near ") {"
Titel: Antw:99_myUtils.pm und SwitchCase bringen fehlermeldung / funktionieren nicht
Beitrag von: betateilchen am 17 August 2018, 18:23:23
das "use feature qw(switch);" steht da nicht zum Spass...
Titel: Antw:99_myUtils.pm und SwitchCase bringen fehlermeldung / funktionieren nicht
Beitrag von: Gear am 17 August 2018, 18:30:25
Verdammt ich hab das voll übersehen.. _-.-"
Danke jetzt geht es! =D