FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Heddes am 16 Dezember 2013, 09:46:59

Titel: Rolladensteuerung Homematic
Beitrag von: Heddes am 16 Dezember 2013, 09:46:59
Hallo ,

Habe im Schlafzimmer den Rolladenaktor (HM-LC-BI1PBU-FM) angelegt ,
nun möchte ich dass er täglich 1h nach Sonnenuntergang runter (off) fährt !
Habe dazu den Code
define *{sunset(3600)} set Rolladen_Schlafzimmer off
eingegeben !
welcher auch funktioniert !!!
nun möchte ich das der Rolladen an Wektagen um 8.00Uhr hochfährt, dazu habe ich folgenden Code verwendet ,
define *08:00 {\fhem("set Rolladen_Schlafzimmer on") if(!$we) }
am Wochenende soll der Rolladen um 11.00Uhr hochfahren, wofür ich diesen Code benutzt hab,
define *11:00 {\fhem("set Rolladen_Schlafzimmer on") if($we)  }
desweiteren habe ich bei Google einen Kalender angelegt welcher mir im Frontend auch als active angezeigt wird !
leider fährt der Rolladen Werktags sowie am Wochenende nicht hoch!
Was ist falsch an meinen Codes ?

Gruß Marco
Titel: Antw:Rolladensteuerung Homematic
Beitrag von: Puschel74 am 16 Dezember 2013, 10:04:57
Hallo,

ZitatWas ist falsch an meinen Codes ?

Zeilenabschlusszeichen wenn man die fhem.cfg bearbeitet.

Zitatdefine *08:00 {\fhem("set Rolladen_Schlafzimmer on") if(!$we) }

Das \ hat nichts im Code verloren.

Grüsse
Titel: Antw:Rolladensteuerung Homematic
Beitrag von: Heddes am 16 Dezember 2013, 10:08:41
Also grad die \ entfernen ?

gruß Marco
Titel: Antw:Rolladensteuerung Homematic
Beitrag von: Puschel74 am 16 Dezember 2013, 10:20:01
Hallo,

ZitatAlso grad die \ entfernen ?

Am besten vergessen das es eine fhem.cfg gibt und ausschliesslich das DEF über FHEMWEB bearbeiten.
Dann kommen solche Fehler nicht vor.

ZitatWas ist falsch ...
Da war noch etwas.
Das FHEM-LogFile dient nicht dazu um Speicher zu füllen.
Dort finden sich auch diverse Fehlermeldungen die bei der Fehlersuche immens hilfreich sein können.

Grüsse
Titel: Antw:Rolladensteuerung Homematic
Beitrag von: Heddes am 18 Dezember 2013, 11:12:14
Irgendwie bekomme ich es nicht hin !
der Rolladen fährt einfach morgens nicht hoch !
habe im define vom at (Rollo_Schlafzimmer.hoch)

*10:45 {fhem(set Rolladen_Schlafzimmer up) if(!$we) }
*11:00 {fhem(set Rolladen_Schlafzimmer up) if($we)  }


eingegeben aber mit dem Code keine Reaktion hervorgerufen !
auch das Logfile vom Rolladen_Schlafzimmer zeigt mir zu diesen Uhrzeiten leider nichts an !

Könnte sich mal jemand die Codes anschauen und mir einen kleinen Denkanstoss geben !

Gruß Marco
Titel: Antw:Rolladensteuerung Homematic
Beitrag von: Puschel74 am 18 Dezember 2013, 11:19:13
Hallo,

hier schreibst du on
Zitatdefine *08:00 {\fhem("set Rolladen_Schlafzimmer on") if(!$we) }
und hier up
Zitat*10:45 {fhem(set Rolladen_Schlafzimmer up) if(!$we) }

(!$we) klappt mWn auch nicht - sollte so sein (!($we))

Mit welchem Befehl bringst du deinen Rollladen den überhaupt dazu mal zu fahren (on - up - oder doch was anderes?).

Grüsse
Titel: Antw:Rolladensteuerung Homematic
Beitrag von: Heddes am 18 Dezember 2013, 11:23:52
Habe es auf up , down geändert !
werde jetzt mal
(!($we)) und ($we) probieren
ist das mit der klammersetzung so richtig ?

gruß Marco
Titel: Antw:Rolladensteuerung Homematic
Beitrag von: Heddes am 18 Dezember 2013, 11:40:02
habe den Code jetzt geändert und auch die Uhrzeit zum testen verändert

*11:35 {fhem(set Rolladen_Schlafzimmer up) if(!($we)) }
*11:00 {fhem(set Rolladen_Schlafzimmer up) if($we)  }

hatte leider keinen Erfolg

der Code fürs Runterfahren funktioniert einwandfrei
*{sunset(3600)} set Rolladen_Schlafzimmer down

Titel: Antw:Rolladensteuerung Homematic
Beitrag von: Puschel74 am 18 Dezember 2013, 11:45:55
Hallo,

ich zitiere mich mal selbst:
ZitatDas FHEM-LogFile dient nicht dazu um Speicher zu füllen.

Zitatauch das Logfile vom Rolladen_Schlafzimmer zeigt mir zu diesen Uhrzeiten leider nichts an !
Ich meinte eigentlich das FHEM-Logfile.

Grüsse
Titel: Antw:Rolladensteuerung Homematic
Beitrag von: Heddes am 18 Dezember 2013, 11:52:21
sorry ,
hab ich mal wieder was falsch verstanden  ;D

hier der Fehler !

2013.12.18 11:35:00 3: Rollo_Schlafzimmer.hoch: syntax error at (eval 28) line 1, near "*11:"
Bareword "up" not allowed while "strict subs" in use at (eval 28) line 1.

leider kann ich immer noch nichts damit anfangen

gruß Marco
Titel: Antw:Rolladensteuerung Homematic
Beitrag von: Puschel74 am 18 Dezember 2013, 12:00:19
Hallo,

Zitat*11:00 {fhem(set Rolladen_Schlafzimmer up) if($we)  }

Naja. Versuchen wirs mal so:

*11:00 {fhem("set Rolladen_Schlafzimmer up") if($we)  }

Zitatleider kann ich immer noch nichts damit anfangen
syntax error besagt das ein Fehler in der Schreibweise aufgetreten ist - des Syntax also falsch ist.
Bareword "up" ist dem System nicht bekannt und ist so auch nicht erlaubt.

das eine kann ein Folgefehler des anderen sein wenn Klammern und oder " falsch gesetzt sind.

Genug Info vorerst?
Dann mal viel Spass beim versuchen.

Grüsse
Titel: Antw:Rolladensteuerung Homematic
Beitrag von: Heddes am 18 Dezember 2013, 12:34:48
Habe es geändert und nun die Fehlermaldung im Logfile!

2013.12.18 12:30:00 3: Rollo_Schlafzimmer.hoch: syntax error at (eval 29) line 1, near "*11:"

Der Code sieht nun folgendermasen aus

*12:30 {fhem("set Rolladen_Schlafzimmer up") if(!($we)) }
*11:00 {fhem("set Rolladen_Schlafzimmer up") if($we)  }


soll ich nun die Zeiten auch in Anführungszeichen setzen ?

Gruß Marco
Titel: Antw:Rolladensteuerung Homematic
Beitrag von: Puschel74 am 18 Dezember 2013, 12:47:46
Hallo,

menno, ich hasse Einzeiler  8)

Versuchs mal so bitte:

*11:00 {fhem("set Rolladen_Schlafzimmer up") if($we); }

Grüsse
Titel: Antw:Rolladensteuerung Homematic
Beitrag von: Haecksler am 18 Dezember 2013, 12:51:56
Hallo,
denke dass sollte so aussehen.

*12:30 { if (!($we)) { fhem("Rolladen_Schlafzimmer up"); }}
*11:00 { if ($we) { fhem("Rolladen_Schlafzimmer up"); }}

Gruß
Titel: Antw:Rolladensteuerung Homematic
Beitrag von: Puschel74 am 18 Dezember 2013, 12:54:00
Hallo,

das ist das schöne an Perl (und einigen anderen Sprachen).

Die Bedingungen kann auch dahinter stehen.
Das ist dem System egal.

Grüsse
Titel: Antw:Rolladensteuerung Homematic
Beitrag von: Haecksler am 18 Dezember 2013, 12:55:48
Wusste ich nicht. Sorry!
Für mich ist es halt davor logischer.
Titel: Antw:Rolladensteuerung Homematic
Beitrag von: Puschel74 am 18 Dezember 2013, 13:01:36
Hallo,

ZitatWusste ich nicht. Sorry!
Ist kein Problem - sollte ja auch nur ein Hinweis gewesen sein.

Falsch ist es ja nicht.
Du kannst die Bedingung des if auch vorne dran schreiben.

ZitatFür mich ist es halt davor logischer.
Programmiersprachen sind nicht immer logisch aufbebaut  ;)

In notifys füge ich die Bedingungen auch immer vorne dran.
Nur beim WDT bin ich jetzt auch drüber gestolpert das die Schaltbedingung hinten dran steht.

Grüsse
Titel: Antw:Rolladensteuerung Homematic
Beitrag von: Heddes am 18 Dezember 2013, 13:14:27
Habe den code jetzt geändert aber leider war es wieder nix

*13:10 { if (!($we)) { fhem("Rolladen_Schlafzimmer up"); }}
*11:00 { if ($we) { fhem("Rolladen_Schlafzimmer up"); }}


dann bekomme ich die Fehlermeldungen

2013.12.18 12:30:00 3: Rollo_Schlafzimmer.hoch: syntax error at (eval 29) line 1, near "*11:"

2013.12.18 13:00:00 3: Rollo_Schlafzimmer.hoch: syntax error at (eval 30) line 1, near "*11:"

2013.12.18 13:05:00 3: Rollo_Schlafzimmer.hoch: syntax error at (eval 31) line 1, near "*11:"

2013.12.18 13:10:00 3: Rollo_Schlafzimmer.hoch: syntax error at (eval 32) line 1, near "*11:"

Gruß Marco
Titel: Antw:Rolladensteuerung Homematic
Beitrag von: DerTom am 18 Dezember 2013, 14:46:54
Zitat von: Heddes am 18 Dezember 2013, 13:14:27
Habe den code jetzt geändert aber leider war es wieder nix

*13:10 { if (!($we)) { fhem("Rolladen_Schlafzimmer up"); }}
*11:00 { if ($we) { fhem("Rolladen_Schlafzimmer up"); }}

Hallo Marco

versuchs mal so:


*13:10:00 { if (!($we)) { fhem("Rolladen_Schlafzimmer up"); }}
*11:00:00 { if ($we) { fhem("Rolladen_Schlafzimmer up"); }}

Titel: Antw:Rolladensteuerung Homematic
Beitrag von: Heddes am 18 Dezember 2013, 15:06:30
Hab ich probiert
folgende Fehlermeldung kam dabei heraus !

2013.12.18 15:00:00 3: Rollo_Schlafzimmer.hoch: syntax error at (eval 36) line 1, near "*11:"

mir ist aufgefallen dass im Internals bei NTM nicht die Uhrzeit wann er das nächste malschalten soll nicht richtig angegeben wird !
Ist das vielleicht das Problem ?

gruß Marco

Titel: Antw:Rolladensteuerung Homematic
Beitrag von: DerTom am 18 Dezember 2013, 15:34:50
...also dieser Code funktioniert bei mir tadellos...(irgendwie ist durch das Codegeschreibe das "set" untergegangen...)

define ROLL_Test at *15:24:40 { if (!($we)) { fhem("set SZU_ROLL oben")}}
Titel: Antw:Rolladensteuerung Homematic
Beitrag von: Heddes am 18 Dezember 2013, 16:14:09
so langsam weiß ich auch nicht mehr
neue Fehlermeldung

2013.12.18 16:05:00 3: Rollo_Schlafzimmer.hoch: Unknown command {, try help.

bei dem Code

*16:05 { if (!($we)) { fhem("set Rolladen_Schlafzimmer up")}}
*11:00 { if ($we) { fhem("set Rolladen_Schlafzimmer up")}}



devStateIcon  up:shutter_open down:shutter_closed 20%:shutter_5 Funktioniert

eventMap  on:up off:down

webCmd  up:down:20%

Gruß Marco
Titel: Antw:Rolladensteuerung Homematic
Beitrag von: DerTom am 18 Dezember 2013, 17:44:32
Was genau gibst Du ein...? Versuch bitte dies:

define ROLL_Test1 at 17:42 { if (!($we)) { fhem("set Rolladen_Schlafzimmer up")}}

ohne Stern und mit aktuell passender Zeit...
Titel: Antw:Rolladensteuerung Homematic
Beitrag von: Heddes am 19 Dezember 2013, 11:31:27
Hallo ,
habe es jetzt genau so eingegeben ,
11:25 { if (!($we)) { fhem("set Rolladen_Schlafzimmer up")}}
dabei ist folgender Fehlercode im Logfile aufgetaucht
2013.12.19 11:25:00 3: Rollo_Schlafzimmer.hoch: Unknown command {, try help.

habe schon alles mögliche probiert !
komischerweise funktioniert das abwärtsfahren mit diesem Code,
*{sunset(3600)} set Rolladen_Schlafzimmer down

Gruß Marco
Titel: Antw:Rolladensteuerung Homematic
Beitrag von: Heddes am 19 Dezember 2013, 13:34:10
Hallo,
habe jetzt alle at`s nochmals angelegt ,
und nun scheint es zu funktionieren !

Danke ;D