I hope you find this entertaining.
I have a very simple problem. I have a secondary structure on my property some distance
from my house. It has a light that I want to come on sometime after sunset and turn off
sometime before dawn.
There are a few issues.
1. The light is visible from the road, so it should look nice. Adding a socket with a
day night sensor isn't possible. It won't fit inside the current lighting
fixture.
2. The WiFi from the house does reach this structure, but it isn't very strong. My
laptop can pick it up just fine, but the Shelly home automation switch I bought
doesn't see it.
3. I have an extra phone that I use only for 2 factor authentication and a few other minor
uses. I have a $10/month plan for that phone.
Note: The Shelly is installed. It can't see any WiFi, so it won't let me set up
a schedule because it can't see a clock. Not withstanding the fact that I could tell
it what the time is and even $0.20 chips have a reasonably accurate clock. We aren't
flying planes or running nuclear reactors here. But it will let me tell it how long to
wait after I turn it on to turn it off. This uses a clock, but I guess it slipped
through. It's from Romania. I manually turn the light on every evening.
Plan 1
Move the second phone to the secondary structure and just use VNC to get any messages.
Turn on the hot spot and have the Shelly get the time from that.
Result: I abandonded this plan when I couldn't VNC into the phone from the world. Lo
and behold, this only works if you access the phone using WiFi. Since I want to use the
hotspot, this means being connected to the phone's hot spot. Which means I have to be
there, which defeats the whole purpose.
Plan 2
Set up my rPi on the hot spot from the phone. Use a remote ssh tunnel to access the rPi
and then access the phone.
Result: The remote tunnel is blocked. I only did some brief reading, but you have to do
some packet inspection to do this.
Plan 3
Use the slow network from the house to contact the rPi on a second external and good
antenna. Use the rPi's native antenna to contact the phone.
Result: This works. But it is incredibly slow. The clock on the phone that I see when
using vnc updates every 5 minutes. But despite this, it seemed pretty stable. Not really
workable though.
Note: Although an ssh remote tunnel won't work, sshfs apparently will. I
wouldn't have guessed that.
Note: Devices that are using the phone's hot spot can't see each other. They can
only see the phone. This would mean that if I connected the Shelly to the hot spot, I
wouldn't be able to see it from another device, like the rPi that I can talk to from
my house. However, the phone can see all of the connected devices. And the rPi can VNC
to the phone.
Next plan
Connect the Shelly to the hot spot. That should give it a clock and I should be able to
schedule it using the phone. If I am away and need to make a change I should be able to
use the rPi to VNC headlessly to the phone. Then I am thinking screen shots requested by
the slow connection and forwarded to the sshfs share over the hot spot. I'll have to
make sure I set the Shelly up with a static IP, or I'll never find it, since the
phone, the only thing that could see it, won't nmap or tell me what is connected to
it.
Thoughts
Having a few old phones and access to $10/month plans, it would be nice to just be able to
access a phone from the world. It would be easy to monitor and perhaps control things at
remote locations for cheap. I've used phones this way before, but they were alway on
WiFi and so I had access. When they are the hot spot/AP, things get all jacked up. As an
aside:I hate IoT.
If anyone has any thoughts, comments, or suggestions, I would welcome them.
If you read this far, I hope it was entertaining.
Final thought
After rereading this, I think I could just replace the Shelly with an X-10 light switch.
Install the controller on the rPi and control it with a cron job. I could make any
changes using the slow connection from the house. Or alternatively, I could use the native
WiFi interface on the rPi as an Ad Hoc/AP for the Shelly. I did try this, but it
didn't work. But I've upgraded the OS on the rPi to bookworm from stretch since
then. Maybe that will address some of the issues. I was using my laptop to test and I
think I was having version compatiblity issues.
Thanks.
Full circle
-Gary