Il s'agit de mon robot LINE personnel qui m'aide à automatiser diverses tâches de la vie quotidienne, telles que le contrôle de la maison (climatiseur, lumières et prises) et le suivi des dépenses (enregistrer combien je dépense chaque jour). Voir ci-dessous pour une visite guidée des fonctionnalités.
Je recommande à chaque développeur d'essayer de créer son propre chatbot d'assistant personnel. C'est un excellent moyen de pratiquer le codage et d'améliorer ses compétences en résolution de problèmes. Et cela contribue à rendre la vie plus pratique !
Il est écrit en TypeScript et s'exécute sur Google Cloud Run au-dessus de la plateforme d'exécution JavaScript evalaas.
J'ai un Raspberry Pi configuré qui peut contrôler les lumières, le climatiseur et les prises intelligentes. Il reçoit des commandes via Google Cloud IoT Core, exécute l'action, puis fait rapport à Automatron via son API.
Suivi simple des dépenses en saisissant le montant + la catégorie. Exemple : 50f signifie ฿50 pour la nourriture. Les données sont enregistrées dans Airtable.
Sur mobile, appuyer sur le corps de la bulle (contenant le montant) m'amènera à l'enregistrement Airtable créé. Cela me permet de modifier ou d'ajouter facilement des remarques au dossier. En appuyant sur le pied de page de la bulle (contenant les statistiques), j'accéderai à la vue Airtable, qui me permettra de voir toutes les données enregistrées.
J'ai configuré IFTTT pour lire les messages SMS et les envoyer à l'automate. Il utilise ensuite transaction-parser-th pour analyser le message SMS et extraire les informations de transaction. Il m'est ensuite envoyé sous forme de message flexible.
Sur téléphone mobile, les boutons de réponse rapide me permettent de transformer rapidement une transaction en relevé de dépenses en appuyant simplement sur la catégorie.
Certains types de transactions peuvent être automatiquement transformés en dépenses, par exemple lorsque je prends le BTS Skytrain avec la carte Rabbit LINE Pay. Le fait de disposer de nombreuses fonctionnalités dans un seul bot a permis ce type d'intégrations étroites.
Automatron peut également convertir une image en texte à l'aide de l'API Google Cloud Vision.
L'interpréteur LiveScript est inclus, ce qui me permet de faire quelques calculs rapides.
POST /text
envoie une commande texte à l'automate. Cela équivaut à envoyer un message texte via LINE. Cela me permet de créer un outil CLI qui me permet de parler à l'automate depuis mon terminal.
POST /post
envoie un message directement à mon compte LINE. Cela permet aux scripts domotiques de me faire rapport chaque fois que le script est invoqué.
Ce projet est un monorepo géré par Rush. Il contient plusieurs sous-projets :