WaterBot is an innovative Python bot that enables seamless control of GPIO pins on a Raspberry Pi through Discord. With features like automatic scheduling, command-based interfaces, and device emulation, this project facilitates efficient device management while ensuring a user-friendly experience from a designated Discord channel.
WaterBot is a versatile Python bot designed to facilitate remote control of GPIO pins on a Raspberry Pi Zero W via Discord. It leverages OpenAI's capabilities and can only respond to messages from a specified Discord channel, ensuring secure and controlled interaction.
.env file, allowing for custom setups tailored to specific needs.To interact with WaterBot through Discord, use commands such as:
Device Control:
status
on light
off pump
on fan 3600
off heater 1800
on all
off all
Scheduling:
schedules
schedule pump on 08:00
schedule pump off 12:00
schedule light on 06:30
unschedule pump on 20:00
For non-Raspberry Pi users, set OPERATION_MODE=emulation in the .env file to simulate GPIO operations. The bot includes comprehensive testing capabilities that can be executed with pytest, ensuring all functionalities are well-covered and operational.
WaterBot is equipped with robust CI/CD pipelines, enabling automated testing and deployment through both GitHub Actions and GitLab CI/CD. This ensures consistent quality control and streamlined updates.
For users looking to enhance automation further, WaterBot can be configured to run as a systemd service on a Raspberry Pi, streamlining the bot's operation and enabling automatic startup on boot.
No comments yet.
Sign in to be the first to comment.