FHEM Forum

FHEM => fhem-users => Thema gestartet von: borsti67 am 09 November 2012, 19:53:53

Titel: $we etc in Modul?
Beitrag von: borsti67 am 09 November 2012, 19:53:53
                                                 

Moin,

ich stehe gerade etwas auf dem Schlauch. Laut commandref/perl steht $we
(nur) für "oneliner" zur Verfügung. Wie komme ich an diese Variablen (und
andere) in MyUtils.pm?
Nur das Wochenende feststellen könnte ich sicher auch über localtime lösen
(aber warum?), nur nutze ich u.a. die "holiday2we"-Funktion; die nur für
das Hilfsmodul "nachbauen" zu müssen, obwohl alles schon irgendwo steckt,
kommt mir hirnrissig vor. %-)
Also was ist der Trick?

Gruß
Torsten

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: $we etc in Modul?
Beitrag von: Guest am 09 November 2012, 20:04:44
Originally posted by: <email address deleted>

Des Rätsels Lösung ist es solche Variablen als Funkionsargument mitzugeben.

Deine fhem.cfg:

> define Jalousien_notify notify Helligkeit:light.*4
> {Jalousie_Automatik($we);;}



Deine MyUtils.pm:

>
> sub Jalousie_Automatik($)
> {
>  my ($we) = @_;
>   ......more code stuff
> }

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Re: $we etc in Modul?
Beitrag von: borsti67 am 09 November 2012, 20:23:24
                                                 

ok, das kann man erstmal so machen, stimmt. Finde ich aber höchst
unelegant, zumal es sich bei meinem Fall um eine recht universelle Routine
handelt, die häufig aufgerufen wird und verschiedenste Variablen nutzt. :-(

Danke jedenfalls für den Tip!


2012/11/9 Markus Bloch

> Des Rätsels Lösung ist es solche Variablen als Funkionsargument mitzugeben.
>
> Deine fhem.cfg:
>
>> define Jalousien_notify notify Helligkeit:light.*4
>> {Jalousie_Automatik($we);;}
>
>
>
> Deine MyUtils.pm:
>
>>
>> sub Jalousie_Automatik($)
>> {
>>  my ($we) = @_;
>>   ......more code stuff
>> }
>
>  --
> To unsubscribe from this group, send email to
> fhem-users+unsubscribe@googlegroups.com
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Re: $we etc in Modul?
Beitrag von: edank am 09 November 2012, 21:08:31
                                                   

Hallo Borsti67,
du könntest auch diese zwei Deklarationszeilen in deine Routine integrieren:

 my ($sec,$min,$hour,$mday,$month,$year,$wday,$yday,$isdst) = localtime;
 my $we = (($wday==0 || $wday==6) ? 1 : 0);
 

Das ist aus der  fhem.pl gestohlen.
Diesen Tipp hat Rudi schon mal wenn gegeben(weiss aber nicht mehr welcher
Thread das war).

LG
edank

Am Freitag, 9. November 2012 20:23:27 UTC+1 schrieb Borsti67:
>
> ok, das kann man erstmal so machen, stimmt. Finde ich aber höchst
> unelegant, zumal es sich bei meinem Fall um eine recht universelle Routine
> handelt, die häufig aufgerufen wird und verschiedenste Variablen nutzt. :-(
>
> Danke jedenfalls für den Tip!
>
>
> 2012/11/9 Markus Bloch >
>
>> Des Rätsels Lösung ist es solche Variablen als Funkionsargument
>> mitzugeben.
>>
>> Deine fhem.cfg:
>>
>>> define Jalousien_notify notify Helligkeit:light.*4
>>> {Jalousie_Automatik($we);;}
>>
>>
>>
>> Deine MyUtils.pm:
>>
>>>
>>> sub Jalousie_Automatik($)
>>> {
>>>  my ($we) = @_;
>>>   ......more code stuff
>>> }
>>
>>  --
>> To unsubscribe from this group, send email to
>> fhem-users+...@googlegroups.com
>>
>
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Re: $we etc in Modul?
Beitrag von: edank am 09 November 2012, 21:14:01
                                                   

Nachtrag:

Es war der Thread "FHT: holiday_short via FB programmmieren"

LG
edank

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Titel: Re: Re: $we etc in Modul?
Beitrag von: borsti67 am 09 November 2012, 21:21:15
                                                 

Hi edank,

> du könntest auch diese zwei Deklarationszeilen in deine Routine
integrieren:

hmja, aber holiday2we ist doch etwas komplexer. ;-)
Ich mach das nun halt per Parameter...

Gruß
Torsten

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