[geschlossen] Licht nach x Minuten automatisch ausschalten (wenn noch an)

Begonnen von gsbox, 14 Juli 2014, 18:48:04

Vorheriges Thema - Nächstes Thema

gsbox

Hallo zusammen.
Ich bräuchte Hilfe bei einem (hoffentlich) einfachen Sachverhalt : Ich möchte, dass nach 30 Minuten das Licht "az_licht" ausgemacht wird, sofern es noch an sein sollte. Dieser "Timer" sollte nach Möglichkeit auch beendet werden, wenn man das Licht doch manuell ausmacht.

Folgendes ist mein momentaner Ansatz


define azLichtAus notify az_licht:on define azLichtAus2 at +00:00:08 \
  if ({Value("az_licht") eq "on"})\
    (set az_licht off;;;;{Log 1, "Licht wird automatisch ausgemacht"})\


Ich möchte auch eine Log-Ausgabe bekommen, wenn das Licht durch diesen Timer ausgemacht wurde.

Obiges liefert folgende Fehlermeldung beim Einschalten des Lichts :

2014.07.14 18:40:00 3: azLichtAus2: unknown attribute TCM310_0. Type 'attr azLichtAus2 ?' for a detailed list.


und folgendes nach den eingestellten 8 sec (nur zum Testen so kurz)
2014.07.14 18:40:08 3: azLichtAus2: IF: no right bracket: (set az_licht off
Unknown command {Log, try help.


Wie man sich denken kann, bleibt das Licht einfach eingeschaltet  :(

Ich habe schon im Wiki in den Code-Schnipseln gesucht und auch hier im Forum, aber noch bin ich nicht fündig geworden. Vielleicht hat einer von Euch den Fehler ganz schnell gefunden oder kann mir einen Lösungsweg aufzeigen.

Vielen Dank

marvin78

#1

az_licht:on define azLichtAus2 at +00:00:08 {fhem("set az_licht:FILTER=STATE!=off off");;Log 1, "Licht wird automatisch ausgemacht"}


Code ist für den DEF Bereich im Frontend und nicht für das Einfügen in die fhem.cfg.

Schau dir mal watchdog an.

Puschel74

Hallo,

irgendwie passt der gepostete Code nicht zur Fehlermeldung.

define azLichtAus notify az_licht:on define azLichtAus2 at +00:00:08 \
  if ({Value("az_licht") eq "on"})\
    (set az_licht off;;;;{Log 1, "Licht wird automatisch ausgemacht"})\

Hier hat es Perl-if

Zitat2014.07.14 18:40:08 3: azLichtAus2: IF: no right bracket: (set az_licht off
Unknown command {Log, try help.
Und hier ist von FHEM-IF die Rede.

Man beachte if und IF.

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.

Wuppi68

wenn es ein Homematic Autor ist,dann setze doch einfach:

shOnTime 1800 s

dann brauchst Du keinen Watchdog oder Event oder eine sonstige Krücke ... geht dann alles im Autor
Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen

gsbox

#4
Vielen Dank für die Antworten.
Der Unterschied zwischen IF (fhem) und if (pearl) war mir nicht klar.

@marvin78 : Das wäre schön, wenn das so funktioniert. leider kommen bei mir bei Eingabe der Zeile "set ku_licht=FILTER:STATE!=off off" ne Menge Fehlermeldungen (siehe Screenshot)  :(

@Wuppi68: Es ist ein FSR14-EnOcean Aktor. Da geht sowas nicht, denke ich. Watchdog ist interessant, aber der wird ja immer wieder alle X-Zeiteinheiten ausgeführt, richtig ? Ich möchte ja nur einmal das Licht ausmachen und dann erst wieder beim Einschalten des Lichts informiert werden.

Ich probiere mal weiter....


@edit : Sorry, mein Tipp-Fehler : hatte ein Gleichheitszeichen statt Doppelpunkt bei set state - es funktioniert. Jetzt versuche ich Deinen Code nochmal ....

krikan

ZitatEs ist ein FSR14-EnOcean Aktor. Da geht sowas nicht, denke ich
Korrekt, geht nicht direkt.

Fehlermeldungen rühren daher, dass Du das fasche device ansprichst.

Überprüfe bitte ku_licht. Das ist wohl nicht richtig.

gsbox

Hallo Krikan.

Ich denke, dass ich das richtige Device anspreche (hier mal die Konfig aus fhem.cfg)

#  --- Lichtschalter Küche ---
# physische ID : FEFF4EDB und Quittungs-ID : FFD7BC05
define ku_licht EnOcean FFD7BC05
attr ku_licht IODev TCM310_0
attr ku_licht gwCmd switching
attr ku_licht room Küche,UG
attr ku_licht subDef FF83438F
attr ku_licht subType gateway
define FileLog_ku_licht FileLog ./log/ku_licht-%Y.log ku_licht
attr FileLog_ku_licht logtype text
attr FileLog_ku_licht room LogRoom

# Gerät für die Rückmeldung - kann versteckt werden
define ku_licht_device EnOcean FEFF4EDB
attr ku_licht_device IODev TCM310_0
attr ku_licht_device eventMap BI:off B0:on AI:off A0:on
attr ku_licht_device room DarkRoom
attr ku_licht_device subType switch
define FileLog_ku_licht_device FileLog ./log/ku_licht_device-%Y.log ku_licht_device
attr FileLog_ku_licht_device logtype text
attr FileLog_ku_licht_device room LogRoom


Der Befehl
set ku_licht:FILTER=STATE!=off off

funktioniert ja auch in der Eingabezeile. Jetzt muss ich den nur noch nach x Sekunden nach Einschalten ausführen lassen können...

krikan

Hallo Guido,
warst schneller und hast Fehler selbst gefunden; hatte Deinen Edit des vorherigen Posts nicht gesehen. Sorry!
Gruß, Christian

gsbox

#8
An alle Beteiligten.

Vielen Dank - ich habe es hinbekommen. Ich bin ein solcher ..... Hatte noch das "disable"-attribut gesetzt. Was soll denn dann funktionieren   ::) ?

Der Code von marvin78 funktioniert (alsbald man es aktiviert .... oh mann.

Ich wünsche Euch einen schönen Abend

VG Guido

peterk_de


define w watchdog ku_licht_device:on 00:30 ku_licht_device:off set ku_licht off;; trigger w .
attr w regexp1WontReactivate


... Unter der Annahme der geposteten 'Zweiteilung' zwischen Schalter und Event-Empfänger, scheint ne EnOcean-Eigenheit zu sein (?) - da kenn ich mich nicht aus
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...