Rauchmelder gruppieren und Alarm auslösen bei Rauch- oder hitzealarm

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
habuser1
Beiträge: 21
Registriert: 1. Nov 2021 13:08
Answers: 0

Rauchmelder gruppieren und Alarm auslösen bei Rauch- oder hitzealarm

Beitrag von habuser1 »

Hallo!
ich habe hier ein paar Rauchmelder ( Fibaro FGSD002 ). Nun möchte natürlich eine Info aufs Handy bekommen, wenn da einer auslöst.

Kann man die irgendwie gruppieren, um nicht für jeden eine einzelne zu schreiben?

Also Wenn

Smokedetector1_SmokeAlarm
oder
Smokedetector1_HeatAlarm

.. und das für alle Rauchmelder
... auf ON ist, dann ... _> Telegram / mail / sirene


Wie macht man das am geschicktesten?
Ich muss glaub nicht anmerken, dass ich mit OpenHAB und Programmierung allgemein nicht so viel Erfahrung habe ;)

Danke für eure Hilfe!
Viele Grüße
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
KellerK1nd
Beiträge: 432
Registriert: 17. Jun 2019 16:45
Answers: 1
Wohnort: Griesheim

Re: Rauchmelder gruppieren und Alarm auslösen bei Rauch- oder hitzealarm

Beitrag von KellerK1nd »

Dafür nutzt du am besten die Gruppenfunktion, das heißt du erstellst dir eine Gruppe, als Beispiel gSmokedetector, jetzt mußt du alle Items die dieser Gruppe angehören sollen hinzufügen. Danach läßt du die Regel triggern wenn sich der Zustand der Gruppe ändert. als Beisüiel mal meine Regel der Temperaturüberwachung:

Code: Alles auswählen

rule "Warnen wenn Temperatur überschritten wurde"
when
    Member of gTemperatur changed
then
    val telegramActionBot = getActions("telegram","telegram:telegramBot:bot")


    if(triggeringItem.state > 35){
        logInfo("Brandmelder", "Temperatur sehr hoch! {}" , triggeringItem.label)
        telegramActionBot.sendTelegram("Temperaturwarnung in %s aktiv, aktueller Wert: %s°C" ,triggeringItem.label.toString, triggeringItem.state.toString)

    }
end
Betriebssystem: Proxmox 7.3-4
openHAB Container: debian11 LXC
openHAB Version: 3.4
Hardware: HomeServer Eigenbau mit einem Intel i5 9600K
Smarthome-Equipment:
- Rasperrymatic
- deConz
- HUE
- Shellys
- Mosquitto
- AVM Fritz!Box

habuser1
Beiträge: 21
Registriert: 1. Nov 2021 13:08
Answers: 0

Re: Rauchmelder gruppieren und Alarm auslösen bei Rauch- oder hitzealarm

Beitrag von habuser1 »

danke dir!

Die Rauchmelder haben ja eine alarm_smoke und alarm_heat item. Kann ich beide typen in eine Gruppe tun oder muss ich jeweils eine Gruppe für heat und smoke machen?

Viele Grüße

Benutzeravatar
KellerK1nd
Beiträge: 432
Registriert: 17. Jun 2019 16:45
Answers: 1
Wohnort: Griesheim

Re: Rauchmelder gruppieren und Alarm auslösen bei Rauch- oder hitzealarm

Beitrag von KellerK1nd »

Ich nehme mal an das die betreffenden Items Schalter sind. Prinzipiell kannst du sie in eine Gruppe packen, da du ja auf den Brandfall triggern lassen willst, aber der Techniker in mir sagt, trenne sie. Was du dann machen könntest wäre eine Hauptgruppe bauen mit zwei Untergruppen. Die Untergruppen werden mit den passenden Items gefüllt und Triggern lassen könntest du dann auf die Hauptgruppe. Allerdings funktioniert meine Regel dann so nicht mehr im Detail... :roll:

Also du machst nix verkehrt sie eine Gruppe zu packen. :mrgreen:
Betriebssystem: Proxmox 7.3-4
openHAB Container: debian11 LXC
openHAB Version: 3.4
Hardware: HomeServer Eigenbau mit einem Intel i5 9600K
Smarthome-Equipment:
- Rasperrymatic
- deConz
- HUE
- Shellys
- Mosquitto
- AVM Fritz!Box

habuser1
Beiträge: 21
Registriert: 1. Nov 2021 13:08
Answers: 0

Re: Rauchmelder gruppieren und Alarm auslösen bei Rauch- oder hitzealarm

Beitrag von habuser1 »

mhh ok wenn das mit den gruppen so rekursiv funktioniert, wäre das ja auch cool.
aber wer baut mir dann so ein script.. bin ja n00b ;)

Benutzeravatar
KellerK1nd
Beiträge: 432
Registriert: 17. Jun 2019 16:45
Answers: 1
Wohnort: Griesheim

Re: Rauchmelder gruppieren und Alarm auslösen bei Rauch- oder hitzealarm

Beitrag von KellerK1nd »

Du kannst doch auch DSL nutzen, ließ dich mal in VScode ein, dann kannst du meine Regel erstmal übernehmen, musst nur eben die Items und den Telegramchannel ändern, bzw. noch anpassen auf deine Bedürfnisse.
Betriebssystem: Proxmox 7.3-4
openHAB Container: debian11 LXC
openHAB Version: 3.4
Hardware: HomeServer Eigenbau mit einem Intel i5 9600K
Smarthome-Equipment:
- Rasperrymatic
- deConz
- HUE
- Shellys
- Mosquitto
- AVM Fritz!Box

habuser1
Beiträge: 21
Registriert: 1. Nov 2021 13:08
Answers: 0

Re: Rauchmelder gruppieren und Alarm auslösen bei Rauch- oder hitzealarm

Beitrag von habuser1 »

habe jetzt

g_smokedetector_smokeheat
da ist drin: g_smokedetector_smoke und g_smokedetector_heat
und da sind jeweils die 4 rauchmelder mit ihrem heat und smoke alarm drin.

Die Rauchmelder haben ja noch weitere Alarmchannels:

alarm_system (hardware failure alarm)
alarm_tamper (tamper alarm)
alarm_battery (low battery)

soll ich mit denen genauso verfahren?
wäre ja schon gut wenn man mitbekommt wenn einer der melder "abraucht" oder die batterien sich zu Ende neigen.

Oder macht man über alle batterie_channels aller Geräte eine Gruppe, um mitzubekommen, wenn in irgendeinem gerät die Batterie leer ist? Denke das ist besser, oder?

habuser1
Beiträge: 21
Registriert: 1. Nov 2021 13:08
Answers: 0

Re: Rauchmelder gruppieren und Alarm auslösen bei Rauch- oder hitzealarm

Beitrag von habuser1 »

sorry, das coden übersteigt noch meine Fähigkeiten. habe die rule nun mal per GUI zusammengeklickt.

das telegram script funktioniert. aber wenn ich einen testalarm mache, wird nix gesendet.

[openhab.event.ItemStateChangedEvent ] - Item 'Smokedetector1_SmokeAlarm' changed from OFF to ON

kommt im log.
aber keine rule auslösung.

dann fragt sich, wie ich in dem telegram dann die Hitzewerte von allen Rauchmeldern reinschreibe und den Smokestaus eines jeden Melders, damit ich sehe, welcher ausgelöst hat.

Code: Alles auswählen

triggers:
  - id: "1"
    configuration:
      groupName: g_smokedetector_smokeheat
    type: core.GroupStateChangeTrigger
conditions: []
actions:
  - inputs: {}
    id: "2"
    configuration:
      type: application/vnd.openhab.dsl.rule
      script: >-
        val telegramAction =
        getActions("telegram","telegram:telegramBot:XXX")
          telegramAction.sendTelegram("Rauchmelder Hitze oder Rauch ALARM" + " Temperatur Melder2: " + Smokedetector2_TemperatureSensor.state.toFullString)
    type: script.ScriptAction
habe auch im Netz was gefunden, aber damit kann ich als nicht-coder leider nix anfangen:(
https://community.openhab.org/t/fire-al ... on/33132/6
https://community.openhab.org/t/solved- ... up/58268/2
Es sieht aufjedenfall sehr interessant aus, was mit OpenHAB alles geht... wenn man weiss, wie...
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

habuser1
Beiträge: 21
Registriert: 1. Nov 2021 13:08
Answers: 0

Re: Rauchmelder gruppieren und Alarm auslösen bei Rauch- oder hitzealarm

Beitrag von habuser1 »

Servus,

meine aktuelle config sieht nun so aus.
in g_smokedetector_smokeheat habe ich die heat und smoke items rein, weil wenn in der g_smokedetector_smokeheat - gruppe nur die g_smokedetector_smoke und g_smokedetector_head Gruppe drin ist, in denen dann jeweils nur die smoke und heat items der melder waren, ging es nicht.

So kann ich nun aber auch damit leben.

Wobei ich jetzt Hilfe benötige:
Wie bekomme ich in EINE Telegram Message folgende Infos rein:

Welcher Melder ausgelöst hat und was die Auslösung war (heat oder smoke) und die Temperaturen der einzelnen Melder.
Das gleiche als E-Mail. In Telegram funktioniert schon die Temperaturanzeige. Das habe ich in der Mail noch nicht hinbekommen.

Wie kann man alle bestimmten EIgenschaften aller items innerhalb einer Gruppe abfragen?
Also wenn ich dann Servicegruppen mache, z.b. mit Batterieladung, und dann, sobald eine unter 20% ist, eine Info sende..

Code: Alles auswählen

triggers:
  - id: "1"
    configuration:
      groupName: g_smokedetector_smokeheat
    type: core.GroupStateChangeTrigger
conditions: []
actions:
  - inputs: {}
    id: "2"
    configuration:
      type: application/vnd.openhab.dsl.rule
      script: >-
        val telegramAction =
        getActions("telegram","telegram:telegramBot:xxx")
        logInfo("notifications", "Send notification via telegram")
          telegramAction.sendTelegram("Rauchmelder Rauch ALARM" + " Temperatur Melder1: " + Smokedetector1_TemperatureSensor.state.toFullString)
          telegramAction.sendTelegram("Rauchmelder Rauch ALARM" + " Temperatur Melder2: " + Smokedetector2_TemperatureSensor.state.toFullString)
          telegramAction.sendTelegram("Rauchmelder Rauch ALARM" + " Temperatur Melder3: " + Smokedetector3_TemperatureSensor.state.toFullString)
          telegramAction.sendTelegram("Rauchmelder Rauch ALARM" + " Temperatur Melder4: " + Smokedetector4_TemperatureSensor.state.toFullString)
    type: script.ScriptAction
  - inputs: {}
    id: "3"
    configuration:
      type: application/vnd.openhab.dsl.rule
      script: >-
        val mailActions = getActions("mail","mail:smtp:10cb3f4cd7")
        logInfo("notifications", "Send notification via email")
        mailActions.sendHtmlMail("XXXX", "Achtung Rauch erkannt!", 
                                 "<h1>Rauch erkannt</h1>Nur welcher, wissen wir nicht." " + Smokedetector2_TemperatureSensor.state.toFullString")
    type: script.ScriptAction
danke!
Grüße!

Antworten