Forsinkelse av varsel «høyt strømforbruk»

Hei. Har en nokså enkel flow der jeg får varsel hvis HAN sensor rapporterer over 5000w. problemet er at det blir spam av varsel helt til strøm <5000w. Hvordan kan jeg sette opp en forsinkelse der sensor må rapportere at strøm er >5000w i 15min før den sender varsel, og kun 1 varsel.

Det enkleste vil være å sette en statisk variabel når grenseverdien på 5000 er nådd og bruke den i IF noden for varsel.

IF HAN >5000 and ‘variabel’ HAN_LIMIT=false
send rapport og set HAN_LIMIT=true

IF HAN <5000 set HAN_LIMIT=false

2 Likes

Hvis det er over 5000w kan du sette en variabel som nevnt over eks. HAN_LIMIT=true.
Men så kan du sette en timer som sjekker denne variabelen hvert 15. minutt. Hvis den er true, sender du et varsel og resetter variabelen til false.

Med det vet du at i løpet av de siste 15. minuttene så har strømmen vært over 5000w.
Sjekker du bare en gang i timen, vet du at grensen er overgått siste time.

Er kanskje også mulig å sette en teller på hvor mange ganger strømmen er registrert som over 5000w. Starte på 0 hvert 15. minutt og så legge til 1 for hver gang. Så kan du sende melding som “Strømmen har vært over 5000w 8 ganger siste 15 minuttene”.

jeg er med på hva dere mener, men forstår meg ikke helt på set variable. laget en tegning sånn jeg tenker det skal være, men trenger hjelp med å finne rett funksjoner.

det andre bildet viser sånn jeg har forstått time trigger fungerer. sjekker den hver 15min alle dager slik den er satt opp nå?


{
  "Id": "V0KJSyP8jbEdHvU",
  "ClassId": "V0KJSyP8jbEdHvU",
  "Author": "",
  "Version": 0,
  "CreatedAt": "2022-02-13T17:45:21.454175888+01:00",
  "UpdatedAt": "2022-06-22T17:30:45.712438699+02:00",
  "Name": "for mye strøm",
  "Group": "",
  "Description": "",
  "Nodes": [
    {
      "Id": "1",
      "Type": "trigger",
      "Label": "no label",
      "SuccessTransition": "2",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:evt/rt:dev/rn:zigbee/ad:1/sv:meter_elec/ad:2_1",
      "Service": "meter_elec",
      "ServiceInterface": "evt.meter.report",
      "Config": {
        "ConnectorID": "",
        "InputVariableType": "",
        "IsValueFilterEnabled": false,
        "LookupServiceNameAndLocation": false,
        "PropFilterName": "",
        "PropFilterValue": "",
        "RegisterAsVirtualService": false,
        "Timeout": 0,
        "ValueFilter": {
          "Value": null,
          "ValueType": "float"
        },
        "ValueJPath": "",
        "ValueJPathResultType": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": null
      },
      "Ui": {
        "nodeType": "",
        "x": 70,
        "y": 170
      },
      "TypeAlias": "Trigger",
      "LastValue": "4188 W"
    },
    {
      "Id": "2",
      "Type": "if",
      "Label": ">5kw",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "Expression": [
          {
            "BooleanOperator": "",
            "LeftVariableIsGlobal": false,
            "LeftVariableName": "",
            "Operand": "gt",
            "RightVariable": {
              "Value": 5000,
              "ValueType": "int"
            }
          }
        ],
        "FalseTransition": "",
        "TrueTransition": ""
      },
      "Ui": {
        "nodeType": "",
        "x": 64,
        "y": 401
      },
      "TypeAlias": "If condition"
    },
    {
      "Id": "8",
      "Type": "action",
      "Label": "Push notification",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:evt/rt:app/rn:kind_owl/ad:1",
      "Service": "kind-owl",
      "ServiceInterface": "evt.notification.report",
      "Config": {
        "DefaultValue": {
          "Value": {
            "EventName": "custom",
            "MessageContent": "Høyt strømforbruk. over 5kw",
            "SiteId": "60c7257e-a105-4d26-93a3-f436796fcad0"
          },
          "ValueType": "object"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "notification_action",
        "x": 527,
        "y": 589
      },
      "TypeAlias": "Notification"
    },
    {
      "Id": "9",
      "Type": "time_trigger",
      "Label": "sjekker hver 15 min",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultMsg": {
          "Value": "",
          "ValueType": ""
        },
        "Expressions": [
          {
            "Comments": "",
            "Expression": "15 * * * *",
            "Name": ""
          }
        ],
        "GenerateAstroTimeEvents": false,
        "Latitude": 0,
        "Longitude": 0,
        "SunriseTimeOffset": 0,
        "SunsetTimeOffset": 0
      },
      "Ui": {
        "nodeType": "",
        "x": 448,
        "y": 173
      },
      "TypeAlias": "Time trigger"
    }
  ],
  "Settings": null,
  "IsDisabled": true,
  "IsDefault": false,
  "ParallelExecution": "keep_first"
}

Hei,
Har gjort noen endringer på flowen din.

{
  "Id": "h5AedBxvR9qoQEP",
  "ClassId": "V0KJSyP8jbEdHvU",
  "Author": "",
  "Version": 0,
  "CreatedAt": "2022-06-22T23:28:32.079764293+02:00",
  "UpdatedAt": "2022-06-22T23:40:20.654394538+02:00",
  "Name": "for mye strøm",
  "Group": "",
  "Description": "",
  "Nodes": [
    {
      "Id": "1",
      "Type": "trigger",
      "Label": "no label",
      "SuccessTransition": "12",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:evt/rt:dev/rn:zigbee/ad:1/sv:meter_elec/ad:2_1",
      "Service": "meter_elec",
      "ServiceInterface": "evt.meter.report",
      "Config": {
        "ConnectorID": "",
        "InputVariableType": "",
        "IsValueFilterEnabled": false,
        "LookupServiceNameAndLocation": false,
        "PropFilterName": "",
        "PropFilterValue": "",
        "RegisterAsVirtualService": false,
        "Timeout": 0,
        "ValueFilter": {
          "Value": null,
          "ValueType": "float"
        },
        "ValueJPath": "",
        "ValueJPathResultType": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": null
      },
      "Ui": {
        "nodeType": "",
        "x": 200,
        "y": 135
      },
      "TypeAlias": "Trigger",
      "LastValue": "1130 W"
    },
    {
      "Id": "8",
      "Type": "action",
      "Label": "Push notification",
      "SuccessTransition": "10",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:evt/rt:app/rn:kind_owl/ad:1",
      "Service": "kind-owl",
      "ServiceInterface": "evt.notification.report",
      "Config": {
        "DefaultValue": {
          "Value": {
            "EventName": "custom",
            "MessageContent": "Høyt strømforbruk. over 5kw",
            "SiteId": "5b9a7d73-f5c8-4fc4-b8ef-8491be34bad2"
          },
          "ValueType": "object"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "notification_action",
        "x": 566,
        "y": 587
      },
      "TypeAlias": "Notification"
    },
    {
      "Id": "9",
      "Type": "time_trigger",
      "Label": "sjekker hver 15 min",
      "SuccessTransition": "13",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultMsg": {
          "Value": "",
          "ValueType": ""
        },
        "Expressions": [
          {
            "Comments": "",
            "Expression": "1 5 * * * *",
            "Name": ""
          }
        ],
        "GenerateAstroTimeEvents": false,
        "Latitude": 0,
        "Longitude": 0,
        "SunriseTimeOffset": 0,
        "SunsetTimeOffset": 0
      },
      "Ui": {
        "nodeType": "",
        "x": 628,
        "y": 164
      },
      "TypeAlias": "Time trigger"
    },
    {
      "Id": "10",
      "Type": "set_variable",
      "Label": "power_limit=true",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultValue": {
          "Value": true,
          "ValueType": "bool"
        },
        "IsVariableInMemory": true,
        "Name": "power_limit",
        "UpdateGlobal": true,
        "UpdateInputMsg": false
      },
      "Ui": {
        "nodeType": "",
        "x": 571,
        "y": 793
      },
      "TypeAlias": "Set variable"
    },
    {
      "Id": "11",
      "Type": "set_variable",
      "Label": "power_limit=false",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultValue": {
          "Value": false,
          "ValueType": "bool"
        },
        "IsVariableInMemory": true,
        "Name": "power_limit",
        "UpdateGlobal": true,
        "UpdateInputMsg": false
      },
      "Ui": {
        "nodeType": "",
        "x": 833,
        "y": 810
      },
      "TypeAlias": "Set variable"
    },
    {
      "Id": "12",
      "Type": "set_variable",
      "Label": "total_power",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultValue": {
          "Value": 0,
          "ValueType": ""
        },
        "IsVariableInMemory": true,
        "Name": "total_power",
        "UpdateGlobal": true,
        "UpdateInputMsg": false
      },
      "Ui": {
        "nodeType": "",
        "x": 184,
        "y": 346
      },
      "TypeAlias": "Set variable"
    },
    {
      "Id": "13",
      "Type": "if",
      "Label": "",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "Expression": [
          {
            "BooleanOperator": "and",
            "LeftVariableIsGlobal": true,
            "LeftVariableName": "total_power",
            "Operand": "gt",
            "RightVariable": {
              "Value": 5000,
              "ValueType": "float"
            }
          },
          {
            "Operand": "eq",
            "LeftVariableName": "power_limit",
            "LeftVariableIsGlobal": true,
            "RightVariable": {
              "Value": false,
              "ValueType": "bool"
            },
            "BooleanOperator": ""
          }
        ],
        "FalseTransition": "14",
        "TrueTransition": "8"
      },
      "Ui": {
        "nodeType": "",
        "x": 606,
        "y": 358
      },
      "TypeAlias": "If condition"
    },
    {
      "Id": "14",
      "Type": "if",
      "Label": "",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "Expression": [
          {
            "BooleanOperator": "and",
            "LeftVariableIsGlobal": true,
            "LeftVariableName": "total_power",
            "Operand": "lt",
            "RightVariable": {
              "Value": 5000,
              "ValueType": "float"
            }
          },
          {
            "Operand": "eq",
            "LeftVariableName": "power_limit",
            "LeftVariableIsGlobal": true,
            "RightVariable": {
              "Value": true,
              "ValueType": "bool"
            },
            "BooleanOperator": ""
          }
        ],
        "FalseTransition": "",
        "TrueTransition": "11"
      },
      "Ui": {
        "nodeType": "",
        "x": 840,
        "y": 602
      },
      "TypeAlias": "If condition"
    }
  ],
  "Settings": null,
  "IsDisabled": false,
  "IsDefault": false,
  "ParallelExecution": "keep_first"
}

Tid skulle være rett ja.
Triggeren fra overforbruk setter du kun til TRUE. Ikke til FALSE for hvis du går over 5000w blir den true, men går det under blir den false igjen og sjekker du da etterpå så vet du ikke at du har hatt et overforbruk.
Du resetter bare til FALSE hvert 15. min.

Du kan sette variable sånn:
Velg Static og bool. Merk gjerne av for Global (har ikke gjort det her). Da blir variablene tilgjengelig for andre flower. Ikke i Memory. Klikk Add.
Skjermbilde 2022-06-28 kl. 09.55.33
Skjermbilde 2022-06-28 kl. 09.56.17

Lagre flow.
Så skal du kunne sette Variabel igjen, men da kunne velge denne variabelen og endre verdi.
Skjermbilde 2022-06-28 kl. 09.57.41

Laget en liten test der jeg lager en Shortcut Test script i appen.
Når den trykkes sjekkes variabelen Overforbruk.
Er den TRUE, settes variabelen til FALSE.
Er den False settes den til TRUE.
Og sender så en Notification for hver gang.
Du skal da få melding om TRUE og FALSE annenhver gang.