DOIF Problem bei Pushbullet und ttsSay Meldungen in einem Device

Begonnen von NewRasPi, 21 Oktober 2015, 22:40:16

Vorheriges Thema - Nächstes Thema

NewRasPi

Hallo Forum Gemeinde
Ich schreibe hier mal mein "Problem" in der Hoffnung das jemand den Fehler findet. Die Möglichkeiten wie Commandref, fehmwiki und das Forum habe ich schon rauf und runter gelesen.
So ziemlich alle mir sinnvoll erscheinenden Möglichkeiten habe ich schon versucht, das Ergebnis war leider noch nicht zielführend.
Auch die set Befehle habe ich schon mal einzeln abgetrennt in die Befehlszeile eingegeben. Da Funktioniert dieser Teil. (naja, ttsSay jedes mal nur wenn das Android neu gestartet wird, später dann nicht mehr, das wird die nächste Baustelle mit WVC eine dauerhafte Verbindung zu bekommen)
Als gesamtes Device bleibt es bei "STATE initialized" hängen.
Ich habe es auch schon mit/ohne do always und DOELSE () versucht  - auch das hat nicht zum Ziel geführt. 

define RauchmelderPushmeldungDachboden DOIF ([DachbodenRauchmelder] eq "on" ) (set Pushnachricht message Rauchalarm im Dachboden) DOELSE (set AndroidTablet1 ttsSay ("Achtung, Rauchalarm im Dachboden, Rauchalarm im Dachboden, Rauchalarm im Dachboden, Rauchalarm im Dachboden"))
attr RauchmelderPushmeldungDachboden do always
attr RauchmelderPushmeldungDachboden room 8.1_System

define RauchmelderPushmeldungErdgeschoss DOIF (([WohnzimmerRauchmelder] eq "on") or ([SchlafzimmerRauchmelder] eq "on") or ([KinderzimmerRauchmelder] eq "on")) (set Pushnachricht message Rauchalarm im Erdgeschoss) DOELSE (set AndroidTablet1 ttsSay ("Achtung, Rauchalarm im Erdgeschoss, Rauchalarm im Erdgeschoss, Rauchalarm im Erdgeschoss, Rauchalarm im Erdgeschoss"))
attr RauchmelderPushmeldungErdgeschoss do always
attr RauchmelderPushmeldungErdgeschoss room 8.1_System

define RauchmelderPushmeldungKeller DOIF (([WaschkuecheRauchmelder] eq "on") or ([PartyraumRauchmelder] eq "on") or ([HeizraumRauchmelder] eq "on")) (set Pushnachricht message Rauchalarm im Keller) DOELSE (set AndroidTablet1 ttsSay ("Achtung, Rauchalarm im Keller, Rauchalarm im Keller, Rauchalarm im Keller, Rauchalarm im Keller))
attr RauchmelderPushmeldungKeller do always
RauchmelderPushmeldungKeller room 8.1_System

2015-10-21 22:28:57 DOIF RauchmelderPushmeldungDachboden initialized


Bevor ich jetzt kapituliere hoffe ich auf Eure Hilfe. Vielen Dank
Schöne Grüße vom Neuling
Raspberry Pi 2 Mod B + Raspberry Pi 3 + Raspberry Pi4; HM Lan Adapter; 8 Kanal Relaiskarte; ca. 15x 1wire Temperatur Sensor DS18B20; 10x HC-SR501 Bewegungsmelder; 9x HM Rauchmelder HM-Sec-SD; HM Funk Fenstersensoren; HM Strommess-Zwischenstecker;

HoganButcher


tagedieb

Hallo NewRasPi

meines Wissens funktioniert das DOIF nach einem Zustandswechsel - hat denn dein Rauchmelder "Rauch" gemeldet"?

Gruss tagedieb
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

kumue

stehen die DOIFs noch auf initialized - was bedeuten würde, daß noch kein Rauchmelder Alarm geschlagen hat - oder wie ist der aktuelle Stand ?

Damian

Zitat von: NewRasPi am 21 Oktober 2015, 22:40:16
Hallo Forum Gemeinde
Ich schreibe hier mal mein "Problem" in der Hoffnung das jemand den Fehler findet. Die Möglichkeiten wie Commandref, fehmwiki und das Forum habe ich schon rauf und runter gelesen.
So ziemlich alle mir sinnvoll erscheinenden Möglichkeiten habe ich schon versucht, das Ergebnis war leider noch nicht zielführend.
Auch die set Befehle habe ich schon mal einzeln abgetrennt in die Befehlszeile eingegeben. Da Funktioniert dieser Teil. (naja, ttsSay jedes mal nur wenn das Android neu gestartet wird, später dann nicht mehr, das wird die nächste Baustelle mit WVC eine dauerhafte Verbindung zu bekommen)
Als gesamtes Device bleibt es bei "STATE initialized" hängen.
Ich habe es auch schon mit/ohne do always und DOELSE () versucht  - auch das hat nicht zum Ziel geführt. 

define RauchmelderPushmeldungDachboden DOIF ([DachbodenRauchmelder] eq "on" ) (set Pushnachricht message Rauchalarm im Dachboden) DOELSE (set AndroidTablet1 ttsSay ("Achtung, Rauchalarm im Dachboden, Rauchalarm im Dachboden, Rauchalarm im Dachboden, Rauchalarm im Dachboden"))
attr RauchmelderPushmeldungDachboden do always
attr RauchmelderPushmeldungDachboden room 8.1_System

define RauchmelderPushmeldungErdgeschoss DOIF (([WohnzimmerRauchmelder] eq "on") or ([SchlafzimmerRauchmelder] eq "on") or ([KinderzimmerRauchmelder] eq "on")) (set Pushnachricht message Rauchalarm im Erdgeschoss) DOELSE (set AndroidTablet1 ttsSay ("Achtung, Rauchalarm im Erdgeschoss, Rauchalarm im Erdgeschoss, Rauchalarm im Erdgeschoss, Rauchalarm im Erdgeschoss"))
attr RauchmelderPushmeldungErdgeschoss do always
attr RauchmelderPushmeldungErdgeschoss room 8.1_System

define RauchmelderPushmeldungKeller DOIF (([WaschkuecheRauchmelder] eq "on") or ([PartyraumRauchmelder] eq "on") or ([HeizraumRauchmelder] eq "on")) (set Pushnachricht message Rauchalarm im Keller) DOELSE (set AndroidTablet1 ttsSay ("Achtung, Rauchalarm im Keller, Rauchalarm im Keller, Rauchalarm im Keller, Rauchalarm im Keller))
attr RauchmelderPushmeldungKeller do always
RauchmelderPushmeldungKeller room 8.1_System

2015-10-21 22:28:57 DOIF RauchmelderPushmeldungDachboden initialized


Bevor ich jetzt kapituliere hoffe ich auf Eure Hilfe. Vielen Dank
Schöne Grüße vom Neuling

Es kommt ein Komma in deinem Ausdruck vor. Komma ist aber gleichzeitig ein Trennzeichen bei DOIF. Du musst den Ausführungsteil zusätzlich klammern:

.. ((set AndroidTablet1 ttsSay ("Achtung, Rauchalarm im Erdgeschoss, Rauchalarm im Erdgeschoss, Rauchalarm im Erdgeschoss, Rauchalarm im Erdgeschoss")))...

Gruß

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