i want to notify different people depending on who is home when the laundry is done.
1 if amber and freeland are home, notify both
2 if only amber is home, notify amber
3 if only freeland is home, notify freeland
4 if no one is home, wait until either gets home, then wait 30 minutes and notify everyone who is home (incase the other person arrives during the 30 minutes)
I have 1-3 done but am stumped on 4
thanks for any help
[
{
"id": "68a425115022dfab",
"type": "tab",
"label": "Washer Alerts",
"disabled": false,
"info": "",
"env": []
},
{
"id": "eb694178b18686f7",
"type": "server-state-changed",
"z": "68a425115022dfab",
"name": "Washer is off",
"server": "1494c0a9.8c4aff",
"version": 4,
"exposeToHomeAssistant": false,
"haConfig": [
{
"property": "name",
"value": ""
},
{
"property": "icon",
"value": ""
}
],
"entityidfilter": "sensor.washer_status",
"entityidfiltertype": "exact",
"outputinitially": false,
"state_type": "str",
"haltifstate": "Off",
"halt_if_type": "str",
"halt_if_compare": "is",
"outputs": 2,
"output_only_on_state_change": true,
"for": "0",
"forType": "num",
"forUnits": "minutes",
"ignorePrevStateNull": false,
"ignorePrevStateUnknown": false,
"ignorePrevStateUnavailable": false,
"ignoreCurrentStateUnknown": false,
"ignoreCurrentStateUnavailable": false,
"outputProperties": [
{
"property": "payload",
"propertyType": "msg",
"value": "",
"valueType": "entityState"
},
{
"property": "data",
"propertyType": "msg",
"value": "",
"valueType": "eventData"
},
{
"property": "topic",
"propertyType": "msg",
"value": "",
"valueType": "triggerId"
}
],
"x": 210,
"y": 360,
"wires": [
[
"f90f0981403b3fc2"
],
[]
]
},
{
"id": "6249be602195adbe",
"type": "api-call-service",
"z": "68a425115022dfab",
"name": "notify amber",
"server": "1494c0a9.8c4aff",
"version": 5,
"debugenabled": false,
"domain": "notify",
"service": "mobile_app_ambers_iphone",
"areaId": [],
"deviceId": [],
"entityId": [],
"data": "{\"message\":\"Washer Done\",\"data\":{}}",
"dataType": "json",
"mergeContext": "",
"mustacheAltTags": false,
"outputProperties": [],
"queue": "none",
"x": 1090,
"y": 280,
"wires": [
[]
]
},
{
"id": "f90f0981403b3fc2",
"type": "api-current-state",
"z": "68a425115022dfab",
"name": "If freeland is home",
"server": "1494c0a9.8c4aff",
"version": 3,
"outputs": 2,
"halt_if": "home",
"halt_if_type": "str",
"halt_if_compare": "is",
"entity_id": "device_tracker.freeland_s_iphone",
"state_type": "str",
"blockInputOverrides": false,
"outputProperties": [
{
"property": "payload",
"propertyType": "msg",
"value": "",
"valueType": "entityState"
},
{
"property": "data",
"propertyType": "msg",
"value": "",
"valueType": "entity"
}
],
"for": "0",
"forType": "num",
"forUnits": "minutes",
"override_topic": false,
"state_location": "payload",
"override_payload": "msg",
"entity_location": "data",
"override_data": "msg",
"x": 410,
"y": 360,
"wires": [
[
"d3efb635319cad4e"
],
[
"e275089131933293"
]
]
},
{
"id": "d3efb635319cad4e",
"type": "api-current-state",
"z": "68a425115022dfab",
"name": "If amber is home",
"server": "1494c0a9.8c4aff",
"version": 3,
"outputs": 2,
"halt_if": "home",
"halt_if_type": "str",
"halt_if_compare": "is",
"entity_id": "device_tracker.ambers_iphone",
"state_type": "str",
"blockInputOverrides": false,
"outputProperties": [
{
"property": "payload",
"propertyType": "msg",
"value": "",
"valueType": "entityState"
},
{
"property": "data",
"propertyType": "msg",
"value": "",
"valueType": "entity"
}
],
"for": "0",
"forType": "num",
"forUnits": "minutes",
"override_topic": false,
"state_location": "payload",
"override_payload": "msg",
"entity_location": "data",
"override_data": "msg",
"x": 650,
"y": 300,
"wires": [
[
"6249be602195adbe",
"277c4d650b44a6a8"
],
[
"b3e824ad2d54d83c"
]
]
},
{
"id": "e275089131933293",
"type": "api-current-state",
"z": "68a425115022dfab",
"name": "If amber is home",
"server": "1494c0a9.8c4aff",
"version": 3,
"outputs": 2,
"halt_if": "home",
"halt_if_type": "str",
"halt_if_compare": "is",
"entity_id": "device_tracker.ambers_iphone",
"state_type": "str",
"blockInputOverrides": false,
"outputProperties": [
{
"property": "payload",
"propertyType": "msg",
"value": "",
"valueType": "entityState"
},
{
"property": "data",
"propertyType": "msg",
"value": "",
"valueType": "entity"
}
],
"for": "0",
"forType": "num",
"forUnits": "minutes",
"override_topic": false,
"state_location": "payload",
"override_payload": "msg",
"entity_location": "data",
"override_data": "msg",
"x": 650,
"y": 420,
"wires": [
[
"5d4a429cbc18408d"
],
[]
]
},
{
"id": "ad85d59070ac4d92",
"type": "ha-wait-until",
"z": "68a425115022dfab",
"name": "When freeland gets home",
"server": "1494c0a9.8c4aff",
"version": 1,
"outputs": 1,
"entityId": "device_tracker.freeland_s_iphone",
"entityIdFilterType": "exact",
"property": "state",
"comparator": "is",
"value": "home",
"valueType": "str",
"timeout": "0",
"timeoutType": "num",
"timeoutUnits": "seconds",
"entityLocation": "data",
"entityLocationType": "none",
"checkCurrentState": true,
"blockInputOverrides": true,
"x": 1130,
"y": 680,
"wires": [
[
"a311812cb377d8d1"
]
]
},
{
"id": "a311812cb377d8d1",
"type": "delay",
"z": "68a425115022dfab",
"name": "wait 30 mins",
"pauseType": "delay",
"timeout": "30",
"timeoutUnits": "minutes",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"allowrate": false,
"outputs": 1,
"x": 1350,
"y": 680,
"wires": [
[]
]
},
{
"id": "736d1c7c16d1aa1e",
"type": "delay",
"z": "68a425115022dfab",
"name": "wait 30 mins",
"pauseType": "delay",
"timeout": "30",
"timeoutUnits": "minutes",
"rate": "1",
"nbRateUnits": "1",
"rateUnits": "second",
"randomFirst": "1",
"randomLast": "5",
"randomUnits": "seconds",
"drop": false,
"allowrate": false,
"outputs": 1,
"x": 1350,
"y": 740,
"wires": [
[]
]
},
{
"id": "6dc8b2f41bb5ddf7",
"type": "ha-wait-until",
"z": "68a425115022dfab",
"name": "When amber gets home",
"server": "1494c0a9.8c4aff",
"version": 1,
"outputs": 1,
"entityId": "device_tracker.ambers_iphone",
"entityIdFilterType": "exact",
"property": "state",
"comparator": "is",
"value": "home",
"valueType": "str",
"timeout": "0",
"timeoutType": "num",
"timeoutUnits": "seconds",
"entityLocation": "data",
"entityLocationType": "none",
"checkCurrentState": true,
"blockInputOverrides": true,
"x": 1130,
"y": 740,
"wires": [
[
"736d1c7c16d1aa1e"
]
]
},
{
"id": "b3e824ad2d54d83c",
"type": "api-call-service",
"z": "68a425115022dfab",
"name": "notify freeland",
"server": "1494c0a9.8c4aff",
"version": 5,
"debugenabled": false,
"domain": "notify",
"service": "mobile_app_freeland_s_iphone",
"areaId": [],
"deviceId": [],
"entityId": [],
"data": "{\"message\":\"Washer Done\",\"data\":{}}",
"dataType": "json",
"mergeContext": "",
"mustacheAltTags": false,
"outputProperties": [],
"queue": "none",
"x": 1100,
"y": 420,
"wires": [
[]
]
},
{
"id": "5d4a429cbc18408d",
"type": "api-call-service",
"z": "68a425115022dfab",
"name": "notify amber",
"server": "1494c0a9.8c4aff",
"version": 5,
"debugenabled": false,
"domain": "notify",
"service": "mobile_app_ambers_iphone",
"areaId": [],
"deviceId": [],
"entityId": [],
"data": "{\"message\":\"Washer Done\",\"data\":{}}",
"dataType": "json",
"mergeContext": "",
"mustacheAltTags": false,
"outputProperties": [],
"queue": "none",
"x": 1090,
"y": 540,
"wires": [
[]
]
},
{
"id": "277c4d650b44a6a8",
"type": "api-call-service",
"z": "68a425115022dfab",
"name": "notify freeland",
"server": "1494c0a9.8c4aff",
"version": 5,
"debugenabled": false,
"domain": "notify",
"service": "mobile_app_freeland_s_iphone",
"areaId": [],
"deviceId": [],
"entityId": [],
"data": "{\"message\":\"Washer Done\",\"data\":{}}",
"dataType": "json",
"mergeContext": "",
"mustacheAltTags": false,
"outputProperties": [],
"queue": "none",
"x": 1100,
"y": 240,
"wires": [
[]
]
},
{
"id": "8129b3a6daee9d4a",
"type": "comment",
"z": "68a425115022dfab",
"name": "Only freeland is home, notify freeland",
"info": "",
"x": 1170,
"y": 380,
"wires": []
},
{
"id": "7eb0eb91a7396bc2",
"type": "comment",
"z": "68a425115022dfab",
"name": "Only amber is home, notify amber",
"info": "",
"x": 1150,
"y": 500,
"wires": []
},
{
"id": "76577e01cf3fe3d3",
"type": "comment",
"z": "68a425115022dfab",
"name": "Both are home, notify both",
"info": "",
"x": 1130,
"y": 200,
"wires": []
},
{
"id": "a21479560c65a432",
"type": "comment",
"z": "68a425115022dfab",
"name": "When someone gets home, wait 30 minutes, then notify everyone who is home. (incase the other person arives in the meantime)",
"info": "",
"x": 1450,
"y": 640,
"wires": []
},
{
"id": "1494c0a9.8c4aff",
"type": "server",
"name": "Home Assistant",
"addon": true,
"rejectUnauthorizedCerts": true,
"ha_boolean": "",
"connectionDelay": false,
"cacheJson": false,
"heartbeat": false,
"heartbeatInterval": ""
}
]