Jarvis is a simple IA for home automation with (multi-languages) voice commands written in Python.
This repository has been archived on 2023-06-09. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2021-10-14 11:49:49 +02:00
jarvis Removed unused configurations values from config.json 2021-10-14 08:58:44 +02:00
.gitignore Update .gitignore 2021-10-12 19:50:07 +02:00
Dockerfile Working final dockerfile using Ubuntu 2021-10-12 21:23:17 +02:00
Dockerfile.alpine Added WIP alpine dockerfile 2021-10-12 21:47:47 +02:00
README.md Update README.md 2021-10-12 18:03:34 +02:00
requirements.txt Removed unused requirements 2021-10-12 20:03:17 +02:00
run.py Fixed bug when jarvis wouldn't start outside pycharm 2021-08-22 18:44:32 +02:00
todo_ideas_google.txt Added ideas from Google Assistants (TODOS) 2021-10-14 11:49:49 +02:00

jarvis banner

jarvis-server

Jarvis is a simple IA for home automation / personal assistant with voice commands written in Python. It can be used alongside with HomeAssistant, the more devices you have on HomeAssistant, the more you will be able to teach to Jarvis.

This is only the server-side of Jarvis, you can download the client here .

Languages

It only supports French and English (normally) for now, but with some changes you should be able to use english or another language.

Compatibility

The server can run on anything that runs Python 3+ (linux recommended)

Installation

If not already installed, you will need Python 3.9 and few other packages for jarvis to work, you can install them with these commands.

$ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt-get update
$ sudo apt install python3.9 python3.9-dev python3.9-distutils python3-fann2 libfann-dev swig

After that, run the command python -m pip3 install -r requirements.txt to install the basic requirements for the project.

Then we need to train our model, but before that we need to download "punkt" and "stopwords" from the NLTK downloader, go to the Python Console and enter the following commands :

> import nltk
> nltk.download('punkt')
> nltk.download('stopwords')

Errors

Common errors than I personally encoured during this project, hope this can help you.

FANN/FANN2 error during pip requirements

Linux :

I actually don't know how I solved this but I tried building myself FANN following the instruction from here. Here is some links I found trying to solve the error : https://stackoverflow.com/questions/51367972/lib-fann2-failed-to-install https://github.com/FutureLinkCorporation/fann2/issues/11 https://github.com/MycroftAI/padatious#installing https://github.com/MycroftAI/padatious/issues/21 https://jansipke.nl/installing-fann-with-python-bindings-on-ubuntu/

Windows

Solution for windows users :

pip install pipwin
pipwin install fann2

Error 404 from the HomeAssistant API

/!\ Only Windows usually
Returns an error 404 when requesting information about an entity_id, you need to edit the source code of the file " rawapi.py" from the api.
Line 53 of rawapi.py must be changed from self.endpoint(path), to self.endpoint(path.replace('\\', '/')),