Neues Modul für Alarmanlage

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

Vorheriges Thema - Nächstes Thema

jmike

#495
Zitat von: Depechem am 05 Februar 2016, 16:53:25
das habe ich auch schon probiert, funktioniert aber leider auch nicht
{fhem('set androidTablet ttsSay'.ReadingsVal('AAA', 'short',undef))}

Ich kenne das ttsSay zwar nicht aber da fehlt meines Erachtens nach ein Space zwischen ttsSay und ReadingsVal fehlen.
Also so:
{fhem('set androidTablet ttsSay '.ReadingsVal('AAA', 'short',undef))}
Ansonten ist der Befehl ja "set androidTablet ttsSayDeine-Meldung-aus-short"

Wenn das auch nicht geht würde ich den Befehl mal ins Log schreiben und mal manuell ausführen.
z.B.
{Log 1, 'set androidTablet ttsSay '.ReadingsVal('AAA', 'short',undef)}


Depechem

Zitat von: jmike am 05 Februar 2016, 17:01:56
Ich kenne das ttsSay zwar nicht aber da fehlt meines Erachtens nach ein Space zwischen ttsSay und ReadingsVal fehlen.

Ich fasse es nicht, daran lag es wirklich. Vielen Dank!!!
RaspberryPi2 / FHEM / 3 Wand-Tablets mit Tablet UI / HM USB / verschiedene HM-Aktoren / JeeLink USB für WS1600 und mehrere LaCrosse Sensoren / HEOS ...

NilsB

Guten Abend,
ich habe ein Problem mit dem "ArmWait" Feld. Folgende set-Verkettung wird nicht korrekt ausgeführt:
set EZ.Sound playTone 001;;set roteLED on
Log dazu:
2016.02.08 00:15:24 3: CUL_HM set EZ.Sound playTone 001 ; set roteLED on

Konnte das Problem nur umgehen, indem ich den Befehl durch folgende Perl-Syntax ersetzt habe:
{fhem('set EZ.Sound playTone 001');;fhem('set roteLED on')}

Allerdings funktioniert die ursprünglich Syntax ohne geschweifte Klammern in einem anderen Feld, zB. in "ArmAction". Mir schient, als würden die Befehle unterschiedlich gehandled, kann das sein? Und wenn ja, ist das beabsichtigt?

Gruß
Nils

jmike

Hi Nils.

Nimm mal nur ein ;
set EZ.Sound playTone 001; set roteLED on

Hier könntest du auch mehrere fhem Befehle gleichzeitig angeben:
{fhem('set EZ.Sound playTone 001; set roteLED on')}

Lg
Mike

NilsB

Hallo Mike,

klasse das funktioniert auf Anhieb, danke. Habe dann direkt mal alle Felder in den Alarms konsistent angepasst.

Ist das eine Besonderheit in diesem Modul oder ist die Schreibweise jetzt generell mit nur einem Semikolon? In der FHEM für Einsteiger PDF steht nämlich noch die Notation mit ";;".

Gruß
Nils

Praktiker

@Nils
Bei den Anleitungen und dem Einsteiger Pdf muss man unterscheiden
Ob die Sachen im Webintwrface oder direkt in die FHEM.cdg eingetragen werden.
Daher die 2 ;. Ist für Einsteiger leider nicht immer ersichtlich.
Hier ist also ein ; ausreichend.

Grüße
Praktiker

NilsB

Okay, das erklärt einiges. Hilfreicher Kommentar, danke Dir Praktiker!

Grüße

darkness

Hallo Zusammen,

ich versuche gerade das Modul bei mir einzubinden. (De)-Aktivieren klappt auch alles. Nur der Bewegungsmelder löst keinen Alarm aus.
Dieser schaltet per Notify ein Aktor welcher das Licht an und aus schaltet.
Das klappt mit
flur.bw.oben_Motion:motion.*

Jetzt soll dabei auch der Alarm ausgelöst werden. Daher habe ich im Alarmodul als RegExp ebenfalls
flur.bw.oben_Motion:motion.* eingetragen.

Alledings erhalte ich folgende Fehlermeldung im Log:
[Alarm 0] not raised, alarmSensor flur.bw.oben_Motion has wrong settings

Welchen Fehler habe ich denn dort gemacht? Den sehe ich leider nicht.  :'(


jmike

#503
Hi.

Die Meldung kommt wenn das Attribut "alarmSettings" auf deinem Aktor nicht sauber geparst werden kann.
Da sollte sowas drinstehen wie: "level|regex|message1|on-off".  Das Attribut wird vom Modul gefüllt wenn du "Set Alarms" drückst, denke aber nicht dass es an der Regex liegt.

Wie sehen die anderen Optionen aus für diesen Sensor, was hast du zum Beispiel in "Message Part 1" drin stehen?

Zeig mal flur.bw.oben_Motion (z.b. mit telnet> list flur.bw.oben_Motion).

lg
mike

darkness

Hey,

list flur.bw.oben_Motion

hat mich auf die Richtige Spur gebracht. Ich habe den kompletten Bewegungsmelder als Sensor gesetzt. Nicht den jeweiligen Kanal. Daher wurden auch die Settings falsch befüllt.

Danke

plin

#505
Hallo Leute,

ich versuche im Alarmfall eine WhatsApp-Nachricht rauszuschicken. Die kommt auch an, aber die im Wiki angegebenen Variablen werden nicht alle aufgelöst

Beim Aktor ist als "SET ACTION" folgendes kodiert
set WhatsApp send 4916xxxxxxxx $NAME $EVENT $EVTPART2 $EVTPART1 $STATE

Es kommt aber nur folgendes an
Test on $EVTPART2 $EVTPART1 $STATE

$NAME wir zu "Test" aufgelöst, $EVENT zu "on", die restlichen Variablen werden nicht aufgelöst.

Was mache ich falsch?

Gruß, Peter
FHEM1 (Main) Raspi4 mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

Prof. Dr. Peter Henning

#506
Kann ich nicht nachvollziehen, das sollte korrekt funktionieren.

LG

pah

Edit: Da habe ich mal Unsinn geschrieben. Habe ich August 2014 so gelöst, dass nur in Message Part I eine Substitution vorgenommen wird. Wird auch so bleiben.

LG

pah

NilsB

Habe das Modul jetzt weitestgehend nach meinen Wünschen konfiguriert, zwei Punkte bleiben jedoch offen - ich würde mich über Hilfe sehr freuen.


  • Ich möchte beim Scharfschalten von Alarmlevel 7 eine andere WaitAction ausführen wenn noch Sensoren des Levels den State Open haben (-> Akustische Rückmeldung: "Scharf geschaltet, aber es sind Fenster auf. Bitte schließen").
    Auch eine Überlegung wert: Verhinderung der Scharfschaltung wenn Sensoren des Levels Open sind.
  • Alarmlevel 7 wird über einen langen Druck auf einen HM-PBI-4-FM scharf geschaltet. Wenn man länger als 1sec drückt, wird jedoch die WaitAction mehrfach ausgeführt (HM-Funkgong -> "Alarmanl..", "Alarmanl..", "Alarmanlage wird scharf geschaltet"). Das ist unschön, wie kann ich das am besten abfangen?

Danke im Voraus und Gruß
Nils

Ralli

Zitat von: NilsB am 08 Februar 2016, 21:20:38
Alarmlevel 7 wird über einen langen Druck auf einen HM-PBI-4-FM scharf geschaltet. Wenn man länger als 1sec drückt, wird jedoch die WaitAction mehrfach ausgeführt (HM-Funkgong -> "Alarmanl..", "Alarmanl..", "Alarmanlage wird scharf geschaltet"). Das ist unschön, wie kann ich das am besten abfangen?[/li][/list]

Du könntest auf LongRelease triggern lassen.
Gruß,
Ralli

Proxmox 8.2 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.3 dev, virtualisierte RaspberryMatic (3.75.7.20240420) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.1.5) und HMW-GW, FRITZBOX 7490 (07.57), FBDECT, Siri und Alexa

jmike

Hi Nils.

Wie Ralli schon sagte, LongRelease anstelle von Long sollte dem zweiten Problem Abhilfe schaffen.

Dein erstes Anliegen wird von Herrn Henning auch im Wiki behandelt, Du brauchst eine Routine die deine Sensoren prüft.

Ich habe es so gehandelt dass die Sensoren selbst eine Routine anstarten (notify) die wiederum alle Sensoren prüft.
Sollte alles zu sein, ist der Wert des Readings "armError" 0. Ansonsten steht eben drin was noch offen ist, dann darf jedoch gar nicht scharf geschaltet werden.

Jeder der sich mit einem 3min Video "vorbereitet" bekommt einem Röhrchen und einer Schnur ein gekipptes Fenster in max. 5min auf.  Gekippte (oder gar offene) Fenster sind eine direkte Einladung.

lg
mike