OpenHab Particle Monitor - Internet Button

I put together a project called openHAB Particle Monitor and wanted to share it here.

Designed to run on the Internet Button, the openHAB Particle Monitor provides a link between you and your openHAB-connected house, even when you’re away from home. The OHPM exposes three openHAB switches (Alarm, Trouble, and Light) which you can add to groups or automate through rules. As long as the Internet Button is powered, connected to a WiFi network, and configured properly, you’ll receive an alert if there’s an issue at home. Unlike solutions like MQTT, the OHPM intentionally uses the Particle Cloud to pass updates to your device whenever it has an internet connection.

Demo video here:

Check out the project on GitHub:


Seems like a cool project. I have something similarish running on my desk at work (it’s not integrated into openHab tho). How do you like OpenHab? What else have you integrated it into? What device do you have it running on?

I started tinkering with openHAB in October and switched to it completely (from SmartThings) in November. I wouldn’t call it easy to set up, but the community is great and the documentation is making great strides which certainly makes it easier. It’s very stable and seems to be getting better and better. I also like how it’s very customizable. Overall, I’m very pleased and wish I had tried it sooner.

I am running it on a Raspberry Pi 3 with a ready-made install image called openHABian . This is probably the best way to start for anyone who isn’t very confident with Linux as it takes care of setting up some of the more tedious setup steps.

Besides the Internet Button, I have it connected to:

  • Nest thermostat
  • Several Arduinos (via MQTT and Ethernet shields)
  • SmartThings (via MQTT, to continue using Zigbee devices)
  • Network binding (for presence detection)
  • Sonos (haven’t done much with it yet)
  • Z-wave (using Aeotec’s Gen 5 Z-stick; connected to 17 sensors including motion, contact, and smoke)
  • Homekit (for easy iOS control of lights)

Currently, I’m using the Garadget OH binding to connect to my Photon, but a member of the OH community has plans to make an advanced Particle binding that can be configured in OH’s graphical UI. That should make the Particle platform even more accessible to OH users. Otherwise, for use cases where the Photon will be on the same network as the OH server, I know people have used MQTT with good results.

1 Like

Hey @dome, well done!
Good documentation and video also... :open_mouth:

Currently I am still trying to set-up Homebridge to check it's possibilities but I'm stuck.
Meanwhile, I tried out your experiment (without internet button...) and IT WORKS!
OpenHAB is actually VERY easy to use, once you understand it's logic!

Thanks for your tutorial @dome !!!

From your story, I understand the Particle - OpenHAB communication possibilities are still quite limited: Only ON/OFF switching. Correct?

Has there been any progress in this?


No, I wouldn’t say that at all. I passed a number from openHAB which is based on several switches (parsed by an openHAB rule), but you should be able to pass other kinds of information as well.

Not that I could find, though someone on the openHAB forum reported success using NodeRed as an intermediary.

Personally, I use MQTT almost exclusively to connect Particle products to openHAB. This project is the only exception since I want it to work when I’m not home. For everything else that is on my local network, MQTT is perfect. It’s fast and reliable and well supported on openHAB. I suggest checking it out here and on the openHAB forum if that interests you.

Thanks! I’m glad you liked it.

1 Like

What I meant is that I saw only examples of communication from OpenHAB to Particle: A particle.function is addressed with an extra string as payload. That's great!

But how about OpenHAB reading also particle.variables or listening to

For my Particle network at home, besides (1) Controlling ON/OFF states, I also would like to...

(2) Use different interfaces than switches:

  • Select one mode out of three (for example: Home, Out, Manual)
  • Change colour of RGB lights
  • Set values for devices like setting the temperature of a thermostat (on Photon)

(3) Read integer / floating values: temperatures, CO2 concentration levels, occupation movements, light levels, gas levels etc...

(4) Listen to messages: alerts, settings, status etc...

Can the Garadget binding do these also?


It should be possible, but I haven’t explored it. If everything you want to connect resides on your local network then MQTT is probably a better option. That’s what I used. You should read up on it on the openHAB docs page and forum.

1 Like

MQTT is new to me but I will check it out.