Seite 1 von 1

Rule für Druck-Warnung

Verfasst: 11. Jul 2024 21:56
von Galadriel13
Hallo liebe Community,

ich habe ein Frage an die Spezialisten der Rules:

Ich habe eine Rule erstellt, mit der ich erreichen möchte, dass bei einem bestimmten Druck in meinem Poolfilter eine Notification an mein Handy geschickt wird.

Das funktioniert aktuell nicht so, wie ich es möchte, denn beim Erreichen des Grenzwertes von 40mbar, bekomme ich ohne Ende diese Nachrichten, nicht nur ein Mal.
Ich vermute, das liegt daran, dass der Messwert nie auf zwei Kommastellen konstant ist, sondern immer etwas schwankt.
Anbei findet ihr mal die Rule.

Code: Alles auswählen

configuration: {}
triggers:
  - id: "1"
    configuration:
      itemName: Logo8_1_Analoge_Ausgange_NAQ4
    type: core.ItemStateChangeTrigger
conditions: []
actions:
  - inputs: {}
    id: "2"
    configuration:
      blockSource: '<xml xmlns="https://developers.google.com/blockly/xml"><block
        type="controls_if" id="XJLzM;1($!RLUIqY)o=~" x="262" y="97"><value
        name="IF0"><block type="logic_compare" id="8H~./k*mm4)XBs6rTe`S"><field
        name="OP">GTE</field><value name="A"><block type="oh_getitem_state"
        id="CPx:dB0RQSh])IhX|]ke"><value name="itemName"><shadow type="oh_item"
        id="+X(VvFVqD9.[jfW/u0gf"><mutation
        itemName="Logo8_1_Analoge_Ausgange_NAQ4" itemLabel="Druck
        Poolfilter"></mutation><field
        name="itemName">Logo8_1_Analoge_Ausgange_NAQ4</field></shadow></value></block></value><value
        name="B"><block type="text" id="ytst}zjAUZzrOAOZt!Ae"><field
        name="TEXT">40</field></block></value></block></value><statement
        name="DO0"><block type="oh_sendBroadcastNotification"
        id="#O#}OL7z**4pV13z-~zO"><field name="severity">warn</field><value
        name="message"><shadow type="text" id="qz,Y^ks6fnb?~oA9fwW1"><field
        name="TEXT">Achtung: Druck Pool-Filter zu
        hoch</field></shadow></value><value name="icon"><shadow type="text"
        id="Um=0.dp9F%YaoqFkNOUl"><field
        name="TEXT">error</field></shadow></value></block></statement></block></xml>'
      type: application/javascript
      script: >
        if (items.getItem('Logo8_1_Analoge_Ausgange_NAQ4').state >= '40') {
          actions.NotificationAction.sendBroadcastNotification('Achtung: Druck Pool-Filter zu hoch', 'error', 'warn');
        }
    type: script.ScriptAction
Es wäre klasse, wenn mir jemand einen Hinweis geben könnte, wie man dieses Verhalten umgehen kann.
Danke und viele Grüße.

Re: Rule für Druck-Warnung

Verfasst: 12. Jul 2024 06:21
von Harka
Moin,
mir fallen so auf die Schnelle 2 Baustellen auf:
1.) du musst bei Vergleichen sicherstellen das auf beiden Seiten nummerische Werte stehen.
2.) um nicht bei jedem neuen Sensorwert eine neue Nachricht zu generieren brauch es noch eine Art Sperre. Entweder baust Du noch den vorherigen Wert (kleiner/gleich 40) ein oder einen Zeitfaktor.

Re: Rule für Druck-Warnung

Verfasst: 12. Jul 2024 22:16
von Galadriel13
Danke erst einmal, Harka.

Ich schau mal, ob ich das gelöst bekomme.

VG

Re: Rule für Druck-Warnung

Verfasst: 13. Jul 2024 13:26
von Harka
Moin,
ging mir nicht aus dem Kopf ...
Wir haben zwar kein Pool und damit auch nicht solche Aufgaben, aber wenn, könnte ich mir so eine Lösung vorstellen:
Ein zweier Trigger prüft zum Wochenende (hier Sa 09:00 Uhr) den Bedarf zur rechtzeitigen Reinigung ab 39mbar. Ansonsten wird ab 41mbar alle 2 Stunden(ca.) mit einer neuen Meldung "genervt".
Der DimmerZumTesten steht für den Drucksensor und der Timer hat bei mir den unbedeutenden Zusatz "with context" weil hier schon OH 4.2 läuft.

Code: Alles auswählen

triggers:
  - id: "1"
    configuration:
      itemName: Logo8_1_Analoge_Ausgange_NAQ4
    type: core.ItemStateChangeTrigger
  - id: "2"
    configuration:
      cronExpression: 0 0 9 ? * SAT *
    type: timer.GenericCronTrigger
ForumPoolDruck1.png

Re: Rule für Druck-Warnung

Verfasst: 14. Jul 2024 22:02
von Galadriel13
Vielen Dank, das ist ja wirklich nett.
Ich probiere das mal aus und melde mich.
Schönen Abend.