ioBrokerioBroker Blockly

Blockly – Einmalige Aktion bei Unterschreitung eines Wertes

In dieser Artikelserie möchte ich das Thema Blockly in ioBroker näher erklären. In diesem Beispiele zeige ich Dir, wie ich mir bei der Unterschreitung eines kritischen Wertes einmalig eine Benachrichtigung sende.

Für unsere Regenwasser-Tanks möchte ich eine Benachrichtigung implementieren, welche mir bei Erreichen eines kritischen Wasserstands eine E-Mail zusendet. Diese E-Mail Benachrichtigung möchte ich aber nur einmal erhalten. Hier der grobe Ablauf des Scripts

  • Trigger auf Sensor-Stand
  • Bei Unterschreitung von 20% einmalig eine E-Mail versenden
  • Bei weiterer Absenkung keine Nachricht mehr
  • Füllstand Anstieg über 20%
  • Füllstand Absenkung unter 20% – Versand einer weiteren E-Mail
  • Usw…

 

Im Script wird im ersten Schritt ein Trigger auf den entsprechenden Datenpunkt „SensorA.level“ angelegt. Dieser Trigger löst bei einer Änderung des Wertes aus. Im nächsten Schritt wird mit einem Falls-Block die Bedingung für das Versenden der E-Mail geprüft. In einen logischen Und-Block wird als erstes geprüft ob der aktuelle Wert des Sensors kleiner gleich 20 ist. In der zweiten Bedingung wird geprüft ob der vorherige Wert des Datenpunkts „SensorA.level“ über 20% war. Wenn beide Bedingungen zutreffen (logisches UND) wird im nächsten Block eine E-Mail generiert. In der E-Mail wird die E-Mail Adresse des Empfängers sowie der Betreff und der Text festgelegt. Für mich reicht hier die Ausgabe, dass der Füllstand unter 20% gesunken ist. Optional könnten wir hier noch den aktuellen Füllstand in Prozent ausgeben. Wenn der Füllstand nun wieder ansteigt (mehr als 20%) und dann erneut abfällt (unter 20%) trifft die Bedingung erneut zu und eine E-Mail wird versendet.

Durch die verschiedenen Wert-Optionen des Triggers kann so sehr einfach auf die neuen und vorherigen Werte reagiert werden.

 

Ich hoffe Dir gefällt der Artikel. Ich freue mich über Deinen Kommentar oder Fragen 🙂

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

6 Gedanken zu „Blockly – Einmalige Aktion bei Unterschreitung eines Wertes

  • Johannes

    Hallo,
    schöne beispiele, aber ständig finde ich die bausteine nicht die verwendet werden. Hier z.B. der „und“ baustein.
    Hinweise/bilder unter welchem verzeichnis die zu finden sind wäre hilfreich.

    Antwort
    • Manuel

      Nimm den „und“ baustein aus logik (dritter von oben) gehe dort mit dem rechten mausklick drauf und wähle dort „externe eingänge“ aus

      Antwort
  • Hallo Matthias!

    Danke dir, damit hast du mein „Waschmaschine-ist-fertig-Erkennungs-Problem“ endgültig gelöst!!!
    Die Mehrfachmeldungen gehören endlich der Vergangenheit an 🙂

    Viele Grüße
    Michael

    Antwort
  • Micha

    Hallo, erstmal vielen Dank für das Beispielskript,
    ich habe es gerade versucht scheitere allerdings an den Variablen.
    Könntest Du zur Erstellung der Variablen eine Hilfestellung geben?
    Vielen Dank und Viele Grüße

    Micha

    Antwort
  • Matthias

    Hallo Matthias,

    Vielen Dank für das Skript. Das ist sehr nützlich und will ich zur Steuerung meiner Tränkenheizung im Hühnerstall einsetzen.
    Kannst Du mir helfen wo ich die Bausteine „Wert“ und „vorheriger Wert“ in Blockly finden kann?

    Danke!
    Matthias

    Antwort
    • Matthias Korte

      Hallo Matthias,

      schau mal in den Blöcken unter Trigger und dann den Block Object-ID. Mit einem Klick auf den Block kannst Du dann den Typ auf Wert noch andere Typen wie z.B. vorheriger Wert setzen.
      Ich hoffe ich konnte Dir damit helfen.

      Viele Grüße und einen schönen Samstag,
      Matthias

      Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.