Hauptmenü

DOIF schlägt nicht zu

Begonnen von satprofi, 30 November 2017, 20:25:39

Vorheriges Thema - Nächstes Thema

satprofi

Hallo.
habe DOIF mit wetterzustand als triggerung, das aber nicht wirkt.

DOELSEIF ((($month >9 or $month <4) and ($mday!=28) and [Lader] eq "off" and [Ueberschuss:W] <10 and ([Forecast:fc2_condition] eq ".*cloudy" or [Forecast:fc2_condition] eq ".*sun.*")) and (([Xtender_SOC] >95 and [18:45]) or ([Xtender_SOC] >90 and [19:15]) or ([Xtender_SOC] >85 and [19:45]) or ([Xtender_SOC] >80 and [20:30]) or ([Xtender_SOC] >75 and [21:35]) or ([Xtender_SOC] >70 and [22:45]) or ([Xtender_SOC] >65 and [23:55]))) ("python2 /usr/local/bin/transfer_off.py")


das reading wirft mir "partly cloudy" aus, sollte doch anspringen, oder?
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

Frank_Huber

and [18:45])
Das war vor 2 Stunden.
Setze klammern!

Mit dem Handy online, daher kurz gefasst...


satprofi

Hallo.
Das hat bis jetzt immer funktioniert, habe nur die forecast trigger eingefügt.
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

automatisierer

[Forecast:fc2_condition] eq ".*cloudy"
.* geht nich

[Forecast:fc2_condition] =~ "cloudy"

sollte gehen

ZitatTeilausdrücke abfragen   back

Abfragen nach Vorkommen eines Wortes innerhalb einer Zeichenkette können mit Hilfe des Perl-Operators =~ vorgenommen werden.

Anwendungsbeispiel: Garage soll beim langen Tastendruck öffnen, hier: wenn das Wort "Long" im Status vorkommt (bei HM-Komponenten stehen im Status noch weitere Informationen).

define di_garage DOIF ([remotecontrol] =~ "Long") (set garage on)
attr di_garage do always

Frank_Huber

Aaahhhhh, manchmal hasse  ich tapatalk..
Schneidet einfach text ab und zeigt ihn nicht.

Würde aber trotzdem and/or sauber mit klammern festlegen.
Sicher ist sicher.

Mit dem Handy online, daher kurz gefasst...


satprofi

Zitat von: automatisierer am 30 November 2017, 21:07:37
[Forecast:fc2_condition] eq ".*cloudy"
.* geht nich

[Forecast:fc2_condition] =~ "cloudy"

sollte gehen

aha, interessant.
werds testen, danke.
finde leider das beispiel nicht mehr in den DOIF wiki´s.
bei batteryabfrage wird aber mit.* gearbeitet, deshalb war ich der meinung das es auch so klappt.
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

automatisierer

Hast recht,

Zitatdefine di_HM_Batt_Warn DOIF (["HM_.*:[Bb]atte.*[Ll]ow"]) (set telegramBot message @xxxxxxx Batterie eines Homematic-Gerätes leer!)
     DOELSEIF ([10:00])
attr di_HM_Batt_Warn room CUL_HM

https://wiki.fhem.de/wiki/DOIF/do_always_Alternative_am_Beispiel_einer_Batteriewarnung_via_Telegram

Da stehts, ist dann aber nur bei Event Auswertung...  Wobei das HM_.* unnötig ist, da man ja bei genauer Filterung ^am Anfang und am Ende$ setzen muss.

satprofi

hallo. dein tip mit =~  funktioniert. danke

Gesendet mit Tapatalk

gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram