Unknown command fhem

2,735 views
Skip to first unread message

puschel74

unread,
Jul 13, 2012, 4:08:12 PM7/13/12
to fhem-...@googlegroups.com
Hallo,

diese Zeilen:

define Heizung_Freigabe notify SommerWinter:* {\
  my $SommerWinter_status = ReadingsVal("SommerWinter", "state", "Fehler");;\
  if ($SommerWinter_status eq "Winter") {\
  fhem ("define a_Wasserpumpe at +*00:10:00 trigger n_Wasserpumpe");;\
  fhem ("attr a_Wasserpumpe room 98_Notify");;\
  Log(3,"Heizung Freigabe");;\
  }\
  if ($SommerWinter_status eq "Sommer") {\
  fhem ("delete a_Wasserpumpe");;\
  Log(3,"Heizung Ausgeschaltet")\
  }\
  if ($SommerWinter_status eq "Fehler") {\
  Log(3,"Statusfehler")\
  }\
}
attr Heizung_Freigabe room 98_Notify

funktionieren einwandfrei während diese Zeilen

define Abwesend_aus notify Abwesend:on* {\
  my $SommerWinter_status = ReadingsVal("SommerWinter","state","Fehler");;\
  if ($SommerWinter_status" eq "Winter") {\
    fhem ("set DG_Bad_Heizung day-temp 20.5 night-temp 17.0");;\
    fhem ("set DG_Lern_Heizung day-temp 21.0 night-temp 17.0");;\
    fhem ("set DG_Schlaf_Heizung day-temp 19.5 night-temp 17.0");;\
    fhem ("set EG_Eingang_Heizung day-temp 15.0 night-temp 17.0");;\
    fhem ("set EG_Kueche_Heizung day-temp 15.0 night-temp 17.0");;\
    fhem ("set EG_WC_Heizung day-temp 12.0 night-temp 17.0");;\
    fhem ("set EG_Wohnzimmer_Heizung day-temp 21.0 night-temp 17.0");;\
    fhem ("set Keller_Gaestezimmer_Heizung day-temp 19.0 night-temp 17.0");;\
    fhem ("set OG_Badezimmer_Heizung day-temp 24.0 night-temp 17.0");;\   
    fhem ("set OG_Schlafzimmer_Heizung day-temp 15.0 night-temp 17.0");;\
    fhem ("set OG_Zimmer_Heizung day-temp 19.0 night-temp 17.0");;\
    Log (3,"Heizung hochgefahren";;\
    }\ 
      if ($SommerWinter_status eq "Sommer") {\
         fhem ("trigger Licht_halbmanu");;\
        fhem ("trigger Rollo_halbmanu");;\
        Log (3,"Rollo und Licht Halb-Automatik");;\
        } \
  }
attr Abwesend_aus room 98_Notify

genannten Fehler plus dieses

2012.07.13 21:57:20 3: Abwesend_aus return value: Unknown command {\
, try help
Unknown command if, try help
Unknown command fhem, try help
Unknown command fhem, try help
Unknown command fhem, try help
Unknown command fhem, try help
Unknown command fhem, try help
Unknown command fhem, try help
Unknown command fhem, try help
Unknown command fhem, try help
Unknown command \, try help

bringen.

Wäre mal jemand bitte so nett und würde mir die Tomaten von den Augen nehmen!
Ich such seit knapp einer Stunde mit allen möglichen Varianten von if in Verbindung mit
else bzw. ohne else-Teil laut Wiki und find den Fehler nicht.

Diese Definition

define Abwesend_an notify Abwesend:off* {\
my $SommerWinter_status = ReadingsVal("SommerWinter","state","Fehler");;\
if ($SommerWinter_status" eq "Winter") {\
my @@fhts=devspec2array("TYPE=FHT");; \
foreach(@@fhts) {\
fhem ("set ".$_." day-temp 15.0 night-temp 12.0");;\
Log (3,"Heizung runtergefahren)";;\
}\
}\
if ($SommerWinter_status eq "Sommer") {\
fhem ("trigger Licht_auto");;\
fhem ("trigger Rollo_auto");;\
Log (3,"Rollo und Licht Automatik");;\
} \
}
attr Abwesend_an room 98_Notify

liefert diesen Fehler:

2012.07.13 22:00:20 2: FS20 set Abwesend off 2012.07.13 22:00:20 3: Abwesend_an return value: Can't find string terminator '"' anywhere before EOF at (eval 842) line 1.

Diese Ursaceh finde ich genauso wenig.
Und das nachdem ich mit dem funktionieren von Heizung_Freigabe so motiviert war.

Danke schonmal für das Facelifting (dem entfernen der Tomaten auf den Augen).

Grüße

Tom

unread,
Jul 13, 2012, 4:41:30 PM7/13/12
to fhem-...@googlegroups.com
Moin,

Am 13. Juli 2012 22:08 schrieb puschel74 <pusc...@gmx.net>:
> if ($SommerWinter_status" eq "Winter") {\

fangen wir mal damit an, die überzähligen Anführungszeichen nach
"status" zu entfernen... ;)

Gruß
Torsten

Guido

unread,
Jul 13, 2012, 4:43:30 PM7/13/12
to fhem-...@googlegroups.com

Log (3,"Heizung hochgefahren";;\

Da fehlt Klammer zu glaub ich
Vielleicht ist das ja schonmal eine Tomate

Volker

unread,
Jul 14, 2012, 2:50:37 AM7/14/12
to fhem-...@googlegroups.com
Hallo,


fhem ("set ".$_." day-temp 15.0 night-temp 12.0");;\
Log (3,"Heizung runtergefahren)";;\

Vieleicht anführungszeichen und Klammer vertauschen??

MfG

Volker

puschel74

unread,
Jul 14, 2012, 3:45:45 AM7/14/12
to fhem-...@googlegroups.com
Hallo,

ach du Schande. Stimmt.
Danke Euch. Ich sollte solche Codeschnippsel nicht nach 10 Stunden am PC
bearbeiten.
Und ich such mir da nen Ast ab und dann springen einem die Fehler direkt durch die
Tomaten ins Auge.
Thread bitte löschen.

Grüße und danke nochmal.

puschel74

unread,
Jul 14, 2012, 5:57:23 AM7/14/12
to fhem-...@googlegroups.com
Hallo,

hmmmm.

Dieser Teil


define Abwesend_aus notify Abwesend:on* {\
  my $SommerWinter_status = ReadingsVal("SommerWinter","state","Winter");;\

  if ($SommerWinter_status eq "Winter") {\
    fhem ("set DG_Bad_Heizung day-temp 20.5 night-temp 17.0");;\
    fhem ("set DG_Lern_Heizung day-temp 21.0 night-temp 17.0");;\
    fhem ("set DG_Schlaf_Heizung day-temp 19.5 night-temp 17.0");;\
    fhem ("set EG_Eingang_Heizung day-temp 15.0 night-temp 17.0");;\
    fhem ("set EG_Kueche_Heizung day-temp 15.0 night-temp 17.0");;\
    fhem ("set EG_WC_Heizung day-temp 20.0 night-temp 17.0");;\

    fhem ("set EG_Wohnzimmer_Heizung day-temp 21.0 night-temp 17.0");;\
    fhem ("set Keller_Gaestezimmer_Heizung day-temp 19.5 night-temp 17.0");;\

    fhem ("set OG_Badezimmer_Heizung day-temp 24.0 night-temp 17.0");;\   
    fhem ("set OG_Schlafzimmer_Heizung day-temp 15.0 night-temp 17.0");;\
    fhem ("set OG_Zimmer_Heizung day-temp 19.0 night-temp 17.0");;\
    Log (3,"Heizung hochgefahren");;\

      }\ 
      if ($SommerWinter_status eq "Sommer") {\
        fhem ("trigger Licht_auto off");;\
        fhem ("trigger Rollo_auto off");;\
        Log (3,"Rollo und Licht Automatik Aus");;\
       } \
}
attr Abwesend_aus room 98_Notify

liefert mir aber immer noch ein


Unknown command fhem, try help

während dieser Teil


define Abwesend_an notify Abwesend:off* {\
  my $SommerWinter_status = ReadingsVal("SommerWinter","state","Winter");;\

  if ($SommerWinter_status eq "Winter") {\
  Log (3,"Heizung runtergefahren");;\

    my @@fhts=devspec2array("TYPE=FHT");; \
      foreach(@@fhts) {\
        fhem ("set ".$_." day-temp 15.0 night-temp 12.0");;\
        }\
      }\ 
      if ($SommerWinter_status eq "Sommer") {\
           fhem ("trigger Licht_auto on");;\
          fhem ("trigger Rollo_auto on");;\

          Log (3,"Rollo und Licht Automatik");;\
        } \
}
attr Abwesend_an room 98_Notify

anstandslos funktioniert.

Auch nach dem 20-mal drüberlesen finde ich den Fehler nicht.
Ich hab den funktionierenden Teil kopiert und durch die Aufrufe ersetzt und bekomme
die Meldung das der Befehl fhem unbekannt ist.

Grüße

Volker

unread,
Jul 14, 2012, 6:28:04 AM7/14/12
to fhem-...@googlegroups.com
Hallo,

probier mal ohne diesen Teil


if ($SommerWinter_status eq "Sommer") {\
        fhem ("trigger Licht_auto off");;\
        fhem ("trigger Rollo_auto off");;\
        Log (3,"Rollo und Licht Automatik Aus");;\
       } \

Trigger darf mWn nur einen Parameter haben.

Ansonsten mal Zeile für Zeile aufbauen und testen.

MfG

Volker

puschel74

unread,
Jul 14, 2012, 6:37:00 AM7/14/12
to fhem-...@googlegroups.com
Hallo,

also wenn ich in fhem

trigger Licht_auto on

eingebe führt mir fhem die Befehle dazu aus und der Logeintrag erscheint.

Der Abwesend_an notify Abwesend:off funktioniert ja wunderbar.

Nur das notify mit Abwesend:on wehrt sich vehement.

Ich werd das nachher mal Zeile für Zeile durchgehen - erstmal einkaufen.

Danke schonmal für die Gedankenhilfe.

Grüße

puschel74

unread,
Jul 14, 2012, 9:21:59 AM7/14/12
to fhem-...@googlegroups.com
Hallo,

ich hab jetzt mal das


define Abwesend_aus notify Abwesend:on* {\
my $SommerWinter_status = ReadingsVal("SommerWinter","state","Winter");;\
if ($SommerWinter_status eq "Winter") {\
fhem ("set DG_Bad_Heizung day-temp 20.5 night-temp 17.0");;\
fhem ("set DG_Lern_Heizung day-temp 21.0 night-temp 17.0");;\
fhem ("set DG_Schlaf_Heizung day-temp 19.5 night-temp 17.0");;\
fhem ("set EG_Eingang_Heizung day-temp 15.0 night-temp 17.0");;\
fhem ("set EG_Kueche_Heizung day-temp 15.0 night-temp 17.0");;\
fhem ("set EG_WC_Heizung day-temp 20.0 night-temp 17.0");;\
fhem ("set EG_Wohnzimmer_Heizung day-temp 21.0 night-temp 17.0");;\
fhem ("set Keller_Gaestezimmer_Heizung day-temp 19.5 night-temp 17.0");;\
fhem ("set OG_Badezimmer_Heizung day-temp 24.0 night-temp 17.0");;\
fhem ("set OG_Schlafzimmer_Heizung day-temp 15.0 night-temp 17.0");;\
fhem ("set OG_Zimmer_Heizung day-temp 19.0 night-temp 17.0");;\
	Log (3,"Heizung hochgefahren")\
}\
}
attr Abwesend_aus room 98_Notify

versucht. Das Ergebnis ist das

2012.07.14 15:08:19 2: FS20 set Abwesend on 2012.07.14 15:08:19 3: Abwesend_aus return value: Unknown command {\ , try help Unknown command if, try help Unknown command fhem, try help Unknown command fhem, try help Unknown command fhem, try help Unknown command fhem, try help Unknown command fhem, try help Unknown command fhem, try help Unknown command fhem, try help Unknown command fhem, try help Unknown command \, try help

und ich find es einfach nicht.

Unter DEF steht übrigens nur dieses

Abwesend:on* {
  my $SommerWinter_status = ReadingsVal("SommerWinter","state","Winter");
  if ($SommerWinter_status eq "Winter") {
    fhem ("set DG_Bad_Heizung day-temp 20.5 night-temp 17.0");
    fhem ("set DG_Lern_Heizung day-temp 21.0 night-temp 17.0");
    fhem ("set DG_Schlaf_Heizung day-temp 19.5 night-temp 17.0");
    fhem ("set EG_Eingang_Heizung day-temp 15.0 night-temp 17.0");
    fhem ("set EG_Kueche_Heizung day-temp 15.0 night-temp 17.0");
    fhem ("set EG_WC_Heizung day-temp 20.0 night-temp 17.0");
    fhem ("set EG_Wohnzimmer_Heizung day-temp 21.0 night-temp 17.0");
    fhem ("set Keller_Gaestezimmer_Heizung day-temp 19.5 night-temp 17.0");
    fhem ("set OG_Badezimmer_Heizung day-temp 24.0 night-temp 17.0");\

hier fehlen die letzten 5 Zeilen inkl. den }

Grüße

Am Samstag, 14. Juli 2012 12:28:04 UTC+2 schrieb Volker:

Tom

unread,
Jul 14, 2012, 9:43:16 AM7/14/12
to fhem-...@googlegroups.com
ich weiß nicht, ob es eine Rolle spielt, aber

> fhem ("set OG_Badezimmer_Heizung day-temp 24.0 night-temp 17.0");;\
> fhem ("set OG_Schlafzimmer_Heizung day-temp 15.0 night-temp 17.0");;\
> fhem ("set OG_Badezimmer_Heizung day-temp 24.0 night-temp 17.0");\

>
> hier fehlen die letzten 5 Zeilen inkl. den }

...ab da ist Dein Zitat auch eingerückt. Vielleicht sind da TABs vorne
weg und FHEM mag die nicht?

Gruß
T.

puschel74

unread,
Jul 14, 2012, 9:47:43 AM7/14/12
to fhem-...@googlegroups.com
Hallo,

hab jetzt alle "Einrückungen" rausgenommen - gleiches Ergebniss.

In der fhem.cfg steht alles ohne Einrückungen aber unter DEF gehlen die letzten Zeilen.

Ich mach mich mal schlau über einen Aufruf in der 99_MyUtils.pm.
So lange Zeilen gehören eh schon längst ausgelagert und nicht in der Konfig verbaut.

Grüße

Volker

unread,
Jul 14, 2012, 9:52:37 AM7/14/12
to fhem-...@googlegroups.com
Hallo,


fhem ("set DG_Bad_Heizung day-temp 20.5 night-temp 17.0")

müsste das nicht so aussehen

{fhem "set DG_Bad_Heizung day-temp 20.5 night-temp 17.0"}

Das mit dem auslagern in 99_MyUtils.pm wollte ich dir auch vorschlagen.

MfG

Volker

puschel74

unread,
Jul 14, 2012, 9:56:26 AM7/14/12
to fhem-...@googlegroups.com
Hallo,

in Abwesend_an steht die Zeile auch so


fhem ("set ".$_." day-temp 15.0 night-temp 12.0");;\

drinnen und den zweiten if_teil in Abwesend_an spult fhem auch brav runter.
Wie gesagt. Ich hab Abwesend_an kopiert und alle relevanten Teile in
Abwesend_aus umgeändert.

Aber ich werd die ganzen Zeilen in die 99_myUtils auslagern und per notify aufrufen.

Grüße
Reply all
Reply to author
Forward
0 new messages