[gelöst] Rettungsdienst Alarmgong

Begonnen von dennis_n, 02 Februar 2022, 17:30:59

Vorheriges Thema - Nächstes Thema

dennis_n

Hallo,

wir wollen für unsere Rettungswache einen Alarmgong mit Duchsage bauen, aber mir fehkt noch so ein kleiner Gedankenanstoss bzw. Idee.
Ich weiss hier im Forum sind einige Feuerwehrleute, die Ihren digitalen Melder mit fhem verknüpft haben (ich auch). Vielleicht kann mir da einer weiterhelfen.

Wir haben für jedes Auto einen Melde mit Ladeschale. Das Relais in der Ladeschale kann ich dazu nutzen, etwas zu triggern. Es handelt sich dabei um einen potentialfreien Kontakt.
Im Falle eines Alarm schließt das Relais und soll damit etwas auslösen.

Ich würde gerne dass dann über fhem und speak ein Satz ausgegebn wird wie z.b.: Einsatzalarm für den RTW 1

Jetzt sind es insgesamt aber 8 Melder mit Ladeschale. D.h. wenn ein anderer Melder auslöst, soll natürlich die Durchsage kommen: Einsatzalarm für den RTW 3 oder so.

Ich brauche also eine Platine oder so, die die ganzen Melderkontakte "sammelt" und auswertet. Je nachdem welches Relais dann geschlossen wird, soll der entsprechende Satz über Lautsprecher ausgegeben werden.
Lautsprecher könnte ich doch mit einem kleinen Verstärker an den Pi anschließen. Die Ausgabe über speak sollte da doch funktionieren oder?

Vielleicht kann mir da einer mal auf die Sprünge helfen.

Danke

andies

Tasmota kann ja Taster entgegennehmen und damit hast du die Relais in FHEM.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

dennis_n

Hallo,

ich bin ein Stück weiter, aber es funktioniert noch nicht ganz.
Ich habe den Pi mit fhem installiert. Dann habe ich das Tool MPD installiert.
Entsprechende mp3 Dateien ins Verzeichnis gelegt.

Wenn ich unter fhem MPD aufrufe, lässt sich die Datei einwandfrei über den Klinkeausgang am Pi abspielen.

Jetzt habe ich wiringPi installiert und möchte, dass die Datei abgespielt wird, wenn der GPIO4 gegen Masse geschaltet wird.
GPIO4 kann ich ansteuern, das state ändert sich je nachdem ob der Kontakt geschlossen ist oder nicht.

list vom GPIO:
Internals:
   DEF        4
   EXCEPT_FD  7
   FUUID      61fe88d7-f33f-6e64-f599-7ea8418c8bf87198
   GPIO_Basedir /sys/class/gpio
   GPIO_Nr    4
   NAME       GPIO4
   NR         15
   STATE      on
   TYPE       RPI_GPIO
   WiringPi_gpio /usr/local/bin/gpio
   lasttrg    1644074998.3371
   READINGS:
     2022-02-05 16:29:58   Dblclick        off
     2022-02-05 16:29:59   Longpress       on
     2022-02-05 16:29:58   Pinlevel        high
     2022-02-05 16:29:58   state           on
   fhem:
     interfaces switch
Attributes:
   active_low yes
   direction  input
   interrupt  both
   pud_resistor up
   verbose    5


Das ganze will ich über DOIF abfragen. Wenn sich also am state des GPIO etwas ändert, dann spiele die Datei ab.

list DOIF:
Internals:
   DEF        ([GPIO_IN_04] eq "off") (set myMPD play)
   DOIFDEV    ^global$|^GPIO_IN_04$
   FUUID      61fe9110-f33f-6e64-4483-a7c0ce3984bb3ab1
   MODEL      FHEM
   NAME       Gong
   NR         16
   NTFY_ORDER 50-Gong
   STATE      initialized
   TYPE       DOIF
   VERSION    24905 2021-09-01 18:35:54
   READINGS:
     2022-02-05 16:29:53   cmd             0
     2022-02-05 16:29:53   mode            enabled
     2022-02-05 16:29:53   state           initialized
   Regex:
     accu:
     collect:
     cond:
       GPIO_IN_04:
         0:
           &STATE     ^GPIO_IN_04$
   attr:
     cmdState:
       0:
         on
       1:
         off
     cmdpause:
       1
       1
   condition:
     0          ::InternalDoIf($hash,'GPIO_IN_04','STATE') eq "off"
   do:
     0:
       0          set myMPD play
     1:
   helper:
     DEVFILTER  ^global$|^GPIO_IN_04$
     NOTIFYDEV  global|GPIO_IN_04
     globalinit 1
     last_timer 0
     sleeptimer -1
   internals:
     all         GPIO_IN_04:STATE
   uiState:
   uiTable:
Attributes:
   cmdState   on|off
   cmdpause   1:1
   do         always
   verbose    5


Und genau hier hänge ich. Beim schließen des Kontaktes, wird die Datei einfach nicht abgespielt.

Gruss
Dennis

MadMax-FHEM

Ich denke der Trigger passt nicht.

Das Device heißt doch "GPIO4" ein "GPIO_IN_04" kann ich nicht finden...
Also mögliche Events gibt es ja verm. nur:
Zitat
     2022-02-05 16:29:58   Dblclick        off
     2022-02-05 16:29:59   Longpress       on
     2022-02-05 16:29:58   Pinlevel        high
     2022-02-05 16:29:58   state           on

Warum bei sowas simplen ein DOIF? ;)

Aber egal, am einfachsten den Eventmonitor öffnen (Filter setzen), den GPIO schalten den passenden Event markieren und auf "create/modify" und ein notify/DOIF/... anlegen lassen. Den Ausführungsteil anpassen: fertig :)
https://wiki.fhem.de/wiki/Event_monitor

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

dennis_n

 :-X :-X :-X

Der Trigger war es. Sorry für die Umstände. Das habe ich glatt übersehen.

Gruss
Dennis

MadMax-FHEM

Zitat von: dennis_n am 07 Februar 2022, 11:19:40
:-X :-X :-X

Der Trigger war es. Sorry für die Umstände. Das habe ich glatt übersehen.

Gruss
Dennis

Kein Ding, kann schon mal vorkommen ;)

Viel Erfolg noch!

Setzt du dann noch ein [gelöst]o.ä. "vor" den ersten Post, danke.

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)