Coder Social home page Coder Social logo

valetudo_vacuum_camera's Introduction

Valetudo Vacuum Camera

Integration for Valetudo Vacuums to Home Assistant

img_1

About: Extract the maps for rooted Vacuum Cleaners with Valetudo Firmware to Home Assistant via MQTT.

What it is: This Integration decode the vacuum map and render it to Home Assistant, when you want also to control your vacuum you will need to also install the: lovelace-xiaomi-vacuum-map-card (recommended) from HACS as well.

Configuration of the card (thanks to @PiotrMachowski) once the camera is selected requires: calibration source to be set to camera: true

This will pass automatically the data to the card.

type: custom:xiaomi-vacuum-map-card
entity: vacuum.valetudo_yourvacuum
vacuum_platform: Hypfer/Valetudo
map_source:
  camera: camera.valetudo_vacuum_camera 
calibration_source: 
  camera: true 
internal_variables: 
  topic: valetudo/your_topic  

Supported Vacuums:

  • Roborock.V1
  • Roborock.S50
  • Roborock.S5
  • Dreame D9

Current Release: GitHub Latest Release

How to install:

Please foolow the instructions in here.

Futures:

  1. Automatically Generate the calibration points for the lovelace-xiaomi-vacuum-map-card to ensure full compatibility to this user friendly card.
  2. Automatically Generate rooms based configuration when vaccum support this fucntionality, this will allow you to configure the rooms quickly on the lovelace-xiaomi-vacuum-map-card.
  3. The camera take automaticly a snapshot (vacuum idle/ error / docked) and sore it in the www folder of HA. It is thefore possible to create an automation to send the screenshot to your mobile in different conditions as per below example:
alias: Vacuum Error 
description: ""
trigger:
  - platform: state
    entity_id:
      - vacuum.valetudo_yor_vacuum
    from: error
    for:
      hours: 0
      minutes: 0
      seconds: 30
condition: []
action:
  - service: notify.mobile_app_your_phone
    data:
      message: Vacuum idle
      data:
        image: /local/your_vacuum_snapshot.png
mode: single
  1. Change the image options directly form the HA integratios UI with a click on the integration configuration.
  • Image Rotation: 0, 90, 180, 270 (default is 0).
  • Cropping function (default is 50% of the standard Valetudo size 5210x5210 = 2605x2605).
  • Base colors are the colors for robot, charger, walls, background, zones etc.
  • Rooms colors, Room 1 is acrually also the Floor color (for vacuum that do not supports rooms).
  • From v1.3.2 is possible to Trim the images as desidered.
  • It is possible to display on the image the vacuum staus.
  1. Possibilty to integrate multiple vacuums with this integration as per each camera will be named with the vacuum name (vacuum.robot1 = camera.robot1.. vacuum.robotx = camera.robotx)

In plan:

  1. Improving the rooms zones export to the card (at current it requires manual adjustments).
  2. Adding image trimming to the options, in order to centre the map.

Notes:

  1. This custom component is developed and tested using a PI4 with Home Assistant OS fully updated to the last version, this allows us to confirm that the component is working properly with Home Assistant. Tested also on Docker Supervised "production" enviroment (fully setup home installation).
  2. This camera isn't fast as ICantBelieveItsNotValetudo because it is develped using PIL (as per OpenCV is not supported on Home Assistant OS). Will consider, based also on your requests a platform based release of this integration.
  3. The test in Github is still not fully setup this is why there is an X instead of a V. We don't pass the 84% of test for this reason.

Tanks to:

  • @PiotrMachowski inspiring this integration and his amazing work.
  • @Hypfer for freeing the vacuums from the clouds and contiunsly improvig our vacuums :)
  • @billyourself for providing us the data to evolve this project.
  • And to all of you using this integration and reporting any issues, improvemnts and vacuums used with it.

valetudo_vacuum_camera's People

Contributors

sca075 avatar rohankapoorcom avatar tenfire avatar

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.