Hauptmenü

generelle Syntaxfrage

Begonnen von stever, 31 März 2013, 00:37:55

Vorheriges Thema - Nächstes Thema

stever

Hallo,

ich habe folgenden Codeschnipsel zum steuern einer Nachtbeleuchtung erstellt:

define Nachtlicht_aus at *{sunrise("REAL")} {\
fhem("set ff800081_eg_wz_tv_led A0");;\
#fhem("set ff800081_eg_wz_tv_led released");;\

#fhem("set ff800083_eg_kueche_schrank_led A0");;\
#fhem("set ff800083_eg_kueche_schrank_led released");;\
}


Wenn ich nun die auskommentierten Zeilen einfüge erhalte ich einen Fehler:

configfile: Unknown command fhem("set, try help
Unknown command fhem("set, try help


Hier scheine ich ein generelles Verständnisproblem mit dem Code zu haben.

Ich bedanke mich schonmal für eure Hilfe.

Reinerlein

Hi Stever,

ist die Leerzeile auch in deiner Datei enthalten?
Wenn ja, dann muss auch dort das Zeilenende mit Backslash maskiert werden...

Grüße Reinerlein

stever

Hallo Reinerlei,

danke für die schnelle Antwort. Habs geändert:


#==========
#Nachtlicht
#==========

define Nachtlicht_aus at *{sunrise("REAL")} {\
        fhem("set ff800081_eg_wz_tv_led A0");;\
fhem("set ff800081_eg_wz_tv_led released");;\
fhem("set ff800083_eg_kueche_schrank_led A0");;\
fhem("set ff800083_eg_kueche_schrank_led released");;\
}


Leider bleibt die Fehlermeldung.

Gruß,

Steve

Dragonfly

Ich nehms ohne Klammer:
fhem "set....

stever

Hallo,

mit dieser Syntax klappt es nun ohne Fehlermeldung:


define Nachtlicht_aus_eg_wz_tv_led at *{sunrise("REAL")} \
set ff800081_eg_wz_tv_led A0;;\
set ff800081_eg_wz_tv_led released

define Nachtlicht_aus_eg_kueche_schrank_led at *{sunrise("REAL")} \
set ff800083_eg_kueche_schrank_led A0;;\
set ff800083_eg_kueche_schrank_led released


Warum kann ich nicht beide Aktoren in ein define nehmen? Möchte es gerne für mein Verständnis wissen.

Gruß,

Steve

Zrrronggg!

Klar, kann man in einem machen.


define Nachtlicht_aus at *{sunrise("REAL")} \
        set ff800081_eg_wz_tv_led A0;;\
set ff800081_eg_wz_tv_led released;;\
set ff800083_eg_kueche_schrank_led A0;;\
set ff800083_eg_kueche_schrank_led released


sollte gehen (obgleich ich nicht weiss, was "set Aktor released" machen soll, das tut aber hier nix zur Sache)


FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

stever

Hey Zrrronggg!,

funktioniert aber nicht. Führt immer wieder zu einer Fehlermeldung. Nur wenn ich das einzeln verpacke ist FHEM zufrieden.

Das release muss ich setzen, da sonst meine PEHA Aktoren den nächsten Befehl verweigern. Das hat mich schon zum verzweifeln gebracht.

Sende an PEHA AI => Licht an
Sende an PEHA A0 => Licht nicht aus
Sende an PEHA AI => Licht nicht nochmal an (ist ja schon an)
Sende an PEHA A0 => Licht nicht aus

Sende an PEHA AI => Licht an
Sende an PEHA release
Sende an PEHA A0 => Licht aus
Sende an PEHA release
Sende an PEHA AI => Licht an
Sende an PEHA release
Sende an PEHA A0 => Licht aus


Gruß,

Steve

Ergänzung: Alles EnOcean

Zrrronggg!

Okay, release kapier ich jetzt. Hab nix mit EnOcean.

Zitatfunktioniert aber nicht. Führt immer wieder zu einer Fehlermeldung. Nur wenn ich das einzeln verpacke ist FHEM zufrieden.

Das verstehe ich auch nicht.  Wie lautet die Fehlermeldung denn bitte?

Versuch doch mal bitte dies (eine Zeile):


define Nachtlicht_aus at *{sunrise("REAL")}  set ff800081_eg_wz_tv_led A0 ;; set ff800081_eg_wz_tv_led released ;; set ff800083_eg_kueche_schrank_led A0 ;; set ff800083_eg_kueche_schrank_led released
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Reinerlein

Hi Steve,

wenn ich nochmal auf deine ursprüngliche Schreibweise zurückkommen darf. Hast du mal #==========
#Nachtlicht
#==========

define Nachtlicht_aus at *{sunrise("REAL")} {\
        fhem("set ff800081_eg_wz_tv_led A0");;\
fhem("set ff800081_eg_wz_tv_led released");;\
fhem("set ff800083_eg_kueche_schrank_led A0");;\
fhem("set ff800083_eg_kueche_schrank_led released")\
}
versucht?
Also hinter der letzten Anweisung keine Semikola mehr. Es könnte sein, dass der reguläre Ausdruck zum zerschneiden der Sequenzen da etwas in Tüddel kommt, wenn nichts mehr folgt...

Ansonsten kannst du das, meiner Meinung nach, auch alles ohne geschweifte Klammern und dem fhem-Befehl machen:#==========
#Nachtlicht
#==========

define Nachtlicht_aus at *{sunrise("REAL")} set ff800081_eg_wz_tv_led A0 ;; set ff800081_eg_wz_tv_led released ;; set ff800083_eg_kueche_schrank_led A0 ;; set ff800083_eg_kueche_schrank_led released


oder auch zusammengefasst:define Nachtlicht_aus at *{sunrise("REAL")} set ff800081_eg_wz_tv_led,ff800083_eg_kueche_schrank_led A0 ;; set ff800081_eg_wz_tv_led,ff800083_eg_kueche_schrank_led released

Grüße Reinerlein

stever

@ Zrrronggg

Diese Meldung im Logfile:


configfile: Unknown command fhem("set, try help
Unknown command fhem("set, try help


Den Rest probiere ich demnächst aus.

Schöne Ostern euch

Zrrronggg!

Zitatconfigfile: Unknown command fhem("set, try help
Unknown command fhem("set, try help

Also diese Fehlermeldung kam als du wie von mir vorgeschlagen diesen Code verwendet hast:

Zitatdefine Nachtlicht_aus at *{sunrise("REAL")} \
        set ff800081_eg_wz_tv_led A0;;\
   set ff800081_eg_wz_tv_led released;;\   
   set ff800083_eg_kueche_schrank_led A0;;\
   set ff800083_eg_kueche_schrank_led released

Nimms mir bitte nicht übel, aber WIRKLICH?
Ich glaube nicht. Ich glaube du hast meinen Code eingesetzt und dann nicht auf SAFE gedrückt oder so und es wurde noch dein alter verwendet. Beachte, das in meinem Code das "unkown Command"
fhem("set
gar nicht vorkommt!
Mein Code mag gehen oder nicht, aber der von dir gepostet Fehler kann NICHT durch meinen Codevorschalg verursacht worden sein.


Versuch das bitte noch mal und stelle sicher, das der Code auch tatsächlich verwendet wir.

Oder versuche meinen Vorschlag


define Nachtlicht_aus at *{sunrise("REAL")}  set ff800081_eg_wz_tv_led A0 ;; set ff800081_eg_wz_tv_led released ;; set ff800083_eg_kueche_schrank_led A0 ;; set ff800083_eg_kueche_schrank_led released


(ist letztlich die einfachste und kürzeste Form)

Beachte das Reinerlein exact die selben Vorschläge wie ich macht!
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

stever

Hallo,

nein! Ich habe diesen Code verwendet:



#==========
#Nachtlicht
#==========

define Nachtlicht_aus at *{sunrise("REAL")} {\
        fhem("set ff800081_eg_wz_tv_led A0");;\
fhem("set ff800081_eg_wz_tv_led released");;\
fhem("set ff800083_eg_kueche_schrank_led A0");;\
fhem("set ff800083_eg_kueche_schrank_led released");;\
}


führte zu


"unkown Command"
 fhem("set


Was anderes habe ich ja auch nicht behauptet. Vielleicht missverstanden :) Bin noch nicht dazu gekommen mehr auszuprobieren.

Zrrronggg!

Äh,,, wie jetzt.

Ich schrieb:

ZitatKlar, kann man in einem machen.


Code: [alles markieren] [anzeigen/verstecken]
define Nachtlicht_aus at *{sunrise("REAL")} \
        set ff800081_eg_wz_tv_led A0;;\
   set ff800081_eg_wz_tv_led released;;\   
   set ff800083_eg_kueche_schrank_led A0;;\
   set ff800083_eg_kueche_schrank_led released




Darauf hast du geantwortet:

ZitatHey Zrrronggg!,

funktioniert aber nicht. Führt immer wieder zu einer Fehlermeldung. Nur wenn ich das einzeln verpacke ist FHEM zufrieden.

Die Antowrt ist doch SINNLOS, wenn du NICHT ausprobiert hast, was ich hinschrieb. Meinst du nicht das ich auf diese DIREKTE Antworten auf meinen Vorschlag entnehmen darf, dass sich das natürlich auf meinen Änderungsvorschlag bezog?

Nimms mir nicht übel, aber sowas ist ärgerlich. Ich und Reinerlein geben uns hier Mühe dir weiter zu helfen und du probierst nicht aus was wir sagen, behauptest aber es ginge nicht?

Ich darf offen sagen: Ich fühle mich verschaukelt, ich werde mir erlauben, deine Posts nicht mehr zu beachten.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

MisterEltako

Hi!

Ich habe ein ähnliches Problem, allerdings in meiner 99_myUtils.pm produziert:

1.funktioniert:
{fhem("define Sonnenaufgang at $Sonnenaufgang set Rollo_EG 100;;set Rollo_Flur 100;define Sonnenuntergang at $Sonnenuntergang set Rollo_EG 1;;set Rollo_Flur 1;;define Dimmer_an at +00:01:25 set Dimmer_Wozi 50;;define Dimmer_aus at +00:30:00 set Dimmer_Wozi 0;define Aussenlicht_Yahoo at $Aussenlicht set Licht_all on")};


2.funktioniert nicht:
{fhem("define Sonnenaufgang at $Sonnenaufgang set Rollo_EG 100;;set Rollo_Flur 100;
       define Sonnenuntergang at $Sonnenuntergang set Rollo_EG 1;;set Rollo_Flur 1;;
       define Dimmer_an at +00:01:25 set Dimmer_Wozi 50;;
       define Dimmer_aus at +00:30:00 set Dimmer_Wozi 0;
       define Aussenlicht_Yahoo at $Aussenlicht set Licht_all on")};



3.funktioniert:
{fhem("define Sonnenaufgang at $Sonnenaufgang set Rollo_EG 100;;set Rollo_Flur 100;".
      "define Sonnenuntergang at $Sonnenuntergang set Rollo_EG 1;;set Rollo_Flur 1;;".
      "define Dimmer_an at +00:01:25 set Dimmer_Wozi 50;;".
      "define Dimmer_aus at +00:30:00 set Dimmer_Wozi 0;".
      "define Aussenlicht_Yahoo at $Aussenlicht set Licht_all on")};


Kann sich dies jemand erklären?

MfG, MisterEltako.
HMLAN-Konfigurations-Adapter, HM-Funkjalousieaktor/HM-Dimmaktor/HM-Schaltaktor f. Markenschalter, Jalousie-/Schaltaktor von Eltako, FT4 v. Eltako, TCM310

stever

@Zrrronggg!


define Nachtlicht_aus at *{sunrise("REAL")} \
        set ff800081_eg_wz_tv_led A0;;\
set ff800081_eg_wz_tv_led released;;\
set ff800083_eg_kueche_schrank_led A0;;\
set ff800083_eg_kueche_schrank_led released


Diesen Code hatte ich gestern auch noch probiert, gleich nach dem Du den gepostet hattest. War gestern schon spät und ich hatte vorhin nicht mehr daran gedacht. Hier meldet die Config sinngemäß, dass er mit A0 im dritten set Befehl nichts anfangen kann. Ich solle doch zwischen A0, AI ... und release wählen. Das genaue könnte ich erst posten wenn ich wieder davor sitze.

Wenn ich es einzeln verpacke, klappt es aber. Merkwürdig.