Echos als Türklingel

Begonnen von ms_steini, 01 April 2022, 10:06:49

Vorheriges Thema - Nächstes Thema

ms_steini

Hallo zusammen,

ich habe erfolgreich meine 4 Echos in Fhem eingebunden.
Nun versuche ich 3 Echos (Wonzimmer, EG Diele und OG Diele) als Türklingel zu benutzen.
Als Signalgeber habe ich ein HM-PBI-4-FM (Funk-Tasterschnittstelle 4fach) am Klingelknopf im Einsatz.
Dazu habe ich ein Notify erstellt welches sehr merkwürdige und immer unterschiedliche Ergebnisse liefert...

Code: [Auswählen]

define NTF_DoorBell notify DoorBellButton_Btn_01:.*|DoorBellButton_Btn_02:.*
set ECHO_Wohnzimmer,ECHO_EG_Diele,ECHO_OG_Diele volume 55;
set ECHO_Wohnzimmer,ECHO_EG_Diele,ECHO_OG_Diele sounds tuerklingel_3;
set ECHO_Wohnzimmer,ECHO_EG_Diele,ECHO_OG_Diele volume 30;


einmal wird NUR im Wohnzimmer die Lautstärke auf 55 erhöt, dann spielt NUR der Sound in OG Diele ohne die Lautstärke zu erhöhen usw.

Für SPEAK gibt es ja das Attribut "speak_volume".... für Sounds leider nicht und wenn die Echos sehr leise eingestellt sind höre ich nichts.

Vielleicht packe ich das ganze auch falsch an und ihr könnt mir dabei helfen...

Vielen Dank

Beta-User

Zitat von: MadMax-FHEM am 01 April 2022, 09:29:08
Auszüge aus dem Eventmonitor beim Drücken posten.

Glaskugel sagt: das ist CUL_HM, und da gibt es sehr viel mehr Events als früher => "Schluckauf"...?

Lösung (wie in allen diesen Fällen): trigger-regexp entsprechend eingrenzen.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

slor

Ggf auch delay Zeichen die einzelnen Befehle bauen.

ms_steini

Eventmonitor sagt

Zitat2022-04-01 10:43:51 CUL_HM DoorBellButton DoorBellButton_Btn_01 Short
2022-04-01 10:43:51 CUL_HM DoorBellButton_Btn_01 Short 1_24 (to DoorBell)
2022-04-01 10:43:51 CUL_HM DoorBellButton_Btn_01 trigger: Short_24
2022-04-01 10:43:51 CUL_HM DoorBellButton_Btn_01 triggerTo_DoorBell: Short_24
2022-04-01 10:43:51 CUL_HM DoorBellButton_Btn_01 trigger_cnt: 24

Beta-User

Zitat von: ms_steini am 01 April 2022, 10:45:18
Eventmonitor sagt
a) warum nicht gleich mitgeliefert....?
b) qed
Warum versuchst du dann nicht gleich den Fix, wenn die Lösung schon mehr oder weniger da stand...?!?
define NTF_DoorBell notify DoorBellButton_Btn_01:trigger:.*|DoorBellButton_Btn_02:trigger:.* [bla]
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

ms_steini

ja sorry, ist mir nicht sofort aufgefallen, bzw. habe in eine andere Richtung gedacht

ms_steini

aber irgendwie gehts nicht

Eventmonitor vom Echo OG Diele:
Zitat
2022-04-01 10:55:02 echodevice ECHO_G090XG089433009C volume: 55
2022-04-01 10:55:02 echodevice ECHO_G090XG089433009C volume: 30
2022-04-01 10:55:11 echodevice ECHO_G090XG089433009C volume: 55
2022-04-01 10:55:11 echodevice ECHO_G090XG089433009C volume: 30
2022-04-01 10:55:19 echodevice ECHO_G090XG089433009C volume: 55
2022-04-01 10:55:19 echodevice ECHO_G090XG089433009C volume: 30

der Sound wird nicht abgespielt.


Mein notify sieht jetzt so aus:
Zitatdefine NTF_DoorBell notify DoorBellButton_Btn_01:trigger:.*|DoorBellButton_Btn_02:trigger:.*
set ECHO_G090XG089433009C,ECHO_G2A0XL070276012U,ECHO_G0911W0995141FT7 volume 55;
set ECHO_G090XG089433009C,ECHO_G2A0XL070276012U,ECHO_G0911W0995141FT7 sounds tuerklingel_3;
set ECHO_G090XG089433009C,ECHO_G2A0XL070276012U,ECHO_G0911W0995141FT7 volume 30

Beta-User

#7
...dann als nächsten Schritt:
Zitat von: slor am 01 April 2022, 10:20:01Ggf auch delay Zeichen die einzelnen Befehle bauen.
FHEM-sleep wäre dein Freund...

(die paar Sekunden zwischen den Events scheinen ja neue Tastendrücke zu sein).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

ms_steini

mh, insgesamt eine schlechte Lösung,
spielt z.B. auf einem Echo Musik mit der Lautstärke 25 wird auch die gespielte Musik
bei "set ECHO_G090XG089433009C volume 55" für einen kurzen Moment lauter abgespielt, das ist sehr unangenehm.
Aber wenn ich die Lautstärke für den Klingelton nicht hoch setze kann es sein das man die Klingel dann nicht hört.

Ich nehme auch sehr gerne Alternativvorschläge an


Beta-User

Hmm, sowas ist m.E. eine Sache, die man am Ausgabemodul konfigurieren können sollte, also: Wenn ein sound gespielt werden soll, soll der Rest pausieren und die Mindestlautstärke xy gelten (die dann ggf. auch danach wieder runtergestellt wird).
Kannst ja mal beim Developer freundlich fragen, ob er dafür Chancen sieht.

Ansonsten würde ich das mit Perl machen, und z.B. eben mit den Abfragen anfangen, ob grade was gespielt wird und wie laut.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

ms_steini

ja genau....

mir ist noch aufgefallen das bei  z.B. "set <device> sounds tuerklingel_3" die aktuell abgespielte Musik pausiert und nachdem der Sound gespielt wurde
die Musik weiterspielt. Bei <speak> spielt die Musik weiter und bekommt auch die Lautstärke die im  Attribut speak_volume eingestellt ist.

Ich versuche mal etwas mit Perl....

marboj

@ms_steini wenn Du eine Lösung hast, gerne hier schreiben, da ich die gleiche Herausforderung, aber auch noch keine Lösung habe...

Gruß und vielen Dank
Marco
meine FHEM-Konfiguration: Raspberry Pi4, BT-Dongle, CUL868, CeeBee II

Beta-User

Zitat von: ms_steini am 01 April 2022, 11:46:49
mir ist noch aufgefallen das bei  z.B. "set <device> sounds tuerklingel_3" die aktuell abgespielte Musik pausiert und nachdem der Sound gespielt wurde
die Musik weiterspielt. Bei <speak> spielt die Musik weiter und bekommt auch die Lautstärke die im  Attribut speak_volume eingestellt ist.
Hmm, dachte erst, dass dazu ggf. im echodevice-Modul (?) was zu finden wäre, aber auf die Schnelle sieht es so aus, als wäre das ein Verhalten, das direkt auf den Echos so vorgesehen ist. Wäre daher eine Frage an den Hersteller (falls sich im manual nicht was findet, wie man das konfigurieren kann...?).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

TomLee

#13
Zitatmir ist noch aufgefallen das bei  z.B. "set <device> sounds tuerklingel_3" die aktuell abgespielte Musik pausiert und nachdem der Sound gespielt wurde die Musik weiterspielt

Also bei mir ist es so das wenn Radio spielt die Musik dann leiser und der Klingelton lauter wie die Musik abgespielt wird, pausiert wird bei mir nix.

Mit den Echos, bin ich der Meinung, bekommt man eine zeitige Klingelsignalisierung nicht umgesetzt (was doof ist), immer nur zeitverzögert, es klappt auch nicht auf Events zu warten (mit sleep), das einzige Event das es gibt ist das volume-Reading und das ist immer noch zu früh das man danach gleich den sound -Befehl absetzen kann.

Zeitverzögert klappts sicher immer nur mit mind. 5 Sekunden, es geht auch manchmal früher, sogar ab und an nach 0,5 Sekunden, aber halt nicht immer.

Ohne Perl klappts bei mir so in der Art:

set TYPE=echodevice:FILTER=playStatus=playing pause;set model=Echo.Dot volume 55;sleep 5;set model=Echo.Dot sounds tuerklingel_3;sleep 3;set model=Echo.Dot volume 30;set ECHO_Wohnzimmer,ECHO_EG_Diele,ECHO_OG_Diele play

ms_steini

mein erster Ansatz mit einem Echo, sieht echt schlecht aus mit der Zeitverzögerung....
im Moment fällt mir auch nichts mehr ein....

Zitatsub door_bell_func()
{
   my $Vol = ReadingsVal('ECHO_G090XG089433009C','volume','');
   
   
   if (ReadingsVal('ECHO_G090XG089433009C','playStatus','') eq 'playing'){
      {fhem("set ECHO_G090XG089433009C pause")};
      {fhem("sleep 1;set ECHO_G090XG089433009C volume 50")};
      {fhem("sleep 1;set ECHO_G090XG089433009C speak <speak><audio src='soundbank://soundlibrary/bell/church/church_bells_06'/></speak>")};
      {fhem("sleep 6;set ECHO_G090XG089433009C volume $Vol")};
      {fhem("sleep 4;set ECHO_G090XG089433009C play")};
   } else {
      {fhem("set ECHO_G090XG089433009C volume 50")};
      {fhem("sleep 1;set ECHO_G090XG089433009C speak <speak><audio src='soundbank://soundlibrary/bell/church/church_bells_06'/></speak>")};
      {fhem("sleep 6;set ECHO_G090XG089433009C volume $Vol")};
   }
}