1) Give a description of the problem
The text message isn’t sent because it appears the phone’s presence does not change away from present. (but in reality, it does)
“Comparison (enum) not present changes_away_from (string) present = false (1ms)”
Or maybe it’s another issue. That’s why I’m here asking people smarter than me.
2) What is the expected behaviour?
Sometimes my garage door will start closing, then hit a snag/resistance, or a leaf will blow infront of the sensor and then reopen. So I have to sit in my driveway and wait for it to fully close. I’d like to just hit the button and start driving away. If the garage door has the error and re-opens (and thus would be “open”) when I leave my neighborhood, then I want a text message that it’s open so I can turn around while still close to the house and come back to close it.
I don’t want to use a timer because I regularly leave the garage door open for hours while mowing the yard or other house-duties. And if the timer was 30, or even 10 minutes, I’d basically be at Work already.
3) What is happening/not happening?
This project is my first webcore piston, so I’ve tried a few things and discovered a few things.
- To send a txt, you have to select the ST mode: away/home/night. I don’t mess with ST modes, so it’s basically always “night”.
- For this type of combined if-statement, It is best to have a trigger and a condition. Which I think I’ve done. “If phone’s presence changes away from present”, and “sensor’s contact is open”.
- There is a lightning bolt next to the line with the phone’s presence, but there is not one next to the multipurpose sensor’s condition. Maybe this has something to do with my issue?
- I made a piston that just checks if “my phone presence changes to present” and it sends a text just fine.
- I made a piston that just checks if the multipurpose sensor is currently open, and it sends a text just fine.
- But when I combine those two statements, it appears that the first if-statement evaluates as false.
- When I look at the logs, it says “Comparison (enum) not present changes_away_from (string) present = false (1ms)”. This leads me to believe that the 1st argument of the if statement is not being evaluated correctly (or as I expect it to). I left the house at 7:49am today. My presence should have changed from present to not present. That evaluation should have been true.
Other important info:
- Yes, I’ve successfully tested that the system is able to text me.
- The “multipurpose sensor” is the Samsung Smarthings Multipurpose sensor. I have gone into the ST app and changed the type to “garage door” and it registers as “open or closed”, and I can see the status change in real time in the ST app on phone.
- The Multipurpose sensor is not installed on the garage door yet. It’s just sitting on my desk at home in the “open” orientation. So every time I come home, I should get a txt, but I don’t.
- For phone presence, I’m using just the ST app’s implementation. I only care about home vs not home, and my understanding is that the ST app’s phone’s location should handle that. I’d rather not use the separate Webcore presence app because a future version of my setup will go on the wife’s phone and it’s enough of a hassle just to get her to have the ST app.
4) Post a Green Snapshot of the piston
5) Attach logs after turning logging level to Full
1/3/2020, 7:49:19 AM +972ms
+1ms ╔Received event [Kyle’s iPhone].presence = not present with a delay of 54ms
+74ms ║RunTime Analysis CS > 19ms > PS > 39ms > PE > 16ms > CE
+77ms ║Runtime (37942 bytes) successfully initialized in 39ms (v0.3.110.20191009) (74ms)
+78ms ║╔Execution stage started
+85ms ║║Comparison (enum) not present changes_away_from (string) present = false (1ms)
+86ms ║║Condition #3 evaluated false (4ms)
+87ms ║║Condition group #2 evaluated false (state did not change) (5ms)
+88ms ║║Condition group #1 evaluated false (state did not change) (7ms)
+90ms ║╚Execution stage complete. (13ms)
+91ms ╚Event processed successfully (91ms)