Ankündigung

Einklappen
Keine Ankündigung bisher.

Regenbenachrichtigung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Regenbenachrichtigung

    Hallo zusammen,

    ich habe einen Regensensor auf dem Dach und dieser sendet zyklisch jede Minute wenn Regen an ist.

    Dies sollte auch so bleiben, da dies für andere Komponenten erforderlich ist.

    Ich bekomme aktuell in der Openhab App immer eine Benachrichtigung wenn der Regensensor "AN" sendet und zwar jede Minute.

    Hat jemand eine Idee, wie ich diese Rule umbauen kann, sodass die Benachrichtigung nur einmal kommt, bis der Regen auf Aus springt.
    Wenn der Regen dann wieder von Aus auf An springt, soll natürlich wieder eine Benachrichtigung kommen.


    Hier meine bisherige Rule:

    Code:
    rule "Benachrichtigung Regen"
    
    when
    
    Item ben_regen changed to ON
    
    then
    sendBroadcastNotification("Es regnet!")
    
    end

    #2
    Das Problem scheint zu sein, dass der Sensor zwischenzeitlich immer wieder auf OFF springt. Schau doch bitte mal in Dein log, ob das so ist. Die Frage wäre dann, warum sich der Sensor so verhält. Wenn Man daran nichts ändern kann, musst Du halt drumherum programmieren:
    Code:
    var Timer tRegen = null
    rule "Benachrichtigung Regen"
    when
        Item ben_regen changed to ON
    then
        if(tRegen !== null) {
            tRegen.reschedule(now.plusSeconds(90))
            return;
        }
        sendBroadcastNotification("Es regnet!")
        tRegen = createTimer(now.plusSeconds(90), [|
            tRegen = null
        ] )
    end

    Kommentar


      #3
      Hallo Udo,

      nein er springt nicht auf OFF, er sendet nur seinen Zustand zyklisch und bei Änderung. Das muss auch so sein.

      Was passiert in deiner Rule?

      Kommentar


        #4
        Zitat von SaschaQ Beitrag anzeigen
        nein er springt nicht auf OFF, er sendet nur seinen Zustand zyklisch und bei Änderung.
        Dann kann eigentlich nur einmal eine Nachricht kommen, denn die Rule triggert ja nur beim Ereignis changed to ON. Gewöhnlich ändert sich der Zustand eines Items nur, wenn es entweder über die UI, eine Rule oder halt das Binding beeinflusst wurde.

        Die Rule triggert beim Wechsel von irgendwas auf ON (so wie Deine Rule ja auch). Nun prüft sie, ob die globale Timer Variable tRegen null ist. Ist das der Fall, so erzeugt sie einen Timer, der nach 90 Sekunden abläuft und gibt die Meldung aus. Ist tRegen aber nicht null, so wurde bereits ein Timer angelegt. Also ändert die Rule den Timerablauf auf 90 Sekunden in der Zukunft und beendet die Rule. Solange nun also innerhalb 90 Sekunden ein Change nach ON erfolgt, wird der Timer ständig nach hinten geschoben.
        Wenn der Timer jedoch ungestört abläuft, setzt er tRegen wieder auf null.
        Wie gesagt muss ben_regen eigentlich zyklisch seinen Wert ändern (und wenn es nur für den Bruchteil einer Sekunde ist), sonst wäre ein solcher Kunstgriff gar nicht notwendig.
        Hast Du im Log nichts dazu gesehen?

        Kommentar


          #5
          Ich habe den MDt Regensensor. Sobald es anfängt zu regnen, sendet er Regen an. Dann springt die Heizung an und versucht den Regen wegzutrocknen. Gelingt das, dann springt der Sensor auf aus. Das kann halt bei leichtem Regen schonmal passieren.

          Deswegen springt er dann hin und her.

          Glaube das ist das Problem.

          Kommentar


            #6
            Ah, das wäre eine Erklärung. Aber dann sollte es so ziemlich sicher funktionieren.

            Kommentar


              #7
              Danke Dir,ich habe nun noch eine andere Idee gehabt.

              Ich habe im Regensensor zum einen die Empfindlichkeit (bisher sehr hoch) auf hoch gesetzt und habe die Verzögerungszeit für das senden des AN Befehls auf 30 Sekunden und für aus auf 5 Minuten gesetzt.

              Wichtig ist für mich, dass er relativ schnell sendet, wenn es anfängt zu regnen. Bei dem Aus Befehl soll er dann etwas großzügiger sein.

              im Grunde ist das ja der Timer den du gebaut hast oder?

              Kommentar


                #8
                Das klingt auf jeden Fall vielversprechend. Ich hab aber solche Sensoren nicht im Einsatz, kann dazu also nichts sagen. Im Zweifel wirst Du es aber beim nächsten Regen sehen

                Kommentar

                Lädt...
                X