Hauptmenü

Fehler in FHEM

Begonnen von bugster_de, 10 Dezember 2013, 11:03:56

Vorheriges Thema - Nächstes Thema

bugster_de

Hallo,

ich habe leider kein besser passendes Forum gefunden, deshalb hier.

Ich habe folgendes Problem bei FHEM:

im Perlcode mache ich:
fhem( "define mytimer at 17:30:00 { execute_Rolladen_Nacht();; }" );
dies führt wie gewünscht dazu, dass der at angelegt wird und die Funktion dann ausgeführt wird. Der DEF des at schaut dabei wie folgt aus:
17:30:00 { execute_Rolladen_Nacht(); }
sprich hier fehlt das zweite ;
Soweit auch richtig.

Wenn nun aber FHEM neu startet bevor der at ausgelöst hat (also im Beispiel irgendwann vor 17:30h), dann wird der at aus dem statefile wieder neu eingelesen und erzeugt. Dies wäre auch richtig. Allerdings steht im Statefile:
define mytimer at 17:30:00 { execute_Rolladen_Nacht(); }
und dies ist nun auch wieder nur mit einem ; was beim Laden zu der Fehlermeldung führt:
unkown command }
und der nun angelegte at sieht im DEF wie folgt aus:
17:30:00 { execute_Rolladen_Nacht()
und somit wird der code im DEF dann um 17:30h nicht ausgeführt.

Aus meiner Sicht müsste beim Schreiben in das statefile das einfach Semikolon durch ein doppeltes ersetzt werden, richtig?


Mein Anwendungsfall:
ich steuere die Rolläden aus einer mittlerweile großen 99_Utils.pm. Diese schaut sich morgens die Tagesvorschau an und steuert dann entsprechend Sonnenschutz und automatisches Schliessen der Rolläden. Dazu werden aus dem Code heraus die at angelegt und im Floorplan die jeweiligen, voraussichtlichen Rolladen Fahrzeiten angezeigt. Nur überlebt die "Maschinerie" einen zwischenzeitlich Neustart von FHEM halt nicht.
ich behelfe mir aktuell, in dem ich nach dem Restart (INITIALIZED) oder nach Konfig-Änderungen (REREADCFG) eine Funktion aufrufe, die sich die jeweiligen at anschaut, dieses dann löscht und wieder neu anlegt.










bugster_de

ich schieb das Thema nochmal nach oben mit der Frage, in welches Forum das sinnvollerweise rein soll.

bugster_de

mag sich immer noch kein Entwickler dem Thema annehmen?

Strippenzieher

Dieses Forum ist ziemlich groß, kann sein das dein Thread noch nicht bemerkt wurde, auch weil wohl durch die Umstellung des Forums bei einigen keine E-Mail Benachrichtigungen mehr eingehen, wenn ein neuer Thread eröffnet wird ...

bugster_de

ok. Ich schieb den Thread halt solange nach oben, bis ich erhört werde

betateilchen

Du hättest Deine Frage einfach nur im richtigen Forum-Bereich stellen müssen. Laut MAINTAINER.txt ist für Fragen zur fhem.pl das Unterforum "Sonstiges" der richtige Ort. Rudi schaut so gut wie nie in die Anfängerfragen (für mich inzwischen auch völlig verständlich, wieso)

Zu Deiner Frage: Lass doch den Strichpunkt einfach komplett weg - an der Stelle ist der ohnehin ziemlich sinnlos, da kein weiterer Befehl danach kommt.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

bugster_de

ok, das mit der maintainer.txt habe ich (noch) nicht gesehen. Danke für den Hinweis.

Danke auch für den Hinweis, den ; weg zu lassen. ich rpobiere das mal aus.