From 50255630590727e663372b591531aab6d6c9ff46 Mon Sep 17 00:00:00 2001 From: Geir Eilertsen Date: Mon, 23 Dec 2024 09:10:22 +0100 Subject: [PATCH 1/2] Update CONTRIBUTING.md --- .github/CONTRIBUTING.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index e5021c6..211408b 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -1,2 +1,11 @@ # How to contribute # Thank you for investing your time in contributing to our project! + +* Fork the repo +* Let Marvin check out your house +* Fix something in the code +* Create a pull request (PR) +* The PR is approved +* Congratulations, you contributed + + From bfd571ecaa51d01dbefa26de63f032142203898e Mon Sep 17 00:00:00 2001 From: Geir Eilertsen Date: Mon, 23 Dec 2024 09:29:41 +0100 Subject: [PATCH 2/2] Update README.md --- README.md | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 034199a..acd31fe 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ ## Welcome to Marvin, the smart house robot -Marvin is a robot that can connect to an OpenHAB server, read item states and send commands via -the REST API. +Marvin is a RAG AI agent that can connect to a house control server, read sensor states and send commands via +the REST API. At the moment, OpenHAB is supported, but Marvin can in the future be extended to other systems. -It's brain is implemented in Spring AI. +It's brain is implemented with an interface to AI and conneccts to AI using the Spring AI framework. You can talk to Marvin in natural language and ask him questions about your house. He will talk back to you. @@ -12,14 +12,14 @@ You can talk to Marvin in natural language and ask him questions about your hous * Put a text file called marvin-environment in your home directory. * There are example files in the descriptions folder -* Marvin will read item descriptions from OpenHAB and learn about them. To enable items, add the tag Marvin to the item in OpenHAB. -* Marvin will receive events from OpenHAB. To enable events, add the tag Events to the item in OpenHAB. -* Marvin can read OpenHAB rules. To enable rules, add the tag Marvin to the rule in OpenHAB. +* Marvin will read descriptions from the connected control server and add them to a vector store for use in prompts. +* For OpenHAB items, add the tag Marvin to the item in OpenHAB. +* Marvin will receive events from the control server and use them for prompts. To enable events, add the tag Events to the item. +* Marvin can read control server rules. To enable specific rules, add the tag Marvin to the rule. * Marvin can also update rules. ## How to run Marvin - To use Marvin, you need to have a running OpenHAB server. Add the following environment variables @@ -49,11 +49,11 @@ You can do this by running the following command: CREATE KEYSPACE springframework WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 }; ``` -When the application has started, open localhost:9090 in your browser. You will be redirected to the OAuth2 login page, currently at github. +When the application has started, open http://localhost:9090 in your browser. You will be redirected to the OAuth2 login page, currently at github. A person record is then added in the personentry table with relation STRANGER. Change this to FRIEND and refresh the page. -There is a swagger ui included on http://localhost:9090/swagger-ui/index.html To initialise Marvin, use the POST /initialise endpoint. +There is a swagger ui included on http://localhost:9090/swagger-ui/index.html To initialise Marvin, use the POST /initialise endpoint. That will clear it's memory and populate the vector store. ## Cool things to try @@ -61,3 +61,5 @@ There is a swagger ui included on http://localhost:9090/swagger-ui/index.html To * Notify me about dinner in 5 minutes * Turn on the lights in the living room * What is the temperature in the living room? +* Increase the lights in the corridor to 100 in steps of 10 with 2 seconds interval and down again to 0 +* I want to watch TV with the lights at 50