Coder Social home page Coder Social logo

eigenein / my-iot Goto Github PK

View Code? Open in Web Editor NEW
0.0 3.0 0.0 4.82 MB

Yet another home automation

Home Page: https://eigenein.github.io/my-iot

License: MIT License

Dockerfile 1.66% Python 71.21% Makefile 2.57% HTML 24.56%
energy-consumption energy-data energy telegram-bot telegram-bots telegram buienradar weather home-automation ifttt ifttt-webhooks raspberry-pi raspberry python docker

my-iot's Introduction

my-iot's People

Contributors

eigenein avatar

Watchers

 avatar  avatar  avatar

my-iot's Issues

Database size channel

It would be nice to monitor IFTTTie database through IFTTTie itself.

iftttie.sqlite3> SELECT page_count * page_size as size FROM pragma_page_count(), pragma_page_size();
+-----------+
| size      |
+-----------+
| 218079232 |
+-----------+
1 row in set
Time: 0.613s

Packaging without Docker

Docker startup takes too much time on boards like Pi Zero. Look at other options to deploy without Docker.

As a side effect we'll get ability to restart host from the UI.

Channel page

Template: channel.html
Handler: iftttie.web.channel

It was done one day, but since the database and all the structures have been refactored, this functionality was removed and now needs to be re-written.

Charts on the channel page

  • Keep in mind long-running SQL queries
  • Perhaps make a separate endpoint for charts and load it asynchronously

Event expiry timestamp

Makes sense for example for the Nest image URLs or Bluetooth received signal strength.

Night theme

Could be maybe activated based on sunrise and sunset times? Possible implementations:

  • Specify keys for sunrise and sunset channel in the configuration
  • Have an action to activate and deactivate night theme – more flexible

Use separate client sessions

If #35 is resolved by using a separate session, then this will be to use a separate ClientSession instance for each channel.

Documentation

README.md gets outdated too fast, automatically generated docs from sources is really needed.

Need to look what is the best solution.

Improve database schema

The database takes too much space:

  • Delete migrations
  • Rename the latest table into channels
  • Add integer auto-increment primary ID to the channels table
  • Make the history table refer by channel ID instead of the key

User sessions

Avoid checking username and password for each request. Use session IDs instead.

Rename to channels and events

After some time I've got an idea that "service" and "update" are not really good names. Perhaps, "channel" and "event" are more descriptive.

Also, rename on_update to on_event.

`ValueKind` becomes `Unit`

The field should rather contain unit, not a kind of value. E.g. "meters per second" instead of "speed". Review and refactor existing kinds.

Telegram bot channel

Bot is supposed to listen to a chat and yield corresponding events with the message texts. Thus,My IoT could be controlled via e.g. Voicy bot in the same group chat.

Nest channel stops after a connection error

  • The channel doesn't restart automatically
  • The error description is missing, whilst supposed to be there
  • Perhaps not related to this specific channel, should be a bug in the core
Jan 25 23:14:01 (iftttie.channels.nest:36) [E] Connection error:
Jan 25 23:14:01 (iftttie.core:28) [I] Stopped channel Nest(token="c.Am…xoGd").

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.