Skip to content

Thermostat Driver's TempFormatSet 1 is converting Celsius to Celsius. AKA 40C Coverts to 4.4 Fahrenheit. #24165

@HunterH-Sudo

Description

@HunterH-Sudo

PROBLEM DESCRIPTION

A clear and concise description of what the problem is.

When TempFormatSet is 1 rather than turning 40C to 107F the Web UI displays the value 4.4, which is 40 degrees Celsius converted to Celsius

REQUESTED INFORMATION

Make sure your have performed every step and checked the applicable boxes before submitting your issue. Thank you!

  • Read the Contributing Guide and Policy and the Code of Conduct
  • Searched the problem in issues
  • Searched the problem in discussions
  • Searched the problem in the docs
  • Searched the problem in the chat
  • Problem is not scripter related, in this case open a discussion and tag gemu2015
  • Device used (e.g., Sonoff Basic): Esp32 WeMos
  • Tasmota binary firmware version number used: 15.1.0
    • Pre-compiled
    • Self-compiled
  • Flashing tools used: VsCode with PlatformIO
  • Provide the output of command: Backlog Template; Module; GPIO 255:
  Configuration output here:

04:32:14.592 CMD: Backlog Template; Module; GPIO 255`: ```lua
04:32:14.621 MQT: stat/tasmota_B266B4/RESULT = {"NAME":"Thermostat","GPIO":[1,1,7680,1,7680,1,1,1,1,1,1,1,1,224,1,1312,0,640,608,1,0,1,1,3840,0,0,0,0,1,1,1,1,1,0,0,6210],"FLAG":0,"BASE":1}
04:32:14.842 MQT: stat/tasmota_B266B4/RESULT = {"Module":{"0":"Thermostat"}}
04:32:15.097 MQT: stat/tasmota_B266B4/RESULT = {"GPIO0":{"None":0},"GPIO1":{"None":0},"GPIO2":{"Button_d1":7680},"GPIO3":{"None":0},"GPIO4":{"Button_d1":7680},"GPIO5":{"None":0},"GPIO6":{"None":0},"GPIO7":{"None":0},"GPIO8":{"None":0},"GPIO9":{"None":0},"GPIO10":{"None":0},"GPIO11":{"None":0},"GPIO12":{"None":0},"GPIO13":{"None":0},"GPIO14":{"None":0},"GPIO15":{"None":0},"GPIO16":{"None":0},"GPIO17":{"Relay1":224},"GPIO18":{"None":0},"GPIO19":{"DS18x201":1312},"GPIO20":{"None":0},"GPIO21":{"I2C SDA1":640},"GPIO22":{"I2C SCL1":608},"GPIO23":{"None":0},"GPIO24":{"None":0},"GPIO25":{"None":0},"GPIO26":{"None":0},"GPIO27":{"Output Hi":3840},"GPIO32":{"None":0},"GPIO33":{"None":0},"GPIO34":{"None":0},"GPIO35":{"None":0},"GPIO36":{"None":0},"GPIO37":{"None":0},"GPIO38":{"None":0},"GPIO39":{"Option A3":6210}}
04:32:18.186 MQT: tele/tasmota_B266B4/STATE = {"Time":"1970-01-01T04:32:18","Uptime":"0T04:29:11","UptimeSec":16151,"Heap":169,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":36,"MqttCount":1,"Berry":{"HeapUsed":3,"Objects":36},"POWER1":"ON","POWER2":"OFF","Wifi":{"AP":1,"SSId":"N.o.T","BSSId":"72:A7:41:B6:16:21","Channel":1,"Mode":"HE20","RSSI":90,"Signal":-55,"LinkCount":1,"Downtime":"0T00:00:04"},"Hostname":"tasmota-B266B4-1716","IPAddress":"192.168.4.155"}
04:32:18.207 MQT: tele/tasmota_B266B4/SENSOR = {"Time":"1970-01-01T04:32:18","DS18B20":{"Id":"01205943DE1E","Temperature":22.1},"Thermostat1":{"ThermostatModeSet":2,"TempTargetSet":18.00,"CtrDutyCycleRead":66,"ControlMethod":1,"HybridControllerPhase":1,"EmergencyState":0},"TempUnit":"C"}
  • If using rules, provide the output of this command: Backlog Rule1; Rule2; Rule3:
  Rules output here:

  • Provide the output of this command: Status 0:
  STATUS 0 output here:

00:11:30.584 MQT: stat/tasmota_B266B4/STATUS = {"Status":{"Module":0,"DeviceName":"Tasmota","FriendlyName":["Tasmota",""],"Topic":"tasmota_B266B4","ButtonTopic":"0","Power":"01","PowerLock":"00","PowerOnState":3,"LedState":1,"LedMask":"FFFF","SaveData":1,"SaveState":1,"SwitchTopic":"0","SwitchMode":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"ButtonRetain":0,"SwitchRetain":0,"SensorRetain":0,"PowerRetain":0,"InfoRetain":0,"StateRetain":0,"StatusRetain":0}}
00:11:30.589 MQT: stat/tasmota_B266B4/STATUS1 = {"StatusPRM":{"Baudrate":115200,"SerialConfig":"8N1","GroupTopic":"tasmotas","OtaUrl":"http://ota.tasmota.com/tasmota32/release/tasmota32-display.bin","RestartReason":"Vbat power on reset","Uptime":"0T00:10:54","StartupUTC":"","Sleep":50,"CfgHolder":4617,"BootCount":21,"BCResetTime":"1970-01-01T00:00:00","SaveCount":73}}
00:11:30.593 MQT: stat/tasmota_B266B4/STATUS2 = {"StatusFWR":{"Version":"15.1.0(display)","BuildDateTime":"2025-11-26T22:42:13","Core":"3_3_0","SDK":"5.3.4.250826","CpuFrequency":160,"Hardware":"ESP32-D0WD-V3 v3.1","CR":"385/699"}}
00:11:30.597 MQT: stat/tasmota_B266B4/STATUS3 = {"StatusLOG":{"SerialLog":2,"WebLog":2,"MqttLog":0,"FileLog":0,"SysLog":0,"LogHost":"","LogPort":514,"SSId":["N.o.T",""],"TelePeriod":900,"Resolution":"558180C0","SetOption":["0000800B","2805C80001000600003C5A00192800000000","00008080","00006000","00004000","00000000"]}}
00:11:30.605 MQT: stat/tasmota_B266B4/STATUS4 = {"StatusMEM":{"ProgramSize":1451,"Free":1428,"Heap":165,"StackLowMark":4,"PsrMax":0,"PsrFree":0,"ProgramFlashSize":4096,"FlashSize":4096,"FlashChipId":"164068","FlashFrequency":40,"FlashMode":"DIO","Features":["0809","0FAA85CE","000482A1","800000C3","00000000","00000080","000004A0","40200000","54000008","00000080","00000004"],"Drivers":"1,2,!4,!5,!8,9,10,12,13,!16,38,39,50,52,55,62,!66,!68,!121","Sensors":"1,2,5,6,127","I2CDriver":"3,5,47"}}
00:11:30.609 MQT: stat/tasmota_B266B4/STATUS5 = {"StatusNET":{"Hostname":"tasmota-B266B4-1716","IPAddress":"192.168.4.155","Gateway":"192.168.4.1","Subnetmask":"255.255.255.0","DNSServer1":"192.168.4.1","DNSServer2":"0.0.0.0","Mac":"88:57:21:B2:66:B4","IP6Global":"","IP6Local":"fe80::8a57:21ff:feb2:66b4%st1","Webserver":2,"HTTP_API":1,"WifiConfig":4,"WifiPower":16.0}}
00:11:30.612 MQT: stat/tasmota_B266B4/STATUS6 = {"StatusMQT":{"MqttHost":"192.168.2.80","MqttPort":1883,"MqttClientMask":"DVES_%06X","MqttClient":"DVES_B266B4","MqttUser":"MQTT","MqttCount":2,"MqttTLS":0,"MAX_PACKET_SIZE":1200,"KEEPALIVE":30,"SOCKET_TIMEOUT":4}}
00:11:30.615 MQT: stat/tasmota_B266B4/STATUS7 = {"StatusTIM":{"UTC":"1970-01-01T00:11:30Z","Local":"1970-01-01T00:11:30","StartDST":"1970-01-01T00:00:00","EndDST":"1970-01-01T00:00:00","Timezone":"+00:00","Sunrise":"20:13","Sunset":"05:47"}}
00:11:30.635 MQT: stat/tasmota_B266B4/STATUS10 = {"StatusSNS":{"Time":"1970-01-01T00:11:30","DS18B20":{"Id":"01205943DE1E","Temperature":23.4},"Thermostat1":{"ThermostatModeSet":1,"TempTargetSet":18.00,"CtrDutyCycleRead":66,"ControlMethod":1,"HybridControllerPhase":1,"EmergencyState":0},"TempUnit":"C"}}
00:11:30.641 MQT: stat/tasmota_B266B4/STATUS11 = {"StatusSTS":{"Time":"1970-01-01T00:11:30","Uptime":"0T00:10:54","UptimeSec":654,"Heap":167,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":28,"MqttCount":2,"Berry":{"HeapUsed":3,"Objects":34},"POWER1":"ON","POWER2":"OFF","Wifi":{"AP":1,"SSId":"N.o.T","BSSId":"72:A7:41:B6:16:21","Channel":1,"Mode":"HE20","RSSI":80,"Signal":-60,"LinkCount":1,"Downtime":"0T00:00:05"},"Hostname":"tasmota-B266B4-1716","IPAddress":"192.168.4.155"}}
  • Set weblog to 4 and then, when you experience your issue, provide the output of the Console log:
  Console output here:
00:12:55.232 BRY: GC from 7188 to 3521 bytes, objects freed 22/34 (in 0 ms) - slots from 42/91 to 38/91
00:13:02.452 CMD: tempformatset 1
00:13:02.453 SRC: WebConsole from 192.168.1.105
00:13:02.454 CMD: Grp 0, Cmd 'TEMPFORMATSET', Idx 1, Len 1, Pld 1, Data '1'
00:13:02.458 MQT: stat/tasmota_B266B4/RESULT = {"TempFormatSet1":1}
00:13:06.306 WIF: Checking connection...
00:13:15.922 NTP: Sync time...
00:13:15.938 WIF: DNS resolved '2.europe.pool.ntp.org' (77.92.157.219) in 16 ms
00:13:16.941 NTP: No reply from 77.92.157.219
00:13:18.199 BRY: GC from 7188 to 3521 bytes, objects freed 22/34 (in 0 ms) - slots from 42/91 to 38/91
00:13:27.265 WIF: Checking connection...
00:13:36.902 THE: Thermostat[1].status.counter_seconds: 0
00:13:36.902 THE: Thermostat[1].status.thermostat_mode: 1
00:13:36.903 THE: Thermostat[1].diag.state_emergency: 0
00:13:36.903 THE: Thermostat[1].diag.output_inconsist_ctr: 0
00:13:36.903 THE: Thermostat[1].status.controller_mode: 1
00:13:36.904 THE: Thermostat[1].status.command_output: 1
00:13:36.904 THE: Thermostat[1].status.status_output: 1
00:13:36.904 THE: Thermostat[1].status.status_input: 1
00:13:36.905 THE: Thermostat[1].status.phase_hybrid_ctr: 1
00:13:36.905 THE: Thermostat[1].status.sensor_alive: 1
00:13:36.905 THE: Thermostat[1].status.status_cycle_active: 1
00:13:36.906 THE: Thermostat[1].temp_pi_error: 13.60 degrees
00:13:36.906 THE: Thermostat[1].temp_pi_accum_error: 0.00 degrees
00:13:36.907 THE: Thermostat[1].time_proportional_pi: 1800 seconds
00:13:36.907 THE: Thermostat[1].time_integral_pi: 0 seconds
00:13:36.907 THE: Thermostat[1].time_total_pi: 1200 seconds
00:13:36.908 THE: Thermostat[1].temp_measured_gradient: 117.333 degrees/hour
00:13:36.908 THE: Thermostat[1].time_rampup_deadtime: 0 seconds
00:13:36.909 THE: Thermostat[1].temp_rampup_meas_gradient: 0.000 degrees/hour
00:13:36.909 THE: Thermostat[1].time_ctr_changepoint: 1380
00:13:36.909 THE: Thermostat[1].temp_rampup_output_off: 0
00:13:36.910 THE: Thermostat[1].time_ctr_checkpoint: 1980
00:13:36.910 THE: uptime: 780
00:13:36.910 THE: power: 1
00:13:40.216 BRY: GC from 7159 to 3521 bytes, objects freed 22/34 (in 0 ms) - slots from 41/91 to 38/91
00:13:47.265 WIF: Checking connection...

TO REPRODUCE

Steps to reproduce the behavior:

run "backlog ControllerModeSet 1; TempFormatSet 1; ThermostatModeSet 1; TempMeasuredSet 40;" in console

EXPECTED BEHAVIOUR

A clear and concise description of what you expected to happen.

TempFormatSet should do the math to turn 40 Celsius to Fahrenheit and display 104F

SCREENSHOTS

If applicable, add screenshots to help explain your problem.

Image Image

ADDITIONAL CONTEXT

Add any other context about the problem here.

When TempFormatSet is 1 the UI shows -4.7F but TempMeasuredset shows the same temperature of the sensor(23.4C)

(Please, remember to close the issue when the problem has been addressed)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions