Skip to content

Commit

Permalink
10_SD_GT.pm
Browse files Browse the repository at this point in the history
fixes operator #836
  • Loading branch information
sidey79 committed Apr 15, 2020
1 parent db60a45 commit d3719d0
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion FHEM/10_SD_GT.pm
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,7 @@ sub Parse($$) {
}
Log3 $ioname, 4, "$ioname: SD_GT_Parse $rawData, found version $version with systemCode $systemCode";

if ($version == 0 && $systemCode eq 0) { # Version und systemCode nicht gefunden
if ($version == 0 && $systemCode == 0) { # Version und systemCode nicht gefunden
$devicedef = "LEARN";
} else { # Version und systemCode gefunden
my $statecode = substr($rawData,4,1);
Expand Down

6 comments on commit d3719d0

@elektron-bbs
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Das mag zwar auf den ersten Blick so passen, aber was passiert, wenn dann $systemCode z.B. diesen Wert hat: 8052D

@sidey79
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Das klappt dann nicht :(

@HomeAutoUser
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Da komme ich zu der Auffassung von gestern Abend, wenn ein „gemischter String“ es sein kann, dann

if ($version == 0 && $systemCode eq ‚0‘)

Nutzen weil da kann es eben auch 8052D sein.

@elektron-bbs
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So ähnlich :-)
Erster Grundsatz sollte sein: Nicht einfach ändern, sondern in der Praxis testen!

@sidey79
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ja verstehe. Das war mir gestern nicht klar, dass in Systemcode auch Hex Werte stecken :)

Perl evaluates any string to 0 if is not a number

Das besagte Beispiel sollte damit zu 0 == 0 werden was nicht gewünscht ist :)

@sidey79
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ich habe es angepasst, was das mit dem Testen in der Praxis angeht. Hätten wir schon einen test_SD_GL_devices, dann wäre es gut möglich gewesen, diesen Fehler durch die Tests zu finden :)

Please sign in to comment.