Home

Awesome

rhasspy Weather

A python script that can make rhasspy voice assistant tell the weather.

Found a bug?

Just open an issue and supply me with the sentence that produced the bug. If you are not sure if it is a bug or if you just have a question, you can also post in the rhasspy forum thread for this project.

Python Versions

This project is tested on python 3.7. As of now python 3.9 is incompatible.

Table of Contents

Setup

The setup instructions have been moved to the project wiki.

Instructions for

If you run into trouble using those instructions or you find they are unclear, please contact me so I can fix it.

Usage

If everything is set up you can query the weather:

German:

English:

Development

Some helpful things needed to know for development.

Project Structure

(needs updating, refer to github)

custom_command
|--- rhasspy_weather                # this is actually in the github project
     |--- api                       # all weather api's go here
          |--- openweathermap.py    # default api
     |--- data_types                # basically tons of custom classes saving data
          |--- condition.py         
          |--- config.py            # config file is parsed here
          |--- forecast.py
          |--- interval.py
          |--- item.py
          |--- item_list.py
          |--- location.py
          |--- report.py
          |--- request.py           # this is what a parser outputs
          |--- status.py            # status and error handling
     |--- languages                 # language files go here
          |--- german.py
          |--- english.py
     |--- output
          |--- hass_json.py         # adds a speech part to the input json to be read by rhasspy
          |--- mqtt.py              # sends the answer per mqtt
     |--- parser                    # parsers go here
          |--- rhasspy_intent.py
     |--- slot_programs             # slot program generating rhasspy slots from language files
          |--- conditions
          |--- items
          |--- named_days
          |--- named_times
          |--- output.log           # output from slot_programs ends up here
          |--- temperatures
     |--- config.default
     |--- rhasspy_weather.py        # basically the main of the script (do only call from outside)
     |--- utils.py                  # misc functions that are used by more than one data_type
|--- custom_commands.py # the script rhasspy calls that uses this project
|--- output.log         # the file all logs land in (if my example custom_commands.py is used

TODO

(needs updating also, I might have done more than I remember doing)