Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Weiss zwar nicht genau für was du das brauchst aber es sollte so funktionieren. Die Frage ist, ob der DPT immer gleich ist oder sich ändert. Desshalb das $dpt im Beispiel
Teste ich mal, hab schon ein paar Varianten durch. Das Verhalten mit Variablen finde ich im Plugin dennoch irgendwie seltsam, aber vielleicht liegst auch an Perl.
Ein knx_ write wo ich $val einfach durch 1 oder 0 ersetzte läuft nicht. Mit '1' oder '0' läuft es aber. Das macht die Umsetztung ins Plugin System manchmal schwer.
Hmmm... sollte auch mit 1 oder 0 gehen. Darf aber warscheinlich keinen Leerschlag oder sonnstiges enthalten. Nur Werte die nicht INTEGER sind müssen AFAIK in "" oder '' geschrieben werden.
Könnte auch sein dass $val als String interpretiert wird, und du mit einem DPT z.B. 1.001 versuchst zu senden. Dass geht natürlich nicht
Perl interpretiert den Typ der Variabel selber nach dem Inhalt...
z.B.
my $1 = 1; -> Definiert die Varialbel als INTEGER mit dem Wert 1
$1 = $1 . 'A'; -> Macht automatisch daraus einen STRING mit dem Inhalt "1A"
Dass ist wenn man nicht genau darauf achtet ein grosses Problem. Vor allem wenn man Variabeln aus externen Quellen wie Webabfragen, XML oder über eine Schnittstelle befüllt. Da bin ich auch schon öfters darüber gestolpert
Wobei Perl da eher noch sehr "nett" ist, ich hab mir das vorhin bei JS/CV gedacht, wo eine ein-eindeutige Zahl ohne parseInt(x) trotzdem gnadenlos als String gecastet wird.. Versuch und Irrtum..
Ja das stimmt. Oftmals kann man schon mit ein paar Hilfszeilen aus dem Pluginlog den Fehler erkennen da sich relativ leicht erraten läst, als was die Variabel von Perl interpretiert wird
Das hab ich mir auch mittlerweile angewöhnt.
Wenn ich aber my $val = 0; definiere dann ist das zur Hölle kein String. Aber vielleicht müsste es auch einfach nur my $val=0; sein ? Egal, teste ich mal.
Nein sollte so funktionieren. Ist INTEGER. Ich vermute das Problem an einem anderen Ort. Vieleicht magst du den nicht funktionierenden Code mal posten und wir können uns das Phänomen mal gemeinsam ansehen.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar