Hauptmenü

Problem mit on-till

Begonnen von Filly, 03 August 2014, 01:43:22

Vorheriges Thema - Nächstes Thema

Filly

Guten Abend,

seit einigen Tage beschäftige ich mich mit FHEM. Also Konfiguration nutze ich ein Raspberry PI einen 433MHz Sender und die günstigen Pollin Steckdose, um den Sender anzusteuern verwende ich GenShellSwitch. Nach dem ich die Hardware getestet habe und das System lauffähig war wollten ich einen ersten Anwendungsfall konfigurieren.
Dazu wollte ich eine Lampe bei Sonnenuntergang einschalten zu einem bestimmten Zeitpunkt ausschalten. Mein ersten Script lautet wie flogt und funktionierte:

define lampehasesunseton at *{sunset("real")} set lampe_hase on
define lampehasesunsetoff at *23:00:00 set lampe_hase off


FHEM teilt mir das mit (die Zeit war nur zum Testen):
2014.08.03 01:19:00 3: GenShellSwitch command result: sending systemCode[00001] unitCode[2] command[1]
2014.08.03 01:19:00 2: GenShellSwitch set Lampe_Hase on

Man erkennt die die Funksteckdose wird angesteuert.

Bei weiteren durchstöbern der FHEM Referenz bin ich auf den on-till Befehl gestoßen und wollte meine Konfig gleich optimieren. Hier die Anweisung:

define LampeHaseSunSet at *{sunset("REAL")} set Lampe_Hase on-till 23:00:00

FHEM meldet mir folgendes(Zeit wieder zum Testen manipuliert):
2014.08.03 01:29:00 2: GenShellSwitch set Lampe_Hase on-till 02:00:00

FHEM erkennt die Anweisung richtig aber er schaltet nicht die Lampe mit Hilfe von GenShellScript.

Warum schaltet das GenShellScript nicht bei on-till Anweisungen? Rein funktional sollte das ja auch nur eine on und off Anweisung sein.

Edit:
Ich habe mir eben die .pm Datei 00_GenShellScript.pm angesehen und musste feststellen das scheinbar nur on/off und on-for-timer definiert ist. Leider bin ich Perl nicht mächtig um dieses Problem zu lösen. Also ist die frage gibt es eine Implementierung für die einfachen 433MHz Transmitter die auch on-till unterstützen oder muss ich meinen Workaround solange akzeptieren bis ich Perl gelernt habe und das Problem fixen kann?

Edit2:
Gerade hab ich nochmal etwas mit FHEM Remote (IOs App für FHEM) rumgespielt. Wenn ich mir in der App details zu meinem Device (Pollin Steckdose) ansehe steht da unter Sets: on, off, toggle, on-for-timer. Was dann wohl bestätigt, dass din GenShellScript.pm kein on-till unterstützt.

Philipp

Raspberry PI mit günstigen 433Mhz Transmitter
3x Pollin Funksteckdosen

rudolfkoenig

Falls ein Geraet on und off unterstuetzt, dann kann man mit Hilfe der SetExtensions (Fhem-Perl Funktion) z.Zt 6 Befehle nachruesten. Vlt. sollte man den Autor von GenShellScript ueberzeugen, das Modul in die "offizielle" FHEM Distribution einzubauen.

Matthias76

Bis letzte Woche lief bei mir ja noch FHEM auf der FritzBox in der letzten Version von AVM.
Bis dahin funktionierte dies auch noch:

*20:30 set CUL_HM_HM_LC_SW1_BA_PCB_291A4C on-till 23:15

Jetzt auf separatem Server mit aktuellster FHEM wird der Aktor nicht mehr eingeschaltet.
Im Log sieht man beim Event diesen Vermerk:
Please enter time informat hh:mm:ss

Gehe ich recht in der Annahme, dass es so wieder funktioniert?
*20:30 set CUL_HM_HM_LC_SW1_BA_PCB_291A4C on-till 23:15:00

Als Startzeit scheint hh:mm noch ok zu sein, jedenfalls funktioniert das hier so: *21:55 set RolloWohnS on

Warum hat man das "penibler" gemacht?
Oder was ist der Grund?

rudolfkoenig

Das muss man im Homematic Bereich fragen, fuer dieses "on-till" ist das CUL_HM Modul selbst zustaendig. Idealerweise sollte das Modul nicht selbst mit parsen anfangen, sondern die zentrale GetTimeSpec verwenden, damit solche Spezifikationen ueberall gleich ausschauen.

Matthias76

Lampen leuchten, funktioniert also wieder, mit zus. Sekundenangaben.
Für das geänderte Verhalten war somit nicht das Fhem-, sondern das CUL-Update schuld, richtig?