Global variable changes for no reason



1) Give a description of the problem
I have a strange issue were a variable is changing without me (or seemingly WC) knowing

2) What is the expected behaviour?
When I come home, a piston that monitors my presence via my iPhone sets some variables (am I home?, how many are home?, etc). Once set, should stay set until presence changes again.

3) What is happening/not happening?
I come home, the presence variables are set correctly but then when I look in WC, they are not set correctly but my piston that monitors changes to this variable does not see a change.

**4) Post a Green Snapshot of the piston![image|45x37]

5) Attach logs after turning logging level to Full

Note in the log I left at 3:05:39 and presence changed to false. Hourly check at 3:07 showed still false. Came back at 3:27 and presence changed to true but then look at the variable value on the right and it is false but no trigger for it becoming false. When I force run the presence check, the variable changes back to true and again no indication of change in this piston and it stays true.

Anyone know what might be happening? It is frustrating since the thermostat is set based on if anyone is home and it keeps switching to no-one home right after I get home but I can’t figure out what is causing it.


I have stopped using “Super Global Variables” due to it not always writing to each of my instances. More details can be found here.

Long story short:
I now only use “Super Global Variables” for data that does not change


Thanks! I will try going to regular global variables. I think the issue is availability across multiple instances (pistons and tile)?


Yes. The double @@ is supposed to populate the super global, and be available to all instances… but I have found about a 15% failure rate. It never fails on the instance that writes the variable, but sometimes it fails to update one of my other two instances.