i like to be able to remote control (over internet) my siemens thermostat. i like to keep the solution very light. my thermostat has a button to switch between different modes (there is a “continuous comfort mode” set to 21C and a “savings mode” set to 17C)…so i like to hookup the core to be able to set the mode remotely…that’s basically it i am not interested in reading out sensor values and/or adjusting temperature. just pushing the button so to say
do you guys think this is possible? what do i need more besides the core???
thanks for your quick reply…i am unfortunately not an expert…but i did see some further pointers in the manual…apparently it has already some wiring provision for the remote…so thats nice i think…plz see below:
so what do u think? its possible right? do i need to order the full kit or only the core?
@gjeee Are you able to trigger it using a wire and get your desired output?
A latching relay or the relay you chosen depending on requirement
so you don’t waste power continuously powering the relay to activate the Remote control, unless you need a fail-safe whereby should the Spark core fail, the Remote control get turned off.
i am not at home so didn’t try out yet will let u know asap…but just out of curiosity…how long would a powerbank last to power this core? is there also a possibility with just regular batteries??? otherwise i just use an USB-adapter hooked to main circuit.
@gjeee I remember reading somewhere the current usage should be in the range of 100-300 mA with the wifi transmission going.
@zachary where’s the current readings? Can’t remember where i read it
Regular batteries are not so ideal if you are running it 24/7. It’s possible if we can put the core to sleep which uses less power but their some bug with the sleep() as of know. BUT do KIV this point.
You will definitely benefit from having the low power mode once the bug is fixed!
The USB adapter would be your good friend for the moment
suppose i put the device in a cycle of deep sleeping 59s and 1s active, would it still be possible for my remote app to send a signal which core picks ups once it awakes ???
You can definitely put the Core to sleep, and perform communication when it wakes up. However, messages sent from the remote app to the Core while the Core is asleep will currently time out. So, you can handle this a few different ways, whichever you prefer:
The remote app can be made so that it is ok for the Core to receive some messages and not others. That way the remote app can simply keep functioning (with some requests to the Core failing) and your Core can go to sleep after it receives a message from the remote app.
The Core can use UDP or TCPClient to contact your remote app immediately upon wake up. The remote app can wait for this connection before it performs other work with the Core.
Once we finish Spark.publish() your remote app can subscribe to an event the Core publishes when it wakes up. When it receives the event it can perform other communication with the Core.
Also, I forgot to mention—the Core can take somewhere between 1 second and about 15 seconds to connect to Wi-Fi and the Cloud. So keep in mind that the Core will have to remain awake for that long at least. Plus, if you want to flash new code to your Core, it has to stay awake long enough to finish the update.
Your math is correct, but you must consider the duty cycle of the Core. It might draw 100-300mA for a short duration, averaged over the time it is asleep drawing a couple hundred microamps. So in theory you can extend your battery life greatly by lowering the duty cycle of awake time vs. sleep time. Especially if you don’t need to respond that fast.
Also if you can power your Core with regulated 3.3V directly on the 3V3 pin, when your Core sleeps, the LDO won’t even consume 100 - 200uA anymore.
thanks for the background info…integrating the core/relay directly with my thermostat is not ideal because there is no electrical plug closeby and i don’t like a 4 m wire (and a powerpack is not an option i guess because of the limited lifetime)
so i thought a bit more and came up with an alternative solution:
i will use a radio-controlled relay between T1 and T2 (see picture above)
the core will function as a wifi-enabled base-station powered by main grid. if this base-sation will get a signal of my sparkapp over internet it will switch the relay in my thermostat via a radio-signal
I think it's going to get complicated (Rube Goldberg style) rather quickly to put a RC radio link in-between the Spark Core and your Thermostat, but I don't see an easy way to get power from your 24-250VAC terminals... you could energy harvest power from those, but if you draw too much power it will turn on your blower relay. I would like to offer a solution that doesn't make you create a "one-off" system based on your specific HVAC unit.
I understand how you are putting it in Remote mode, but are there terminals on the back to interface to the other buttons as well? What are those requirements?
I think what you need is a low power receiver/control unit that can be powered from the (2) AA batteries in the Thermostat that can sleep from time to time to conserve power. Check out this thread for some nice radios that would do the trick: [Request - Answered] nRF24L01+ library - Libraries - Particle You just need a 3.3V Arduino Pro Mini on the thermostat side... running at 8MHz. Probably using small Solid State Relays for the momentary type stuff, and/or small signal Latching relays for things that need to be connected for a bit (like the Remote terminals).