FHEM Forum

FHEM => fhem-users => Thema gestartet von: Guest am 19 Oktober 2012, 00:04:11

Titel: Define in perl Skript auslagern
Beitrag von: Guest am 19 Oktober 2012, 00:04:11
Originally posted by: <email address deleted>

Hallo,

ich möchte gerne die defines nach perl (trigger/notify) auslagern. Dabei
geht es hier um Diagrammerzeugung:

sub
myNotifyFn1($$)
{
  my ($dev, $event) = @_;
  fhem ("define weblink_az_Thermostatd weblink fileplot
FileLog_az_Thermostat:temp4desired:CURRENT");
  fhem ("attr weblink_az_Thermostatd label \"Desired Temperatur\"");
  fhem ("attr weblink_az_Thermostatd room Test");
}

FileLog_az_Thermostat wird natürlich vorher erzeugt. Der Code funktioniert
wenn ich ihn direkt in die fhem.cfg eintrage.

Leider funktioniert das Auslagern nicht so. Ich habe schon alles
ausprobiert und obige Zeilen in allen möglichen Varianten geschrieben. Ich
bin wie folgt vorgegangen:
1. Obiges in die 99_MyUtils geschrieben
2. In der fhem.cfg das define hinzugefügt:
define myNotify1 notify regexp { myNotifyFn1("@", "%") }
3. gefolgt von:
trigger myNotify1 device regexp

Letzteres habe ich auch in die Textzeile in FHEM eingegeben zum Testen.
Nach jeder Änderung habe ich brav reload verwendet. Auvh shutdown restart
habe ich probiert.

Ich bin nun mit meinem Latein  am Ende angelangt und bin auf Hilfe
angewiesen.

Wenn jemand dazu eine Idee hat würde ich mich sehr freuen etwas mehr
Ordnung in meine fhem.cfg zu bringen.

Vielen Dank!
kohrti

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Define in perl Skript auslagern
Beitrag von: UliM am 19 Oktober 2012, 07:12:07
                                                 

Moin,
genau was funktioniert denn nicht?
Was steht im öog
- nach reload
- nach Ausführung
?
Kann es sein, dass da immer ein 'already defined' kommt?

Gruß Uli

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Define in perl Skript auslagern
Beitrag von: Guest am 19 Oktober 2012, 08:46:46
Originally posted by: <email address deleted>

Hallo UliM,

auf die Logs kann ich gerade nicht zugreifen. Ich werde sie morgen
nachliefern. "Already defined" kommt nicht. Ich kann sogar das define
direkt in der Zeile in FHEM eingeben und ich sehe dann ein Diagramm, aber
sobald ich das in der 99_MyUtils.pm machen möchte geht es nicht, d.h. es
passiert garnichts (Logs weiß ich jetzt nicht, aber auf der GUI wird kein
Diagramm erzeugt). Ich hoffe, dass mit den Logs mehr Licht ins Dunkel kommt.

Gruß,
kohrti

Am Freitag, 19. Oktober 2012 07:12:07 UTC+2 schrieb UliM:
>
> Moin,
> genau was funktioniert denn nicht?
> Was steht im öog
> - nach reload
> - nach Ausführung
> ?
> Kann es sein, dass da immer ein 'already defined' kommt?
>
> Gruß Uli

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Define in perl Skript auslagern
Beitrag von: Guest am 20 Oktober 2012, 23:05:46
Originally posted by: <email address deleted>

Hallo UliM,

ich hab mal ausprobiert { myNotifyFn1("@", "%") }  direkt aufzurufen in der
Textzeile von FHEM und es hat funktioniert. Ich denke der Fehler liegt hier
(ungetestet):

define myNotify1 notify regexp { myNotifyFn1("@", "%") }

Ich hatte gelesen, dass man fhem Funktionen als notify/trigger in Per
anlegen kann um die Konfig. Datei übersichtlicher zu machen. Ich rufe nun
diese Zeile: "{ myNotifyFn1("@", "%") }" direkt in der Konfig auf und ich
habe bisher keine Nachteile entdecken können. Im Gegenteil, ich muss nun
nicht den "Umweg" über das Define gehen.

Mich würde daher interessieren (es gibt ja schon einiges hier im Forum und
im Wiki dazu) warum nicht der direkte Aufruf empfohlen wird? Hab ich was
übersehen?

Vielen Dank!

Gruß,
kohrti

Am Freitag, 19. Oktober 2012 08:46:46 UTC+2 schrieb kohrti:
>
> Hallo UliM,
>
> auf die Logs kann ich gerade nicht zugreifen. Ich werde sie morgen
> nachliefern. "Already defined" kommt nicht. Ich kann sogar das define
> direkt in der Zeile in FHEM eingeben und ich sehe dann ein Diagramm, aber
> sobald ich das in der 99_MyUtils.pm machen möchte geht es nicht, d.h. es
> passiert garnichts (Logs weiß ich jetzt nicht, aber auf der GUI wird kein
> Diagramm erzeugt). Ich hoffe, dass mit den Logs mehr Licht ins Dunkel kommt.
>
> Gruß,
> kohrti
>
> Am Freitag, 19. Oktober 2012 07:12:07 UTC+2 schrieb UliM:
>>
>> Moin,
>> genau was funktioniert denn nicht?
>> Was steht im öog
>> - nach reload
>> - nach Ausführung
>> ?
>> Kann es sein, dass da immer ein 'already defined' kommt?
>>
>> Gruß Uli
>
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com