HM-SEC-SFA-SM Funk-Sirenensteuerung nicht alle Funktionen möglich

Begonnen von PowerDiz, 12 Januar 2013, 12:01:47

Vorheriges Thema - Nächstes Thema

martinp876

Hi,

Kanaele drehe ich.

Das mit den Events schaue ich mir an.
a) das mit dem device sollte korrekt sein
b) das mit dem 'nicht-push' muss ich untersuchen - sollte eigentlich gehen, da es wie alle anderen Events abgesendet wird.

Frage: hast du event-on-change eingestellt?

Gruss
Martin

Dennis D.

mal naiv gefragt:

muss man bezüglich der vertauschten kanäle nicht einfach in zeile 177


  "0050" => {name=>"HM-SEC-SFA-SM"           ,cyc=>''      ,rxt=>''    ,lst=>'1,3'          ,chn=>"Flash:1:1,Siren:2:2",},

in

  "0050" => {name=>"HM-SEC-SFA-SM"           ,cyc=>''      ,rxt=>''    ,lst=>'1,3'          ,chn=>"Siren:1:1,Flash:2:2",},

ändern? Also "Siren" und "Flash" tauschen?

Aber noch ne andere Sache. Reicht ein update fhem aus, oder sollte ich das device neu pairen. die readings für sabotage, power und battery habe ich jetzt nämlich unter dem device UND der sirene stehen.
FHEM 5.5 auf RPi Rev. B 512 mit HMLAN (HM-CFG-LAN)

CUL_HM: HM-LC-Bl1PBU-FM,HM-LC-SW1-BA-PCB,HM-LC-SW4-SM,HM-LC-Sw1PBU-FM,HM-OU-LED16,HM-PB-2-WM55,HM-RC-KEY3-B,HM-SEC-KEY,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SD,HM-WDS10-TH-O,HM-WDS40-TH-I

OWDevice: DS18B20,DS2438

Dennis D.

oh, da war jemand schneller. :)

meine frage konnte ich mir gerade auch selber beantworten. mit "set <device> clear readings". nun siehts besser aus.

aber was ist denn event-on-change, bzw. wo stellt man das ein?
FHEM 5.5 auf RPi Rev. B 512 mit HMLAN (HM-CFG-LAN)

CUL_HM: HM-LC-Bl1PBU-FM,HM-LC-SW1-BA-PCB,HM-LC-SW4-SM,HM-LC-Sw1PBU-FM,HM-OU-LED16,HM-PB-2-WM55,HM-RC-KEY3-B,HM-SEC-KEY,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SD,HM-WDS10-TH-O,HM-WDS40-TH-I

OWDevice: DS18B20,DS2438

Dennis D.

und wo wir schon mal dabei sind :)

mir ist noch was aufgefallen. bei mir erscheinen nur battery- und sabotage-readings, nicht jedoch die power-readings. So sehen meine Readings zum device nach "getConfig" und "get reg all" aus:

PairedTo          0xE06355   2013-01-19 12:04:08
R-batDefectLimit  0.5 Ohm   2013-01-19 12:04:08
R-cyclicInfoMsg   on           2013-01-19 12:04:08
R-lowBatLimit     10.5 V   2013-01-19 12:04:08
R-sabotageMsg     on        2013-01-19 12:04:08

Der State beibt auf "set_off" stehen und entsprechend habe ich bei dem device ein ausrufezeichen in der lampe stehen (webfrontend). hatte zuvor auf dem device ein "missing ackt" nach "update fhem" und "shutdown restart"
FHEM 5.5 auf RPi Rev. B 512 mit HMLAN (HM-CFG-LAN)

CUL_HM: HM-LC-Bl1PBU-FM,HM-LC-SW1-BA-PCB,HM-LC-SW4-SM,HM-LC-Sw1PBU-FM,HM-OU-LED16,HM-PB-2-WM55,HM-RC-KEY3-B,HM-SEC-KEY,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SD,HM-WDS10-TH-O,HM-WDS40-TH-I

OWDevice: DS18B20,DS2438

martinp876

Zitat von: spunky78 schrieb am Sa, 19 Januar 2013 12:11mir ist noch was aufgefallen. bei mir erscheinen nur battery- und sabotage-readings, nicht jedoch die power-readings. So sehen meine Readings zum device nach "getConfig" und "get reg all" aus:

PairedTo          0xE06355   2013-01-19 12:04:08
R-batDefectLimit  0.5 Ohm   2013-01-19 12:04:08
R-cyclicInfoMsg   on           2013-01-19 12:04:08
R-lowBatLimit     10.5 V   2013-01-19 12:04:08
R-sabotageMsg     on        2013-01-19 12:04:08

Der State beibt auf "set_off" stehen und entsprechend habe ich bei dem device ein ausrufezeichen in der lampe stehen (webfrontend). hatte zuvor auf dem device ein "missing ackt" nach "update fhem" und "shutdown restart"

powerError sollte ganz normal kommen, wird immer zusammen mit sabotage geschrieben.
set_xxx bedeuted immer, dass aus FHEM en Kommando abgeschickt wurde, es aber noch keine bestaetigung gibt. Bei registern muss man ein neues getConfig abschicken um sicherzugehen. Danach sollten alle set_ weg sein.
Bei kommandos genuegt das ACK des device. wenn set_on stehen bleibt ist das Kommando nicht akzeptiert worden!

Gruss
Martin

PowerDiz

Hallo Martin,

so ich hab nochmal mit autocreate die Konfiguration für das Device erstellen lassen:

define CUL_HM_switch_125FFF CUL_HM 125FFF
attr CUL_HM_switch_125FFF devInfo 820100
attr CUL_HM_switch_125FFF firmware 1.0
attr CUL_HM_switch_125FFF hmClass receiver
attr CUL_HM_switch_125FFF model HM-SEC-SFA-SM
attr CUL_HM_switch_125FFF room CUL_HM
attr CUL_HM_switch_125FFF serialNr GEQ0173622
attr CUL_HM_switch_125FFF subType switch
define FileLog_CUL_HM_switch_125FFF FileLog /var/log/fhem/CUL_HM_switch_125FFF-%Y.log CUL_HM_switch_125FFF
attr FileLog_CUL_HM_switch_125FFF logtype text
attr FileLog_CUL_HM_switch_125FFF room CUL_HM
define CUL_HM_switch_125FFF_Siren CUL_HM 125FFF01
attr CUL_HM_switch_125FFF_Siren model HM-SEC-SFA-SM
attr CUL_HM_switch_125FFF_Siren room CUL_HM
define FileLog_CUL_HM_switch_125FFF_Siren FileLog /var/log/fhem/CUL_HM_switch_125FFF_Siren-%Y.log CUL_HM_switch_125FFF_Siren
attr FileLog_CUL_HM_switch_125FFF_Siren logtype text
attr FileLog_CUL_HM_switch_125FFF_Siren room CUL_HM
define CUL_HM_switch_125FFF_Flash CUL_HM 125FFF02
attr CUL_HM_switch_125FFF_Flash model HM-SEC-SFA-SM
attr CUL_HM_switch_125FFF_Flash room CUL_HM
define FileLog_CUL_HM_switch_125FFF_Flash FileLog /var/log/fhem/CUL_HM_switch_125FFF_Flash-%Y.log CUL_HM_switch_125FFF_Flash
attr FileLog_CUL_HM_switch_125FFF_Flash logtype text
attr FileLog_CUL_HM_switch_125FFF_Flash room CUL_HM

Ergebnis:
Die Kanäle von Siren und Flash sind jetzt korrekt zugeordnet.

------------------------------------------------------

So hier mal die readings vom device CUL_HM_switch_125FFF:

PairedTo 0x141414 2013-01-20 11:33:05
R-batDefectLimit 0.5 Ohm 2013-01-20 11:33:05
R-cyclicInfoMsg on 2013-01-20 11:33:05
R-lowBatLimit 10.5 V 2013-01-20 11:33:05
R-sabotageMsg on 2013-01-20 11:33:05
RegL_00: 02:01 09:01 0A:14 0B:14 0C:14 10:01 12:69 13:32 14:06 00:00 2013-01-20 11:33:05
batterieError off 2013-01-20 11:40:38
powerError off 2013-01-20 11:40:38
sabotageError on 2013-01-20 11:40:38

Betätige ich den Sabotage Kontakt dann ändert sich der Zusastand von sabotageError entsprechen.

Es werden aber KEINE events ausglöst und keine Einträge in irgendein Logfile vorgenommen.

Danach hab ich das Device damit erweitert:
attr CUL_HM_switch_125FFF event-on-change-reading sabotageError

aber auch ohne Erfolg.


Soll ich jetzt noch irgendwelche Tests machen, wenn ja dann bitte die commands durchgeben, weil ich bin kein Profi bei den fhem commands.

Und Vielen Dank nochmal für deine ganze Arbeit hier. Respekt.

Gruß,
Dieter

martinp876

Hi,

ich werde noch einmal testen.

jedenfalls sollte die events in ein logfile des device gehen. Hast du eines mit entsptechenden filtern?

Bist du sicher den notify korret aufgesetzt zu haben? Also mit .*sabotage.* ?

Die eigentliche Notification prozedur ist FHEM-generell - da hat HM wenig zu tun.
Gruss
Martin

PowerDiz

Hi,
Danke für die Antwort.
Filter habe ich glaub ich keine speziellen.
Ich habe das FHEM standard konfiguriert laufen.
Das device wie gesagt per autocreate angelegt.

Den notify hatte ich schonmal so am laufen, aber mit den alten pushs in der hm_cul.pm von mir angepasst auf kanal 1.

define n_AlarmFunkSirene_sabotageError notify AlarmFunkSirene:sabotageError.* {if ("%"  =~ "on") {SendEmailDizLocal("AlarmFunkSirene Sabotage Error.")}}


Hatte auch super funktioniert.

Wenn Du nochmal schauen könntest wäre super.

Danke,
Dieter

Dennis D.

Bis vor kurzem funktionierte das auslösen des notifys bei Sabotage und damit das versenden einer E-Mail. Seit kurzem jedoch nicht mehr. Hat jemand ne Idee, woran das liegen könnte?

Mein Notify sieht wie folgt aus:

define Alarmgebersteuerung_sabotageError_pruef notify HA_Alarmgebersteuerung:sabotageError {if (ReadingsVal("HA_Alarmgebersteuerung","sabotageError","off") ne "off") {fhem ("trigger Alarmgebersteuerung_sabotageError")}}
FHEM 5.5 auf RPi Rev. B 512 mit HMLAN (HM-CFG-LAN)

CUL_HM: HM-LC-Bl1PBU-FM,HM-LC-SW1-BA-PCB,HM-LC-SW4-SM,HM-LC-Sw1PBU-FM,HM-OU-LED16,HM-PB-2-WM55,HM-RC-KEY3-B,HM-SEC-KEY,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SD,HM-WDS10-TH-O,HM-WDS40-TH-I

OWDevice: DS18B20,DS2438

PowerDiz

Hi,

die Readings für z.Bsp. Sabotage wurden jetzt vom Kanal 01 auf das device gemappt.
Es sollten auch events bei Änderung ausgelöst werden, was bei mir aber auch noch nicht funktioniert.

Da ich die Internas des Codes auch nicht kenne habe ich folgendes in den Code eingefügt, damit die Sabotage-Meldung wieder kommt.
In CUL_HM.pm ist dann die Zeile mit dem push .... einzufügen:


 elsif ($model eq "HM-SEC-SFA-SM"){ # && $chn eq "00")
CUL_HM_UpdtReadBulk(CUL_HM_getDeviceHash($shash),1,
                       "powerError:"   .(($err&0x02) ? "on":"off"),
                           "sabotageError:".(($err&0x04) ? "on":"off"),
                           "batterieError:".(($err&0x08) ? "on":"off"));

push @event,"sabotageError:".(($err&0x04) ? "on":"off");


Wenn das Dein define HA_Alarmgebersteuerung für die Sirene ist, dann sollte es klappen.
Ist zwar nur eine Krücke, aber es sollte klappen.

Gruß,
Dieter

Dennis D.

Ne, "HA_Alarmgebersteuerung" ist bei mir das Device. Und dort habe ich auch die entsprechenden Readings seit dem Update. Die Sirene ist "HA_Sirene" und der Blitzer "HA_Blitzer"

Was passiert denn durch das "Push"? Weil sobald ich ja den Sabotage-Schalter betätige, dann wird ja in den Readings direkt auf "on" gestellt. Daher müsste das mit einem notify doch funktionieren.

Gruß,
Dennis
FHEM 5.5 auf RPi Rev. B 512 mit HMLAN (HM-CFG-LAN)

CUL_HM: HM-LC-Bl1PBU-FM,HM-LC-SW1-BA-PCB,HM-LC-SW4-SM,HM-LC-Sw1PBU-FM,HM-OU-LED16,HM-PB-2-WM55,HM-RC-KEY3-B,HM-SEC-KEY,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SD,HM-WDS10-TH-O,HM-WDS40-TH-I

OWDevice: DS18B20,DS2438

PowerDiz

Hi Dennis,
ja bei mir hat das mit den Readings in soweit funktioniert, dass ich sie auch unter dem device sehen konnte (auch die Änderungen).
Wenn ich ein notify auf das device/sabotageError verknüpft habe, dann kam da aber nichts.
Ich habe auch nichts im device logfile. Bei den Kanälen kommen z.Bsp. deviceMsg:on, etc Meldungen.

Jetzt zu dem code.
Bei mir kommen durch das @push wieder sabotage events, die ich mit notify abfange. Aber eben auf dem Sirenen Kanal.

Ich werde bei mir nochmal mit den Readings und dem notify auf dem device selber testen.
Vielleicht verwechsle ich da auch was.

Gruß,
Dieter

Dennis D.

Hi Dieter,

versteh ich das richtig, dass man durch die "push"-Zeile das Reading quasi ebenfalls auf dem Sirenenkanal ausgibt und auf diesem dann das notify funktioniert?
Wäre zwar ne Übergangslösung, aber bei jedem Update müsste man das ja wieder neu anpassen, oder?

as ich mich halt frage ist, warum das notify damals aufm Sirenenkanal einwandfrei funktionierte und nun auf dem device nicht mehr. von wo man das notify das reading abliest müsste doch eigentlich wurst sein, oder?
FHEM 5.5 auf RPi Rev. B 512 mit HMLAN (HM-CFG-LAN)

CUL_HM: HM-LC-Bl1PBU-FM,HM-LC-SW1-BA-PCB,HM-LC-SW4-SM,HM-LC-Sw1PBU-FM,HM-OU-LED16,HM-PB-2-WM55,HM-RC-KEY3-B,HM-SEC-KEY,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SD,HM-WDS10-TH-O,HM-WDS40-TH-I

OWDevice: DS18B20,DS2438

PowerDiz

Hi Dennis,
ja ich bin ja auch nicht der Profi im fhem,
aber soweit ich weiss, lösst das push ein event auf dem Sirenenkanal aus und das kann mit notify abgefangen werden.
Schau mal in das Log vom Sirenenkanal, da siehst Du dann den Eintrag.

Ja ist nur eine Übergangslösung und ist nach jedem update weg, wenn die CUL_HM im Repository geändert wurde.

So wie ich das verstehe ist das so:
Auf dem Sirenen Kanal kommen die sabotage, etc. Status rein.
Martin hat sie dann auf das device umgebogen, damit sie da angezeigt werden und nicht mehr auf dem Sirenenkanal.
Jetzt weiss ich aber auch nicht, warum das device keinen event mehr auslösst, welches wir mit einem notify abfangen können.

Da ich jetzt nicht genau weiss, wie das fhem intern funktioniert, ist es für mich recht aufwendig durch den ganzen code zu gehen um das Problem zu analysieren.

Gruß,
Dieter

Dennis D.

Naja, dann warte ich da noch was. Vielleicht hat Martin hier noch ne Lösung und baut die ins offizielle Modul ein. Da bei einer Sabotagemeldung bei mir die Sirene auslösen soll, muss das schon zuverlässig funktionieren. ;-)
FHEM 5.5 auf RPi Rev. B 512 mit HMLAN (HM-CFG-LAN)

CUL_HM: HM-LC-Bl1PBU-FM,HM-LC-SW1-BA-PCB,HM-LC-SW4-SM,HM-LC-Sw1PBU-FM,HM-OU-LED16,HM-PB-2-WM55,HM-RC-KEY3-B,HM-SEC-KEY,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SD,HM-WDS10-TH-O,HM-WDS40-TH-I

OWDevice: DS18B20,DS2438