Push varsel ved åpen port

Hei
Har for en tid tilbake satt opp flere flows som sender push varsel hvis port, dør eller vindu blir stående åpen en hvis tid. Som f eks denne som skal varsle hvis garasjeporten ikke blir lukket innen 10 min. Disse funket utmerket en periode, men plutselig sluttet samtlige å fungere. Usikker på om det kan ha vært ifm en oppdatering.
Har forsøkt forskjellig uten hell, så om noen har et tips eller to så hadde jeg satt pris på det :grinning:

{
  "Id": "6XV1wykJSPLsq10",
  "ClassId": "6XV1wykJSPLsq10",
  "Author": "",
  "Version": 0,
  "CreatedAt": "2023-09-10T07:45:16.959433381+02:00",
  "UpdatedAt": "2024-07-27T20:53:40.560585624+02:00",
  "Name": "Garasjeport # 2 oppe?",
  "Group": "Garasje",
  "Description": "Phush hvis Port # 2 står oppe",
  "Nodes": [
    {
      "Id": "2",
      "Type": "wait",
      "Label": "10min",
      "SuccessTransition": "3",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": 600000,
      "Ui": {
        "nodeType": "",
        "x": 248,
        "y": 330
      },
      "TypeAlias": "Delay"
    },
    {
      "Id": "3",
      "Type": "if",
      "Label": "Port # 2 fortsatt oppe?",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "Expression": [
          {
            "BooleanOperator": "",
            "LeftVariableIsGlobal": false,
            "LeftVariableName": "",
            "Operand": "eq",
            "RightVariable": {
              "Value": true,
              "ValueType": "bool"
            }
          }
        ],
        "FalseTransition": "",
        "TrueTransition": "4"
      },
      "Ui": {
        "nodeType": "",
        "x": 540,
        "y": 171
      },
      "TypeAlias": "If condition"
    },
    {
      "Id": "4",
      "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": "Port # 2 oppe",
            "SiteId": "b66ec772-d224-49f1-9def-040fb468e079"
          },
          "ValueType": "object"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "notification_action",
        "x": 535,
        "y": 333
      },
      "TypeAlias": "Notification"
    },
    {
      "Id": "5",
      "Type": "trigger",
      "Label": "Garasjeport #2",
      "SuccessTransition": "2",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:evt/rt:dev/rn:zigbee/ad:1/sv:sensor_contact/ad:14_1",
      "Service": "sensor_contact",
      "ServiceInterface": "evt.open.report",
      "Config": {
        "IsValueFilterEnabled": false,
        "LookupServiceNameAndLocation": false,
        "RegisterAsVirtualService": false,
        "Timeout": 0,
        "ValueFilter": {
          "Value": true,
          "ValueType": "bool"
        },
        "VirtualServiceGroup": "ch_0",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 249,
        "y": 167
      },
      "TypeAlias": "Trigger"
    }
  ],
  "Settings": null,
  "IsDisabled": false,
  "IsDefault": false,
  "ParallelExecution": "keep_last"
}```

Hei!
Det ser ut som tpflow crasher til tider hos deg.
Kan det hende du har feilkonfigurert noe? Du kan f.eks prøve å deaktivere noen flows for å finne hvilken som ødelegger - f.eks ‘Når watt verdier høyere enn 7000W’.

Hei
Slettet noen flows som jeg laget for å teste litt, og da funket denne igjen :grinning:
Er det noe måte jeg kan se, eventuelt få varsel hvis tpflow crasher?

Hei, bumper denne litt da jeg jobber med en tilsvarende flow :partying_face: Jeg ønsker å ha egen melding på når porten er lukket igjen, og har kommet et stykke med noen eksempler fra andre tråder :hot_face:. I koden under får jeg til å oppdatere en egen variabel for om porten er åpen eller ei, og bruke denne i if-noder. Det ser derimot ut som jeg ikke har fått helt til den første if-noden, for jeg får melding om at porten er lukket når den åpner seg :exploding_head:. Så selv om trigger variabelen er “true” så ser det ut som meldingen i enden av “false” flyten trigges. Noen som vet hvorfor :thinking:

{
  "Id": "xdw68yxG5t0iNdN",
  "ClassId": "xdw68yxG5t0iNdN",
  "Author": "espenh.no",
  "Version": 0,
  "CreatedAt": "2021-10-19T11:41:44.003669729+02:00",
  "UpdatedAt": "2024-10-15T21:20:06.778883396+02:00",
  "Name": "Garasjeportvarsel",
  "Group": "",
  "Description": "",
  "Nodes": [
    {
      "Id": "1",
      "Type": "trigger",
      "Label": "dørsensor",
      "SuccessTransition": "5",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:evt/rt:dev/rn:zw/ad:1/sv:sensor_contact/ad:17_0",
      "Service": "sensor_contact",
      "ServiceInterface": "evt.open.report",
      "Config": {
        "ConnectorID": "",
        "InputVariableType": "",
        "IsValueFilterEnabled": false,
        "LookupServiceNameAndLocation": false,
        "PropFilterName": "",
        "PropFilterValue": "",
        "RegisterAsVirtualService": false,
        "Timeout": 0,
        "ValueFilter": {
          "Value": null,
          "ValueType": "bool"
        },
        "ValueJPath": "",
        "ValueJPathResultType": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": null
      },
      "Ui": {
        "nodeType": "",
        "x": 346,
        "y": 238
      },
      "TypeAlias": "Trigger"
    },
    {
      "Id": "5",
      "Type": "if",
      "Label": "Hvis åpen dør",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "Expression": [
          {
            "BooleanOperator": "",
            "LeftVariableName": "",
            "Operand": "eq",
            "RightVariable": {
              "Value": true,
              "ValueType": "bool"
            }
          }
        ],
        "FalseTransition": "7",
        "TrueTransition": "6"
      },
      "Ui": {
        "nodeType": "",
        "x": 637,
        "y": 243
      },
      "TypeAlias": "If condition"
    },
    {
      "Id": "6",
      "Type": "set_variable",
      "Label": "Port variabel - True",
      "SuccessTransition": "10",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultValue": {
          "Value": 0,
          "ValueType": ""
        },
        "IsVariableInMemory": false,
        "Name": "Åpen port",
        "UpdateGlobal": false,
        "UpdateInputMsg": false
      },
      "Ui": {
        "nodeType": "",
        "x": 461,
        "y": 405
      },
      "TypeAlias": "Set variable"
    },
    {
      "Id": "7",
      "Type": "set_variable",
      "Label": "Port variabel - False",
      "SuccessTransition": "8",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultValue": {
          "Value": false,
          "ValueType": ""
        },
        "IsVariableInMemory": false,
        "Name": "Åpen port",
        "UpdateGlobal": false,
        "UpdateInputMsg": false
      },
      "Ui": {
        "nodeType": "",
        "x": 714,
        "y": 401
      },
      "TypeAlias": "Set variable"
    },
    {
      "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": "Garasjeport Lukket! ✅",
            "SiteId": "df9f093f-78d4-41b5-9cbb-5a87f1d4c6a8"
          },
          "ValueType": "object"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "notification_action",
        "x": 723,
        "y": 589
      },
      "TypeAlias": "Notification"
    },
    {
      "Id": "9",
      "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": "Garasjeport åpen over 10 min! 🚨",
            "SiteId": "df9f093f-78d4-41b5-9cbb-5a87f1d4c6a8"
          },
          "ValueType": "object"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "notification_action",
        "x": 226,
        "y": 897
      },
      "TypeAlias": "Notification"
    },
    {
      "Id": "10",
      "Type": "wait",
      "Label": "Vent 10 min",
      "SuccessTransition": "11",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": 600000,
      "Ui": {
        "nodeType": "",
        "x": 441,
        "y": 582
      },
      "TypeAlias": "Delay"
    },
    {
      "Id": "11",
      "Type": "if",
      "Label": "Åpen port?",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "Expression": [
          {
            "BooleanOperator": "",
            "LeftVariableIsGlobal": false,
            "LeftVariableName": "Åpen port",
            "Operand": "eq",
            "RightVariable": {
              "Value": true,
              "ValueType": "bool"
            }
          }
        ],
        "FalseTransition": "",
        "TrueTransition": "9"
      },
      "Ui": {
        "nodeType": "",
        "x": 236,
        "y": 734
      },
      "TypeAlias": "If condition"
    }
  ],
  "Settings": null,
  "IsDisabled": true,
  "IsDefault": false,
  "ParallelExecution": "keep_last"
}

Hei @Tobba!
brukes variablene andre steder enn i denne flowen? Hvis du ikke gjør det, så trenger du ikke å sette de heller.
Svarte på en lignende tråd en gang tidligere;

I ditt tilfelle kan du gjøre likt som beskrevet over, men i tillegg legge til push notification noden fra gul i nevnte if node. Ga det mening? :sweat_smile:

1 Like

Hei @espen! Takk, jeg burde søkt på kjøleskapsdør :joy: Jeg har prøvd uten variablene (siden de ikke brukes andre steder). Jeg får riktig notifikasjon etter porten har stått åpen i X min, men jeg får ingenting fra gul side på IF-noden. I det andre eksempelet er forsinkelsen før IF-noden og ikke etter. Jeg ønsker jo umiddelbar melding når porten lukkes, så derfor tenke jeg å sette den etter IF-noden. I alle nodene nå bruker jeg “Trigger variable” er det riktig? Flyten er satt til “keep last”.

Det er riktig at wait skal komme etter if noden.
Kunne du delt flowen slik den er nå + et skjermbilde av den? :slight_smile:

Ok, her er flyten per nå. Etter litt testing får jeg til å trigge lukket notifikasjon, men bare hvis jeg kjører den med “false” verdi når porten allerede er lukket (altså false). I tråden du linket til står det også noe om en global variabel (fra en annen bruker), men dette har jeg utelatt.

{
  "Id": "Mvyic5rM1DGXrLe",
  "ClassId": "Mvyic5rM1DGXrLe",
  "Author": "",
  "Version": 0,
  "CreatedAt": "2024-10-16T09:17:44.522416375+02:00",
  "UpdatedAt": "2024-10-16T09:30:02.167208585+02:00",
  "Name": "Åpen garasjeport",
  "Group": "",
  "Description": "Påminnelse ved åpen garasjeport",
  "Nodes": [
    {
      "Id": "1",
      "Type": "trigger",
      "Label": "Garasjeport",
      "SuccessTransition": "2",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:evt/rt:dev/rn:zw/ad:1/sv:sensor_contact/ad:17_0",
      "Service": "sensor_contact",
      "ServiceInterface": "evt.open.report",
      "Config": {
        "ConnectorID": "",
        "InputVariableType": "",
        "IsValueFilterEnabled": false,
        "LookupServiceNameAndLocation": false,
        "PropFilterName": "",
        "PropFilterValue": "",
        "RegisterAsVirtualService": false,
        "Timeout": 0,
        "ValueFilter": {
          "Value": null,
          "ValueType": "bool"
        },
        "ValueJPath": "",
        "ValueJPathResultType": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": null
      },
      "Ui": {
        "nodeType": "",
        "x": 220,
        "y": 282
      },
      "TypeAlias": "Trigger",
      "LastValue": false
    },
    {
      "Id": "2",
      "Type": "if",
      "Label": "Status filter",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "Expression": [
          {
            "BooleanOperator": "",
            "LeftVariableName": "",
            "Operand": "eq",
            "RightVariable": {
              "Value": true,
              "ValueType": "bool"
            }
          }
        ],
        "FalseTransition": "4",
        "TrueTransition": "3"
      },
      "Ui": {
        "nodeType": "",
        "x": 618,
        "y": 246
      },
      "TypeAlias": "If condition"
    },
    {
      "Id": "3",
      "Type": "wait",
      "Label": "Vent x min",
      "SuccessTransition": "5",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": 10000,
      "Ui": {
        "nodeType": "",
        "x": 501,
        "y": 463
      },
      "TypeAlias": "Delay"
    },
    {
      "Id": "4",
      "Type": "action",
      "Label": "Lukket port notifikasjon",
      "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": "Garasjeport lukket ✅",
            "SiteId": "df9f093f-78d4-41b5-9cbb-5a87f1d4c6a8"
          },
          "ValueType": "object"
        },
        "Props": {},
        "RegisterAsVirtualService": false,
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "notification_action",
        "x": 780,
        "y": 462
      },
      "TypeAlias": "Notification"
    },
    {
      "Id": "5",
      "Type": "action",
      "Label": "Åpen port notifikasjon",
      "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": "Garasjeport åpen over X min! 🚨",
            "SiteId": "df9f093f-78d4-41b5-9cbb-5a87f1d4c6a8"
          },
          "ValueType": "object"
        },
        "Props": {},
        "RegisterAsVirtualService": false,
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "notification_action",
        "x": 490,
        "y": 629
      },
      "TypeAlias": "Notification"
    }
  ],
  "Settings": null,
  "IsDisabled": false,
  "IsDefault": false,
  "ParallelExecution": "keep_last"
}

Dette ser riktig ut :slight_smile:
For å teste så må du lukke porten eller sende en tilsvarende melding som sensoren sender.

Ja, jeg har testet litt nå, og alt er fint når porten åpner seg og står åpen. Men når den lukker seg får jeg ingenting. Hvis jeg går inn i flyten og kjører den på false en gang til så får jeg lukket melding, men ikke alltid. Det hele virker noe tilfeldig, uten at jeg klarer å se hvorfor. Jeg prøvde å sette en 3 sekunders forsinkelse rett etter triggeren, men det gir ingen forskjell.

I loggen ser det også normalt ut:

Åpner port (fra lukket status), her får jeg melding:

Lukker port (fra åpen status), her får jeg ingenting:

Lukker port (fra lukket status), her får jeg melding, av og til:

Oppdatering fra meg her. Med en 10 sekunders delay node mellom trigger- og if-noden ser det ut som flyten fungerer som forventet. :partying_face: