Skip to content

Thalamos is a powerful Flask web application designed to enhance your storage management. It utilizes the WLED-API to light up the item you are looking for.

License

Notifications You must be signed in to change notification settings

PixelWelt/ThalamOS

Repository files navigation

Issues Forks Stars Commits since latest release Contributors created at last commit Banner

ThalamOS

Thalamos is a powerful Flask web application designed to enhance your storage management. It utilizes the WLED-API to light up the item you are looking for.

Etymology

The name ThalamOS is derived from the Latin word thalamus, which means "inner chamber" or "storage room." This reflects the application's purpose of managing and organizing storage spaces efficiently.

Features

  • LED Integration: Controls an addressable LED strip via WLED to highlight the correct location of your items.
  • Custom Properties: Save any property with your stored items using the info field, allowing for infinite key-value pairs.
  • Search Functionality: Easily search for items and see their location light up on your storage shelf.
  • Lightweight: Built with SQLite and Flask, ensuring minimal resource usage and easy deployment.
  • Easy Deployment: Deploy effortlessly using a Docker container.

Documentation

The ThalamOS code documentation, generated with Doxygen, is available at: https://pixelwelt.github.io/ThalamOS/

Credits to jothepro/doxygen-awesome-css for providing the CSS files for the documentation.

Installation

Pull the latest build from Docker Hub (the easy way)

  1. Pull the latest image from Docker Hub:
    docker pull pixelwelt/thalamos:latest
  2. setup your data directory and add the WLED_HOST enviroment variable:
    WLED_HOST="ip-adress"
  3. Setup your compose file
    services:
        thalamos:
            container_name: ThalamOS
            image: pixelwelt/thalamos:latest
            restart: always
            ports:
            - "8000:8000"
            volumes:
            - ./data:/app/app/data
    
  4. Start the service
    docker-compose up

Build it yourself

  1. Clone the repository:
    git clone https://github.com/yourusername/thalamos.git
  2. Navigate to the project directory:
    cd thalamos
  3. Build the Docker image:
    docker build -t PixelWelt/thalamos .
  4. Insert your WLED_HOST into the .env.example file and rename it to .env.
  5. Run the application using the Docker Compose file:
    docker-compose up
  6. Clone the repository:
    git clone https://github.com/yourusername/thalamos.git
  7. Navigate to the project directory:
    cd thalamos
  8. Build the container:
    docker build -t PixelWelt/thalamos .
  9. insert your WLED_HOST into the .env.example file and rename it to .env
  10. Run the application using the docker compose file:
    docker-compose up

Usage

  1. Open your web browser and go to http://localhost:8000.
  2. Add your stored items along with their properties.
  3. Use the search functionality to find items and see their location light up on your storage shelf.

optional Modules

Weighfi - Where pounds meet packets

Weigh-fi is a WiFi-enabled scale with API access, allowing users to easily add weight measurements when using ThalamOS. To enable it:

  1. Add the IP address of your Weigh-fi device to the .env file.
  2. Read more about how to build your own Weigh-fi device here.

To-Dos

  • Implement software
  • Create a 3D model
  • Create a working PCB

ThalamOS AI assistant

Why should I use AI in my storage management? - Because you can! The ThalamOS AI assistant helps you manage your storage more efficiently. It uses Retrieval-Augmented Generation (RAG) to access your database in read-only mode, helping you find your items faster. It can also answer simple questions.

Note: The AI assistant is still in development and may not work as expected. Deepseek Models are not yet supported.

To enable the ThalamOS AI assistant:

  1. Enable it in the .env file.
  2. Add the IP address of your Ollama Server.

Framework: Haystack

The specific pipeline steps are shown in the picture below: pipeline ai-demo

To-Dos

  • Implement basic ai usage
  • Implement Deepseek Models
  • Improve pipeline to prevent errors from happening
  • make the AI even smarter, by adding more context

Images

home page createItem.png

Contributing

Contributions are welcome! Please fork the repository and submit a pull request.

License

This project is licensed under the MIT License.

Contact

For any questions or suggestions, please open an issue or contact the repository owner.

About

Thalamos is a powerful Flask web application designed to enhance your storage management. It utilizes the WLED-API to light up the item you are looking for.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published