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)
- Pull the latest image from Docker Hub:
docker pull pixelwelt/thalamos:latest
- setup your data directory and add the
WLED_HOST
enviroment variable: /data/.env
WLED_HOST="ip-adress"
- Setup your compose file
-compose
services:
thalamos:
container_name: ThalamOS
image: pixelwelt/thalamos:latest
restart: always
ports:
- "8000:8000"
volumes:
- Start the service
Build it yourself
- Clone the repository:
git clone https://github.com/yourusername/thalamos.git
- Navigate to the project directory:
- Build the Docker image:
docker build -t PixelWelt/thalamos .
- Insert your WLED_HOST into the
.env.example
file and rename it to .env
.
- Run the application using the Docker Compose file:
- Clone the repository:
git clone https://github.com/yourusername/thalamos.git
- Navigate to the project directory:
- Build the container:
docker build -t PixelWelt/thalamos .
- insert your WLED_HOST into the .env.example file and rename it to .env
- Run the application using the docker compose file:
Usage
- Open your web browser and go to
http://localhost:8000
.
- Add your stored items along with their properties.
- 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:
- Add the IP address of your Weigh-fi device to the
.env
file.
- Read more about how to build your own Weigh-fi device here.
To-Dos
- Implement software
- Create a 3D model
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:
- Enable it in the
.env
file.
- Add the IP address of your Ollama Server.
Framework: Haystack
The specific pipeline steps are shown in the picture below:
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
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.