NinjaBlocks is a home automation and security solution that fits the author's requirements of being reasonably priced, modular, extensible, and compatible with Raspberry Pi. The author sets up a system using NinjaBlocks and various wireless sensors and actuators. Rules can be created through a drag and drop interface to automate tasks like sending alerts when doors open or taking photos when motion is detected. An app allows remote control and viewing of cameras. While providing many capabilities, NinjaBlocks has some limitations around device support and reliance on cloud services.