Neues Modul für Alarmanlage

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

Vorheriges Thema - Nächstes Thema

geordi11

DANKE
Die eine geschweifte Klammer habe ich übersehen.
funktioniert jetzt.

Jetzt würde mich nur noch die Inhalte der Variablen interressieren.
Bzw. wie kann ich Sie mir ansehen und ggf. in ein dummy übernehmen.

Im WIKI stehen nur die unteren Informationen. 

------8><--- snip ----8><---
$NAME wird durch den Namen des auslösenden Devices ersetzt
$EVENT wird durch den kompletten Event ersetzt
$EVTPART1... wird durch den 1. Teilstring des Events gefüllt, etc.
$SHORT wird durch die vollständige Kurznachricht der Alarmauslösung ersetzt
------8><--- snap ----8><---

Das SIP Modul liefert bei den Variablen "$EVENT" und "$EVTPART1" jeweils nur ein "ON" als Sprachausgabe zurück.
Was ich schon festgestellt habe ist, dass dss SIP Modul mit der Sprachausgabe anhält, wenn ein Punkt im Text vorkommt.
Daher interresiert mich der vollständige Inhalt der Variablen.
Bzw. ob es noch weitere Variablen gibt, die ich ggf. benutzen kann.

DANKE

geordi11

DJ-Mix

Hallo zusammen,

ich erhalte die Fehlermeldung
alarm.js line 102:
Das Objekt unterstützt die Eigenschaft oder Methode "getElementsByClassName" nicht

Weiß aber nicht genau wie ich diese abstellen kann - habe nichts dazu gefunden
Kann mir hier jemand helfen???

Vielen Dank
DJ-Mix
FHEM - RaspberryPi/Fritz!Box 7390 - 1x HM-CFG-LAN - 3x HM-CC-RT-DN - 3x HM-LC-Bl1PBU-FM - 1x HM-LC-Sw1PBU-FM

Prof. Dr. Peter Henning

Welche Version von alarm.js ?

LG

pah

DJ-Mix

Hallo,

anbei das List
Internals:
   NAME       AAA
   NR         288
   STATE      --O---O-
   TYPE       Alarm
   VERSION    5.0
   DATA:
     savedate   2018-12-13 08:58:30
     armstate:
       level0     disarmed
       level1     disarmed
       level2     armed
       level3     disarmed
       level4     disarmed
       level5     disarmed
       level6     armed
       level7     disarmed
   READINGS:
     2018-12-12 15:32:35   level0          disarmed
     2018-12-12 15:32:35   level1          disarmed
     2018-12-13 09:03:13   level2          armed
     2018-12-12 15:32:35   level3          disarmed
     2018-12-12 15:32:35   level4          disarmed
     2018-12-12 15:32:35   level5          disarmed
     2018-12-13 09:03:13   level6          armed
     2018-12-12 15:32:35   level7          disarmed
     2018-12-13 08:32:53   lockstate       locked
     2018-12-13 08:58:30   savedate        2018-12-13 08:58:30
     2018-12-13 09:03:13   short           
     2018-12-13 13:17:00   state           --O---O-
Attributes:
   armact     set HM_28DF1E_Mp3 playTone 50
   armdelay   0:30
   armwait    set HM_28DF1E_Mp3 playTone 49
   cancelact  set HM_28DF1E_Mp3 playTone 48
   disarmact  set HM_28DF1E_Mp3 playTone 51
   level0autocan 0:00
   level0cond 1
   level0end  23:59
   level0msg  --
   level0offact 1
   level0onact 1
   level0start 0:00
   level1autocan 0:00
   level1cond 1
   level1end  23:59
   level1msg  %
   level1offact 1
   level1onact 1
   level1start 0:00
   level2autocan 0:00
   level2cond 1
   level2end  23:59
   level2msg  schwach
   level2offact set HM_28DF1E_Led off;
   level2onact defmod alarm2dly1 at +00:00:01 set HM_28DF1E_Led on;
   level2start 0:00
   level3autocan 0:00
   level3cond 1
   level3end  23:59
   level3msg  --
   level3offact 1
   level3onact 1
   level3start 0:00
   level4autocan 0:00
   level4cond 1
   level4end  23:59
   level4msg  offen
   level4offact 1
   level4onact 1
   level4start 0:00
   level5autocan 0:00
   level5cond 1
   level5end  23:59
   level5msg  Zugang
   level5offact 1
   level5onact 1
   level5start 0:00
   level6autocan 0:00
   level6cond 1
   level6end  23:59
   level6msg  Einbruch
   level6offact set HM_28DF1E_Led off;
   level6onact defmod alarm6dly1 at +00:00:01 set HM_28DF1E_Led on;
   level6start 0:00
   level7autocan 0:00
   level7cond 1
   level7end  23:59
   level7msg  Gefahr!
   level7offact 1
   level7onact 1
   level7start 0:00
   room       AlarmRoom
   statedisplay simple


und von Alarm.js

// alarm.js
// Version 5.01
// See 95_Alarm for licensing


Danke
VG
DJ-Mix
FHEM - RaspberryPi/Fritz!Box 7390 - 1x HM-CFG-LAN - 3x HM-CC-RT-DN - 3x HM-LC-Bl1PBU-FM - 1x HM-LC-Sw1PBU-FM

Prof. Dr. Peter Henning

Nach dem Listing hatte niemand gefragt.

Bei dieser Meldung handelt es sich um ein Problem zwischen JavaScript und dem eingebundenen SVG.

Die bunten Kästchen unter der Glocke im AlarmWidget
><rect class="arec" width="10" height="10" x="5"  y="35" fill="#53f3c7" stroke="black"/>
werden als Klasse "arec" adressiert. Das ist laut Spezifikation zulässig, in Firefox geht das auch problemlos.

Wenn das in einem anderen Browser nicht geht: Browserhersteller kontaktieren und Beschwerde einreichen.

LG

pah

ChrisW

habe irgendwie auch das Problem das die Verzögerung nicht funktioniert. Ich habe einige Actoren da scheint das zu klappen aber ein Dummy der diverse Lichter einschaltet der Reagiert SOFORT !
Hier ein List vom dummy
Internals:
   NAME       ALLE_LICHTER_AN
   NR         836
   STATE      ???
   TYPE       dummy
Attributes:
   alarmDevice Actor
   alarmSettings alarm0,alarm5,|set strom_hannibal_dect on;set led_durchreiche on;set lampe_unterstand on;set lampe_reitplatz_untertsand on;set lampe_wiese_misthaufen on||01:40
   room       Alarm
Raspberry PI3 mit allem möglichen.

Tommy82

Hi,
ich würde gerne einen AmazonDash Button zum zurücksetzen der Alarmanlage nutzen, nur irgendwie weiss ich nicht wie ich das damit hinbekomme, das reading der MacAdresse steht immer auf "short" und nur das Datum/die Zeit aktualisieren sich beim Drücken des Dash Buttons.

Wie könnte ich das realisieren?

Danke

Der DashButton sieht so aus:

Internals:
   CFGFN     
   CONNECTS   1
   FD         18
   LAST_CONNECT 2018-12-23 12:42:30
   NAME       DashButtonAlarm
   NR         3756
   NTFY_ORDER 50-DashButtonAlarm
   PORT       6767
   STATE      listening
   TYPE       dash_dhcp
   Helper:
     DBLOG:
       50-f5-3g-6f-6e-71:
         myDbLog:
           TIME       1545565653.54409
           VALUE      short
       state:
         myDbLog:
           TIME       1545565350.37063
           VALUE      listening
   READINGS:
     2018-12-23 12:47:33   50-f5-3g-6f-6e-71 short
     2018-12-23 12:42:30   state           listening
   helper:
     devAliases:
Attributes:
   alarmDevice Sensor
   allowed    50:F5:3G:6F:6E:71
   group      Hardeware
   port       6767
   room       Wohnzimmer
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

gamauf

Zitat von: Tommy82 am 23 Dezember 2018, 13:14:41
Hi,
ich würde gerne einen AmazonDash Button zum zurücksetzen der Alarmanlage nutzen, nur irgendwie weiss ich nicht wie ich das damit hinbekomme, das reading der MacAdresse steht immer auf "short" und nur das Datum/die Zeit aktualisieren sich beim Drücken des Dash Buttons.

Wie könnte ich das realisieren?

Danke

...

Es müsste reichen in der Spalte "Notify by RegExp" den Namen des Devices, also "DashButtonAlarm" einzutragen.

pcbastler

Hallo zusammen,
ich hab die freien Tage genutzt, um die einzelnen Warnungen diverser Sensoren über das Modul zusammenzufassen. Dabei bin ich über eine Kleinigkeit gestolpert.
Ich hab einen HM-SEC-WDS-2 (Homematic Wassersensor) im Einsatz. Logik sollte sein:
- bei "damp" oder "wet" Alarm auslösen
- bei "dry" Alarm zurücksetzen

Zuerst wollte ich das direkt über den Status des Sensors lösen, dabei bin ich aber gescheitert. Mit der Wiki-Anleitung hab ich das dann über 2 Dummys und 2 notify hinbekommen.
So richtig elegant erscheint mir diese Lösung aber nicht  :(
Geht das schöner?
Ich hatte hier als Ansatz: Status ist entweder "dry" --> zurücksetzen, oder nicht --> auslösen
Hab ich mich verständlich ausgedrückt?
vielen Dank für eure Hilfe!

onkel25

Hallo zusammen,

ich scheitere gerade schon länger an der OpenHouse-Routine.

Ich habe den Code aus dem Wiki

if( $main::value{'BK.F'} ne "Closed" ){

angepasst an meine Nomenklatur (das Device heißt WZ.Tuersensor.L und der state ist closed, wenn es verschlossen ist).

if( $main::value{'WZ.Tuersensor.L'} ne 'closed' ){

Leider werden jedoch alle Tuersensoren konsequent als nicht verschlossen gewertet - also ist vermutlich in "meinem" if ein Fehler. Kann mir da jemand einen Tipp geben, wie ich den nachvollziehen kann? Kann ich z.B. den value, den die Routine liest auch irgendwie auslesen, damit ich schauen kann, woran es scheitert?

Vielen Dank und Grüße, Mario

Prof. Dr. Peter Henning

Mein Tipp: Sich ein wenig mit den Grundlagen von Perl befassen, und nur Code abtippen, den man auch versteht. Einfach statt
$main::value{'BK.F'} einsetzen
Value("BK.F")

LG

pah

onkel25

Vielen Dank! Das klappt. Hatte bei meinen Anpassungsversuchen Value nicht groß geschrieben...

Hast Du ggf. noch ein Stichwort, was das $main::value{} macht und eine Lektüreempfehlung für einen (fhem-)praxisnahen Leitfaden zu Perl? Sonst steige ich nach "Hallo Welt" vermutlich wieder aus.

Gruß, Mario


ChrisW

Leider ist das Problem immer noch das die Auslösewartezeit Ignoriert wird bei allelichteran ..
Liegt es an der Trennung der Befehle ? Bei Alarmauslösung werden ohne Wartezeit alle Lichter eingeschaltet :(

Hier nochmal ein list:


Internals:
   NAME       ALLE_LICHTER_AN
   NR         835
   STATE      ???
   TYPE       dummy
Attributes:
   alarmDevice Actor
   alarmSettings alarm0,alarm5,|set strom_hannibal_dect on;set led_durchreiche on;set lampe_unterstand on;set lampe_reitplatz_untertsand on;set lampe_wiese_misthaufen on||01:40
   room       Alarm
Raspberry PI3 mit allem möglichen.

Tommy82

Hi,
ich habe heute diese Meldung im Log
2019.01.09 16:34:21.346 1: PERL WARNING: Use of uninitialized value $xval in string eq at ./FHEM/95_Alarm.pm line 1389.
2019.01.09 16:34:21.347 3: eval: {Alarm_Html("Alarmanlage")}
2019.01.09 16:34:21.347 1: stacktrace:
2019.01.09 16:34:21.348 1:     main::__ANON__                      called by ./FHEM/95_Alarm.pm (1389)
2019.01.09 16:34:21.348 1:     main::Alarm_Html                    called by (eval 26951) (1)
2019.01.09 16:34:21.348 1:     (eval)                              called by fhem.pl (1117)
2019.01.09 16:34:21.349 1:     main::AnalyzePerlCommand            called by ./FHEM/98_weblink.pm (99)
2019.01.09 16:34:21.349 1:     main::weblink_FwFn                  called by ./FHEM/01_FHEMWEB.pm (1948)
2019.01.09 16:34:21.349 1:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (1097)
2019.01.09 16:34:21.350 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (548)
2019.01.09 16:34:21.350 1:     main::FW_Read                       called by fhem.pl (3610)
2019.01.09 16:34:21.350 1:     main::CallFn                        called by fhem.pl (727)


Woher kommt das, bzw. was muss ich tun?
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI