Showing posts with label automation. Show all posts
Showing posts with label automation. Show all posts

Jul 5, 2026

Roomba Max 750: Best practices after nearly 9 months

After a long journey to get a mopping robot for our gym (posting) in october 2025 the roomba max 750 started cleaning our gym.

The app is somehow strange and does not work like you except it. So here some tricks to keep the robot running:

  • Error: Robot got stuck
    In the app the robot is marked red and you can not start anything. Cause: the robot does not know where it is.
    • The solution: schedule a routine in 1 minute, to mop another area. Typically then the robot will scan the room and recognize where it is.
    • Because in our gym the robot is cleaning in the night, i have one schedule early in the morning, to vacuum the small room where the dock is. With that in 90% of all fails in the night ("robot got stuck"), the robots finds its way and charges over the day. So no need to drive to the gym and put it in to the dock 
  • Error: Dirty water bin full or other things related to mopping
    • I do not run "vac & mop" anymore. Cleaning the mops sometime does not work (because the robot did not put itself properly in the dock, or some tiny dirt prevents washing the mob) and then the robot will do nothing.
    • But: vacuuming is still possible. So i schedule separately vacuuming in one routine and the mopping in another one. So at least all rooms are vacuumed every night. 

One other observation:

  • If you choose vac + mop then the vacuuming is not running with the same power as in "vac only". So maximum vaccum power is only available, if you do "vac only" which gets much better results.
  • If you robot is doing strange circles: look for spider webs at the LIDAR. After removing them, the robot will go in straight lines again... 

 

Jun 14, 2026

Getting data from a TH03pro sensor into my platform from tuya cloud

Last week i got a WIFI temperature and humidity sensor: TH03Pro

And like always with these sensors: No direct access via WLAN possible. 
For this particular sensor it is possible to flash it with openBeken, but after all the things i read about the flashing, it is a little bit more complicated than flashing Tasmota on other devices (which i did several times).

The device is sending its data to tuya - so my idea is: get the data from tuya back to my raspberry pi, where all the data of my sensors is stored.

First attempt was:

Login to Tuya.ai and get an API key

 

By the way: login is done via QR code scanning from the smarthome app, which is used by the sensor 

But it turned out, that this was completely wrong. To get data out of the Tuya cloud you have to login to https://iot.tuya.com/

 

 So under "cloud" i had to create a project:

and create a API key:


After that i spent nearly 2h about authentication... With copilot forth and back... Always that error:

{"code":1004,"msg":"sign invalid","success":false,"t":1781356460593,"tid":"ca05aba1672911f1bf59122815ffe3c8"} 

The point is: With no device attached, you are not allowed to get a token. So how to add my device there? The default way is: Install tuya spatial on your phone 

  

This app starts with reading a QR code from the project of iot.tuya.com:


But then you have to login with an account - neither iot.tuya.com nor smart life worked...

So that is where this story ends for now - i am really disappointed. Getting data from such a cloud back was nowhere such a complex story. 

May be there is another approach, but up to now i really do not know, how to continue... 

 

 

 


 

Nov 11, 2025

Energy measurement with SONOFF POWCT

 With a SONOFF POWCT i tried to measure my energy consumption:

https://sonoff.tech/en-de/products/sonoff-pow-ring-smart-power-meter-powct 

That worked quite well (display is really good). And because this thing had Wifi integration i tried to get the values to import them into my influx db.

But: This device is only talking to the cloud and you have to use eWeLink to see the data:

There is a web portal as well: https://web.ewelink.cc/#/ which is quite nice:

Problem: if you want a real history, you have to pay... 
There is a way to sniff the token inside the portal with the developer tools. Then you end up with a command like:

curl -s  'https://eu-apia.coolkit.cc/v2/device/thing?familyid=TTTTTTTTTTTT&num=30&beginIndex=-999999'   -H 'User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:143.0) Gecko/20100101 Firefox/173.0'   -H 'Accept: application/json, text/plain, */*'   -H 'Accept-Language: en-US,en;q=0.5'   -H 'Accept-Encoding: gzip, deflate, br, zstd'   -H 'Content-Type: application/json'   -H 'X-CK-Nonce: ZZZZZ'   -H 'X-CK-Appid: YYYYYYY'   -H 'Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXX'   -H 'Origin: https://web.ewelink.cc'   -H 'Connection: keep-alive'   -H 'Referer: https://web.ewelink.cc/'   -H 'Sec-Fetch-Dest: empty'   -H 'Sec-Fetch-Mode: cors'   -H 'Sec-Fetch-Site: cross-site'   -H 'Pragma: no-cache'   -H 'Cache-Control: no-cache'

This Bearer token XXXX..XXX will expire every 30 days - so you have to get that again.

So i decided to install tasmota on this device. But that was not so easy. 

  • Tasmotizer stopped with: Invalid head of packet (0x46)
    and with that i found some pages with
  • Esptool / EspFlasher... they stopped with:
    Unexpected error: Error while retrieving firmware file 'https://raw.githubusercontent.com/Jason2866/ESP_Flasher/factory/bootloader/esp32/bin/bootloader_dout_40m.elf': 404 Client Error: Not Found for url: https://raw.githubusercontent.com/Jason2866/ESP_Flasher/factory/bootloader/esp32/bin/bootloader_dout_40m.elf
  • So i tried the webinstaller  https://tasmota.github.io/install/ but
    • Ubuntu with Firefox: not supported
    • Ubuntu with Chromium: did not find the USB port
    • Windows 11 with Edge: found USB port but no permissions
    • Windows 10 with Edge: found USB port but installation stalled  
  • Winner was: a fresh Google Chrome on Ubuntu

With that i installed the default tasmota.bin - and after a restart the SONOFF POWCT was dark. No LED blinked, display completely dark. My first thought: now i broke it....

However: giving up is no option - so i searched with my smartphone for Wifis and there it was: a Wifi named "tasmota". :)

So: configuration of Wifi completed and now i saw many modules - so which should i choose? There was an easy solution (thanks for the guys from tasmota!!!):

With Auto-conf you can just select "SONOFF POWCT" and after that display is showing the voltage etc... 

For getting the values as json, just a curl is needed:

/usr/bin/curl 'http://192.5.7.11/cm?cmnd=status0'

(for looking up the commands you can use https://tasmota.github.io/docs/Commands/#management)

and inside the json there is one substructure:

 "StatusSNS": {
    "Time": "2025-11-11T21:46:33",
    "ENERGY": {
      "TotalStartTime": "2025-11-10T19:32:01",
      "Total": 10.854,
      "Yesterday": 0,
      "Today": 10.854,
      "TodaySumImport": 10.854,
      "TodaySumExport": 0,
      "ExportActive": 0,
      "Power": 3356,
      "ApparentPower": 3413,
      "ReactivePower": 617,
      "Factor": 0.98,
      "Frequency": 49,
      "Voltage": 231,
      "Current": 14.747
    }

From my point of view a much better way to run that really excellent device! 

Oct 5, 2025

Robot mops for large rooms, gyms or similar (3)

After testing several robot mops (posting 1) iRobots Roomba did the job (posting 2).

A Roomba Max 705 is running in our gym and after the first weeks here some findings (if you want to run such a robot mop in a large hall/gym/etc.

By the way cleaning a space with >200m² is no problem:

And access routes with >30m to the room, where the robot should clean work as well:

But to get there, the following things have to be considered:

  • If your gym has floor-to-ceiling mirrors: You have to cover the mirrors during mapping phase. Otherwise Roomba calculates the room larger than it is and if another room is behind the mirror, it will create doors/openings which are not there...
  • Gym walls are typically uniform - and with an empty gym the robot has not landmarks to navigate. So you have to put some stickers on the wall. (Consider the robot is far away from the edges and sees with the lidar only the wall and the camera can not recognize anymore, that is moving forward... the robot can not distinguish if it is slippery or stuck or still moving).
  • If you want to mop your gym at night: the stickers should reflect light - in darkness Roomba switches on its LED, so reflectors will guide the robot


The video shows that problem quite well - a smartphone camera is may be better than the camera of the Roomba and you can imagine that the robot is really a little bit lost. But if you move down to the level of the robot, the light of the LED is reflected for the smartphone camera as well, and the the landmarks are clearly visible.

By the way: after you created the landmarks you have to run the mapping again, so these landmarks are stored in the map (i created them after the first mapping and it helped but Roomba did not find its way everytime. After mapping the gym again it is now running without any failure.) 

 

 

Aug 8, 2025

Robot mops for large rooms, gyms or similar (2)

 After testing these robot mops

  • Dreame X40
  • Roborock S8 MaxV Ultra
  • Eufy S1 Pro

with very bad results for large rooms, gyms or similar (read this article) i tested a small product from roomba:

and that robot did really a good job:

and it was able to really clean the room even if all walls are more than 6m away:


 

That is really amazing! From my point of view that could be due to

  • iRobot is using LIDAR sensors which can work in ranges with more than 6m
  • iRobot has better developers, which can deal with the fact: "robot does not detect anyhing" and it just moves on...

For our gym we will now purchase the Roomba Max 705 because vacuuming is not so important - we need mopping :) 

Jun 28, 2025

Robot mops for large rooms, gyms or similar

For our sports club we tried to get robot mop to support our cleaning staff. So we tried a

  1. Dreame X40
  2. Roborock S8 MaxV Ultra
  3. Eufy S1 Pro

All of them a little bit different. A vibrating mop, rotating mops and a rolling mop...

But that kind of things do not matter - the challenge is:

Does the robot navigate in a empty room with next wall about +5m away. 

If you read all the advertisements about LIDAR, you think that this is no problem at all, but this is really problem.

One remark: None of these vendors promise anything for such conditions. All robots are for typical households. 

Dreame 

So let's start with the Dreame:

Mapping went well, but the robot stopped in the middle of the gym with "Laser distance sensor error". 

So even the robot had a complete map - no chance to do the cleaning. It just stopped and was not even able to return to the station. 

Roborock 

What about Roborock? Even worse. During the mapping phase, the robot was only able to drive on the area, which was already detected. And detection is only possible if the LIDAR is reflected. Workaround: Walk around, because he can recognize humans and the area between the robot and you is tagged as detected:

You can still recognize the black area which was not detected - which means the robot will not clean there. And the proportions do not fit. Means the robot lost orientation so the gym is some meters to short...

And: LIDAR error when 5m away from the walls... no return to base station possible. 

Eufy

Mapping did not work. Funny thing: the app was showing the path of the robot with a white dotted line. The map is not drawn in the correct way - it is point mirrored. But this does not matter. The real problem is, that the wall on the left of the picture is there twice and it does not match. So the robot lost some meters on one side of the gym: 

The robot itself got so confused with that double wall, that it hits the wall several times and then it was not able to finish the mapping. I forced the robot to return to the base station and it bravely tried to cross the gym - stopped in the middle with:

"Lidar scanning abnormal" - that means nothing to detect :( 

Summary

May be i start with a word to the developers, which are responsible for such algorithms: If there is nothing to detect, than of couse the LIDAR might be blocked. But consider an empty gym: Then you can send this error, but if the users confirms, that LIDAR is not blocked - ever considered just to keep speed and direction until a wall is detected?

If anybody has comments please let me know! Ideas are welcome!