Autor Thema: Auslösenden Rauchmelder erkennen  (Gelesen 8672 mal)

Offline chaot4ever

  • Full Member
  • ***
  • Beiträge: 110
Antw:Auslösenden Rauchmelder erkennen
« Antwort #15 am: 19 Dezember 2013, 18:05:44 »
und
{ my $alarm = ReadingsVal("SDTeam","smoke_detect","") ;; DebianMail('xx@@yyyyy.gmx', '12FEUERALARM FHEM', 'Rauchmelder "$alarm" hat ausgeloest!') }ergibt im Mail ebenfalls: Rauchmelder "$alarm" hat ausgeloest!

Offline crissiloop

  • Full Member
  • ***
  • Beiträge: 131
Antw:Auslösenden Rauchmelder erkennen
« Antwort #16 am: 19 Dezember 2013, 19:00:29 »
Hallo,
ich hatte bei einer Frage zum Notify auch ein Problem mit den Anführungszeichen und dem Extrahieren der Variablen.
Lösung siehe: http://forum.fhem.de/index.php/topic,17698.msg116583.html#msg116583
Müsste dann bei dir wie folgt sein:
{ my $alarm = ReadingsVal("SDTeam","smoke_detect","") ;; DebianMail('xx@@yyyyy.gmx', '12FEUERALARM FHEM', "Rauchmelder ".$alarm." hat ausgeloest!") }
Gruß
Christian
FHEM 5.5 auf Cubietruck

1x HMLAN, 1x HMUSB, 12x HM-LC-Bl1 PBU-FM, 5x HM-LC-Sw1-Pl, 1x HM-LC-Sw1-FM, 2x HM-LC-Sw2-FM, 2x HM-SEC-RHS, 3x HM-SEC-SD, 8x HM-SEC-SC, 3x HM-RC-4-2, 1x HM-RC-8, 1x HM-Sec-SFA-SM, Jeelink, 7x Technoline TX 29 DTH-IT

Offline martinp876

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 11085
Antw:Auslösenden Rauchmelder erkennen
« Antwort #17 am: 20 Dezember 2013, 11:39:27 »
Hallo Christian,

du solltest dich ein bisschen mit perl syntax beschäftigen:
= ist eine Zuweisung
== ist ein Vergleich von Zahlen (nicht strings)

 my $alarm = "ReadingsVal("SDTeam","smoke_detect","")" ;;

in hochkomma... ReadingsVal ist eine funktion - und soll nicht als text ausgewertet werden
die Hochkomma erzeugen folgende Gruppen:

 my $alarm = "ReadingsVal("
                     SDTeam
                     ","
                     smoke_detect
                     ","
                     ")"
                     ;;

damit kann keiner etwas anfangen
daher sollte es so sein:

 my $alarm = ReadingsVal("SDTeam","smoke_detect","");;

ein Funktionsaufruf mit 2 inputs, alle 3 strings.

Gruss Martin

Offline crissiloop

  • Full Member
  • ***
  • Beiträge: 131
Antw:Auslösenden Rauchmelder erkennen
« Antwort #18 am: 20 Dezember 2013, 14:34:50 »
Hallo Martin,

ich glaub jetzt verwechselst du mich wohl.
Ich habe nie etwas von == geschrieben und auch nicht von "ReadingsVal. Der Unterschied zwischen = und == ist mir auch klar.
Ich habe lediglich den Codeschnipsel von Richi ergänzt und zwar im hinteren Teil!
{ my $alarm = ReadingsVal("SDTeam","smoke_detect","") ;; DebianMail('xx@@yyyyy.gmx', '12FEUERALARM FHEM', "Rauchmelder ".$alarm." hat ausgeloest!") } stand in meinem Post.

Gruß und nix für ungut
Christian
FHEM 5.5 auf Cubietruck

1x HMLAN, 1x HMUSB, 12x HM-LC-Bl1 PBU-FM, 5x HM-LC-Sw1-Pl, 1x HM-LC-Sw1-FM, 2x HM-LC-Sw2-FM, 2x HM-SEC-RHS, 3x HM-SEC-SD, 8x HM-SEC-SC, 3x HM-RC-4-2, 1x HM-RC-8, 1x HM-Sec-SFA-SM, Jeelink, 7x Technoline TX 29 DTH-IT

Offline martinp876

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 11085
Antw:Auslösenden Rauchmelder erkennen
« Antwort #19 am: 20 Dezember 2013, 15:05:27 »
sorry, ja

 

decade-submarginal