Eine IF Abfrage mit Hilfe von Wildcards erstellen

Begonnen von cocojambo, 02 Oktober 2013, 12:05:24

Vorheriges Thema - Nächstes Thema

cocojambo

Hallo,

Ich habe eine Müllabfuhr.holiday gemacht und mit Hilfe einiger IF Abfragen über einen SIG2 die Ausgabe welche Tonne an welchen Tag dran ist gemacht.

define Tonnenabfuhr_blau_heute at *11:42:00 { fhem("get Tonnenabfuhr today");;\
if (Value("Tonnenabfuhr") eq ("blau")) { fhem ("set Tonnen on")}}

Das habe ich in einem anderen Thread gelöst und es funktioniert auch. Jetzt passiert es aber, das an einem Tag alle drei Tonnen abgeholt werden. Dann steht bei "get Tonnenabfuhr today" als Ausgabe "bio, blau, rest". Damit kann meine Abfrage nach einer einzelnen Tonne nichts anfangen. Ich habe dann probiert mit Hilfe von Wildcard das Wort "blau" rauszufiltern. Finde aber keine Lösung. Probiert habe ich folgendes:

if ("Tonnenabfuhr" =~ ".*blau.*")
if (Value("Tonnenabfuhr") eq (".*blau.*"))
if (Value("Tonnenabfuhr") =~ (".*blau.*"))
if ("Tonnenabfuhr" =~ ./blau./")

Auch andere Variationen habe ich probiert, keine geht. Was mache ich da falsch? Läßt sich so die Abfrage nicht machen oder ist das mit .* total falsch. Hier im Board habe ich nichts dazu gefunden und auch nicht in der Fhem Referenz. Vielleicht hat jemand sowas schon mal gemacht und kann mir helfen.
Gruß aus Köln
Norbert

FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

cocojambo

hallo andre,

ich habe es gerade probiert, geht aber leider nicht.

define Tonnenabfuhr_blau_heute at *12:50:15 { fhem("get Tonnenabfuhr today");;\
if (Value("Tonnenabfuhr") =~ m/blau/) { fhem ("set Tonnen on")}}

im LOG steht dann nur:
2013.10.02 12:50:15 3: get Tonnenabfuhr today : bio, rest, blau

habe auch m/blau/ mal mit "" und () und beides probiert, klappt auch nicht.
Hast du noch eine Idee woran es liegen könnte?

gruß
norbert
FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000

justme1968

was bekommst du wenn du direkt {Value("Tonnenabfuhr")} per telnet oder im web frontend eingibst?

du kannst auch ein Log 3, Value("Tonnenabfuhr"); direkt vor das if setzen und im log file schauen.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

cocojambo


Hallo andre

bei der Eingabe : {Value("Tonnenabfuhr")}

kommt als Ausgabe:  none

Gruß
norbert

FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000

justme1968

dann kann es ja auch nicht gehen ...

scheinbar gibt es einen unterschied zwischen 'get Tonnenabfuhr today' und 'Value("Tonnenabfuhr")'.

versuch es mal in der art:define Tonnenabfuhr_blau_heute at *12:50:15 { my $value = fhem("get Tonnenabfuhr today");;\
if ($value =~ m/blau/) { fhem ("set Tonnen on")}}
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

cocojambo


hallo andre,

so wie es aussieht scheint es zu gehen. Habe es jetzt nur mal auf die Schelle in die CFG eingefügt. Auf jeden Fall erschien "Tonnen on" im Event monitor. Wenn es nicht richtig funktioniert, melde ich mich noch... aber auch wenn es funktioniert.
wir fahren nämlich heute für einen kurzurlaub weg bis sonntag. dann werde ich es mal für alle tonnen umschreiben und ausgiebig testen und mich dann mal melden.

auf jeden fall, herzlichen dank für deine schnelle hilfe.

gruß aus köln
norbert
FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000

cocojambo

Hallo Andre,

Ich habe alle Varianten durchgetestet. Es funktioniert 100%ig. sehr gut!!!! Vielen Dank.
So sieht meine Abfrage jetzt aus. Die habe ich dann drei mal gemacht für die Reste und Bio Tonne auch.

# Blaue Tonne
#------------
define Tonnenabfuhr_blau_morgen at *19:00:10 { my $Value = fhem("get Tonnenabfuhr tomorrow");;\
if ($Value =~ m/blau/) { fhem ("set Tonnen_CUL on;;sleep2;;set Tonnen_CUNO on")}}
define Tonnenabfuhr_blau_heute at *07:00:10 { my $Value = fhem("get Tonnenabfuhr today");;\
if ($value =~ m/blau/) { fhem ("set Tonnen_CUL on;;sleep2;;set Tonnen_CUNO on")}}

Gruß aus Köln
Norbert
FHEM6.2 FB7490 FB7430 3xraspi2+3+4 2xHM-LAN-CFG 2xESP CUL868 CUNO868 HUE-Bridge Harmony-Hub 5xHM-LC-Sw-PI-2 3xHM-WDS30-T2-SN 1xHM-LC_Sw4-DR 3xHM-ES-PMSw1-PI 7xFS20SIG2 6xFS20KSE 2xHM-ES-PMSW1-PL 5xS300TH 1xASH2200 1xEM1000