Skip to content

A home assistant addon to provide a Valetudo server for Cecotec Conga vacuums

License

Notifications You must be signed in to change notification settings

congatudo/congatudo-add-on

Repository files navigation

congatudo

Free your vacuum from the cloud

Congatudo add-on aims to be a vendor-agnostic abstraction and cloud replacement for Cecotec Conga vacuum robots For more information, check out the repository

Table of Contents

  1. Prerequisites
  2. How it Works
  3. Installation
  4. Connect your robot
  5. Beta Add-on for Multiple Robots
  6. Navigate and Edit sysConfig.ini
  7. Expected Log Output
  8. Running Multiple Instances
  9. Screenshots
  10. Resources

1. Prerequisites

  • Basic knowledge of the Congatudo project.
  • Root access to your Conga robot via SSH or ADB.
  • A Windows computer (anything from the last 15 years is good enough.)
  • Have already installed and running a MQTT server resource. (preferably Mosquitto broker addon) This add-on is automatically configured if you have a MQTT service in Home Assistant.
  • A little knowlege of Linux systems will help.

2. How it Works

  • The add-on adds a file named valetudo.json in the /config directory of your HA installation.
  • One instance of the add-on will control a single robot.
  • You can install both the main add-on and the beta add-on simultaneously.
  • Each addon will operate independently, allowing you to integrate multiple Conga robots into Home Assistant.

3. Installation

  1. Click the button below to install this repository:
  2. Click on the new addon named "Congatudo".
  3. Click Install on the addon page.
  4. Click Start and then Open Web UI to confirm everything is ok.
  5. Configure your Conga robot's credentials and network parameters.

Open your Home Assistant instance and show the add add-on repository dialog with a specific repository URL pre-filled.

4. Connect your robot

Now you need to connect your robot to your addon.

  1. Ensure your Conga is connected to your WiFi
  2. Access your Conga through SSH (follow this instruction to overpass the root password here)
  3. Edit the hosts file in the robot with your home assistant ip and reboot:

⚠️You must replace YOUR_HOMEASSISTANT_IP with the IP address of your own HA server. (e.g., 192.168.1.10).

echo "YOUR_HOMEASSISTANT_IP cecotec.das.3irobotix.net cecotec.download.3irobotix.net cecotec.log.3irobotix.net cecotec.ota.3irobotix.net eu.das.3irobotics.net eu.log.3irobotics.net eu.ota.3irobotics.net cecotec-das.3irobotix.net cecotec-log.3irobotix.net cecotec-upgrade.3irobotix.net cecotec-download.3irobotix.net" >> /etc/hosts
  1. Restart the robot:
reboot
  1. Check the add-on logs to see if the robot is registered and you are done.

    • Enable Show in sidebar.
    • Click Start to start the addon.
  2. 🎉 At this point you have sucessfully set up the HA addon and robot and you should be all done!.

5. Beta Addon for Multiple Robots

If you have more than one Conga robot and need to control each one independently, you can use the beta add-on. This allows you to install a second instances of the add-on, with each instance controlling a separate robot.

  1. Search for the CongaTudo Beta add-on in the Add-on Store.

  2. Install the beta add-on.

  3. Configure the addon with the paramaters of your second Conga robot if needed:

    • server_cmd_port=4011
    • server_map_port=4031
    • server_sync_time_port=4051
  4. In the Info tab:

    • Enable Show in sidebar.
    • Click Start to start the addon.
  5. Now you have to configure the conga robot before you can use the beta addon.

6. Navigate and Edit sysConfig.ini

Instead of manually editing /etc/config/sysConfig.ini with vi, you can quickly and safely modify the necessary lines using sed commands over SSH. This approach is easier and reduces the chance of mistakes.

  1. Access the Device via SSH:

    • Open PuTTY (or your preferred SSH client) on your computer.
    • Connect to your device using its IP address and login credentials.
  2. Backup the Configuration File:

    Before making any changes, it's a good idea to create a backup of the current sysConfig.ini file:

    cp /etc/config/sysConfig.ini /etc/config/sysConfig.ini.bak
  3. Review the Current Configuration:

    You can view the current contents of the file to ensure it matches your expectations:

    cat /etc/config/sysConfig.ini

    It should look like this or very similar with minor valeu diffrences:

    [Sys_Config]
    server_cmd_address=cecotec.das.3irobotix.net
    server_map_address=cecotec.das.3irobotix.net
    server_log_address=cecotec.log.3irobotix.net
    server_ota_address=cecotec.ota.3irobotix.net
    server_down_address=cecotec.download.3irobotix.net
    server_ssl_cmd_port=5010
    server_ssl_map_port=5030
    server_ssl_enable=0
    server_cmd_port=4010
    server_map_port=4030
    server_sync_time_port=4050
    server_log_port=21
    server_ota_check_port=5000
    server_ota_download_port=2300
    wlan_port=8111
    wlan_broad_port=8888
    deviceFirmsID=1003
    deviceType=20
    languageType=2
    hardwareRtc=1
    timezoneSec=28800
    ctrl_version=V4.0
    
  4. Run the Following Commands to Edit the Configuration:

    • These commands will replace the server addresses and ports with the values you need. Note that the YOUR_HOMEASSISTANT_IP is an example representing a HomeAssistant server IP address.
    • ⚠️You must replace YOUR_HOMEASSISTANT_IP with the IP address of your own HA server. (e.g., 192.168.1.10).
    sed -i \
     -e 's/^server_cmd_address=.*/server_cmd_address=YOUR_HOMEASSISTANT_IP/' \
     -e 's/^server_map_address=.*/server_map_address=YOUR_HOMEASSISTANT_IP/' \
     -e 's/^server_log_address=.*/server_log_address=YOUR_HOMEASSISTANT_IP/' \
     -e 's/^server_ota_address=.*/server_ota_address=YOUR_HOMEASSISTANT_IP/' \
     -e 's/^server_down_address=.*/server_down_address=YOUR_HOMEASSISTANT_IP/' \
     -e 's/^server_cmd_port=.*/server_cmd_port=4011/' \
     -e 's/^server_map_port=.*/server_map_port=4031/' \
     -e 's/^server_sync_time_port=.*/server_sync_time_port=4051/' \
     /etc/config/sysConfig.ini
    
  5. Verify the Changes:

    After running the commands, you can check the modified file:

    cat /etc/config/sysConfig.ini
  6. Restart the robot:

    reboot
  7. Verify the Configuration after rebooting, SSH back in and verify the file: (Optional)

    cat /etc/config/app.conf
  8. Ensure the new values are there.

7. Expected Log Output

If everything was configured correctly, you should see logs similar to the following in the Log tab:

[2023-12-26T16:48:33.108Z] [INFO] Webserver running on port 8080
[2023-12-26T16:48:33.560Z] [INFO] Connected successfully to MQTT broker
[2023-12-26T16:48:34.031Z] [INFO] MQTT configured
[2023-12-26T16:48:34.707Z] [INFO] Added new robot with id 'xxxxx'

8. Running Multiple Instances

Each add-on will show up as a separate entity in Home Assistant. You can configure and control each one independently. Example:

  • Congatudo Addon: Controls Robot A
  • Congatudo (beta) Addon: Controls Robot B

9. Screenshots

image

image

image

image image

10. Resources