arendst / Tasmota

Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at
https://tasmota.github.io/docs
GNU General Public License v3.0
22.18k stars 4.81k forks source link

Shelly 2.5 gets significantly hotter since 8.2.0.1 #7991

Closed kugelkopf123 closed 4 years ago

kugelkopf123 commented 4 years ago

PROBLEM DESCRIPTION

A clear and concise description of what the problem is. With the current version from the Dev Branch my Shelly2.5 is obviously much warmer than with the version from 15.03.2020.

REQUESTED INFORMATION

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

03:53:22 MQT: stat/Shelly25_5/RESULT = {"NAME":"Shelly 2.5 (bu","GPIO":[56,0,19,0,21,127,0,0,6,126,5,22,156],"FLAG":2,"BASE":18} 03:53:22 MQT: stat/Shelly25_5/RESULT = {"Module":{"0":"Shelly 2.5 (bu"}} 03:53:23 MQT: stat/Shelly25_5/RESULT = {"GPIO0":{"56":"Led1i"},"GPIO1":{"0":"None"},"GPIO2":{"19":"Button3"},"GPIO3":{"0":"None"},"GPIO4":{"21":"Relay1"},"GPIO5":{"127":"Button2in"},"GPIO9":{"0":"None"},"GPIO10":{"0":"None"},"GPIO12":{"6":"I2C SDA"},"GPIO13":{"126":"Button1in"},"GPIO14":{"5":"I2C SCL"},"GPIO15":{"22":"Relay2"},"GPIO16":{"156":"ADE7953 IRQ"}}

Shelly with Version 8.2.0.1:

04:12:29 MQT: stat/Shelly25_4/RESULT = {"NAME":"Shelly 2.5 (bu","GPIO":[56,0,19,0,21,127,0,0,6,126,5,22,156],"FLAG":2,"BASE":18} 04:12:30 MQT: stat/Shelly25_4/RESULT = {"Module":{"0":"Shelly 2.5 (bu"}} 04:12:30 MQT: stat/Shelly25_4/RESULT = {"GPIO0":{"56":"Led1i"},"GPIO1":{"0":"None"},"GPIO2":{"19":"Button3"},"GPIO3":{"0":"None"},"GPIO4":{"21":"Relay1"},"GPIO5":{"127":"Button2in"},"GPIO9":{"0":"None"},"GPIO10":{"0":"None"},"GPIO12":{"6":"I2C SDA"},"GPIO13":{"126":"Button1in"},"GPIO14":{"5":"I2C SCL"},"GPIO15":{"22":"Relay2"},"GPIO16":{"156":"ADE7953 IRQ"}}

- [ ] If using rules, provide the output of this command: `Backlog Rule1; Rule2; Rule3`:

Rules output here: Shelly with Version 8.1.0.11: :53:49 MQT: stat/Shelly25_5/RESULT = {"Rule1":"OFF","Once":"OFF","StopOnError":"OFF","Free":511,"Rules":""} 03:53:49 MQT: stat/Shelly25_5/RESULT = {"Rule2":"ON","Once":"OFF","StopOnError":"OFF","Free":370,"Rules":"on SHUTTER1#Position do backlog publish stat/%topic%/RESULT {"ShutterPosition1":%value%}; publish cmnd/%topic%/ShutterPosition1 %value% endon"} 03:53:49 MQT: stat/Shelly25_5/RESULT = {"Rule3":"OFF","Once":"OFF","StopOnError":"OFF","Free":511,"Rules":""}

Shelly with Version 8.2.0.1: 04:13:57 MQT: stat/Shelly25_4/RESULT = {"Rule1":"OFF","Once":"OFF","StopOnError":"OFF","Free":511,"Rules":""} 04:13:57 MQT: stat/Shelly25_4/RESULT = {"Rule2":"ON","Once":"OFF","StopOnError":"OFF","Free":370,"Rules":"on SHUTTER1#Position do backlog publish stat/%topic%/RESULT {"ShutterPosition1":%value%}; publish cmnd/%topic%/ShutterPosition1 %value% endon"} 04:13:57 MQT: stat/Shelly25_4/RESULT = {"Rule3":"OFF","Once":"OFF","StopOnError":"OFF","Free":511,"Rules":""}

- [ ] Provide the output of this command: `Status 0`:

STATUS 0 output here:

Shelly with Version 8.1.0.11:

03:55:19 MQT: stat/Shelly25_5/STATUS = {"Status":{"Module":0,"FriendlyName":["Shelly25_5","Shelly25_52"],"Topic":"Shelly25_5","ButtonTopic":"0","Power":0,"PowerOnState":3,"LedState":1,"LedMask":"FFFF","SaveData":1,"SaveState":1,"SwitchTopic":"0","SwitchMode":[0,0,0,0,0,0,0,0],"ButtonRetain":0,"SwitchRetain":0,"SensorRetain":0,"PowerRetain":0}} 03:55:19 MQT: stat/Shelly25_5/STATUS1 = {"StatusPRM":{"Baudrate":115200,"SerialConfig":"8N1","GroupTopic":"wohnzimmer","OtaUrl":"http://192.168.1.32:8000/shelly25.bin.gz","RestartReason":"Software/System restart","Uptime":"0T00:57:39","StartupUTC":"2020-03-24T01:57:40","Sleep":50,"CfgHolder":4617,"BootCount":18,"BCResetTime":"2020-03-20T18:24:36","SaveCount":763,"SaveAddress":"1F9000"}} 03:55:19 MQT: stat/Shelly25_5/STATUS2 = {"StatusFWR":{"Version":"8.1.0.11(tasmota)","BuildDateTime":"2020.03.24 02:55:46","Boot":31,"Core":"STAGE","SDK":"2.2.2-dev(38a443e)","Hardware":"ESP8266EX","CR":"414/699"}} 03:55:19 MQT: stat/Shelly25_5/STATUS3 = {"StatusLOG":{"SerialLog":0,"WebLog":2,"MqttLog":0,"SysLog":0,"LogHost":"","LogPort":514,"SSId":["Eiswuerstchen",""],"TelePeriod":300,"Resolution":"559980C0","SetOption":["0000C80B","1405C8000100060000005A00000000000000","408000E8","00000000"]}} 03:55:19 MQT: stat/Shelly25_5/STATUS4 = {"StatusMEM":{"ProgramSize":497,"Free":1528,"Heap":23,"ProgramFlashSize":2048,"FlashSize":2048,"FlashChipId":"1540EF","FlashMode":3,"Features":["00000407","8F000197","040003A1","00000004","010000C0","40008100","00000000"],"Drivers":"1,2,3,4,9,10,27,30","Sensors":"2,3"}} 03:55:19 MQT: stat/Shelly25_5/STATUS5 = {"StatusNET":{"Hostname":"shelly25-5","IPAddress":"192.168.1.207","Gateway":"192.168.1.1","Subnetmask":"255.255.255.0","DNSServer":"192.168.1.1","Mac":"98:F4:AB:F3:0F:80","Webserver":2,"WifiConfig":4,"WifiPower":17.0}} 03:55:19 MQT: stat/Shelly25_5/STATUS6 = {"StatusMQT":{"MqttHost":"192.168.1.73","MqttPort":1883,"MqttClientMask":"Shelly25_5","MqttClient":"Shelly25_5","MqttUser":"tasmota","MqttCount":1,"MAX_PACKET_SIZE":1200,"KEEPALIVE":30}} 03:55:19 MQT: stat/Shelly25_5/STATUS7 = {"StatusTIM":{"UTC":"2020-03-24T02:55:19","Local":"2020-03-24T03:55:19","StartDST":"2020-03-29T02:00:00","EndDST":"2020-10-25T03:00:00","Timezone":99,"Sunrise":"06:23","Sunset":"18:51"}} 03:55:19 MQT: stat/Shelly25_5/STATUS9 = {"StatusPTH":{"PowerDelta":0,"PowerLow":0,"PowerHigh":0,"VoltageLow":0,"VoltageHigh":0,"CurrentLow":0,"CurrentHigh":0}} 03:55:19 MQT: stat/Shelly25_5/STATUS10 = {"StatusSNS":{"Time":"2020-03-24T03:55:19","ANALOG":{"Temperature":47.9},"ENERGY":{"TotalStartTime":"2020-03-18T23:06:37","Total":0.202,"Yesterday":0.005,"Today":0.000,"Power":[0.000,0.000],"ApparentPower":[0.000,0.000],"ReactivePower":[0.000,0.000],"Factor":[0.00,0.00],"Voltage":0,"Current":[0.000,0.000]},"Shutter1":{"Position":0,"Direction":0,"Target":0},"TempUnit":"C"}} 03:55:19 MQT: stat/Shelly25_5/STATUS11 = {"StatusSTS":{"Time":"2020-03-24T03:55:19","Uptime":"0T00:57:39","UptimeSec":3459,"Heap":23,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER1":"OFF","POWER2":"OFF","Wifi":{"AP":1,"SSId":"Eiswuerstchen","BSSId":"10:9A:DD:84:A0:07","Channel":6,"RSSI":64,"Signal":-68,"LinkCount":1,"Downtime":"0T00:00:09"}}}

Shelly with Version 8.2.0.1:

04:37:45 MQT: stat/Shelly25_4/STATUS = {"Status":{"Module":0,"FriendlyName":["Shelly25_4","Shelly25_42"],"Topic":"Shelly25_4","ButtonTopic":"0","Power":0,"PowerOnState":3,"LedState":1,"LedMask":"FFFF","SaveData":1,"SaveState":1,"SwitchTopic":"0","SwitchMode":[0,0,0,0,0,0,0,0],"ButtonRetain":0,"SwitchRetain":0,"SensorRetain":0,"PowerRetain":0}} 04:37:45 MQT: stat/Shelly25_4/STATUS1 = {"StatusPRM":{"Baudrate":115200,"SerialConfig":"8N1","GroupTopic":"wohnzimmer","OtaUrl":"http://192.168.1.32:8000/shelly25.bin.gz","RestartReason":"Software/System restart","Uptime":"0T00:03:09","StartupUTC":"2020-03-24T03:34:36","Sleep":50,"CfgHolder":4617,"BootCount":2,"BCResetTime":"2020-03-20T18:24:44","SaveCount":10,"SaveAddress":"1F8000"}} 04:37:45 MQT: stat/Shelly25_4/STATUS2 = {"StatusFWR":{"Version":"8.2.0.1(tasmota)","BuildDateTime":"2020.03.24 04:29:37","Boot":31,"Core":"STAGE","SDK":"2.2.2-dev(38a443e)","Hardware":"ESP8266EX","CR":"414/699"}} 04:37:45 MQT: stat/Shelly25_4/STATUS3 = {"StatusLOG":{"SerialLog":0,"WebLog":2,"MqttLog":0,"SysLog":0,"LogHost":"","LogPort":514,"SSId":["Eiswuerstchen",""],"TelePeriod":300,"Resolution":"558180C0","SetOption":["0020C80B","1405C8000100060000005A00000000000000","408000E8","00000000"]}} 04:37:45 MQT: stat/Shelly25_4/STATUS4 = {"StatusMEM":{"ProgramSize":493,"Free":1532,"Heap":25,"ProgramFlashSize":2048,"FlashSize":2048,"FlashChipId":"1540EF","FlashMode":3,"Features":["00000407","8F000196","040003A1","00000004","010000C0","40000100","00000000"],"Drivers":"1,2,3,4,9,10,27","Sensors":"2,3"}} 04:37:45 MQT: stat/Shelly25_4/STATUS5 = {"StatusNET":{"Hostname":"shelly25-4","IPAddress":"192.168.1.206","Gateway":"192.168.1.1","Subnetmask":"255.255.255.0","DNSServer":"192.168.1.1","Mac":"98:F4:AB:F3:EF:1F","Webserver":2,"WifiConfig":4,"WifiPower":17.0}} 04:37:45 MQT: stat/Shelly25_4/STATUS6 = {"StatusMQT":{"MqttHost":"192.168.1.73","MqttPort":1883,"MqttClientMask":"Shelly25_4","MqttClient":"Shelly25_4","MqttUser":"tasmota","MqttCount":1,"MAX_PACKET_SIZE":1200,"KEEPALIVE":30}} 04:37:45 MQT: stat/Shelly25_4/STATUS7 = {"StatusTIM":{"UTC":"2020-03-24T03:37:45","Local":"2020-03-24T04:37:45","StartDST":"2020-03-29T02:00:00","EndDST":"2020-10-25T03:00:00","Timezone":99,"Sunrise":"06:23","Sunset":"18:51"}} 04:37:45 MQT: stat/Shelly25_4/STATUS10 = {"StatusSNS":{"Time":"2020-03-24T04:37:45","ANALOG":{"Temperature":72.2},"ENERGY":{"TotalStartTime":"2020-03-18T22:50:13","Total":0.000,"Yesterday":0.003,"Today":0.000,"Power":[0,0],"ApparentPower":[0,0],"ReactivePower":[0,0],"Factor":[0.00,0.00],"Frequency":50,"Voltage":238,"Current":[0.000,0.000]},"Shutter1":{"Position":0,"Direction":0,"Target":0},"TempUnit":"C"}} 04:37:45 MQT: stat/Shelly25_4/STATUS11 = {"StatusSTS":{"Time":"2020-03-24T04:37:45","Uptime":"0T00:03:09","UptimeSec":189,"Heap":25,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER1":"OFF","POWER2":"OFF","Wifi":{"AP":1,"SSId":"Eiswuerstchen","BSSId":"10:9A:DD:84:A0:07","Channel":6,"RSSI":72,"Signal":-64,"LinkCount":1,"Downtime":"0T00:00:07"}}}

- [ ] Provide the output of the Console log output when you experience your issue; if applicable:
  _(Please use_ `weblog 4` _for more debug information)_

Console output here:


### TO REPRODUCE
_Steps to reproduce the behavior:_
Compile with Options:   

define WEBSERVER_ADVERTISE

undef MQTT_HOST_DISCOVERY

define MDNS_ENABLED 1

undef USE_ADC_VCC

define USE_ADE7953

define USE_SHUTTER

define USE_EXPRESSION

define SUPPORT_IF_STATEMENT



### EXPECTED BEHAVIOUR
_A clear and concise description of what you expected to happen._

Run with normal Temperature.

### SCREENSHOTS
_If applicable, add screenshots to help explain your problem._
<img width="443" alt="Bildschirmfoto 2020-03-24 um 03 08 39" src="https://user-images.githubusercontent.com/45996965/77383976-899b7a00-6d84-11ea-9019-ce6c3e77d110.png">
<img width="411" alt="Bildschirmfoto 2020-03-24 um 03 08 33" src="https://user-images.githubusercontent.com/45996965/77383980-8bfdd400-6d84-11ea-96af-d503eac95b4d.png">

### ADDITIONAL CONTEXT
_Add any other context about the problem here._

The two Shellys2.5 are both flush-mounted in one wall directly next to each other. To have a direct comparison, I flashed only one of the two Shellys back to the state of the 15.03.2020. 

**(Please, remember to close the issue when the problem has been addressed)**
ascillato commented 4 years ago

Hi, the real temperature in different Tasmota versions are the same. The CALIBRATION of Tasmota versions is different. That is why you see a difference in old Tasmota versions versus the newer versions.

The real Temperature is the same. The one showed in the UI is different. Please, measure the real temperature of the case (or of the board) using both versions of Tasmota and also to the stock firmware.

stefxx commented 4 years ago

I might be able to borrow a thermal camera later this week. I will repeat the test and I hope we can come to a final solution after that. Thanks!

ascillato commented 4 years ago

Thanks, your tests are more than welcome and if needed we can ADJUST the internal calibration to show a more exact temperature value. Thanks.

BeoQ commented 4 years ago

I do have the same issue of a shelly-2.5 getting hot temperature reading when running tasmota (-8.4.0.1). I'm very aware that the actual temperature of the NTC and the shelly's case temperature are two different things; the NTC will be hotter due to being closer to the heat source. So, measuring the actual inside temperature close to the NTC and comparing this to the reading computed by tasmota, is the important task to do. An thermal imaging camera pointed at an opened shelly in operation would help. Don't even try this measurement if you're not trained to work on high voltage. Caution: High Risk of Electrocution! - you have been warned...

Thinking of heat sources in a shelly:

  1. The ESP8266 is likely one of the larger factors in power dissipation:

    • The hardwre design guide says average 80mA, roughly 260mW dissipation at 3.3V. but recommends a supply capable of 500mA, thats 1.65 Watt potential of dissipation.
    • The actual dissipation is related to the RF energy when transmitting WiFi packets (more packets to transmit, more heat).
    • The computing load of the the chip requiring CPU cycles (already known: open browser-page on tasmota, see stefxx's investigations, two days ago).
    • The polling load to read sensors requires CPU cycles (disabling the ADE sensor chip)
  2. The two Relay (-Coils) dissipate heat when energized.

    • The shelly does not have a circuit to reduce coil current when energized in hardware;
    • To what i could see on the PCB, it's just simple driver transistors.
    • Several hundreds of mW dissipation per energized Coil is realistic.
  3. The current flowing thru the Relay Contacts and the Current-Measuring Shunts.

    • Example: Each channel is rated to 10Amps, if you have 0.1Ohm of total path resistance (contact and shunt), then you have 10Watts to dissipate, that is for each Channel when under full load (!).
    • Even though the real path resistance is likely much lower, it would increase due to wear and tear of the relay contacts over time. A Thermal protection is definitely useful here!
  4. The Power-supply to power all these tightly packed components.

    • Depending how shelly's engineers actually designed it, i'd guess about 2-3Watt capability; with an efficiency of about 80% (estimated) that's about 600mW to dissipate (with relays energized, and lots of computing to do)

Bottom-line(s):

Improvements: The last line might be interesting for tasmota: if the output-pin driving the relay is capable of PWM, the firmware could energize the relay with 100% duty-cycle for some 100ms, then step back to a lower duty-cycle that is sufficient to keep the relay energized, and save power. Something between 30..50% duty-cycle might be a good starting point when trying.

Adding the thermally conductive, but electrically insulating pad between the heat sources and the case would help heat transfer. Producing the outer case of the shelly using such a material would probably be something for advanced makers or the manufacturer.

Let's see where this thread goes...

ascillato commented 4 years ago

You could drive the relays by using PWM

Please, don't. PWM is software PWM (the esp8266 don't have hardware PWM), so the CPU goes to 100% and the sleep time to 0. So, the amount of enegy usage goes up and the temp too. And driving a relay with PWM will reduce drastically its life.

Also, take into account that we are talking about the calibration of the temperature measurement between Tasmota versions. The fact that Tasmota is publishing a higher temperature don't means that now is actually hotter than in older versions.

Let's wait for @stefxx tests.

BeoQ commented 4 years ago

Good point for not doing PWM to drive relays. I wasn't aware of that. If the ESP needs to to PWM in software, the additional CPU load and heat will eat up the savings in the coil, probably making things worse.

To improve my guess on dissipation, i have unhooked and opened my shelly-2.5:

The Shunt resistor is labeled "R004" in a package similar to 1206.

The Relay in my unit is made by Hongfa, Type "HF32FA-G 012HSL1"

Mains Power Supply Chip is a "LNK304DN"

The NTC sits very close to the ESP8266

There is a Chip that looks like an additional Low-Voltage Regulator with marking "WBBTA" (package SOT23-6)

I'll try to also get 'external' infrared temperature measurment in the internal components, to compare them with the NTC/Tasmota-readings.

kugelkopf123 commented 4 years ago
  • designator R35, no component marking

Thanks for the Infos! Can you post Photos from the Board and the details?

stefxx commented 4 years ago

I finally have a Seek Compact heat camera available to do some testing, planning to do some measurements tomorrow. Never done any heat measurements before. What should I test? How should I test? Should I remove the Shelly housing? Front and/or back? Any specific circumstances?

Just want to do it right before I waste my and possible your time with incorrect measurements.

ascillato commented 4 years ago

Similar to https://github.com/arendst/Tasmota/issues/7991#issuecomment-621995157 So, without the casing and measuring the 2 cases: with and without a load.

Thank you. Very appreciated your help and tests 👍

BeoQ commented 4 years ago

Finally, I did some pictures of my opened Selly-2.5. For reference to the issue I'll post them here. Maybe someone would rather see those in the documentation section?

An Overview on the Top / Component side, including the top-case where the antenna is located: Shelly-2 5 PCB Top Ant

An Overview on the Solder side: Shelly-2 5 PCB Bottom   Case

Detailed view on the Solder side: Shelly-2 5 PCB Bottom Detail

Detailed view on the power supply section components: Shelly-2 5 PCB Top Powersupplies

With these pictures it should be easier to interpret pictures from the thermal imager.

BeoQ commented 4 years ago

I managed to get a thermal camera and take some pictures with it. Camera set to emisivity of E=0.80, which seems to be a good value for epoxies, including typical FR4 PCB material.

In all the pictures of this post, I run tasmota-8.4 and both relays are energized. NTC temperature readout was done via MQTT, to avoid having a browser-session working the cpu. Ambient temp was about 25°C, almost no airflow.

Hot-Spots in operation: Shelly-2 5_PCB_Solderside_IR-Overview

With suspicious heat coming from the power supply section, i bent away the components, and took above detail picture. The power-on after this cooldown time, shows really good where the predominant heat sources are.

Power Supply section warmup: Shelly-2 5_PCB_Solderside_IR-heatup

Thermal conclusion: The guys at Shelly did a great job in building the device in the smallest possible way. But there's room for thermal improvement:

I can imagine completely removing the R42 or using a higher value: Many switching regulator topologies require a minimum load to work properly, but maybe the load from the low-voltage regulator supplying the chips is enough. Possibly it is required in case this low-voltage-regulator fails, although probably nothing happens then - I did not remove my R42 up to now; If you do, it's on your own risk.

If you use a thermal pad to transfer heat to the bottom case: make sure it withstands your mains voltage: At 230V AC you have some capacitors charged to about 325V, and safety-standards DO require far higher breakdown voltages here!

I may try to do more thermal images running older tasmota-8.1, but don't count on that. My personal guess is: The core of this issue #7991 lies in the code. Well...

ascillato commented 4 years ago

Thanks a lot for your measurements. Those pics are amazing!!!!

Were you able to measure the temperature with the shelly stock firmware? Anyway, from shelly's dev measurement (https://github.com/arendst/Tasmota/issues/7991#issuecomment-621995157) your values are very close to the stock firmware.

So, in conclusion, Tasmota is measuring a value that is real, right? And Tasmota 8.1 had a bad calibration of the NTC that is why it was reporting a lower value (not real), right?

arendst commented 4 years ago

Thx for your effort to tackle the cause of the heat problem.

It would make sense to have the same measurements done with tasmota 8.1 as that version is presumably less hot than the above used 8.4

If indeed it is a lot cooler I could try to find the cause of the heat issue.

In the meantime users could also try to compile versions of tasmota without unneeded features and see if that lowers temp too.

stefxx commented 4 years ago

So, I finally took some thermal pictures as well. Thanks @BeoQ your pictures look perfect. Much better than mine.

I've let the device stabilize for about an hour before measurements. Web interface off. I have 1 Shelly with Stock 1.8.3 firmware, and the other one with Tasmota. So the 8.1.0 and 8.5.0 measurements are from the same physical device. Ambient temperature 22 degrees, in a small and closed room (so no external airflow).

First the Shelly firmware, both relays activated, no load attached. Reported temperature 70 degrees, measured 73 degrees: img_thermal_1600598972659

The Tasmota 8.5.0 device, again both relays activated, no load attached. Reported 70 degrees, measured 68: img_thermal_1600598987565

And finally, after flashing the Tasmota device with 8.1.0, the device reported 59 degrees, actual 60 (I've let the device stabilize for 30 minutes, as the reported temperature was already stable for 15 minutes). Both relays activated, no load attached. : img_thermal_1600600794307

So it seems there is actually a measurable difference between 8.5.0 and 8.1.0. Please let me know if I should make other measurements if that is helpful. I don't have any experience with these kind of measurements so let me know if I did anything wrong.

stefxx commented 4 years ago

I just noticed that the picture from Shelly in this thread (#7991 (comment)) is not a 2.5 PM device. It looks like a dimmer.

Smandurlo commented 4 years ago

It is not a 2.5, there is no neutral. It is something, SL version

Il dom 20 set 2020, 13:52 stefxx notifications@github.com ha scritto:

I just noticed that the picture from Shelly in this thread (#7991 (comment) https://github.com/arendst/Tasmota/issues/7991#issuecomment-621995157) is not a 2.5 PM device. It looks like a dimmer.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/arendst/Tasmota/issues/7991#issuecomment-695778354, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIXTCZMSMJJDAI63QXVQZWTSGXUHJANCNFSM4LSK5EZQ .

BeoQ commented 4 years ago

@arendst, @ascillato: Since @stefxx has done all three firmwares, i'd omit the shelly stock firmware, to avoid messing up my network security monitoring. I intend to try and measure other tasmota firmwares, but not sure when i get around to do so. Might as well be as late as next weekend.

If i get around to measure, I'll put a sonoff basic with different firmwares to the test as well. [edit: Sonoff Basic is not affected. See below]

@stefxx: your thermal images also look very good! I did three things to improve the pictures:

Keep it up!

BeoQ commented 4 years ago

Here we go: I did a measurement series with temperature vs tasmota-versions. I did not leave too much time for the temperature to settle, just about 5-10minutes each. Looking at the NTC reading via MQTT showed it is enough settlement to be useful, since we don't need high accuracy on the temp reading this time. All measurement done on the same device, with no browser window open, and relays energized.

Shelly-2.5: Shelly-2 5_PCB_VersionSeries_IR

Something happened between the releases tasmota-8.2.0 and -8.3.0 that pushes up the shelly-2.5's temperature.

Sonoff Basic For comparison: the same series on a Sonoff Basic, with selected device "sonoff basic" SonoffBasic_PCB_Temperature-vs-TasmotaVersion

I hope this helps finding out the root cause.

Cheers!

arendst commented 4 years ago

Thx again. I will dive in today.

arendst commented 4 years ago

I think the issue is solved!

Based on the latest temp pictures showing tasmota versions with higher values starting from version 8.3.0 AND the initial issue where it seemed to start from v8.2.0.1 I could easily conclude where the higher temp came from.

Since v8.2.0.1 all GPIO's are no longer set to input at restart first before they are initialized by tasmota but after tasmota configures the GPIO. For the ADE7953 this lead to an anomaly where the IRQ input was never set to input but stayed in limbo which could easily be an output which in turn would make the IRQ circuit act as a load resulting in additional heat.

The latest commit solves this and I noticed indeed a major temp decrease on my Shelly 2.5

Thx to all who have helped in solving this issue especially the images helped a lot!

Smandurlo commented 4 years ago

So, if I will set the ADE chip on again, I shouldn't see the temperature going high anymore, isn't it?

Thank for all your efforts guys!

Il gio 24 set 2020, 12:14 Theo Arends notifications@github.com ha scritto:

I think the issue is solved!

Based on the latest temp pictures showing tasmota versions with higher values starting from version 8.3.0 AND the initial issue where it seemed to start from v8.2.0.1 I could easily conclude where the higher temp came from.

Since v8.2.0.1 all GPIO's are no longer set to input at restart first before they are initialized by tasmota but after tasmota configures the GPIO. For the ADE7953 this lead to an anomaly where the IRQ input was never set to input but stayed in limbo which could easily be an output which in turn would make the IRQ circuit act as a load resulting in additional heat.

The latest commit solves this and I noticed indeed a major temp decrease on my Shelly 2.5

Thx to all who have helped in solving this issue especially the images helped a lot!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/arendst/Tasmota/issues/7991#issuecomment-698252659, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIXTCZMN5W7PCEZLLJ4U73DSHMLZRANCNFSM4LSK5EZQ .

stefxx commented 4 years ago

This is excellent! Great teamwork!

Can wait to test it (probably tonight). Thanks!!

stefxx commented 4 years ago

Running 3 devices with latest build for about 2 hours. Temperature stabilizes between 45 and 55 degrees. Very happy with this!!

kugelkopf123 commented 4 years ago

I am glad that this problem, which I discovered at the end of March, has finally been solved. So I can switch on the ADE again. Many thanks to: @stefxx and @BeoQ For your work and time you have invested. And of course also to @arendst, who took another look at it. Do I see it right, that just one PinDefinition was missing? So that the reset pin was not designated as an input pin and therefore no reset occurred? Or what exactly was the problem?

stefxx commented 4 years ago

Running 3 devices with latest build for about 2 hours. Temperature stabilizes between 45 and 55 degrees. Very happy with this!!

Before people start comparing this with my previous measurements; this is with both relays off. When they are both on, add about 10 degrees. Still, much lower then before!

arendst commented 4 years ago

See my explaination earlier. Remeber, IRQ is an Interrupt Request from the ade to the esp8266 and not a reset signal. As gpio16 cannot handle interrupts the IRQ is not used. Due to the gpio init change the IRQ gpio was never correctly initialized resulting in an output signal from the esp8266 which would be shorted to gnd by any ade irq resulting in heat and possibly hardware failure over time.

BeoQ commented 4 years ago

Wow, what a quick fix of the issue! @arendst: taking a second look at the thermal series, with your explanation in mind: If the ESP is hotter, I can see the ADE chip also getting hotter.

According to the ADE's datasheet, it's /IRQ is low-active, meaning it stays high for most of the time. If the ESP continuously outputs a low, the one sources a current which the other one immediately sinks.

You write it is the GPIO16. That means, to select this Pin as an Input, like Button or Switch would have made the problem go away? Or set it to counter and count the interrupts?

Fabulous, will try it out ASAP.

kugelkopf123 commented 4 years ago

Tried it today. Updated from 8.3.1 to todays Dev Branch. Works as long as i don't set GPIO GPIO16 to ADE7953 IRQ. Then i get exceptions:

11:08:24 NTP: UTC 2020-09-25T09:08:23, DST 2020-03-29T02:00:00, STD 2020-10-25T03:00:00
11:08:24 HTP: Web-Server aktiv bei Shelly25-1-SchlafOG mit IP-Adresse 192.168.1.202
11:08:24 WIF: Sending Gratuitous ARP
11:08:25 MQT: Verbindungsversuch...
11:08:25 MQT: verbunden
11:08:25 MQT: tele/Shelly25_1/LWT = Online (beibehalten)
11:08:25 MQT: cmnd/Shelly25_1/POWER = 
11:08:25 MQT: abonniere cmnd/Shelly25_1/#
11:08:25 MQT: abonniere cmnd/tasmotas/#
11:08:25 MQT: abonniere cmnd/Shelly25_1_fb/#
11:08:25 MQT: tele/Shelly25_1/INFO1 = {"Module":"Shelly 2.5","Version":"8.5.0.1(tasmota)","FallbackTopic":"cmnd/Shelly25_1_fb/","GroupTopic":"cmnd/tasmotas/"}
11:08:25 MQT: tele/Shelly25_1/INFO2 = {"WebServerMode":"Admin","Hostname":"Shelly25-1-SchlafOG","IPAddress":"192.168.1.202"}
11:08:25 MQT: tele/Shelly25_1/INFO3 = {"RestartReason":{"Exception":9,"Reason":"Exception","EPC":["40105c28","00000000","00000000"],"EXCVADDR":"00000003","DEPC":"00000000","CallChain":["40237784","40105e59","4022457c","4022d114","4020f6c0","4020f83c","4022cdc1","4022cd06","402317a4","4020fbc1","40224c4b","40240209","402156f6","40100cee","40215877","40234fe4","402158ab","40234f3c","4020b4c1","402670e4","4020b511","4022ed36","40253a80","4022f656","40253a8d","40253ad2","4022bfac","40000f49","40000f49","40000f49","40000e19"]}}
11:08:25 MQT: stat/Shelly25_1/RESULT = {"POWER1":"OFF"}
11:08:25 MQT: stat/Shelly25_1/POWER1 = OFF
11:08:25 MQT: stat/Shelly25_1/RESULT = {"POWER2":"OFF"}
11:08:25 MQT: stat/Shelly25_1/POWER2 = OFF
arendst commented 4 years ago

No problem at all:

00:00:00 CFG: aus Flash geladen am FB, zählen 667
00:00:00 QPC: Reset
00:00:00 I2C: ADE7953 gefunden bei 0x38
00:00:00 Projekt tasmota Shelly 2.5 Version 8.5.0.1(tasmota)-2_7_4_1
00:00:04 WIF: verbinden mit AP2 indebuurt_IoT Channel 11 BSSId 18:E8:29:CA:17:C1 in Modus 11N als shelly25...
00:00:05 WIF: verbunden
11:16:59 HTP: Web-Server aktiv bei shelly25 mit IP-Adresse 192.168.2.205
11:17:00 MQT: Verbindungsversuch...
11:17:00 MQT: verbunden
11:17:00 MQT: tele/shelly25/LWT = Online (beibehalten)
11:17:00 MQT: cmnd/shelly25/POWER = 
11:17:00 MQT: tele/shelly25/INFO1 = {"Module":"Shelly 2.5","Version":"8.5.0.1(tasmota)","FallbackTopic":"cmnd/DVES_7453C8_fb/","GroupTopic":"cmnd/tasmotas/"}
11:17:00 MQT: tele/shelly25/INFO2 = {"WebServerMode":"Admin","Hostname":"shelly25","IPAddress":"192.168.2.205"}
11:17:00 MQT: tele/shelly25/INFO3 = {"RestartReason":"Software/System restart"}
11:17:00 MQT: stat/shelly25/RESULT = {"POWER1":"ON"}
11:17:00 MQT: stat/shelly25/POWER1 = ON
11:17:00 MQT: stat/shelly25/RESULT = {"POWER2":"ON"}
11:17:00 MQT: stat/shelly25/POWER2 = ON
11:17:04 MQT: tele/shelly25/STATE = {"Time":"2020-09-25T11:17:04","Uptime":"0T00:00:13","UptimeSec":13,"Heap":26,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER1":"ON","POWER2":"ON","Wifi":{"AP":2,"SSId":"indebuurt_IoT","BSSId":"18:E8:29:CA:17:C1","Channel":11,"RSSI":100,"Signal":-34,"LinkCount":1,"Downtime":"0T00:00:07"}}
11:17:04 MQT: tele/shelly25/SENSOR = {"Time":"2020-09-25T11:17:04","Switch1":"OFF","Switch2":"OFF","ANALOG":{"Temperature":57.6},"ENERGY":{"TotalStartTime":"2019-04-13T18:21:03","Total":26.140,"Yesterday":0.158,"Today":0.042,"Period":0.00,"Power":[0.00,3.56],"ApparentPower":[0.00,8.81],"ReactivePower":[0.00,6.62],"Factor":[0.00,0.40],"Frequency":49.98,"Voltage":231.8,"Current":[0.000,0.038]},"TempUnit":"C"}

Pls try with the default template as I noticed you use a strange template with even a button3 in it...

kugelkopf123 commented 4 years ago

@arendst it was the default template from blackadder. Frist i´ve tried my own. But it was the same as the one from the template website. Then i tried the template from blackadder via:

template {"NAME":"Shelly 2.5","GPIO":[56,0,17,0,21,83,0,0,6,82,5,22,156],"FLAG":2,"BASE":18} 
Module 0

And btw. There is no switch 3 in my template...

arendst commented 4 years ago

Anyway it's not related to high temp so I suggest you open a new issue with thorough logging.

kugelkopf123 commented 4 years ago

@arendst Wasnt shure. Because it has to do with this "fix". Thought it might me better to post here.

Smandurlo commented 4 years ago

If you install the 8.5 (without fix) and turn on the ADE chip, do you still have that problem? The temp should be higher, but at least you address the problem

Il ven 25 set 2020, 11:46 kugelkopf123 notifications@github.com ha scritto:

@arendst https://github.com/arendst Wasnt shure. Because it has to do with this "fix". Thought it might me better to post here.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/arendst/Tasmota/issues/7991#issuecomment-698834826, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIXTCZIE5F4L3XNNDTSZ3VDSHRRFZANCNFSM4LSK5EZQ .

ascillato2 commented 4 years ago

Closing this temperature issue as it has been fixed. Thanks everyone for the hard work. It is very appreciated. :+1:


Support Information

See Docs for more information. See Chat for more user experience. See Community for forum. See Code of Conduct

kugelkopf123 commented 4 years ago

Can confirm that the Temp is better now with the fix!

My problem with the Exception was fixed via a "reset 1" and reconfig the Shutter.