This is because the WiFi module is the one who starts the transaction after it's power on event.
This is because the WiFi module is the one who starts the transaction after it's power on event.
Czy wolisz polską wersję strony elektroda?
Nie, dziękuję Przekieruj mnie tamQuote:There is no seconds timer on this device, right?
Quote:It's a pity U8 has its markings erased (BTW, @auntlydia, Are they also erased in your units?)
Quote:Also, @auntlydia: Which voltage did you use when you flashed OBK?
Info:TuyaMCU:TUYAMCU received: 55 AA 00 01 00 24 7B 22 70 22 3A 22 78 6C 6B 33 6D 74 70 6A 6F 31 7A 6B 6D 64 76 68 22 2C 22 76 22 3A 22 31 2E 30 2E 30 22 7D 10
Info:TuyaMCU:TuyaMCU_ProcessIncoming[ver=0]: processing command 1 (QueryProductInformation) with 43 bytes
Info:TuyaMCU:TuyaMCU_ParseQueryProductInformation: received {"p":"xlk3mtpjo1zkmdvh","v":"1.0.0"}auntlydia wrote:Quote:It's a pity U8 has its markings erased (BTW, @auntlydia, Are they also erased in your units?)
Do you mean that all the values are reset when the device uses power?
Consulte el final de este mensaje para obtener más detalles sobre cómo invocar a la depuración
Just-In-Time (JIT) en lugar de a este cuadro de diálogo.
************** Texto de la excepción **************
System.ArgumentOutOfRangeException: El índice estaba fuera del intervalo. Debe ser un valor no negativo e inferior al tamaño de la colección.
Nombre del parámetro: index
en System.ThrowHelper.ThrowArgumentOutOfRangeException()
en System.Collections.Generic.List`1.get_Item(Int32 index)
en TuyaMCUAnalyzer.FormTuyaMCUAnalyzer.parseDPData(List`1 p, Int32 ofs)
en TuyaMCUAnalyzer.FormTuyaMCUAnalyzer.displayPacket(List`1 p)
en TuyaMCUAnalyzer.FormTuyaMCUAnalyzer.refresh()
en System.Windows.Forms.Control.OnTextChanged(EventArgs e)
en System.Windows.Forms.TextBoxBase.WmReflectCommand(Message& m)
en System.Windows.Forms.RichTextBox.WmReflectCommand(Message& m)
en System.Windows.Forms.RichTextBox.WndProc(Message& m)
en System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
en System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Ensamblados cargados **************
mscorlib
Versión del ensamblado: 2.0.0.0
Versión Win32: 2.0.50727.9174 (WinRelRS6.050727-9100)
Código base: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
TuyaMCUAnalyzer
Versión del ensamblado: 1.0.0.0
Versión Win32: 1.0.0.0
Código base: file:///D:/Archivos%20de%20programa%20(portable)/TuyaMCUAnalyzer-v0.4/TuyaMCUAnalyzer.exe
----------------------------------------
System.Windows.Forms
Versión del ensamblado: 2.0.0.0
Versión Win32: 2.0.50727.9149 (WinRelRS6.050727-9100)
Código base: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Versión del ensamblado: 2.0.0.0
Versión Win32: 2.0.50727.9171 (WinRelRS6.050727-9100)
Código base: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Versión del ensamblado: 2.0.0.0
Versión Win32: 2.0.50727.9149 (WinRelRS6.050727-9100)
Código base: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
mscorlib.resources
Versión del ensamblado: 2.0.0.0
Versión Win32: 2.0.50727.9174 (WinRelRS6.050727-9100)
Código base: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
System.Windows.Forms.resources
Versión del ensamblado: 2.0.0.0
Versión Win32: 2.0.50727.9149 (WinRelRS6.050727-9100)
Código base: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms.resources/2.0.0.0_es_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
************** Depuración JIT **************
Para habilitar la depuración Just In Time (JIT), el archivo de configuración de esta
aplicación o equipo (machine.config) debe tener el
valor jitDebugging establecido en la sección system.windows.forms.
La aplicación también se debe compilar con la depuración
habilitada
Por ejemplo:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
Cuando esté habilitada la depuración JIT, cualquier excepción no controlada
se enviará al depurador JIT registrado en el equipo
en lugar de controlarlo mediante el cuadro de diálogo.p.kaczmarek2 wrote:Are you the same person who reported it here?
55 AA 00 08 00 0C 000303030303030904000100 33
HEADER VER=00 QueryInitStatus LEN INVALID date dpId=9 Enum V=0 CHK
morgan_flint wrote:I also tried TuyaMCU Analyzer, but got some errors:
p.kaczmarek2 wrote:Or... maybe C vs F setting? We could try changing that in the app.
mkmunichmk wrote:You could do me a favour and use TuyaMCU Analyzer to record. Please let me know, if this works.
morgan_flint wrote:I hit "Open ports" it closes
p.kaczmarek2 wrote:No measurement interval setting.
mkmunichmk wrote:morgan_flint wrote:I hit "Open ports" it closes
As menu item "Open Ports" is directly opening both serial ports configured in Settings, I would guess, that Port Settings->UART0 and UART1 need to be configured first.
p.kaczmarek2 wrote:Maybe, just maybe, executing a tuyaMcu_sendQueryState command may cause more dpIDs to be sent, but as far as I know, it would only work on non-battery powered models. So I wouldn't bet on that.
MnM1 wrote:Try and follow the steps in here for creating the Tuya IoT account and adding or creating a new project in there:
https://www.home-assistant.io/integrations/tuya/
MnM1 wrote:Hi @morgan_flint - unfortunately I don't have that device.
I was just giving out the links to help you create a Tuya IoT account and project
DeDaMrAz wrote:But if that setting is not available in the phone app it is unlikely that it is avaliable/active on that device.
morgan_flint wrote:Is it worth trying to send something from similar products as I said before, or could I brick the device?
MnM1 wrote:If you have flashed the device to OBK the Tuya IoT won't be able to send anything to the device
TL;DR: For TH08/TH08B owners who want OpenBeken without killing battery life, the key fix is low-power Tuya handling: battery life improved from 3 days to nearly 2 months, and one contributor confirmed, "the MCU turns off the module as soon as the last packet from the module is received" after the protocol fix. [#20802807]
Why it matters: This FAQ turns a 9-page reverse-engineering thread into a practical flashing, recovery, and configuration reference for BK7231/BK7238-based TH08 sensors.
| Option | Power behavior reported in thread | Typical result |
|---|---|---|
| Original Tuya firmware | about 6 weeks to nearly 2 months on batteries | Best battery life, cloud-dependent |
| Early OpenBeken builds | about 3 days on 3xAAA NiMH | Functional, but poor low-power handling |
| Updated OpenBeken after low-power packet fix | about 2 weeks on alkalines with level still high, or close to original behavior | Best cloud-free compromise |
Key insight: The TH08 is not a simple Wi-Fi sensor. A separate TuyaMCU controls sensor reads, LCD updates, and power to the Wi-Fi module, so flashing and battery life both depend on handling that MCU correctly. [#20723152]
startDriver TuyaMCU, startDriver tmSensor, startDriver NTP, ntp_setServer ..., ntp_timeZoneOfs ..., setChannelType 1 temperature_div10, linkTuyaMCUOutputToChannel 1 val 1, setChannelType 2 Humidity, linkTuyaMCUOutputToChannel 2 val 2, setChannelType 3 ReadOnlyLowMidHigh, linkTuyaMCUOutputToChannel 3 val 3. For some variants, adding tuyaMcu_defWiFiState 4 solved missing reports. [#20893860]55AA001000070101090400010026 after a short delay, for example with delay_s 2 followed by uartSendHex ... in autoexec.bat. Another contributor confirmed that packet switched the display from °F to °C reliably on their unit. [#21550660]tuyaMcu_sendState. [#21385904]NTP_CheckForReceive: Error while receiving server's msg; switching to a valid reachable server resolved the wrong 1970/2070 display time. Also set the correct offset manually, because OpenBeken in this thread did not yet auto-handle DST, so Portugal needed 0 or 1, while Spain used 1 or 2 depending on season. [#21074347]