Ankündigung

Einklappen
Keine Ankündigung bisher.

OH2: Rule wird nicht abgearbeitet

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

    OH2: Rule wird nicht abgearbeitet

    Hallo zusammen,

    ich habe eine Regel, um den Rasen automatisch zu bewässern. Diese funktionierte am 1 Tag ohne Probleme und am nächsten dann nicht mehr.
    Die benötigten Kriterien waren in allen beiden erfüllt

    Rule
    Code:
    [COLOR=#c586c0]rule[/COLOR][COLOR=#4ec9b0]GreenIrrigation[/COLOR]  [COLOR=#c586c0]when[/COLOR]
    [COLOR=#569cd6]Time[/COLOR][COLOR=#d4d4d4] cron [/COLOR][COLOR=#ce9178]"0 30 05 ? * MON-SAT"[/COLOR][COLOR=#d4d4d4] or[/COLOR]
    [COLOR=#569cd6]Time[/COLOR][COLOR=#d4d4d4] cron [/COLOR][COLOR=#ce9178]"0 00 06 ? * SUN"[/COLOR]
    [COLOR=#c586c0]then[/COLOR]
    [COLOR=#d4d4d4]    logInfo([/COLOR][COLOR=#ce9178]"Green Irrigation"[/COLOR][COLOR=#d4d4d4],[/COLOR][COLOR=#ce9178]"Sw_Bewaesserung {}"[/COLOR][COLOR=#d4d4d4],[/COLOR][COLOR=#4ec9b0]Sw_Bewaesserung[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#d4d4d4]state)[/COLOR]
    [COLOR=#d4d4d4]    logInfo([/COLOR][COLOR=#ce9178]"Green Irrigation"[/COLOR][COLOR=#d4d4d4],[/COLOR][COLOR=#ce9178]"Holiday {}"[/COLOR][COLOR=#d4d4d4],[/COLOR][COLOR=#4ec9b0]Holiday[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#d4d4d4]state)[/COLOR]
    [COLOR=#d4d4d4]    logInfo([/COLOR][COLOR=#ce9178]"Green Irrigation"[/COLOR][COLOR=#d4d4d4],[/COLOR][COLOR=#ce9178]"Sensor_humidity {}"[/COLOR][COLOR=#d4d4d4],[/COLOR][COLOR=#4ec9b0]Sensor_humidity[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#d4d4d4]state)[/COLOR]
    [COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] ([/COLOR][COLOR=#4ec9b0]Sw_Bewaesserung[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#d4d4d4]state [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#b5cea8]ON[/COLOR][COLOR=#d4d4d4]&&[/COLOR][COLOR=#4ec9b0]Holiday[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#d4d4d4]state [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#b5cea8]OFF[/COLOR][COLOR=#d4d4d4]&&[/COLOR][COLOR=#4ec9b0]Sensor_humidity[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#d4d4d4]state [/COLOR][COLOR=#d4d4d4]<[/COLOR][COLOR=#b5cea8]40[/COLOR][COLOR=#d4d4d4]) {[/COLOR]
    [COLOR=#d4d4d4]        logDebug([/COLOR][COLOR=#ce9178]"Information"[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#ce9178]"Bewässerung AN"[/COLOR][COLOR=#d4d4d4])[/COLOR]
    [COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] (t_green [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#569cd6]null[/COLOR][COLOR=#d4d4d4]){[/COLOR]
    [COLOR=#d4d4d4]            pushNotification([/COLOR][COLOR=#ce9178]"Information"[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#ce9178]"Starte Vor-Bewässerung"[/COLOR][COLOR=#d4d4d4])[/COLOR]
    [COLOR=#4ec9b0]Wasserhahn_Dauer[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#d4d4d4]sendCommand([/COLOR][COLOR=#b5cea8]5[/COLOR][COLOR=#d4d4d4])[/COLOR]
    [COLOR=#608b4e]          Wasserhahn_Ventil.sendCommand(ON)[/COLOR]
    [COLOR=#d4d4d4]            t_green [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] createTimer(now[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#d4d4d4]plusMinutes([/COLOR][COLOR=#b5cea8]15[/COLOR][COLOR=#d4d4d4]))[|[/COLOR]
    [COLOR=#d4d4d4]                pushNotification([/COLOR][COLOR=#ce9178]"Information"[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#ce9178]"Starte Bewässerung"[/COLOR][COLOR=#d4d4d4])[/COLOR]
    [COLOR=#4ec9b0]Wasserhahn_Dauer[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#d4d4d4]sendCommand([/COLOR][COLOR=#b5cea8]20[/COLOR][COLOR=#d4d4d4])[/COLOR]
    [COLOR=#608b4e]              Wasserhahn_Ventil.sendCommand(ON)[/COLOR]
    [COLOR=#d4d4d4]            ][/COLOR]
    [COLOR=#d4d4d4]        }[/COLOR]
    [COLOR=#d4d4d4]    }[/COLOR]
    [COLOR=#c586c0]end[/COLOR]
    Die Ausgabe aus dem Log für die einzelnen Tage
    2018-07-06 05:30:00.026 [INFO ] [rthome.model.script.Green Irrigation] - Sw_Bewaesserung ON
    2018-07-06 05:30:00.026 [INFO ] [rthome.model.script.Green Irrigation] - Holiday OFF
    2018-07-06 05:30:00.026 [INFO ] [rthome.model.script.Green Irrigation] - Sensor_humidity 28
    2018-07-06 05:30:00.542 [INFO ] [.openhab.action.prowl.internal.Prowl] - API call succeeded. 997 api calls left.
    2018-07-06 05:45:01.042 [INFO ] [.openhab.action.prowl.internal.Prowl] - API call succeeded. 996 api calls left.

    2018-07-07 05:30:00.072 [INFO ] [rthome.model.script.Green Irrigation] - Sw_Bewaesserung ON
    2018-07-07 05:30:00.088 [INFO ] [rthome.model.script.Green Irrigation] - Holiday OFF
    2018-07-07 05:30:00.088 [INFO ] [rthome.model.script.Green Irrigation] - Sensor_humidity 26
    Habt ihr eine idee??

    Viele Grüße
    Jörg

    #2
    Hallo Jörg,

    Kommentar


      #3
      Mißt, habe die falsche Taste gedrückt.
      Ich Tipps mal ins blaue:
      Du trägst "if (t_green ==null)" ab. Aber am zweiten Tag existiert der Timer schon. Damit springt er nicht mehr in die BewässerungsSchleife. Ergebnis ist dann keine Aktion.
      ​​​​​​Als Lösung fällt mir ein, entweder den Timer am Ende zu löschen, oder die Schleife etwas umformulieren.

      Gruß Heiko

      Kommentar


        #4
        Zitat von heiko74 Beitrag anzeigen
        Mißt, habe die falsche Taste gedrückt.
        Ich Tipps mal ins blaue:
        Du trägst "if (t_green ==null)" ab. Aber am zweiten Tag existiert der Timer schon. Damit springt er nicht mehr in die BewässerungsSchleife. Ergebnis ist dann keine Aktion.
        ​​​​​​Als Lösung fällt mir ein, entweder den Timer am Ende zu löschen, oder die Schleife etwas umformulieren.

        Gruß Heiko
        Hallo Heiko,

        hmm, ich dachte, dass der Timer nach Ablauf "null" ist, aber wahrscheinlich ist er eher 0 oder false?
        Anyway, ich habe folgendes eingebaut
        Code:
         [COLOR=#d4d4d4]t_green[/COLOR][COLOR=#d4d4d4].[/COLOR][COLOR=#d4d4d4]cancel[/COLOR]
          [COLOR=#d4d4d4]t_green [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [/COLOR][COLOR=#569cd6]null[/COLOR]
        Somit wir der Timer auch wirklich beendet und ich habe wieder "null" für den nächsten Zyklus.

        Danke ;-)

        Kommentar


          #5
          Genau so ist es. Timer werden nicht automatisch reinitialisiert.

          Kommentar


            #6
            Zitat von udo1toni Beitrag anzeigen
            Genau so ist es. Timer werden nicht automatisch reinitialisiert.
            Läuft übrigens nun wie ein Schweizer Uhrwerk ;-)

            Kommentar

            Lädt...
            X