Hauptmenü

99_myUtils

Begonnen von satprofi, 28 Oktober 2026, 16:36:24

Vorheriges Thema - Nächstes Thema

satprofi

hallo.
habe hier ein script
my $a=(strftime("%m",localtime));
  my $b=(strftime("%H",localtime));
     if ($a <10)
       {
        if ($b >=18){
         fhem("set test3 $a");
         }}
     if ($a >9)
        {
         if ($b <18){
          fhem("set test3 AA");
         }}

und frage zu den if, wie formatiert man den code um z.b. ($a >9 or <3) zu vergleichen. oder klappt das wirklich nur in extra schritten ?
gruss
-----------------------------------------------------------------------
beelink miniPC -Ubuntu - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,Zigbee2MQTT,Shelly,
Tasmota,LD382A,Telegram

betateilchen

#1
Zitat von: satprofi am 28 Oktober 2026, 16:36:24($a >9 or <3)

Das sind doch nun wirklich absolute perl basics und hat nix mit FHEM zu tun.

if ($a > 9 || $a < 3) {mache irgendwas}
https://de.wikibooks.org/wiki/Perl-Programmierung:_Operatoren

dort im Bereich "Logische Operatoren" beschrieben.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Mir erscheint Dein Arbeiten mit Monat und Stunde übrigens unnötig kompliziert.

Was ist denn die zu lösende Aufgabe?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!