Modul Alarmanlage - Verständnisfragen

Begonnen von rparavicini, 19 März 2017, 14:44:12

Vorheriges Thema - Nächstes Thema

rparavicini

Ich habe mir erlaubt dies unter Anfängerfragen einzuordnen, da ich ein Anfänger mit FHEM bin, sollte es für diese Frage eine bessere Kategorie geben, bitte nachsichtig sein und wenn möglich verschieben :)

Ich habe versuche gerade mittel des Alarmanlagen Moduls den Zusammenbau eines Alarms zu durchblicken.

Dazu habe ich mir 7 Dummies angelegt

# Dummies
define ARM dummy
attr ARM alarmDevice Sensor

define DISARM dummy
attr DISARM alarmDevice Sensor

define RAISE dummy
attr RAISE alarmDevice Sensor

define CANCEL dummy
attr CANCEL alarmDevice Sensor

define SWITCH1 dummy
attr SWITCH1 setList on off

define SWITCH2 dummy
attr SWITCH2 setList on off

define Sirene dummy
attr Sirene alarmDevice Actor
attr Sirene setList on off


diese Dummies habe ich zum Teil eben als Sensor, zum Teil als Actor und zum Teil gar nicht in der Alarmanlage verwendet (siehe Attachment)

Das scharf und unscharf schalten mittels SWITCH1 funktioniert einwandfrei, das auslösen des Alarms (inkl. Sirene auf on setzen) funktioniert jedoch nicht.

Hab ich was falsch verstanden, irgendwo einen Fehler den ich komplett übersehe?

Falls ich noch irgendwelche Informationen vergessen habe zu posten, gebt mir Bescheid :)

KölnSolar

Willkommen im Forum.

Prinzipiell sollte ein set SWITCH2 on die Sirene auf on schalten. Vielleicht die fehlenden Texte oder die fehlenden 4 actions oben ?
Grüße Markus
Grundsätzlich verschiebst Du selber ggfs. den Post mit dem Button unten links.
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt

farion

Hi,

hast du überprüft ob SWITCH2 auch im Event Monitor auftaucht? Evtl. gibt es da irgendwo keine Zustandsänderung oder einen Schreibfehler etc.
Bzw. vergleiche mal was bei SWITCH1 und was bei SWITCH2 kommt. Du schaltest die Dummies einfach übers Webinterface?

Gruss Frieder
Fhem5.8@Raspi3|~70xHomematic|KM271|1Wire|DoorPi mit DoorPiBoard|GarageDoorSingleButton|Graphite

rparavicini

Hi,

danke für die Antworten.

@Messages: ich habe mal testweise einfach Messages gesetzt, funktioniert leider trotzdem nicht
@Event Monitor: ja der SWITCH2 taucht auf (erst SWITCH1 über die Weboberfläsche gedrückt um den Alarm scharf zu schalten, dann SWITCH2 um den Alarm auszulösen)

2017-03-22 11:11:15 Global global ATTR Alarmanlage level0xec armed
2017-03-22 11:11:15 Alarm Alarmanlage level0: armed
2017-03-22 11:11:15 dummy DUMPER 2
2017-03-22 11:11:15 dummy SWITCH1 on
2017-03-22 11:11:25 dummy SWITCH2 on

Aktuelle Einstellungen als Screenshot (DUMPER ist einfach ein Dummy den ich mit Werten füttere um zu sehen was sich tut), es scheint sich einfach der Raise nicht zu triggern. Gibt es eine Art minimal Config die zumindest irgendwas bewirken sollte? Ich wollte mittels der Dummies einfach mal testen ob das eh so funktioniert wie ich es glaubte zu verstehen, aber irgendwie wird RAISE nicht ausgeführt obwohl der abgefragte Event feuert.

Wenn ich Eure Antworten richtig verstanden habe, sollte das in der Theorie eigentlich so funktionieren wie ich das gedacht habe, richtig?

Prof. Dr. Peter Henning

Ich schlage vor, sich das vom Alarm-Modul erzeugte notify direkt anzusehen - das Modul macht nämlich nichts weiter, als diese notifies anzulegen.

Man kann das also auch üben, indem man von Hand notifies anlegt und schaut, ob diese von den gewünschten Events getriggert werden.

LG

pah

rparavicini

So nun habe ich das "Problem" gefunden:
Der dummy welcher den Raise auslöst, muss anscheinend selbst als Sensor angelegt sein, und auf seinen eigenen on/off checken.

Sprich ich habe den RAISE dummy entfernt, SWITCH2 zum Sensor gemacht, und ihn auf SWITCH2:on checken lassen, nun gehts ...

Alle anderen drei Stati (arm, disarm, cancel) gehen über den Status von anderen dummies, nur raise geht nur über den eigenen Status des Sensors.

Großes Danke an Euch drei für die Denkanstösse, da wäre ich ohne über den Umweg der notifies ins Log zu schauen nie drauf gekommen!

Prof. Dr. Peter Henning

Zitatund auf seinen eigenen on/off checken.

Äh - wie ? Das wäre mir als Modulautor doch neu...

pah

rparavicini

Sinn ergibt es für mich auch keinen, aber solange SWITCH2 nicht als Sensor definiert ist, und auf seinen eigenen on/off checkt gehts nicht

alarm2.png funktioniert
alarm3.png nicht

Prof. Dr. Peter Henning

Sorry, das ist Unsinn.  ::)

Dass SWITCH2 als alarmSensor definiert sein muss, steht prominent im Wiki - und zwar in allen Beispielen.
Aber dieser alarmSensor "checkt" gar nichts - sondern es wird ein notify angelegt, das mithilfe eines Regulären Ausdrucks auf ein Event dieses alarmSensors triggert. Auch das steht im Wiki.

pah


rparavicini

Das "Problem" welches ich habe ist nicht das SWITCH2 ein AlarmSensor sein muss (denn das alleine reicht nicht), sondern:

Ausgangslage:
ARM, DISARM, RAISE und CANCEL sind Alarm-Sensoren

Fall 1:
SWITCH1 und SWITCH2 sind keine Alarm-Sensoren
der notify bei ARM checkt auf SWITCH1:on und schalten den Alarm scharf <- funktioniert
der notify bei DISARM checkt auf SWITCH1:off und schalten den Alarm unscharf <- funktioniert
der notify bei RAISE checkt auf SWITCH2:on und löst einen Alarm aus <- funktioniert nicht
der notify bei CANCEL checkt auf SWITCH1:off und widerruft den Alarm <- funktioniert nicht

Fall 2:
SWITCH1 ist kein Alarm-Sensor und SWITCH2 ist ein Alarm-Sensor
der notify bei ARM checkt auf SWITCH1:on und schalten den Alarm scharf <- funktioniert
der notify bei DISARM checkt auf SWITCH1:off und schalten den Alarm unscharf <- funktioniert
der notify bei RAISE checkt auf SWITCH2:on und löst einen Alarm aus <- funktioniert nicht
der notify bei CANCEL checkt auf SWITCH1:off und widerruft den Alarm <- funktioniert

Fall 3:
SWITCH1 ist kein Alarm-Sensor und SWITCH2 ist ein Alarm-Sensor
der notify bei ARM checkt auf SWITCH1:on und schalten den Alarm scharf <- funktioniert
der notify bei DISARM checkt auf SWITCH1:off und schalten den Alarm unscharf <- funktioniert
der notify bei SWITCH2 checkt auf SWITCH2:on und löst einen Alarm aus <- funktioniert
der notify bei CANCEL checkt auf SWITCH1:off und widerruft den Alarm <- funktioniert

Warum muss der Device für (un)scharf schalten (SWITCH1) kein Alarm-Sensor sein?
Warum kann der notify für Widerrufen bei CANCEL eingetragen werden und auf SWITCH2 prüfen, der notify für Auslösen muss aber auf den Device prüfen bei welchem er eingestellt ist?

Leider gehen diese Zusammenhänge für mich aus dem Wiki eben nicht hervor, sonst hätte ich nicht so dumm gefragt.

Ich will hier auch nichts schlecht reden, denn das Modul ist eine riesen Hilfe (zu Fuß hätte ich die notifiys nicht so einfach angelegt bekommen), aber mich hat einfach verwirrt das ARM und DISARM funktionierten, RAISE und CANCEL aber nicht.