Ankündigung

Einklappen
Keine Ankündigung bisher.

$msg('data') beim Laden des Plugin mit Fehlermeldung

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [wiregate] $msg('data') beim Laden des Plugin mit Fehlermeldung

    Hallo an alle,

    habe im Forum das gut dokumentierte Script von makki (Alarmanlage) mit einer kleinen Modifikation versehen. Hier habe ich in Zeile 19 eine if-Abfrage

    if ($msg('data') eq 1){
    knx_write($alarm_ga,1,1); # schreibe 1 als DPT 1 auf GA
    }

    zugefügt.

    Beim Laden des Plugins wird die Fehlermeldung:

    Global symbol "$msg" requires explicit package name at (eval 306) line 19, line 1364. syntax error at (eval 306) line 19, near "$msg(" syntax error at (eval 306) line 23, near "} }"

    angezeigt.

    Habe das Forum nach einem Tipp durchsucht. Leider ohne Erfolg.

    Bin Newcomer und habe keine Erfahrungen mit Perl. PHP wäre mir wesentlich angenehmer.
    Ein kleines Lob am Ende. Die bisherigen Erfahrungen mit dem WG stimmen mich ausgesprochen zuversichtlich. Hier könnte einmal die eierlegende Wollmilchsau enstehen.

    Gruß an das Forum
    J. K.

    #2
    Das sollte wohl eher sein:
    Code:
    if( int($msg{'data'}) == 1 )
    {}
    Wichtig bei Perl: immer schön zwischen $, @ und % (so wie ggf. \) bei den Variablen/Array/Hashes unterscheiden und auch immer brav die richtigen Klammern (), [] und {} dazu nehmen.

    Das ist der Aspekt an Perl, der mich schon einige Stunden meines Lebens gekostet hat. Da ist PHP deutlich intuitiver - aber hier ist's halt Perl und nicht PHP. Fertig.
    Eine "richtige" LogikEngine würde hier auch deutlich anders aussehen. Aber das dauert noch ein paar Jahre...
    TS2, B.IQ, DALI, WireGate für 1wire so wie Server für Logik und als KNX Visu die CometVisu auf HomeCockpit Minor. - Bitte keine PNs, Fragen gehören in das Forum, damit jeder was von den Antworten hat!

    Kommentar


      #3
      $msg{'data'} vielen DANK!

      Guten Tag Chris!

      Die verfluchten Klammern sind auf meinem Screen kaum zu unterscheiden.
      { sieht fast wie ( aus. Brauch also eine Brille.

      Nach Änderung im Plugin läuft alles rund.

      Herzlichen Dank für die schnelle Hilfe.

      MfG
      J. K.

      Kommentar

      Lädt...
      X