Neues Modul für Alarmanlage

Begonnen von Prof. Dr. Peter Henning, 08 September 2014, 20:43:06

Vorheriges Thema - Nächstes Thema

NilsB

Hallo pah,

was die komplexen Bedingungen angeht bin ich einer Meinung - die "Fensterprüfung" wird bei mir (nach Mikes Vorbild) bei jedem veränderten Fenster-Reading durch eine MyUtils-Funktion durchgeführt. Finde ich auch sehr sauber so.

Auf deine Rückmeldung bzgl. des Verhaltens beim Neustart bin ich gespannt. Dennoch geht das alles natürlich nicht vor persönliche Belange. Freue mich auch über eine eine Antwort in einem andere Quartal - kann mit deiner bisherigen Arbeit mehr als gut leben!

Lieben Gruß
Nils

jmike

Hallo Herr Henning, Hi Nils.

Erstmal danke für das konstruktive Weiterführen der Idee.
@Nils: Du hast recht. Das ? halte ich für grundsätzlich sinnvoll. Ein deaktivieren im WebUI ist allemal ein kosmetischer Workaround.

Ich verstehe aber pah's Ansatz wenn ich über meinen Einsatzbereich hinausschaue.
Wenn man das Modul nicht nur als Alarmanlage nutzt, wo Scharf/Unscharf schalten einem Lichtschalter gleicht, dann macht es mit Attributen durchaus Sinn - bzw. mit Readings eher nicht.

Für alle anderen Checks und Alarmierungen möchte man eine reboot/restart/crash/config persistente Konfiguration - mittels Attributen.

Ich fühle mich entsprechend "Erleuchtet" und werde mit dem ? leben - oder das Modul nach meinen Wünschen umbauen.
Wie pah mal sagte: "jeder kann die Software bauen die er haben möchte" ;)


Danke
Mike

Calle78

Hey zusammen,

dieser Sonntag hat endlich dem coolen AlarmanlagenModul gehört. Es läuft Klasse, aber ich fänd es super einen Sensor (Dummy Switch) je nach Zustand zum Arm als auch zum Disarm nutzen könnte. Da er nur 1x in der Liste auftaucht gelingt mir das natürlich nicht. Hat jemand eine Idee?

Ich habe einen virtuellen Schalter Namens "Anwesend" der beim Notify "Anwesend:off" Armed. Nun brauche ich einen zweiten statt einfach auf dem gleichen mit "Anwesend:on" Disarmen zu können.

danke für jeden Tipp

ciao Carlo
6,RPi4,Buster,HMLAN,HMIP,HUE,ZigBee,piVCCU,C868,C433,JEELINK,ESA2000,IRT1500,HMSECSC2,HMCCTC,HMSECSD,HM132030,HMSCI3FM,HMPB2WM55-2,FHT80,FBAHA,WithingsWS50,Jalousien,Siri,HMS100WD,Fritzbox,Harmony,Twilight,Weather,PushBullet,FHT-9998,HM-CC-TC,Trackr,RolloPort

Todo:ZWave(MieleOfen),LEDWIFI

HansDampfHH

Hallo, ich versuche mich auch gerade an der Einrichtung.
Klasse Modul soweit. Allerdings habe ich folgendes Problem:
Ich möchte vorerst als Aktor meine BOSE Soundtouch nutzen und darüber zum einen Textansagen durchgeben als schlußendlich auch einen Alarmton.

Wenn ich nun bei "Wait Action" folgende Action speicher:
{fhem('set BOSE_EC24B8E2DC54 speak "Alarm wurde aktiviert" 60'}
oder
set BOSE_EC24B8E2DC54 speak "Alarm wurde akticiert" 60

...wird am Ende im Frontend allerdings nur "set BOSE_EC24B8E2DC54 speak" angezeigt.
In der fhem.cfg steht allerdings die gante Action mit dem Text in Anführungszeichen.

Jemand eine Idee wie ich das ordentlich und gerade gezogen bekomme?
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

NilsB

Zitat von: HansDampfHH am 01 Juni 2016, 16:02:16
(...)
Wenn ich nun bei "Wait Action" folgende Action speicher:
{fhem('set BOSE_EC24B8E2DC54 speak "Alarm wurde aktiviert" 60'}
oder
set BOSE_EC24B8E2DC54 speak "Alarm wurde akticiert" 60
(...)

Hey,
versuch mal folgende Schreibweise:
set BOSE_EC24B8E2DC54 speak 'Alarm wurde aktiviert' 60

Gruß
Nils

HansDampfHH

Ha, ja nette Idee, aber:
"BOSEST: speak requires quoted text"

Das Modul für die Soundtouch mag das nicht.
Noch jemand eine Idee?

Sonst hätte ich auch noch ein weiteres Anliegen.
Ich habe das attr "lockstate unlock" gesetzt aber bei jedem "Set Alarms" bekomme ich die Meldung:

State locked, can not create notifiers


Wo habe ich denn da noch was falsches in der Config?
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

jmike

#576
Zitat von: HansDampfHH am 01 Juni 2016, 18:29:12
Sonst hätte ich auch noch ein weiteres Anliegen.
Ich habe das attr "lockstate unlock" gesetzt aber bei jedem "Set Alarms" bekomme ich die Meldung:

Das ist mittlerweile ein Reading.
Du kannst das einfach setzen mit "set AAA unlocked".

Zu den Bose.
Hab selber nicht getestet was passiert aber hast du die Quotes schon escaped? also
set BOSE_EC24B8E2DC54 speak \"Alarm wurde aktiviert\" 60


Oder wäre eine kleine Sub in myUtils eine denkbare Lösung für deine Bose?
Und dann einfach im Alarm Modul {bose("Alarm wurde deaktiviert")} aufrufen, sollte das "quotierungs-Problem" umgehen.

Alternativ zeig mal dein Attribut armact, oder ein ganzes list vom Alarm Device.

HansDampfHH

Okay, das mit dem Reading habe ich nicht gesehen.
Sollte man dann nicht das attr mal entfernen!?
Läuft jetzt aber, sauber.

Ich habe eine kleine sub, der kann ich auch einfache Quotes übergeben:
{SpeakBose('Alarm wird geschaltet')}

Hätte ich auch drauf kommen können.
Danke für den Hinweise:-)
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

barzille

Hallo zusammen,
ich habe heute das Alarmmodul ausgetestet. Ich bin begeistert von den Möglichkeiten, allerdings hänge ich an einer Stelle.
Ich habe mich an dem Fensterkontaktbeispiel orientiert, bekomme es aber nicht hin, den Cancel Sensor zu aktivieren. Bei Set Alarms steht im Log andauernd die Meldung '[Alarm 3] No "Cancel" device defined, level will be ignored'.
Dabei habe ich zum Einen einen Dummy ausprobiert mit folgendem Atribut

alarmSettings    alarm4,|TFCancel|cancel|off

und da das nicht funktionierte, meinem Displaytaster das Attribut
attr TFOpen.warn alarmDevice Sensor
hinzugefügt. Danach habe ich die Einstellungen in der GUI vorgenommen, siehe Screenshot.

Ich scheine irgendeine Kleinigkeit zu übersehen, kann mir jemand einen Tipp geben?

Danke und Gruß
Maik

Prof. Dr. Peter Henning

alarmSetting nicht von Hand anlegen, sondern nur über das GUI.

LG

pah

barzille

Hi pah,
wenn man ganz genau hinschaut, habe ich es jetzt gefunden. Die 3 über den Checkboxen war nicht über der richtigen Checkbox, sondern verrutscht... Deshalb hatte ich die ganzen "Cancels" falsch ausgewählt... Mea culpa

barzille

Hi pah,

ich habe eine Frage zu Deinem Diagramm für die Zustandskontrolle der Fenster und Türen (http://www.fhemwiki.de/wiki/Datei:TFAlarm.png)
Wenn das erste mal ein Alarm ausgelöst wird, welcher mir anzeigt, dass Fenster a und b geöffnet sind, wie wird dann mittels Deines Beispielcodes dafür gesorgt, dass alle 10 Minuten eine weiterer Aufruf von HouseOpen() passieren?

Als Aktor wird TFOpen.check ja vermutlich einmal angesprochen, wenn der Alarm ausgelöst wird und ruft nach dem definierten Delay HouseOpen() erneut auf. Was ist aber in der nächsten Iteration? Da ist der Alarm ja bereits aktiv und wird nicht neu getriggert, so dass TFOpen.check nicht erneut angesprochen wird, oder?

HansDampfHH

#582
Ich würde gerne noch mal auf das Anliegen von Calle78 kommen (siehe oben).
Ich habe auch einen virtuellen Schalter (Urlaubsmodus) als Sensor genommen.

Dieser taucht nun natürlich nur einmal bei den Sensoren auf.
Wenn ich den Urlaubsmodus auf ON schalte wird die Alarmanlage aktiviert.
Eigentlich würde ich aber auch gerne die Alarmanlage wieder deaktivieren wenn der Urlaubsmodus wieder auf OFF steht.

Hat jemand da einen Ansatz?

Edit:
Anbei mein Setup, dabei fällt mir folgendes auf:
Wenn die Tür geöffnet wird geht sofort der Alarm an, super soweit.
Wenn die Tür aber sofort wieder geschlossen wird geht der Alarm wieder aus.
Und wenn die Tür wieder aufgeht kommt kein Alarm mehr. Also wenn einmal die Tür auf war wird der Alram bzw. der Sensor nicht noch einmal getriggert. Kann das jemand soweit nachvollziehen?
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

Prof. Dr. Peter Henning

ZitatIch würde gerne noch mal auf das Anliegen von Calle78 kommen (siehe oben).

Sorry, aber ich habe nicht die Zeit, in all den Seiten nach dem Post von Calle78 zu suchen.

ZitatIch habe auch einen virtuellen Schalter (Urlaubsmodus) als Sensor genommen.

Ja, und wo ist das Problem ? Ganz bewusst soll ein Sensor immer nur eine Aktion auslösen. Wer das umgehen möchte, soll bitte das Modul cloneDummy einsetzen, um seinen Sensor zu duplizieren.

Das andere geschilderte Problem kann ich nicht nachvollziehen, da passiert beim Schließen der Tür noch irgendetwas Anderes außerhalb des Alarm-Moduls.

LG

pah

alexschomb

Hallo Prof. Henning,

auch ich möchte mich für dieses vielversprechende Modul bedanken, habe jedoch noch eine Rückfrage bzgl. der Einbindung in meinem System. Ich möchte gerne meine Überwachungskamera nur für bestimmte Alarmlevel aktivieren. Bspw. möchte ich nicht, dass die Kamera immer scharf geschaltet ist nur weil Level 7 (Feueralarm) durchgehend scharf (armed) ist. Die Kamera selbst kann ich mittels HTTP POST Kommandos steuern:
{GetFileFromURL('http://kamera.ip:80/', 5, 'Erkennung aktivieren')}

Trage ich dieses Kommando nun als "Arm Action" ein, so wird die Kamera bei Scharfschaltung eines beliebigen Levels auch scharf gestellt. Ich möchte jedoch, dass diese nur für bestimmte Level aktiviert wird. Anschließend könnte die Kamera einen FHEM Dummy via HTTP GET steuern:
/fhem?cmd=set+KameraAlarm+on&XHR=1
... und ich diesen als Sensor für einen/mehrere bestimmte Alarmlevel in der Alarmanlage einbinden.

Nur wie setze ich die Arm Action für einen bestimmten Level?