FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: weldel60 am 05 Januar 2018, 10:46:27

Titel: HmIP-ASIR in Fhem nutzen
Beitrag von: weldel60 am 05 Januar 2018, 10:46:27
Hallo,

habe die HmIP-ASIR Innensirene mit der CCU2 verbunden. Über Programme funktioniert diese auch mit der CCU2.
Als Device ist sie nun auch mit Fhem verbunden.

Wie kann ich die Sirene nun von Fhem aus aktivieren?

Hier die Deviceinfo:

CHN 000AD569A34E88:0 HM-Sirene:0
  DPT {b} HmIP-RF.000AD569A34E88:0.CONFIG_PENDING = false [RE]
  DPT {b} HmIP-RF.000AD569A34E88:0.DUTY_CYCLE = false [RE]
  DPT {n} HmIP-RF.000AD569A34E88:0.ERROR_CODE = 0 [RE]
  DPT {b} HmIP-RF.000AD569A34E88:0.LOW_BAT = false [RE]
  DPT {f} HmIP-RF.000AD569A34E88:0.OPERATING_VOLTAGE = 4.600000 [RE]
  DPT {n} HmIP-RF.000AD569A34E88:0.RSSI_DEVICE = 194 [RE]
  DPT {n} HmIP-RF.000AD569A34E88:0.RSSI_PEER = 198 [RE]
  DPT {b} HmIP-RF.000AD569A34E88:0.SABOTAGE = false [RE]
  DPT {b} HmIP-RF.000AD569A34E88:0.UNREACH = false [RE]
  DPT {b} HmIP-RF.000AD569A34E88:0.UPDATE_PENDING = false [RE]
CHN 000AD569A34E88:1 HmIP-ASIR 000AD569A34E88:1
  DPT {b} HmIP-RF.000AD569A34E88:1.PRESS_LONG =  [E]
  DPT {b} HmIP-RF.000AD569A34E88:1.PRESS_SHORT =  [E]
CHN 000AD569A34E88:2 HmIP-ASIR 000AD569A34E88:2
  DPT {i} HmIP-RF.000AD569A34E88:2.PROCESS = 0 [RE]
  DPT {i} HmIP-RF.000AD569A34E88:2.SECTION = 0 [RE]
  DPT {b} HmIP-RF.000AD569A34E88:2.STATE = false [RE]
CHN 000AD569A34E88:3 HmIP-ASIR 000AD569A34E88:3
  DPT {i} HmIP-RF.000AD569A34E88:3.ACOUSTIC_ALARM_SELECTION =  [W]
  DPT {i} HmIP-RF.000AD569A34E88:3.DURATION_UNIT =  [W]
  DPT {i} HmIP-RF.000AD569A34E88:3.DURATION_VALUE =  [W]
  DPT {i} HmIP-RF.000AD569A34E88:3.OPTICAL_ALARM_SELECTION =  [W]
  DPT {i} HmIP-RF.000AD569A34E88:3.PROCESS = 0 [RE]
  DPT {i} HmIP-RF.000AD569A34E88:3.SECTION = 0 [RE]
  DPT {b} HmIP-RF.000AD569A34E88:3.STATE = false [RE]

Im Programm der CCU2 müssen immer die ersten 4 Werte für den Kanal 3 angegeben werden.

Wie kann ich einen Device anlegen, der diese 4 Werte überträgt?

Kann hier jemand helfen?
Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: zap am 05 Januar 2018, 15:59:31
Du definierst ein Device mit HCCUDEV, z.B.

define meineSirene HMCCUDEV NameOderAdresse

Dann:

set meineSirene datapoint 3.ACOUSTIC_ALARM_SELECTION Wert
set meineSirene datapoint ...

Wenn Du noch irgendwelche Readings benötigst, dann ccureadingfilter entsprechend setzen.



Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: weldel60 am 06 Januar 2018, 10:42:24
Zitat von: zap am 05 Januar 2018, 15:59:31
1. Du definierst ein Device mit HCCUDEV, z.B.

2. define meineSirene HMCCUDEV NameOderAdresse

3. Dann:

set meineSirene datapoint 3.ACOUSTIC_ALARM_SELECTION Wert
set meineSirene datapoint ...

Wenn Du noch irgendwelche Readings benötigst, dann ccureadingfilter entsprechend setzen.

1. und 2. hatte ich schon.
Gebe ich 3. die set.....-Befehle nacheinander händisch ein, klappt es schon mal - Danke.

Wie verpacke ich nun die 4 notwendigen Set-befehle?
Ein Dummy und notify?

Irgendwie stehe ich auf dem Schlauch.
Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: zap am 06 Januar 2018, 12:46:53
Da führen vermutliche mehrere Wege zum Ziel:

1. dummy und notify
2. readingproxy (du sparst das notify)
....



Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: weldel60 am 06 Januar 2018, 13:54:29
Ich habe:

Dummy:
define SireneTest dummy
attr SireneTest setList on off

und notify:
define Test2notify notify SireneTest {if ("$EVENT" eq "on") {fhem("set HM_HM_Sirene datapoint 3.ACOUSTIC_ALARM_SELECTION DISABLE_ACOUSTIC_SIGNAL");; fhem("set HM_HM_Sirene datapoint 3.OPTICAL_ALARM_SELECTION ALTERNATELY_REPEATING");; fhem("set HM_HM_Sirene datapoint 3.DURATION_UNIT S");; fhem("set HM_HM_Sirene datapoint 3.DURATION_VALUE 10")}elseif {fhem("set HM_HM_Sirene datapoint 3.ACOUSTIC_ALARM_SELECTION DISABLE_ACOUSTIC_SIGNAL")}}

rennt aber nicht.
Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: zap am 06 Januar 2018, 14:23:34
Was passiert wenn du den Teil {fhem(...} in der Kommandozeile eingibst?

Ansonsten versuche mal ein fhem() mit mehreren Set Befehlen getrennt durch Semikolon.
Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: weldel60 am 06 Januar 2018, 16:01:33
Bei:
{fhem("set HM_HM_Sirene datapoint 3.ACOUSTIC_ALARM_SELECTION DISABLE_ACOUSTIC_SIGNAL");; fhem("set HM_HM_Sirene datapoint 3.OPTICAL_ALARM_SELECTION ALTERNATELY_REPEATING");; fhem("set HM_HM_Sirene datapoint 3.DURATION_UNIT S");; fhem("set HM_HM_Sirene datapoint 3.DURATION_VALUE 10")}elseif {fhem("set HM_HM_Sirene datapoint 3.ACOUSTIC_ALARM_SELECTION DISABLE_ACOUSTIC_SIGNAL")}

bekomme ich:

Can't call method "elseif" on an undefined value at (eval 15691) line 1.
Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: weldel60 am 06 Januar 2018, 16:21:20
Ohne elseif:

{fhem(set HM_HM_Sirene datapoint 3.ACOUSTIC_ALARM_SELECTION DISABLE_ACOUSTIC_SIGNAL; set HM_HM_Sirene datapoint 3.OPTICAL_ALARM_SELECTION ALTERNATELY_REPEATING; set HM_HM_Sirene datapoint 3.DURATION_UNIT S; set HM_HM_Sirene datapoint 3.DURATION_VALUE 10)}

Unknown command {fhem(set, try help.
Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: zap am 06 Januar 2018, 17:11:59
in perl "elsif" statt "elseif"
Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: weldel60 am 06 Januar 2018, 18:13:33
Aus der Kommandozeile:
{fhem("set HM_HM_Sirene datapoint 3.ACOUSTIC_ALARM_SELECTION DISABLE_ACOUSTIC_SIGNAL");; fhem("set HM_HM_Sirene datapoint 3.OPTICAL_ALARM_SELECTION ALTERNATELY_REPEATING");; fhem("set HM_HM_Sirene datapoint 3.DURATION_UNIT S");; fhem("set HM_HM_Sirene datapoint 3.DURATION_VALUE 10")} elsif {fhem("set HM_HM_Sirene datapoint 3.ACOUSTIC_ALARM_SELECTION DISABLE_ACOUSTIC_SIGNAL")}

kommt:
syntax error at (eval 21496) line 1, near "} elsif"
Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: zap am 07 Januar 2018, 16:18:29
Und was soll jetzt das elsif darin bewirken? Und wo ist das if dazu? Und wo ist die Bedingung für elsif? Du musst schon syntaktisch korrekten Perl Code angeben.
Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: weldel60 am 07 Januar 2018, 18:18:45
Habe nach deinem Tipp ohne notify versucht:

define Test4 DOIF ([SireneTest] eq "on") (set HM_HM_Sirene datapoint 3.ACOUSTIC_ALARM_SELECTION "DISABLE_ACOUSTIC_SIGNAL"; set HM_HM_Sirene datapoint 3.OPTICAL_ALARM_SELECTION "ALTERNATELY_REPEATING"; set HM_HM_Sirene datapoint 3.DURATION_UNIT "S"; set HM_HM_Sirene datapoint 3.DURATION_VALUE 10)

SireneTest wird abgefragt - zu cmd1 gewechselt.

Keine Fehlermeldung im Logfile.

Die Sirene, bzw. Lichtsignal bekomme ich nicht aktiviert. Von der CCU2 aus funktioniert es nach wie vor.?????
Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: zap am 07 Januar 2018, 20:44:52
Es würde mich doch sehr wundern, wenn die Datenpunkte Texte akzeptieren würden. Das sind Integer Werte. Du musst also zB DISABLE_... durch die entsprechende Zahl ersetzen
Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: weldel60 am 08 Januar 2018, 09:15:24
Hier der Auszug der entsprechenden Indizes.

Alarmsirene - ACOUSTIC_ALARM_SELECTION
======================================
DISABLE_ACOUSTIC_SIGNAL
FREQUENCY_RISING
FREQUENCY_FALLING
FREQUENCY_RISING_AND_FALLING
FREQUENCY_ALTERNATING_LOW_HIGH
FREQUENCY_ALTERNATING_LOW_MID_HIGH
FREQUENCY_HIGHON_OFF
FREQUENCY_HIGHON_LONGOFF
FREQUENCY_LOWON_OFF_HIGHON_ OFF
FREQUENCY_LOWON_LONGOFF_HIGHON_LONGOFF
LOW_BATTERY
DISARMED
INTERNALLY_ARMED
EXTERNALLY_ARMED
DELAYED_INTERNALLY_ARMED
DELAYED_EXTERNALLY_ARMED EVENT
ERROR

Alarmsirene - OPTICAL_ALARM_SELECTION
=====================================
DISABLE_OPTICAL_SIGNAL
BLINKING_ALTERNATELY_REPEATING
BLINKING_BOTH_REPEATING
DOUBLE_FLASHING_REPEATING
FLASHING_BOTH_REPEATING
CONFIRMATION_SIGNAL_0
CONFIRMATION_SIGNAL_1
CONFIRMATION_SIGNAL_2

Alarmsirene - DURATION_UNIT
===========================
S
M
H
D
Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: zap am 08 Januar 2018, 11:32:10
Ich denke, dass die bei 0 anfangen zu zählen.  Also einfach durchnummerieren oder mal im Homematic Forum fragen, ob jemand die numerischen Werte kennt
Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: doman75 am 10 Januar 2018, 18:54:17
Gibt es hier schon Neuigkeiten? Ist evtl die Reihenfolge der Befehle wichtig, also erst zeiteinheit,Dauer,akustiksignal und dann optiksignal?

Grüsse
Swen
Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: kjmEjfu am 10 Januar 2018, 19:01:46
https://www.elv.de/topic/ccu2-einbinden.html
Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: doman75 am 11 Januar 2018, 11:28:52
Hi,

ich habe das jetzt in 3 verschiedenen DOIF Varianten probiert, keine geht, wo ist mein Denkfehler?

Variante1:

([IT_V3_f6b8001] eq "An")(set HM_AlarmSirene datapoint 3.DURATION_VALUE 1)
(set HM_AlarmSirene datapoint 3.DURATION_UNIT M)
(set HM_AlarmSirene datapoint 3.OPTICAL_ALARM_SELECTION FLASHING_BOTH_REPEATING)
(set HM_AlarmSirene datapoint 3.ACOUSTIC_ALARM_SELECTION DISABLE_ACOUSTIC_SIGNA



([IT_V3_f6b8001] eq "An")
(set HM_AlarmSirene datapoint 3.ACOUSTIC_ALARM_SELECTION DISABLE_ACOUSTIC_SIGNAL)
(set HM_AlarmSirene datapoint 3.OPTICAL_ALARM_SELECTION FLASHING_BOTH_REPEATING)
(set HM_AlarmSirene datapoint 3.DURATION_UNIT M)
(set HM_AlarmSirene datapoint 3.DURATION_VALUE 1)



([IT_V3_f6b8001] eq "An")
(set HM_AlarmSirene datapoint 3.DURATION_UNIT M)
(set HM_AlarmSirene datapoint 3.DURATION_VALUE 1)
(set HM_AlarmSirene datapoint 3.ACOUSTIC_ALARM_SELECTION DISABLE_ACOUSTIC_SIGNAL)
(set HM_AlarmSirene datapoint 3.OPTICAL_ALARM_SELECTION FLASHING_BOTH_REPEATING)


Grüße
Swen
Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: zap am 11 Januar 2018, 11:55:41
Hatte ich doch schon weiter oben geschrieben: Die Datenpunkte sind nummerisch, d.h. Du musst Zahlen statt der Strings übergeben. Welche Zahl für welchen String steht, lässt sich nur vermuten. Normalerweise nummeriert EQ3 die von 0 beginnend durch. Schau Dir also die Doku und und zähle ab 0.
Oder Du suchst oder fragst mal im Homematic Forum (damit meine ich das richtige, nicht das Unterforum hier).

Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: weldel60 am 11 Januar 2018, 12:31:03
Hallo doman75,

in openHAB hat die ASIR einer zum Laufen gebracht. Siehe Anhang. Hier wurden die ausgeschriebenen Ausdrücke verwendet.

Innerhalb eines Programmes der CCU2 läuft die Sirene wie im Anhang 2 zu sehen.

Über fhem stehe ich momentan auch an. Sorry.
Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: doman75 am 11 Januar 2018, 12:50:31
@zap ich denke nicht das da nummerische Werte erwartet werden, da in der Doku und auch in dem Openhab Beispiel immer Strings verwendet werden. Der Typ ist ja auch extra Enum und nicht wie an anderen Stellen Integer, Float Boolean oder was auch immer. Stört es das HMCCU Modul das da ein String kommt oder wird das einfach weggeschickt?

Ich bin schon in anderen foren wie openhab oder homematic deswegen unterwegs

Grüße
Swen
Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: doman75 am 11 Januar 2018, 12:54:16
@weldel ich habe in der ccu2 beim programm mehrere unterschiedliche Reihenfolgen probiert, der Alarm wurde immer ausgelöst. Es mussten nur alle 4 Parameter nacheinander gesetzt werden, nimmt man nur 2 geht es nicht.

Grüße
Swen
Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: doman75 am 11 Januar 2018, 13:25:00
Also zap hatte wohl doch recht  ;)


([IT_V3_f6b8001] eq "An")
(set HM_AlarmSirene datapoint 3.DURATION_UNIT 1,
set HM_AlarmSirene datapoint 3.DURATION_VALUE 1,
set HM_AlarmSirene datapoint 3.ACOUSTIC_ALARM_SELECTION 0,
set HM_AlarmSirene datapoint 3.OPTICAL_ALARM_SELECTION 1)


mit diesen Code hat jetzt die Alarmsirene etwas gemacht, was genau kann ich nicht sagen, da ich weder in Sichtweite noch in Hörweite bin. Das muss ich dann vor ort mal testen.
Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: weldel60 am 11 Januar 2018, 13:55:20
Korrekt.

Die aus Post #13 angegebenen Datenpunkte werden jeweils mit 0 beginnend nummeriert.

also z.B. Duration_Unit:
S = 0
M = 1
usw.

Super Teamwork.
Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: zap am 11 Januar 2018, 20:29:12
Ich nehme an, dass die Openhab Entwickler intern die Strings auf Zahlen mappen
Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: kjmEjfu am 28 Februar 2018, 13:59:47
hier kann man übrigens die Werte auch nochmal direkt nachschlagen (ohne selber zählen zu müssen): https://www.symcon.de/forum/threads/35652-HomeMatic-IP-Alarmsirene-schalten-HmIP-ASIR?s=&p=342934#post342934
Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: Phreak87 am 22 Mai 2020, 00:03:51
Also ich konnte die Sirene mit folgendem code im define starten:

([SireneTest] eq "on")     
(set Sirene datapoint 3.ACOUSTIC_ALARM_SELECTION 0,
set Sirene datapoint 3.OPTICAL_ALARM_SELECTION 1,
set Sirene datapoint 3.DURATION_UNIT 0,
set Sirene datapoint 3.DURATION_VALUE 3 )

Titel: Antw:HmIP-ASIR in Fhem nutzen
Beitrag von: zap am 22 Mai 2020, 08:56:53
Zitat von: Phreak87 am 22 Mai 2020, 00:03:51
Also ich konnte die Sirene mit folgendem code im define starten:

([SireneTest] eq "on")     
(set Sirene datapoint 3.ACOUSTIC_ALARM_SELECTION 0,
set Sirene datapoint 3.OPTICAL_ALARM_SELECTION 1,
set Sirene datapoint 3.DURATION_UNIT 0,
set Sirene datapoint 3.DURATION_VALUE 3 )

Mittlerweile sollte auch das funktionieren:

set Sirene datapoint 3.ACOUSTIC_ALARM_SELECTION 0 3.OPTICAL_ALARM_SELECTION 1 3.DURATION_UNIT 0 3.DURATION_VALUE 3