erkexzcx / valetudopng

A Valetudo map renderer (ex Hypfer/ICantBelieveItsNotValetudo) for Home Assistant.
https://valetudo.cloud/
Apache License 2.0
38 stars 6 forks source link

Congatudo support #14

Open joslmar opened 1 month ago

joslmar commented 1 month ago

Good afternoon,

For several months I have been using the Congatudo docker container to manage a Cecotec Conga 5090, for several days I have been trying to set up the Valetudopng container to be able to see the robot's journey in real time through HomeAssistant.

I have a problem with the Valetudopng container, when the robot starts cleaning it constantly restarts and the following message appears in the container logs:

github.com/erkexzcx/valetudopng/pkg/renderer.(valetudoImage).drawEntityRobot(0xc0000fc090, 0xc000480880, 0x2, 0xffffffffffffffff) /app/pkg/renderer/drawer_entities.go:40 +0x108 github.com/erkexzcx/valetudopng/pkg/renderer.(valetudoImage).DrawAll(0xc0000fc090) /app/pkg/renderer/drawer.go:185 +0x908 github.com/erkexzcx/valetudopng/pkg/renderer.(Renderer).Render(0xc19e50d9677b41b2?, {0xc00066c000?, 0xbb8740?, 0x12a05f200?}, 0xfffffffeda5d0143?) /app/pkg/renderer/renderer.go:67 +0x47 github.com/erkexzcx/valetudopng/pkg/server.Start(0xc0000100f0) /app/pkg/server/server.go:68 +0x74c main.main() /app/cmd/valetudopng/main.go:32 +0xd4 2024/07/18 08:01:38 [MQTT producer] Connected 2024/07/18 08:01:38 [MQTT consumer] Connected 2024/07/18 08:01:38 [MQTT consumer] Subscribed to map data topic panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x7a2d57] goroutine 1 [running]: github.com/fogleman/gg.(Context).DrawImageAnchored(0xc00012e000, {0x0, 0x0}, 0x2f6, 0xff, 0x3fe0000000000000, 0x3fe0000000000000) /go/pkg/mod/github.com/fogleman/gg@v1.3.0/context.go:660 +0x57 github.com/erkexzcx/valetudopng/pkg/renderer.(valetudoImage).drawEntityRobot(0xc000192090, 0xc000583100, 0x2, 0xffffffffffffffff) /app/pkg/renderer/drawer_entities.go:40 +0x108 github.com/erkexzcx/valetudopng/pkg/renderer.(valetudoImage).DrawAll(0xc000192090) /app/pkg/renderer/drawer.go:185 +0x908 github.com/erkexzcx/valetudopng/pkg/renderer.(Renderer).Render(0xc19e50d9c3ae85a8?, {0xc000666000?, 0xbb8740?, 0x12a05f200?}, 0xfffffffeda39c0bb?) /app/pkg/renderer/renderer.go:67 +0x47 github.com/erkexzcx/valetudopng/pkg/server.Start(0xc0000100f0) /app/pkg/server/server.go:68 +0x74c main.main() /app/cmd/valetudopng/main.go:32 +0xd4 2024/07/18 08:01:40 [MQTT consumer] Connected 2024/07/18 08:01:40 [MQTT producer] Connected 2024/07/18 08:01:40 [MQTT consumer] Subscribed to map data topic 2024/07/18 08:01:40 Image rendered! drawing:18ms, encoding:16ms, size:14.5kB 2024/07/18 08:01:41 Skipping image render due to min_refresh_int 2024/07/18 08:01:43 Skipping image render due to min_refresh_int 2024/07/18 08:01:46 Image rendered! drawing:18ms, encoding:17ms, size:15.0kB 2024/07/18 08:01:46 Skipping image render due to min_refresh_int 2024/07/18 08:01:48 Skipping image render due to min_refresh_int 2024/07/18 08:01:50 Skipping image render due to min_refresh_int panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x7a2d57] goroutine 1 [running]: github.com/fogleman/gg.(Context).DrawImageAnchored(0xc000194000, {0x0, 0x0}, 0x27e, 0xb3, 0x3fe0000000000000, 0x3fe0000000000000) /go/pkg/mod/github.com/fogleman/gg@v1.3.0/context.go:660 +0x57 github.com/erkexzcx/valetudopng/pkg/renderer.(valetudoImage).drawEntityRobot(0xc0001b4120, 0xc0003bb740, 0x2, 0xffffffffffffffff) /app/pkg/renderer/drawer_entities.go:40 +0x108 github.com/erkexzcx/valetudopng/pkg/renderer.(valetudoImage).DrawAll(0xc0001b4120) /app/pkg/renderer/drawer.go:185 +0x908 github.com/erkexzcx/valetudopng/pkg/renderer.(Renderer).Render(0xc19e50dd4ab55747?, {0xc000606000?, 0xbb8740?, 0x12a05f200?}, 0x29226cb85?) /app/pkg/renderer/renderer.go:67 +0x47 github.com/erkexzcx/valetudopng/pkg/server.Start(0xc0000100f0) /app/pkg/server/server.go:68 +0x74c main.main() /app/cmd/valetudopng/main.go:32 +0xd4 2024/07/18 08:01:52 [MQTT consumer] Connected 2024/07/18 08:01:52 [MQTT producer] Connected 2024/07/18 08:01:52 [MQTT consumer] Subscribed to map data topic panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x7a2d57] goroutine 1 [running]: github.com/fogleman/gg.(Context).DrawImageAnchored(0xc00005e000, {0x0, 0x0}, 0x27e, 0xb3, 0x3fe0000000000000, 0x3fe0000000000000) /go/pkg/mod/github.com/fogleman/gg@v1.3.0/context.go:660 +0x57 github.com/erkexzcx/valetudopng/pkg/renderer.(valetudoImage).drawEntityRobot(0xc0000fe120, 0xc000232080, 0x2, 0xffffffffffffffff) /app/pkg/renderer/drawer_entities.go:40 +0x108 github.com/erkexzcx/valetudopng/pkg/renderer.(valetudoImage).DrawAll(0xc0000fe120) /app/pkg/renderer/drawer.go:185 +0x908 github.com/erkexzcx/valetudopng/pkg/renderer.(Renderer).Render(0xc19e50dd78ed37b8?, {0xc000636000?, 0xbb8740?, 0x12a05f200?}, 0xfffffffeda5ab8d9?) /app/pkg/renderer/renderer.go:67 +0x47 github.com/erkexzcx/valetudopng/pkg/server.Start(0xc0000100f0) /app/pkg/server/server.go:68 +0x74c main.main() /app/cmd/valetudopng/main.go:32 +0xd4 2024/07/18 08:01:53 [MQTT producer] Connected 2024/07/18 08:01:53 [MQTT consumer] Connected 2024/07/18 08:01:53 [MQTT consumer] Subscribed to map data topic panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x7a2d57] goroutine 1 [running]: github.com/fogleman/gg.(Context).DrawImageAnchored(0xc000150000, {0x0, 0x0}, 0x27e, 0xb3, 0x3fe0000000000000, 0x3fe0000000000000) /go/pkg/mod/github.com/fogleman/gg@v1.3.0/context.go:660 +0x57 github.com/erkexzcx/valetudopng/pkg/renderer.(valetudoImage).drawEntityRobot(0xc0001a4090, 0xc00036f7c0, 0x2, 0xffffffffffffffff) /app/pkg/renderer/drawer_entities.go:40 +0x108 github.com/erkexzcx/valetudopng/pkg/renderer.(valetudoImage).DrawAll(0xc0001a4090) /app/pkg/renderer/drawer.go:185 +0x908 github.com/erkexzcx/valetudopng/pkg/renderer.(*Renderer).Render(0xc19e50ddad504387?, {0xc0006e4000?, 0xbb8740?, 0x12a05f200?}, 0xfffffffeda5e1093?) /app/pkg/renderer/renderer.go:67 +0x47 github.com/erkexzcx/valetudopng/pkg/server.Start(0xc0000a20d8) /app/pkg/server/server.go:68 +0x74c main.main() /app/cmd/valetudopng/main.go:32 +0xd4 2024/07/18 08:01:54 [MQTT consumer] Connected 2024/07/18 08:01:54 [MQTT producer] Connected 2024/07/18 08:01:54 [MQTT consumer] Subscribed to map data topic 2024/07/18 08:01:54 Image rendered! drawing:18ms, encoding:16ms, size:15.5kB 2024/07/18 08:01:56 Skipping image render due to min_refresh_int 2024/07/18 08:01:58 Skipping image render due to min_refresh_int 2024/07/18 08:01:59 Skipping image render due to min_refresh_int

Does anyone know how I can fix this problem?

Best regards,

erkexzcx commented 1 month ago

I need to look into this.... :/

joslmar commented 1 month ago

I need to look into this.... :/

Good morning!

Thanks for your answer!

Can you tell me in more detail what information you need? I am new.

erkexzcx commented 1 month ago

Hmmm, never heard of https://github.com/congatudo/Congatudo project :sweat_smile:

Alright, something is definitely missing and for starters, I will need you to provide a json from your vacuum. Note that it will include your house map, so if you treat it as sensitive data - feel free to send me to Discord (my username erikas2).

JSON can be obtained using this url: http://<ip>/api/v2/robot/state. If you are on Linux: curl 'http://<ip>/api/v2/robot/state' > housemap.json and upload housemap.json to me here or in Discord via PM.

joslmar commented 1 month ago

http:///api/v2/robot/state

Good morning!

Sorry for the delay in answering, I'm out of my house and I don't have access to my server; In 10 days I will be back, when I have access to my server I will send you the json file.

Thank you very much for your help!

joslmar commented 1 month ago

Hello!!

Sorry for the delay in answering you; my conga has broken down; The aspiration motor has failed and that is why I have not been able to send you the information you requested to be able to address my problem.

I will try to buy another robot in the coming months but perhaps in a different brand; If I have this problem again when integrating it, I will contact you again

Thanks for your help!

erkexzcx commented 1 month ago

Hey. Check out Valetudo-supported models in Valetudo website. Personally I am a fan of roborock:

  1. Use custom sounds: https://github.com/erkexzcx/rrvoicegen and https://github.com/erkexzcx/rrmultivoice
  2. Use Oucher: https://github.com/porech/roborock-oucher

Custom voicelines and oucher gives that special "touch" to the robot. 😅

joslmar commented 1 month ago

Hello!!

Thanks for the recommendation. I'm thinking of buying roborock or maybe dreame, but the prices are a bit high, any recommendations for a budget of around €350-400?

Best regards!

erkexzcx commented 1 month ago

Personally I am thinking to pick latest Valetudo supported Roborock Vacuum and root it from day 1. Max/Pro model, so it can auto-clean itself, but thwy are costly (more than 1K eur).

If you are looking for budget version - check used vacuums online. They tend to go for very cheap! :)

joslmar commented 1 month ago

Hello!

Thanks for your recommendation; I would like to buy a Roborock or Dreame brand robot; But I would like it to be new so I can have a warranty.

Best regards,