FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: earkle am 04 Juli 2019, 20:50:00

Titel: Alle geöffneten Fenster/ Türen per Message senden
Beitrag von: earkle am 04 Juli 2019, 20:50:00
Hallo zusammen,

ich plane im Moment meine Installation mit einer Alarmanlage zu erweitern- Das Gerüst steht schon aber ich möchte mir eine Nachricht senden lassen wenn ich versuche die Anlage scharf zuschalten und noch Fenster oder Türen geöffnet sind ("Es sind noch Badezimmerfester, Kellertür, Dachfenster geöffnet und der Alarm kann nicht scharfgeschaltet werden."). 
Das ganze kann man natürlich mit einzelnen DOIFs realisiert werden aber es muss doch eine einfachere Methode geben das ganze umzusetzen.... z. B.  alle geöffneten Fenster/ Türen automatisch in das Reading eines Dummys zu schreiben und dann nur diese Information versenden.

Ich hoffe ich habe meinen Idee halbwegs rüberbringen können und jemand kann mir helfen.

Danke und Grüße

Andreas
Titel: Antw:Alle geöffneten Fenster/ Türen per Message senden
Beitrag von: binford6000 am 04 Juli 2019, 20:51:58
Hallo Andreas,
HOMEMODE kann sowas:
https://forum.fhem.de/index.php/topic,64317.html (https://forum.fhem.de/index.php/topic,64317.html)
sowie
https://wiki.fhem.de/wiki/Modul_HOMEMODE (https://wiki.fhem.de/wiki/Modul_HOMEMODE)

Und noch vieles mehr...

VG Sebastian
Titel: Antw:Alle geöffneten Fenster/ Türen per Message senden
Beitrag von: CoolTux am 04 Juli 2019, 21:53:40
sub statusFensterOffen($) {

    my $contactSensorDevice     = shift;
    $contactSensorDevice        = 'FensterKontakt.*_(Dachfenster|F[1-4])' if( not defined($contactSensorDevice) );
   
    my @monitored=devspec2array("($contactSensorDevice):FILTER=STATE!=closed");
my $i = 0;
my $msgtext = "";
foreach(@monitored) {
    $msgtext .= AttrVal($_,"alias",$_);
       
        if( $i < scalar(@monitored) - 2) {
    $msgtext .= ", ";
        } elsif( $i == scalar(@monitored) - 2) {
    $msgtext .= " und ";
    }

    $i++;
    }

return $msgtext if (scalar(@monitored) > 0);
}


Das in eine 99_myUtils einpflegen. Als Ergebnis kommt ein String. Einfach mal ausprobieren. devspec2array Anpassen an Deine Gegebenheiten.
Titel: Antw:Alle geöffneten Fenster/ Türen per Message senden
Beitrag von: amenomade am 05 Juli 2019, 23:09:13
Somit geht es auch
https://fhem.de/commandref_DE.html#DOIF_aggregation