I have been looking for an easy to use, cheap temperature sensor that most importantly has high WAF, and in doing so I came across the Aqara range from Xiaomi. Temperature, humidity and pressure in a small 2cm (1") square battery device all for $10! Seemed too good to be true. Only problem was they are zigbee and wont connect to the Hue hub, and wont work with the excellent Hue plugin we have.
https://www.aqara.com/us/temperature_humidity_sensor.html
They are good value on both US and UK amazon but a little cheaper from Ali or Banggood. Both of those offer the full range of Temperature sensors, vibration / tilt sensors, water sensors, and battery wireless wall switches and hand held buttons.
However thanks to recent progress in both use of Node-Red connectivity to Indigo as well as Joe's amazing MQTT plugin there were some good alternatives.
I found a great little program that can run on a pi using a $10 USB stick , act as a zigbee hub and convert to MQTT that either Node-Red Indigo or MQTT Shims can pick up.
https://github.com/Koenkk/zigbee2mqtt
All this for the cost of the sensor and a £3-10 USB stick. The USB stick you need is CC2351. Shipped from China these can be had for as little as $3 but for one with an antenna and shipped lcoally they are more like £10. Also worth mentioning, that these sticks can be used as boosters, so if you have a few Pis around the house for pibeacon then you can build full house coverage quickly as these sensors wont act as a mesh as only battery, and neither will your Hue bulbs. Alternatively there is a variant of this board that can be mains powered standalone that can run as a standalone booster too.
You can buy dedicated cables to flash the required firmware onto the USB stick but this is not required.
If you have a Pi, you can plug it into the Pi and using 4 female-female jumpers you can connect it direct to the Pi GPIO to flash. The only problem is that the jumper cables dont fit unless you bend the pins on the USB stick out. They are soft and easy to bend and didnt feel like they would snap, but you will need to hold the cables in place with one hand whilst you enter the command on the Pi to flash. ITs only 3 minutes so doable.
https://www.zigbee2mqtt.io/information/alternative_flashing_methods.html
Full instructions are on the above site. Once you have flashed the USB stick, and installed the software to the Pi (or using the Linux instructions direct to your Mac) the easiest way to get started is actually to install the Node-Red admin panel.
Assuming you have Node-Red installed (which can also run on your Mac) then open up a new tab in node-red. Then click the hamburger icon and Import. Copy the contents of the flow file as text from here (double click on contents to select all), https://github.com/ben423423n32j14e/zigbee2mqttadminpanel and paste into the Import tab.
You will need to click into each of the 8 nodes in this flow, click edit Sub Flow, and change the MQTT server in the relevant nodes in each sub flow. You only need to do this the once.
Then Deploy and go to node-red_IP:1880/ui .
There change Permit Join to Allow and you are all good to go with pairing your device. On the Aqara temperature sensor it is just a quick press of the top button and a few seconds later it should show up. Much simpler than a zwave setup.
You can then rename the device. The device name will be the MQTT topic after zigbee2mqtt. You can use / in the name.
You can do pair devices from the command line, but I found it easier with the admin panel as I already run Node-Red for Alexa.
You can either then use Node-Red to receive the MQTT message and the Indigo palette to put the values into an Indigo variable or for a more complete integration, , you can then go to Indigo and MQTT plugin.