Hauptmenü

trigger in Perl

Begonnen von wkarl, 22 September 2013, 05:23:33

Vorheriges Thema - Nächstes Thema

wkarl

Hallo,

ich möchte eine Log-datei mit Informationen ergänzen. Dazu gibt es folgendes Szenario:

- Definition Gerät
###############################################
#####
################################################
define StromZaehler CUL_EM 1 150 1800 0.18802 6.6164
attr StromZaehler IODev CUL_868
attr StromZaehler fm_view 0,0
attr StromZaehler icon openautomation/measure_power_meter
attr StromZaehler model EMWZ
attr StromZaehler room H.DV.Strom
#################################################
define FileLog_StromZaehler_Gesamt FileLog /opt/fhem/log/StromZaehler_Gesamt-%Y.log StromZaehler
attr FileLog_StromZaehler_Gesamt icon edit_save
attr FileLog_StromZaehler_Gesamt logtype MyPowerkWhDay:Power,text
attr FileLog_StromZaehler_Gesamt room H.DV.Strom

- Definition Ergänzung
################################################
#####
################################################
define StromZaehler_CNT notify StromZaehler:CNT.* { \
    fhem ('trigger StromZaehler test');; \
    Log 1, ">>> test";; \
}
attr StromZaehler_CNT room Z.HA.fhem


trigger manuell ausgeführt schreibt die Information in die Log Datei. Aus der obigen Ergänzung heraus nicht.

Was ist hier falsch?

Danke schon mal für Eure Antworten.

ciao walter
FHEM 5.7 & TabletUI 2.2 auf Fedora22 Server auf NUC5i5RYK
CUL 868 > FAST EnergyCam
HMLAN > HomeMatic TCs & VDs, Bewegungsmelder, Schalter, Taster, Steckdosen

fiedel

Hi Walter,

dann kann ja nur dein event :CNT.*nicht stimmen.

Gruß

Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

wkarl

Hallo Frank,

die Log Information wird geschrieben, d.h. der Event wird ausgelöst.

ciao walter
FHEM 5.7 & TabletUI 2.2 auf Fedora22 Server auf NUC5i5RYK
CUL 868 > FAST EnergyCam
HMLAN > HomeMatic TCs & VDs, Bewegungsmelder, Schalter, Taster, Steckdosen

wkarl

Hallo,

ich habe jetzt das trigger in ein sub ausgelagert:
sub
Write2Log($$) {
    my ($logdevice, $loginfo) = @_;  # device and info to be used
    Log 1, ">>> $logdevice $loginfo";
    fhem "trigger $logdevice $loginfo";
}

Aufruf geschieht wie folgt:
define StromZaehler_CNT notify StromZaehler:CNT.* { \
    my $dev = "StromZaehler";; \
    my $info ="Test: test";; \
    Write2Log("$dev", "$info");; \
}
attr StromZaehler_CNT room Z.HA.fhem

Wird das sub über das notify aufgerufen erscheint der Log-Eintag im Haupt-log, aber kein Eintrag im StromZaehler-log.
Rufe ich das sub mit
{ Write2Log("StromZaehler","Test: test") }
auf so bekomme ich einen Eintrag im StromZaehler-Log.

Persönlicher System-Modus meldet: Völlige Verwirrung!

Hat jemand ne Erklärung dafür?

Danke und ciao walter
FHEM 5.7 & TabletUI 2.2 auf Fedora22 Server auf NUC5i5RYK
CUL 868 > FAST EnergyCam
HMLAN > HomeMatic TCs & VDs, Bewegungsmelder, Schalter, Taster, Steckdosen

justme1968

in deinem triggrer fehlt der doppelpunkt nach dem device:fhem "trigger $logdevice: $loginfo";
gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

wkarl

mmmmmmmmhhhhhh, nö.

2013.09.22 12:48:28.386 1: >>> StromZaehler Test: test
2013.09.22 12:48:28.387 3: trigger StromZaehler: Test: test : Please define Stro
mZaehler: first


ciao walter
FHEM 5.7 & TabletUI 2.2 auf Fedora22 Server auf NUC5i5RYK
CUL 868 > FAST EnergyCam
HMLAN > HomeMatic TCs & VDs, Bewegungsmelder, Schalter, Taster, Steckdosen

justme1968

sorry. das war natürlich  blödsinn und ich noch nicht ganz wach.

das problem ist die reihenfolge der aufrufe vom filelog und deinem notify. leider kann man die so viel ich weiss nur vom modul code sauber beinflussen.

der unsaubere weg ist von hand so etwas zu setzen:{$defs{StromZaehler_CNT}{NTFY_ORDER}="10-StromZaehler_CNT"};
bei dir kann es aber sein das es reicht wenn der name des triggers alphabetisch vor dem namen des filelog liegt.
gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

wkarl

Hallo Andre,

folgendes um diesen threat abzuschließen.


    die $defs Anweisung funktioniert, aber erst ab dem zweiten Aufruf.
    das mit der alphabetischen Ordung habe ich nicht hinbekommen.

ciao walter
FHEM 5.7 & TabletUI 2.2 auf Fedora22 Server auf NUC5i5RYK
CUL 868 > FAST EnergyCam
HMLAN > HomeMatic TCs & VDs, Bewegungsmelder, Schalter, Taster, Steckdosen