FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: djhans am 20 November 2013, 12:25:56

Titel: Fragen zur fhem Syntax
Beitrag von: djhans am 20 November 2013, 12:25:56
Hallo,
ich schon wieder... :-)!

Jetzt habe ich noch eine Frage zur Syntax:

Das funktioniert soweit:
FB7390:event:.ring {
  my $number =(ReadingsVal("FB7390","internal_number",99));
  if ($number == 990781){
   fhem "set Dreambox volume 10";
  }
}


warum klappt das nicht?
FB7390:event:.ring
{
  my $number =(ReadingsVal("FB7390","internal_number",99));
  if ($number == 990781)
  {
   fhem "set Dreambox volume 10";
  }


Ich finde es übersichtlicher, wenn die Klammern den Code einrahmen. Das habe ich fürher so gelernt, funktioniert hier aber nicht. Ist das eine Eigenart von fhem oder perl?

2. Frage:
wie definiere ich jetzt globale Variablen?
z.B. möchte ich in einem Notify die Lautstärke in einer Variablen speichern und sie im 2. Notify wieder auslesen und setzten.  In den gängigen Programmiersprachen definiert man lokale Variablen im Funktionskopf und globale Variablen im  Programmkopf. Das erkenne ich hier aber nicht!

Danke und Gruß,
djhans
Titel: Antw:Fragen zur fhem Syntax
Beitrag von: der-Lolo am 20 November 2013, 13:47:12
Die zweite Version funktioniert nicht weil eine schliessende Klammer fehlt
Titel: Antw:Fragen zur fhem Syntax
Beitrag von: Elektrolurch am 20 November 2013, 13:51:36
Hallo,

im zweiten Fall fehlt doch die letzte schliessende Klammer des notifys?
Globale werden mit  our definiert und dann mit $main::variablenname angesprochen.

Gruß

Elektrolurch