Coder Social home page Coder Social logo

thermostat-controller's People

Contributors

timmerz416 avatar

Watchers

 avatar  avatar

thermostat-controller's Issues

Create Local Store of Incomplete LAN Transmissions

Need to create a capability to store any data that was to be sent over the LAN to the database. This will probably initially multiple attempts to transmit the data to the database, and if that continues to fail, store one the Raspberry Pi.

Longer term, need a capability to later upload the data once a connection is re-established.

Implement log files

Code currently uses logger, but output is to stdout. This is ok for now, but before putting the code out for release, want to build a capability to log to sequential log files on the Raspberry Pi.

Implementing DB Queing

Create a queuing class that takes care of http transmissions and internally stores incomplete transmissions and deploys them to the main DB when it is available.

Exception Handling of Communications over the LAN

Currently, any communications issues (unresponsive sockets being a main concern) are not handled properly and is a critical error that crashes the thread. This needs to be handled for long-term reliability of the thermostat.

Create Testing Documentation

Create documentation identifying the full suite of testing to be applied to the thermostat to check for functionality. Need to think if this will include code tests as well.

Update Rules Over LAN

Develop capability to update the thermostat rules over the LAN, similar to currently developed for the Netduino version of the thermostat.

Store Rule Change History

Develop capability to store changes in rules in the thermostat programming in the database. This would be useful for analysis to understand the programming logic in place at any given time.

Inidicate Controller Off

Create an indication on the display that the software is not running. Perhaps printing '--.-' for the current temperature, or a LED?

Exception Handling for Listening Socket

Need to develop code to manage an exception creating or managing the listening socket. This does not need to be a critical error, but it should notify the user and shut down the thread.

Override Mode Temperature Changes

When in override mode, any changes to the temperature setpoint on the display are not updated for the control setpoint. Need to correct this so that a setpoint change is handled by the controller. This is not an issue for setpoint changes over the LAN.

Create Initial Configuration File

Create a file and mechanism for initializing the thermostat user parameters. Expecting such things as:

  • initial rules
  • xbee radio names for sensor knowledge
  • temperature limits (?)

Weather Icon Updates

Development of code to update the weather icon based on current weather. This is likely a tie into the CYKZ or CYTZ METAR and decode into a weather icon.

Cleanup the Messaging System

Current coding is not optimized for handling messages. Need to change messages so they are sent directly between modules and no back to the queue to sort out which module to send message to.

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.