AI prompts
base on Cloud replacement for vacuum robots enabling local-only operation <div align="center">
<img src="https://github.com/Hypfer/Valetudo/blob/master/assets/logo/valetudo_logo_with_name.svg" width="800" alt="valetudo">
<p align="center"><h2>Free your vacuum from the cloud</h2></p>
</div>
Valetudo is a cloud replacement for vacuum robots enabling local-only operation. It is not a custom firmware.<br/>
Here's a diagram illustrating the core operation principle:
[<img src="https://github.com/Hypfer/valetudo/raw/master/docs/_pages/general/img/operation_principle.png" height=450>](https://github.com/Hypfer/valetudo/raw/master/docs/_pages/general/img/operation_principle.png)
Because Valetudo is not a custom firmware, it cannot change anything about how the robot operates.<br/>
What it can do however is protect your data and enable you to connect your robot
to your home automation system without having to detour through a vendor cloud, which,
apart from the whole data problematic, might not be reachable due to your internet connection
being down or some servers in the datacenter being on fire.
Not having to leave your local network of course also benefits the latency of commands, status reports etc.
Valetudo aims to be proof that easy to use and reliable smart appliances are possible without any cloud and/or account requirements.
Maybe at some point it might help convince vendors that there is another way of doing things.
By default, Valetudo provides control over your vacuum robot via a **responsive webinterface** that works on all of your devices.
It can be used on phones, tablets as well as your desktop computer.
Furthermore, there's a **REST-interface** documented with **Swagger UI** as well as **MQTT**.
With support for both **Homie** and **Home Assistant Autodiscovery** for MQTT, you should be able to connect Valetudo to
the open-source smarthome software of your choice.
For more information, check out the [newcomer guide](https://valetudo.cloud/pages/general/newcomer-guide.html),
the [getting started guide](https://valetudo.cloud/pages/general/getting-started.html)
and also the docs in general at [https://valetudo.cloud](https://valetudo.cloud)
There, you will find a list of [supported robots](https://valetudo.cloud/pages/general/supported-robots.html).
## Screenshots
### Phone/Mobile
<img src="https://user-images.githubusercontent.com/974410/211155741-d6430660-a6b2-48ab-8ddc-2217328444de.png" width=360> <img src="https://github.com/user-attachments/assets/eaad6fe0-dd1e-4f56-b6f9-f65954aecac7" width=360>
<img src="https://user-images.githubusercontent.com/974410/211155650-7cac266c-ffeb-432d-8656-5241a5d6f227.png" width=360> <img src="https://user-images.githubusercontent.com/974410/211155656-d43ee25e-1ae6-432f-95ff-1a39d294828d.png" width=360>
### Tablet/Desktop




## Valetudo is a garden
This project is the hobby of some random guy on the internet. There is no intent to commercialize it, grow it
or expand the target audience of it. In fact, there is intent to explicitly not do that.
Think of Valetudo as a privately-owned public garden. You can visit it any time for free and enjoy it.
You can spend time there, and you can bring an infinite amount of friends with you to enjoy it.
You can walk the pathways built there. You can sit on some patch of grass and maybe watch a Duck or something.
You can leave a tip in the tip jar at the entrance if you really enjoy it and want to support it flourish.
You can take inspiration from it and bring that home to your own garden, giving it a personal twist and adapting it as needed.
You can even make friendly suggestions if you have a really good idea that ties into the vision that is already there.
But, at the end of the day, you must understand that it is still privately-owned. You're on someone else's property
over which you have no power at all. You will have to show the necessary respect. And - most importantly - you need to
understand that letting you into this garden is a gift and should be treated as such.
If you don't like this garden because you don't like how it's structured, or you feel like it's missing something, or maybe
I choose the wrong flowers to plant over there that's fine. It's just not for you then. You can leave at any time.
There is simply no ground to stand on to demand change to the garden. It doesn't matter if it would attract more people
or if all the other gardens in town are doing something in a specific way. It doesn't matter if your idea of what gardens
even are differs.<br/>
This at the end of the day is simply private property with free public access as a gift to everyone.
When it comes to software development, _everyone_ has access to infinite plots of undeveloped land that they can claim at any time.
Therefore, a garden being build with a specific vision does not take away the ability for anyone else to build their own garden with a different vision.
## Further questions?
[Valetudo Telegram group](https://t.me/+2MsKV8kILxJhNDAy)
## Contributing
Make sure to familiarize yourself with the [./CONTRIBUTING.md](./CONTRIBUTING.md)
## Honourable mentions
Valetudo and its companion applications are developed using JetBrains IDEs such as [WebStorm](https://www.jetbrains.com/webstorm/).
Licenses for those have been provided for free by JetBrains to the project in context of [their open source support program](https://jb.gg/OpenSourceSupport) since multiple years now.
Thanks a lot for that!
", Assign "at most 3 tags" to the expected json: {"id":"7833","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"