Hauptmenü

generelle Syntaxfrage

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

Vorheriges Thema - Nächstes Thema

stever

Zitat von: Zrrronggg! schrieb am So, 31 März 2013 16:08Nimms 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.

Hey,

ich hatte vorhin nur nicht mehr alles zusammenbekommen was ich probiert hatte. Alle Tipps von gestern Nacht wurden ausprobiert und führten nicht zum Erfolg. Heute kam ich noch nicht dazu die neuen Tips auszuprobieren.

Verstehe, dass man sich da etwas blöd vorkommt.

Den Rest liefere ich mit Log nach sobald ich wieder davor sitze.

Schöne Ostern noch,

Steve

stever

So,

mein Start hier im Forum wurde mir ja etwas krumm genommen. Will aber trotzdem die Ergebnisse der unterschiedlichen Codes liefern. Testumgebung FB7390 mit FHEM 5.3

Chronologisch:

User: Reinerlei


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");;\
}


logfile: 2013.04.01 00:36:52 1: configfile: Unknown command fhem("set, try help

============

User: Stever


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


Kein Fehler im Logfile. Funktioniert auch bislang in der Praxis.

================

User: 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


logfile: 2013.04.01 00:50:13 1: configfile: Unknown argument A0;\
, choose one of A0 AI B0 BI C0 CI D0 DI released

================

User: 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


Kein Fehler im Logfile.

================

User: Reinerlein


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


Kein Fehler im Logfile.

================

User: Reinerlein


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


Kein Fehler im Logfile.

================

User: Reinerlein



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")\
}



Kein Fehler im Logfile.


Ich hoffe jetzt habe nichts falsch gemacht und nichts vergessen. Ich hoffe auch alle die mich auf die Ignore Liste gesetzt haben, haben hoffentlich ein Nachsehen mit meinen ersten Posts. Ich bin auf eure Hilfe angewiesen und möchte mit meinen erlangten Wissen dann auch anderen Usern weiter helfen.

P.S. Ich habe jetzt via Copy & Paste stur alle Codes eingegeben. Ich werde erst jetzt analysieren was ich beim ersten Versuch falsch gemacht habe.


Reinerlein

Hi Steve,

die Codes sind alle direkt per Copy&Paste in den Beitrag gekommen?

Dann kann ich dir das Problem von weiter oben sagen: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
Die Backslashe am Ende der Zeile sollen das Zeilenende maskieren. Dazu muss der Backslash aber auch direkt das letzte getippte Zeichen sein. Das nächste Zeichen muss der Zeilenumbruch selbst sein.
In der Zeile "set ff800081_eg_wz_tv_led released;;\" kommen hinter dem Backslash aber noch Leerzeichen. Deswegen wird das Zeilenende nicht maskiert, und es gibt anschließend eine Zeile, die direkt mit einem "set..." beginnt, was kein zulässiges Kommando in so einer Config-Datei ist (siehe Fehlermeldung). Das sorgt auf jeden Fall für komisches Verhalten.

Also beim Kopieren von Code hierher kommt es auf jedes Zeichen an. Sonst können andere nicht helfen, da die meisten davon ausgehen, dass so etwas wie mit den Leerzeichen nicht vorkommt :-)

Grüße Reinerlein

stever

Zitat von: Reinerlein schrieb am Mo, 01 April 2013 12:30Hi Steve,

die Codes sind alle direkt per Copy&Paste in den Beitrag gekommen?

Dann kann ich dir das Problem von weiter oben sagen: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
Die Backslashe am Ende der Zeile sollen das Zeilenende maskieren. Dazu muss der Backslash aber auch direkt das letzte getippte Zeichen sein. Das nächste Zeichen muss der Zeilenumbruch selbst sein.
In der Zeile "set ff800081_eg_wz_tv_led released;;\" kommen hinter dem Backslash aber noch Leerzeichen. Deswegen wird das Zeilenende nicht maskiert, und es gibt anschließend eine Zeile, die direkt mit einem "set..." beginnt, was kein zulässiges Kommando in so einer Config-Datei ist (siehe Fehlermeldung). Das sorgt auf jeden Fall für komisches Verhalten.

Also beim Kopieren von Code hierher kommt es auf jedes Zeichen an. Sonst können andere nicht helfen, da die meisten davon ausgehen, dass so etwas wie mit den Leerzeichen nicht vorkommt :-)

Grüße Reinerlein

Hallo Reinerlein,

die Codes sind direkt C&P hier rein. Ohne die Leerzeichen verschwindet auch die Fehlermeldung.

Was genau macht hier eigentlich das * im Code:


*{sunrise("REAL")}


Und wo kann ich ich jetzt meine Geodaten eintragen? in der FHEM.cfg werden die immer automatisch wieder herausgelöscht.

Grüße und Danke,

Steve

Reinerlein

Hi Steve,

das Sternchen ist für den At-Befehl, und sorgt dafür, dass sich der At-Befehl nach Ausführung neu einrichtet. Dazu liefert der Perl-Befehl "sunrise" bei jedem Aufruf den als nächsten kommenden Sonnenaufgang als Zeit-String zurück.
Damit terminiert sich dieser at nach einer Ausführung auf den Zeitpunkt des nächsten erwarteten Sonnenaufgang (ich glaube genauer gesagt: auf den Zeitpunkt wo heute der Sonnenaufgang war, da nicht in die Zukunft geschaut werden kann).
Das mit dem Sternchen steht aber in der commandref zu at gut beschrieben. Auch, was noch alles mit at möglich ist....

Für die Funktion von "sunrise" wird wohl in der .pm-Datei in den Konstanten oben deine Koordinate eingestellt werden. Damit kenne ich mich aber nicht aus, da ich diese Funktion nicht verwende...

Grüße Reinerlein

stever

Zitat von: Reinerlein schrieb am Mo, 01 April 2013 14:41Hi Steve,

das Sternchen ist für den At-Befehl, und sorgt dafür, dass sich der At-Befehl nach Ausführung neu einrichtet.

Dankeschön

Puschel74

Hallo,

die Standortdaten habe ich in FHEM so hinterlegt:

attr global latitude xx.xxxx
attr global longitude y.yyyyy


Die Daten für xx.xxxx und y.yyyy bekommst du mit Google-Maps recht einfach raus.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

stever

Zitat von: Puschel74 schrieb am Mi, 03 April 2013 12:35Hallo,

die Standortdaten habe ich in FHEM so hinterlegt:

attr global latitude xx.xxxx
attr global longitude y.yyyyy


Die Daten für xx.xxxx und y.yyyy bekommst du mit Google-Maps recht einfach raus.

Grüße

Hallo,

danke für die Antwort. Der Befehl wird immer automatisch aus der fhem.cfg gelöscht. Weiß da jemand ne Lösung? Dadurch wird sunset und sunrise nicht zu den erwünschten Zeiten ausgeführt.

stever

Zitat von: stever schrieb am Do, 11 April 2013 21:12
Zitat von: Puschel74 schrieb am Mi, 03 April 2013 12:35Hallo,

die Standortdaten habe ich in FHEM so hinterlegt:

attr global latitude xx.xxxx
attr global longitude y.yyyyy


Die Daten für xx.xxxx und y.yyyy bekommst du mit Google-Maps recht einfach raus.

Grüße

Hallo,

danke für die Antwort. Der Befehl wird immer automatisch aus der fhem.cfg gelöscht. Weiß da jemand ne Lösung? Dadurch wird sunset und sunrise nicht zu den erwünschten Zeiten ausgeführt.

Der Befehl wird doch nicht gelöscht, sondern nur nach oben in die cfg gesetzt. Ich muss wohl für meine Zwecke den sunset civil nochmal überdenken. Da ist es mir nämlich schon zu dunkel.

Sorry.