Hauptmenü

(gelöst) Log in einem at

Begonnen von SVLoneStar, 26 Mai 2016, 03:08:27

Vorheriges Thema - Nächstes Thema

SVLoneStar

Hallo,
ich habe folgendes notify definiert:
define Piri_Flur_UG_notify_Dark notify FS20_894700:on.* {\
    if (Value("reset_PIRI_UG_Dark") ne "") {\
        fhem ("delete reset_PIRI_UG_Dark");;\
    }\
    fhem ("set FS20_ST_D on");;\
    fhem ("define reset_PIRI_UG_Dark at +00:05:00 set FS20_894700 off ;;;; set FS20_ST_D off");;\
}

Funktioniert auch - schaltet eine Lampe bei Bewegung an und nach 5 Minuten wieder aus.

Für das Ausschalten hätte ich nun gerne zusätzlich einen Eintrag im Log. Wie kann ich den in das AT einbauen?

Nach einem AT kann man ja auch per {} Perl-Code verwenden und darin z.B.
Log 3, "AT ausgelöst"
Allerdings habe ich beim Ausprobieren keine Möglichkeit entdeckt, sowohl Perl-Code als auch fhem() innerhalb des Perl-Codes zu verwenden....(wie) geht das, oder wie bekomme ich ein 'Log' ins 'at'?

Besten Dank,
Stefan
FHEM 21222 auf Gigabyte NUC, CubieTruck & RasPis (Test)
CUL 868MHz, nanoCUL 868MHz, nanoCUL 433MHz, JeeLink Clone, JeeLink Classic, HM-CFG-USB2, Rademacher
Devices: FHT, FS20, KS300, MAX, IT, HMS100, LaCrosse, PCA301, Revolt, HomeMatic, ESA2000, UNIRoll, Sonos, Duofern, Tasmota, MySensors

Ellert

Versuch mal DOIF, fhem.de/commandref_DE.html#DOIF

define Piri_Flur_UG_DOIF_ Dark DOIF (["FS20_894700:on"]) (set FS20_ST_D on) (set FS20_ST_D off, {Log 3, "AT ausgelöst"})

und das Attribut

attr Piri_Flur_UG_DOIF_ Dark wait 0,300

siehe, http://fhem.de/commandref_DE.html#DOIF_wait

igami

Ich würde auch defmod statt define verwenden, dann wird das at bei mehrmaligem auslösen des notify immer weiter nach hinten verschoben und es gibt keine Fehlermeldung "already defined"
Im DEF Editor:

{
[...]
Log 3, "AT ausgelöst";
fhem("...")
}


Grüße
igami
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

SVLoneStar

Hallo,
danke an Euch beide!
Ich habe den Vorschlag von Ellert (DOIF) umgesetzt - funktioniert.
Beim Vorschlag von igami verstehe ich den Ansatz mit defmod statt define - allerdings habe ich beim Umsetzen des Codes Fehler im Log.
Nach meinem Verständnis müsste das 'Log' und das fhem ("...") doch innerhalb eines 'AT-Blocks' ausgeführt werden - sonst kommt das Log ja sofort beim Auslösen des notify und nicht erst beim Ausführen des AT...einen 'AT-Block' mit {} oder so bekomme ich ohne Fehler im Log aber nicht hin.

Danke nochmal,
Stefan
FHEM 21222 auf Gigabyte NUC, CubieTruck & RasPis (Test)
CUL 868MHz, nanoCUL 868MHz, nanoCUL 433MHz, JeeLink Clone, JeeLink Classic, HM-CFG-USB2, Rademacher
Devices: FHT, FS20, KS300, MAX, IT, HMS100, LaCrosse, PCA301, Revolt, HomeMatic, ESA2000, UNIRoll, Sonos, Duofern, Tasmota, MySensors

CoolTux


define Piri_Flur_UG_notify_Dark notify FS20_894700:on.* {
    if (Value("reset_PIRI_UG_Dark") ne "") {
        fhem ("delete reset_PIRI_UG_Dark");
    }
    fhem ("set FS20_ST_D on");
    fhem ("define reset_PIRI_UG_Dark at +00:05:00 { fhem \"set FS20_894700 off;; set FS20_ST_D off\";; Log 3, \"AT ausgelöst\";; }");
}


Konnte es aber nicht testen. Würde aber vielleicht helfen wenn Du mal diese so genannte Fehlermeldungen posten würdest.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

SVLoneStar

Hallo CoolTux,
danke Dir, Dein Code geht.
Ich hatte wie beschrieben Probleme, die FHEM- bzw. LOG-Befehle richtig zu 'klammern'. Meine sogenannten Fehlermeldungen im Log sahen u.a. so aus:

2016.05.26 10:46:32 3: FS20 set FS20_ST_D on
2016.05.26 10:46:32 3: defmod reset_PIRI_UG_Dark2 at +00:01:00 {
    fhem("set FS20_894700 off;;set FS20_ST_D off");
Log 3, "AT ausgelöst";} : Unknown command Log, try help.
Unknown command }, try help.
2016.05.26 10:46:32 3: Piri_Flur_UG_notify_Dark2 return value: Unknown command Log, try help.
Unknown command }, try help.
2016.05.26 10:47:32 3: reset_PIRI_UG_Dark2: Unknown command {
, try help.
Unknown argument off"), choose one of dim06% dim100% dim12% dim18% dim25% dim31% dim37% dim43% dim50% dim56% dim62% dim68% dim75% dim81% dim87% dim93% dimdown dimup dimupdown off off-for-timer on on-100-for-timer-prev on-for-timer on-old-for-timer on-old-for-timer-prev ramp-off-time ramp-on-time reset sendstate timer toggle dim:slider,0,6.25,100 blink off-till-overnight intervals on-till-overnight off-till on-till

...und anders, je nachdem, welche (falsche) Syntax ich versucht hatte.

Sorry & Danke für's Helfen,
Stefan
FHEM 21222 auf Gigabyte NUC, CubieTruck & RasPis (Test)
CUL 868MHz, nanoCUL 868MHz, nanoCUL 433MHz, JeeLink Clone, JeeLink Classic, HM-CFG-USB2, Rademacher
Devices: FHT, FS20, KS300, MAX, IT, HMS100, LaCrosse, PCA301, Revolt, HomeMatic, ESA2000, UNIRoll, Sonos, Duofern, Tasmota, MySensors