Giter VIP home page Giter VIP logo

weatherdashboard's Introduction

Weather Dashboard

forthebadge

A weather dashboard designed to display information from the Raspberry Pi Weather Station, works with a MongoDB database.

Detailed documentation is in the docs directory.

If any problems occur, open an issue.

Dependencies:

  • Python 3 or above

Dashboard Screenshot

Quick Start

Basic steps on setting up the dashboard for your own LAN

  1. Clone the repository or download the source code from the latest release. This can be done a few ways as stated below:
    1. Use command line tools to clone the repo, git clone https://www.github.com/twosails/WeatherDashboard.git
    2. Download the file from the master branch or other version branches to get specific features. This can be done by clicking the green code button in the top right corner.
    3. Download source code .zip from the latest release.
  2. Navigate into the cloned repo โ€˜cd WeatherDashboardโ€™, and then install the requirements by using the command: python3 -m pip install -r requirements.txt This should install all required dependencies, but if a ModuleNotFoundError occurs, open an issue and manually install the library/module
  3. Migrate the Django app to make sure that the changes are applied to the app, use the command: python3 manage.py migrate
  4. Create a SuperUser to access the Django Admin page, use python3 manage.py createsuperuser

The configuration is required for an error to not occur when loading into the dashbaord page. Configuration can be done by manually editing the config file in WeatherDashboard/weatherapp/util/config.yml Or it can be configured n the Django Admin Page, requiring a restart to apply changes

  1. You are now able to run the server and/or host it. This can be done by the command python3 manage.py runserver
  2. Ensure that the config has been configured in order for the app to work

Details

For more details about how to use this system and configure settings, go to the docs directory or in the wiki.

Contributing

This was a personal project developed by @twosails Feel free to open an issue or pull request to add/suggest an idea for future features or support.

Any contributions are welcomed and appreciated

weatherdashboard's People

Contributors

twosails avatar web-flow avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

weatherdashboard's Issues

ruamel.yaml not installed by requirements.txt

After installing the packages in requirements.txt, when python3 manage.py migrate is run, I get the error ModuleNotFoundError: No module named 'ruamel'. Does ruamel.yaml need to be added to requirements.txt?

Another issue (sorry!)

I've been trying really hard to get this working for the past two days but still haven't had any luck. I think this is mainly becuase I don't really have any idea how to get the sensor data into the application, or how the application is meant to be configured. I am trying to use this software along with a temperature, pressure and humidity sensor to display information locally over my home network. The latest issue that I am hitting is when clicking the add city button, nothing happens. I have tried looking at the weatherapp_city table in db.sqlite3, but nothing is shown there. I understand that this is a personal project and not your priority, but I would be greatful if you could explian how I could get this working as this seems to be the best dashboard for my uses.

module 'memcache' has no attribute 'Client'

Request URL: http://192.168.0.38:8000/
Django Version: 3.1.13
ExceptionType: AttributeError
ExceptionValue: module 'memcache' has no attribute 'Client'
ExceptionLocation: /home/pi/weatherenv/lib/python3.7/site-packages/django/core/cache/backends/memcached.py, line 171, in _cache
PythonExecutable: /home/pi/weatherenv/bin/python3
PythonVersion: 3.7.3
PythonPath: ['/home/pi/WeatherDashboard',  '/usr/lib/python37.zip',  '/usr/lib/python3.7',  '/usr/lib/python3.7/lib-dynload',  '/home/pi/weatherenv/lib/python3.7/site-packages']
Server time: | Sun, 18 Jul 2021 12:09:12 +0000
$ pip3 freeze
asgiref==3.4.1
Brotli==1.0.9
certifi==2021.5.30
chardet==4.0.0
click==8.0.1
dash==1.19.0
dash-core-components==1.15.0
dash-html-components==1.1.2
dash-renderer==1.9.0
dash-table==4.11.2
Django==3.1.13
django-adminplus==0.5
django-plotly-dash==1.6.4
dpd-components==0.1.0
Flask==2.0.1
Flask-Compress==1.10.1
future==0.18.2
idna==2.10
importlib-metadata==4.6.1
itsdangerous==2.0.1
Jinja2==3.0.1
MarkupSafe==2.0.1
memcache==0.8.0
pkg-resources==0.0.0
plotly==4.14.3
pymongo==3.4.0
pytz==2021.1
PyYAML==5.3.1
requests==2.25.1
retrying==1.3.3
ruamel.yaml==0.15.94
six==1.16.0
sqlparse==0.4.1
typing-extensions==3.10.0.0
urllib3==1.26.6
Werkzeug==2.0.1
zipp==3.5.0

Time Zone Support

Me again! Just creating this to ask for advice on what to do with different time zones in this project. I am currently setting the timestamp with time.time() for each entry, although this seems to be interpreted by the dashbboard without adding on the extra hour for BST. Is it worth trying to persue this or would it be best just to leave the time in UTC?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.