This Python application continuously monitors a sensor hub and manages HVAC (Heating, Ventilation, and Air Conditioning) system actions based on received sensor data.
It leverages signalrcore
to maintain a real-time connection to the sensor hub and utilizes requests
to send GET requests to a remote HVAC control endpoint.
This application uses pipenv
, a tool that aims to bring the best of all packaging worlds to the Python world.
- Python 3.8+
- pipenv
- Clone the repository :
git clone https://github.com/your-username/sensor-hub-monitor.git
cd sensor-hub-monitor
- Install the project's dependencies :
pipenv install
- Ajouter les git hook:
pip install pytest pylint pre-commit pytest-env
pre-commit install
You need to setup the following variables inside the Main class:
- HOST: The host of the sensor hub and HVAC system.
- TOKEN: The token for authenticating requests.
- TICKETS: The number of tickets.
- T_MAX: The maximum allowed temperature.
- T_MIN: The minimum allowed temperature.
- DATABASE: The database connection details.
After setup, you can start the program with the following command:
pipenv run start
Des fichiers pour créer le pod et le service de la base de données et ainsi que le déploiement de l'application oxygen-cs vous sont fournis pour faciliter le déploiement sur Kubernetes. Vous pouvez l'explorer à votre gré pour avoir une meilleure compréhension de ce qu'il accomplit. Il est important de noter qu'il y a des variables d'environnement de Kubernetes qui doivent être créé. Nous avons fourni des gabarits pour les différents "secret" et "config map". Toutefois, pour des raisons de sécurité, nous avons enlevé nos valeurs associées à ses variables. Vous devez donc inscrire vos propres valeurs.
The application logs important events such as connection open/close and error events to help in troubleshooting.
There are placeholders in the code for sending events to a database and handling request exceptions. These sections should be completed as per the requirements of your specific application.
répertoire contenant la documentation dans différents fichiers en format Markdown. Ces fichiers contiennent toutes lesdiverses informations pertinentes au projet.
Explication des choix des colonnes Kanban et des automatisations
Explication des choix des étiquettes
Explication du choix du modèle de nouvelle fonctionnalité Explication du choix du modèle de correction de bogue Explication du choix du modèle de nouvelle documentation Explication des choix des modèles Pull Request
Explication des choix des milestones
Explication des choix de la politique de branche
Explication des choix des technologies utilisées pour l’API
Explication du choix de la DB et le lien avec l’API
Explication des choix de notre suite de test
Explication des choix technologiques pour la conteneurisation de l'application
Explication des choix technologiques pour l'intégration continue
Explication des choix pour les tags de Docker
MIT
For more information, please feel free to contact the repository owner.