DOIF auf status der nicht zustimmt überprüfen [gelöst]

Begonnen von Toto1973, 30 November 2020, 10:30:22

Vorheriges Thema - Nächstes Thema

Toto1973

Hallo!
Ich habe da ein Problem mit einem DOIF.
Und zwar geht es darum, das ich den Kalender nutze, um meinen Adventsbeleuchtung zu steuern.
Im Device "BW_Feiertag" steht im Staus z.B. "URLAUB, 1.Advent"
Nun möchte ich, das mein Rolladen im Schlafzimmer um 21:30 Uhr dann zu geht, wenn Advent auf ja steht, Frühschuicht auf Früh und BW_Feiertag NICHT auf Urlaub steht.
Dazu habe ich die folgende Zeile gebastelt:
DOELSEIF ([21:30] and [?advent] eq "ja" and [BW_Feiertag] ne "URLAUB" and [?Schicht_dummy] eq "Frueh") (set sz_Weihnacht off)
Problem bei der Zeile ist jetzt, das diese nur Ausgeführt wird, wenn im Device "BW_Feiertag" im Status NUR "URLAUB" steht. Steht noch ein weiter Feiertag wie z.B. "1. Advent" dabei, triggert die Doif Zeile, was sie ja nicht soll.
Wie bekomme ich das richtig hin?
Raspberry PI2, Rademacher DuoFern Stick, CUL, 2 x SCC,  JeeLink 868 Mhz, JeeLink 433 Mhz, 3x Magic UFO LED WiFi Controller, 4x MAX BC-RT-TRX-CyG, 2x MAX Fensterkontakt, 5x Rademacher Gurtwickler, 6x TX29DTH-it, 2x TX25-it als Helligkeitssensor, 1X HM-ES-PM, 6x Sonoff, 7x G-Homa, PIR-1000

Damian

Zitat von: Toto1973 am 30 November 2020, 10:30:22
Hallo!
Ich habe da ein Problem mit einem DOIF.
Und zwar geht es darum, das ich den Kalender nutze, um meinen Adventsbeleuchtung zu steuern.
Im Device "BW_Feiertag" steht im Staus z.B. "URLAUB, 1.Advent"
Nun möchte ich, das mein Rolladen im Schlafzimmer um 21:30 Uhr dann zu geht, wenn Advent auf ja steht, Frühschuicht auf Früh und BW_Feiertag NICHT auf Urlaub steht.
Dazu habe ich die folgende Zeile gebastelt:
DOELSEIF ([21:30] and [?advent] eq "ja" and [BW_Feiertag] ne "URLAUB" and [?Schicht_dummy] eq "Frueh") (set sz_Weihnacht off)
Problem bei der Zeile ist jetzt, das diese nur Ausgeführt wird, wenn im Device "BW_Feiertag" im Status NUR "URLAUB" steht. Steht noch ein weiter Feiertag wie z.B. "1. Advent" dabei, triggert die Doif Zeile, was sie ja nicht soll.
Wie bekomme ich das richtig hin?

probiere mal:

DOELSEIF ([21:30] and [?advent] eq "ja" and substr([BW_Feiertag],0,6) ne "URLAUB" and [?Schicht_dummy] eq "Frueh") (set sz_Weihnacht off)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Toto1973

Nur mal zum Verständnis, finde es auf die Schnelle nicht, was bewirkt der Befehl substr([BW_Feiertag],0,6) ne "URLAUB"?

Ich werde testen und Bescheid geben.
Raspberry PI2, Rademacher DuoFern Stick, CUL, 2 x SCC,  JeeLink 868 Mhz, JeeLink 433 Mhz, 3x Magic UFO LED WiFi Controller, 4x MAX BC-RT-TRX-CyG, 2x MAX Fensterkontakt, 5x Rademacher Gurtwickler, 6x TX29DTH-it, 2x TX25-it als Helligkeitssensor, 1X HM-ES-PM, 6x Sonoff, 7x G-Homa, PIR-1000

MadMax-FHEM

substr([BW_Feiertag],0,6) ne "URLAUB"

substr -> Teilstring

Anfangen bei 0

Länge: 6

Heißt: "schneidet" die ersten 6 Zeichen aus einem String...

Was ist "auf die Schnelle"?
Google: "Perl substr" -> https://perldoc.perl.org/functions/substr

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Toto1973

Vielen Dank!
So wie das aussieht, klappt das Ganze so. Mal warten, ob es auf dauer funktioniert.
Raspberry PI2, Rademacher DuoFern Stick, CUL, 2 x SCC,  JeeLink 868 Mhz, JeeLink 433 Mhz, 3x Magic UFO LED WiFi Controller, 4x MAX BC-RT-TRX-CyG, 2x MAX Fensterkontakt, 5x Rademacher Gurtwickler, 6x TX29DTH-it, 2x TX25-it als Helligkeitssensor, 1X HM-ES-PM, 6x Sonoff, 7x G-Homa, PIR-1000

MadMax-FHEM

Zitat von: Toto1973 am 01 Dezember 2020, 23:49:36
Vielen Dank!
So wie das aussieht, klappt das Ganze so. Mal warten, ob es auf dauer funktioniert.

Naja, solange halt URLAUB wenn vorhanden immer vorne dran steht...
Wenn das auch mal "durcheinander" sein kann, dann wird es wohl eher auch mal nicht gehen... ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Toto1973

Ja, das ist richtig!
Seltsamerweise steht "URLAUB" immer vorne, egal was ich sonst in den Kalender eintrage. Von daher sollte es so funktionieren!
Raspberry PI2, Rademacher DuoFern Stick, CUL, 2 x SCC,  JeeLink 868 Mhz, JeeLink 433 Mhz, 3x Magic UFO LED WiFi Controller, 4x MAX BC-RT-TRX-CyG, 2x MAX Fensterkontakt, 5x Rademacher Gurtwickler, 6x TX29DTH-it, 2x TX25-it als Helligkeitssensor, 1X HM-ES-PM, 6x Sonoff, 7x G-Homa, PIR-1000

Per

Ansonsten geht auch
[BW_Feiertag] =~ "URLAUB"
Dann ist die Reihenfolge egal.

Da du eh eine Zeit als Trigger hast, würde ich aber [?BW_Feiertag] schreiben.