DOIF - Benachrichtigung Fensterlüften - Wiederholung funktioniert nicht mehr

Begonnen von blueberry63, 16 November 2015, 15:55:25

Vorheriges Thema - Nächstes Thema

blueberry63

Hallo,

die Heizperiode hat ja seit einigen Wochen wieder begonnen und nun habe ich festgestellt, dass meine DOIF-Statement nicht mehr funktioniert. Eigentlich sollte DREIMAL, alle 7 Minuten, ein Klingelton auf einem Fritzfon ausgegeben werden. Das Ganze hat bis zum Frühjahr noch funktioniert, aber jetzt klingelt es nur noch EINMAL. Könntet Ihr mir bitte bei der Fehlersuche helfen, hier ist meine Definition:


define di_BadO DOIF ([FensterBadO] eq "open" and [Vito200] eq "H+WW") (set WLANAP2 ring 610 20 Alert show:Fenster BadO zumachen!) DOELSEIF ([FensterBadO] eq "open" and [di_BadO] eq "N1" and [Vito200] eq "H+WW") (set WLANAP2 ring 610 20 Alert show:Fenster BadO zumachen!) DOELSEIF ([FensterBadO] eq "open" and [di_BadO] eq "N2" and [Vito200] eq "H+WW") (set WLANAP2 ring 610 20 Alert show:Fenster BadO zumachen!") DOELSEIF ([FensterBadO] eq "closed")

attr di_BadO cmdState N1|N2|N3|N0
attr di_BadO wait 420:420:420


Anm.: "Vito200" repräsentiert den Status meiner Zentralheizung (WW=nur Warmwasser, H+WW=Heizung und Warmwasser)

Gruß
Blueberry63
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

Wuppi68


define di_BadO DOIF ([FensterBadO] eq "open" and [Vito200] eq "H+WW") \
    (set WLANAP2 ring 610 20 Alert show:Fenster BadO zumachen!) \
DOELSEIF ([FensterBadO] eq "open" and [di_BadO] eq "N1" and [Vito200] eq "H+WW") \
    (set WLANAP2 ring 610 20 Alert show:Fenster BadO zumachen!) \
DOELSEIF ([FensterBadO] eq "open" and [di_BadO] eq "N2" and [Vito200] eq "H+WW") \
    (set WLANAP2 ring 610 20 Alert show:Fenster BadO zumachen!") \
DOELSEIF ([FensterBadO] eq "closed")

attr di_BadO cmdState N1|N2|N3|N0
attr di_BadO wait 420:420:420


nach dem letzten DOELSEIF fehlt der Ausführungsteil
FHEM unter Proxmox als VM

blueberry63

...mmhh - klingt schon logisch, aber hier hatte ich bis jetzt nichts angegeben. Falls das Fenster wieder geschlossen wird, soll ja auch nichts passieren. Was macht man denn in so einem Fall?

Gruß
Blueberry63
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

kumue


blueberry63

FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

kumue

wenns mehrfach passieren soll schon

ZitatWünscht man eine Ausführung des gleichen Befehls mehrfach nacheinander bei jedem Trigger, unabhängig davon welchen Zustand das DOIF-Modul hat, weil z. B. Garage nicht nur über die Fernbedienung geschaltet wird und dann muss man das per "do always"-Attribut angeben:

Quelle:
http://fhem.de/commandref_DE.html#DOIF

Wird do always verwendet, dann das DOIF mit DOELSE abschließen. Dein letztes DOELSEIF würde ich weglassen und durch besagtes DOELSE ohne ein Befehl ersetzten
define di_BadO DOIF ([FensterBadO] eq "open" and [Vito200] eq "H+WW") \
    (set WLANAP2 ring 610 20 Alert show:Fenster BadO zumachen!) \
DOELSEIF ([FensterBadO] eq "open" and [di_BadO] eq "N1" and [Vito200] eq "H+WW") \
    (set WLANAP2 ring 610 20 Alert show:Fenster BadO zumachen!) \
DOELSEIF ([FensterBadO] eq "open" and [di_BadO] eq "N2" and [Vito200] eq "H+WW") \
    (set WLANAP2 ring 610 20 Alert show:Fenster BadO zumachen!") \
DOELSE

attr di_BadO cmdState N1|N2|N3|N0
attr di_BadO wait 420:420:420
attr di_BadO do always

blueberry63

Mit DOELSE am Ende "klingelt" es überhaupt nicht mehr  :(

Hat jemand einen anderen Vorschlag, wie man eine "Fenster ist noch offen"-Erinnerung beim Lüften realisiert?

Gruß
Blueberry63
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

kumue

wird eine Fehlermeldung geloggt ?

Das " ist sicher überflüssig

(set WLANAP2 ring 610 20 Alert show:Fenster BadO zumachen!") \

blueberry63

FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

Damian

Zitat von: blueberry63 am 17 November 2015, 13:53:12
Ein Fehlermeldung ist im LOG nicht zu sehen

Deine Lösung hat zufällig mal funktioniert.

Mit der Abfrage des eigenen Status hast du eine Rekursion (Loop) definiert, das wird mit der aktuellen Version des Moduls unterbunden.

Dafür kannst du mit repeatcmd (ab heute per Update verfügbar) automatische Wiederholungen definieren:

define di_BadO DOIF ([FensterBadO] eq "open" and [Vito200] eq "H+WW")
    (set WLANAP2 ring 610 20 Alert show:Fenster BadO zumachen!)

attr di_Bad0 repeatcmd 420
attr di_Bad0 repreatsame 3


Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

blueberry63

@Damian,

damit läßt sich die Aufgabenstellung wesentlich einfacher lösen: Respekt!

Ich werde es nachher mal ausprobieren und kurz berichten.

Danke und Gruß
Blueberry63
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower