I can second the Synapse modules. They are longer range than standard Zigbee and have the advantage that you can always add another node to bridge a difficult link. With LoRa if it cant make the link you need to start building towers with high gain antennas etc.
Programming is OTA using a stripped down python. Childs play.