element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Raspberry Pi
  • Products
  • More
Raspberry Pi
Documents PiFace Home Timeswitch - turning a light on and off
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Engagement
  • Author Author: PEarle
  • Date Created: 23 May 2013 8:29 PM Date Created
  • Last Updated Last Updated: 8 Oct 2021 5:29 AM
  • Views 5260 views
  • Likes 1 like
  • Comments 46 comments
Related
Recommended

PiFace Home Timeswitch - turning a light on and off

** Update**

 

I've now implemented this using an Energie Pi Controlled mains Socket - see my blog at Home Automation using ENERGENIE - ENER002-2PI

 

For details on the Energie socket see ENER002-2PI - ENERGENIE - RF CONTROLLED MAINS SOCKETS, FOR | CPC


 

 

One of the things I wanted to do with my Pi from the outset was to be able to use it as a timer, to turn a light on and off at night when I was out, as a simple form of home security. Being something of a newbie when it comes to electronics, my biggest problem was how to wire it up to be able to turn the power on and off.

 

The Pi relays are rated at a maximum of 20v and 5amps - therefore I cannot connect the Pi directly to the 'mains powered' light !!!

 

What I am planning on doing is investigating using a to a commercial relay which can cope with the current. When I've done that I shall update this blog again with details of the how the Pi can safely control a mains powered device.

 

However, the rest of the blog is still valid as it explains how the relay on the PiFace is operated and will be used for the Timer application, when completed.

 

I've written a java program to control the light switching on and off which does the following;

 

  • Calculate a random wait time between two values that I have supplied (2 and 20 minutes at the moment)
  • Wait for that period of time to elapse
  • At the end of the wait time, toggle the relay - switch it on if it was already off, and vice-versa.
  • repeat the above ad infinitum

 

The result is that the light will keep turning on and off in a random pattern making it look as if someone is using the room even when I'm not there !

 

 

Java Code

I've already written a document about using Java on the Pi - see http://www.element14.com/community/docs/DOC-54112/l/java-on-the-raspberry-pi. The code that I used for this project is attached to this document (e.g. timeswitch.zip)

 

 

Running Automatically

My intention is really to have this as a 'black box' function so that the TimeSwitch application will run as soon as the Pi is switched on. This is accomplished quite easily - all I need to do is write a script to run the java application, and then add it to the initialisation script.

 

The script to run the java application is as follows ;

cd /opt/pi4j/examples
java -classpath .:classes:/opt/pi4j/lib/'*' com.phe.datetime.TimeSwitch

To run at start up I have edited  /tec/rc.local and added the following line

 

/opt/pi4j/examples/timeswitch.sh > /opt/pi4j/examples/timeswitch.log

 

This will execute the java app at start up and also pipe any log messages to timeswitch.log.

Attachments:
timeswitch.zip
  • Share
  • History
  • More
  • Cancel
  • Sign in to reply

Top Comments

  • Robert Peter Oakes
    Robert Peter Oakes over 12 years ago in reply to Problemchild +2
    Maybe a DANGER rating from Bunny minion through to Skeleton minion
  • mcb1
    mcb1 over 12 years ago in reply to michaelkellett +1
    If you look at the RCSwitch there is a RPi solution. Frederick also used these to interface as an I2C device. http://www.element14.com/community/community/design-challenges/forget-me-not/blog/2014/08/11…
  • mcb1
    mcb1 over 12 years ago in reply to eatojg +1
    This adds a piece for the RPI and while it suits the UK, there are many others using a similar 433 or 315 MHz RF control. The code in the Watts Clever have a 24 bit data stream, but in reality it only…
  • kidiccurus
    kidiccurus over 12 years ago in reply to mcb1

    I know that, my reasoning was badly explained. I meant that it was another point that could be incorrectly wired by someone with little experience. I agree that this is unsafe. I also feel that my knowledge of ac wiring is currently inadequate which is why I do not do ac wiring. Next time I will do more research, it was just a throwaway comment that I dint put much thought into. Thank you for your advice though. I am at stage where I need to bear in mind keeping credible and will try and do my research in future. I didn't mean to get involved in a lengthy debate, I mainly came here to warn people of the dangers of AC wiring. Sorry for wasting your time.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mcb1
    mcb1 over 12 years ago in reply to Robert Peter Oakes

    THERE IS.

     

    This was the whole point of this comment made at the time an element14 staff member did this DANGEROUS project.

     

    I see that despite the promises this has not been updated (Peter did remove the 230v references) and because it has been created by a staffer, you can't report it to the moderator.

     

    Samuel

    If I can offer this advice from many years experience.....

    It always pays to check and research the subject if you are going to offer advice/comment.

    The one thing you have during your career/life is your reputation and credibility.

     

    Both of these are under your control, so treat them well since it's the one thing others can't take away from you.

    They may question it, but if the evidence is on your side then its their credibility that gets questioned.

     

     

    The operation of a light using a relay that is well underrated and used moderately is unlikely to create "    another point of failure.    "

    In this particular application it is essential for safety.

     

    Mark

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Robert Peter Oakes
    Robert Peter Oakes over 12 years ago

    I agree 100% with mark on this one.

     

    Also, just because the relay can handle the 250V at 10A, does not mean that the board it is on can or should, it is all about how the board is designed, built and protected from other things, when dealing with Mains voltages there are very clear guidelines regarding PCB trace spacing. creapage allowances etc that MUST be followed for a module to be certified safe. This includes how it is boxed

     

    in the case of a PIFace, it would never get a CSA or CA or UA etc approval sitting on top of the primary RPI board with nothing more than the connector preventing it from contacting the main board or a finger getting to the high voltage connectors

     

    It is a low voltage design through and through. If there are no warnings on the board then perhaps there should be but there are warnings in the documentation

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • kidiccurus
    kidiccurus over 12 years ago in reply to mcb1

    Oh, sorry, I didn't mean to concern you. I thought was the relays rated at a relatively low voltage(maximum 50v), not just the board, that would explain a lot. another relay would be fine, but adds another point of failure.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mcb1
    mcb1 over 12 years ago in reply to kidiccurus

    Also, I am surprised that  the relay didn't spark and fail in a spectacular cloud of smoke.

    Now you are concerning me with your knowledge.

    image

    The relays are clearly marked for 250v and 10A so why would they "  spark and fail in a spectacular cloud of smoke.  "

     

    The light Peter was switching was 230v (YES HE SHOULDN"T BE) but the current is likely to be less than 1 Amp.

     

     

    There is no reason at all why the pi-face can't control another relay that switches the 230v portion.

    Mark

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • kidiccurus
    kidiccurus over 12 years ago in reply to mcb1

    I know the issue and I know many people don't read the comments but I try and leave them anyway. There is a chance it could save someone's life. A very small chance but a chance nonetheless. And I believe that chance is worth the minute it takes me to leave a comment. Also, I am surprised that  the relay didn't spark and fail in a spectacular cloud of smoke.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mcb1
    mcb1 over 12 years ago in reply to kidiccurus

    While you might be right, most of the novices that do don;t read anyway.

     

    The point of the above (now resolved) was that 230v Mains was being switched on a board that WAS CLEARLY MARKED as 24v maximum.

     

    I'm afraid you're never going to stop the 'ignorant' out there playing with Mains voltages.

    All you can hope is that those who do want to learn can find the safe way to do things.

     

    If you want some other info see this blog post.

    http://www.element14.com/community/community/design-challenges/forget-me-not/blog/2014/08/08/forget-me-not-eldermon-electrical

     

    and this for a safer way to switch mains voltages

    http://www.element14.com/community/community/design-challenges/forget-me-not/blog/2014/08/14/forget-me-not-eldermon-outlets

     

    Mark

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • kidiccurus
    kidiccurus over 12 years ago

    It still worries me a little that novices may try this with a second relay powered by the piface. Don't do AC unless you are 100% confident. If need be, consult a qualified electrician. It isn't worth your life.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • e14 Contributor
    e14 Contributor over 13 years ago in reply to PEarle

    Peter,

     

    The points about making sure the device is contained within an appropriately robust container are very useful.

     

    There seems to be somewhat of a conflict between the need for a robust container,

    and the Safety Data Sheet's warning that the device should not be covered.

    http://www.element14.com/community/docs/DOC-44828/l/raspberry-pi-safety-data-sheet

     

     

    One of the things I wanted to do with my Pi from the outset was to be able to use it as a timer, to turn a light on and off at night when I was out, as a simple form of home security.

     

    The Safety Data Sheet also warns that the device is not Class B compliant, which seems

    to be in conflict with its proposed use as a simple form of home security.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • mcb1
    mcb1 over 13 years ago in reply to PEarle

    Much better Peter.

    I've edited the comments.

     

    Just one thought about random lights.

     

    If you were standing outside looking at a house you think might be unoccupied.....

    Would a light randomly switching ON and OFF at 2am, 3am, or even 4am not seem a little wierd.?

     

    The idea is to emulate occupancy, so a quick note of any 'normal' behaviour might be in order.

    Adding some time ranges to the random along with a set number of cycles within that period could be an advantage.

    Adding a sequence to simulate kitchen then bathroom might be also a bonus.

    If you could incorporate a RTC, then simulating normal weekday activity could be a benefit, ie lounge off at 10pm, bedroom off 10:30pm, etc.

     

    Please don't get me wrong, this has potential, and is not dis-similar to an Arduino based version I did earlier.

     

     

    mark

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
<>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2026 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube