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 :)