GithubHelp home page GithubHelp logo

Crashing on Windows 10 about tdm HOT 21 CLOSED

jziolkowski avatar jziolkowski commented on August 30, 2024
Crashing on Windows 10

from tdm.

Comments (21)

jziolkowski avatar jziolkowski commented on August 30, 2024

It seems that one of your devices has older firmware, which doesn't report the restart reason. I'll push a fix in a few mins.

from tdm.

jziolkowski avatar jziolkowski commented on August 30, 2024

Fix pushed.

from tdm.

bukurat avatar bukurat commented on August 30, 2024

I Tried the latest build:

PS D:\python\tdm-master> python tdm.py
Traceback (most recent call last):
File "D:\python\tdm-master\Util\models.py", line 102, in data
if val.startswith("0T"):
AttributeError: 'int' object has no attribute 'startswith'
PS D:\python\tdm-master>

Error Log:
2019-03-01 12:07:25 stat/sonoff7/POWER OFF Expecting value
2019-03-01 12:07:25 stat/Bar_Light/POWER OFF Expecting value
2019-03-01 12:07:25 stat/sonoff01/POWER ON Expecting value
2019-03-01 12:07:25 stat/sonoff4/POWER OFF Expecting value
2019-03-01 12:07:25 stat/sonoffrgb1/POWER OFF Expecting value
2019-03-01 12:07:25 stat/sonoff3/POWER OFF Expecting value
2019-03-01 12:07:25 stat/ailight06/POWER OFF Expecting value

Devices from cfg file
[Devices]
sonoff4\full_topic=%prefix%/%topic%/
sonoff4\friendly_name=S
sonoffs20-2\full_topic=%prefix%/%topic%/
sonoffs20-2\friendly_name=S
sonoffs20-1\full_topic=%prefix%/%topic%/
sonoffs20-1\friendly_name=S
sonoff01\full_topic=%prefix%/%topic%/
sonoff01\friendly_name=S
ailight06\full_topic=%prefix%/%topic%/
ailight06\friendly_name=A
sonoff3\full_topic=%prefix%/%topic%/
sonoff3\friendly_name=%prefix%/%topic%/
Bar_Light\full_topic=%prefix%/%topic%/
Bar_Light\friendly_name=S
sonoffrgb1\full_topic=%prefix%/%topic%/
sonoffrgb1\friendly_name=%prefix%/%topic%/
sonoff7\full_topic=%prefix%/%topic%/
sonoff7\friendly_name=%prefix%/%topic%/

from tdm.

jziolkowski avatar jziolkowski commented on August 30, 2024

I'm pushing the fix to the erroneous POWER log message.
Now, for the

val.startswith("0T")
I need status 0 for this device

from tdm.

jziolkowski avatar jziolkowski commented on August 30, 2024

try the latest commit, I've added a str cast for device uptime in case it's malformed/nonexistent

from tdm.

bukurat avatar bukurat commented on August 30, 2024

Getting there. TDM opens and shows data, however its somewhat different to the image in the wiki.
My name column shows a single character rather than the friendly name.
If I double click on row the details window shows for a second or so, the program then closes with this traceback:
PS D:\python\tdm-master> python tdm.py
Traceback (most recent call last):
File "D:\python\tdm-master\GUI\DeviceConfig.py", line 182, in mqtt_message
self.program_model.item(6+i, 1).setText(msg['FriendlyName'][i])
AttributeError: 'NoneType' object has no attribute 'setText'

I have attached a file containing the output from status 0 on the two firmware versions currently in use.

Status 0.txt

from tdm.

jziolkowski avatar jziolkowski commented on August 30, 2024

Based on the file attached, you're using very old firmware, which is no longer supported.
The bug is because recent firmware report friendly name as a 4-element array, instead of string. I'll make a workaround for that, but you really should upgrade :)

from tdm.

bukurat avatar bukurat commented on August 30, 2024

Thanks. I usually subscribe to the "If its not broken, don't fix it" school of thought and everything works to my satisfaction. Having said that, I've synced my files with the Tasmota repository and will compile a later version of the firmware.

Does TDM have an inbuilt web server for OTA upgrades?

from tdm.

jziolkowski avatar jziolkowski commented on August 30, 2024

I agree completely, but 6.3 and 6.4 branches added lots of nice things, plus stability improvements. Definitely worth trying on a device or two for starters.

Built-in OTA server is in the works :)

from tdm.

jziolkowski avatar jziolkowski commented on August 30, 2024

latest commit includes workaround for that FriendlyName issue

from tdm.

bukurat avatar bukurat commented on August 30, 2024

I took your advice and compiled 6.4.1 classic, which is now installed on 11 of my devices.
I still have 3 devices on 5.12. They are reporting 256k free memory so I'll have to pull them out and re-flash them over the serial connection. Interestingly they are all compiled with the 2.4.1 core.

I had a couple with the same build and reporting the same free memory in the spares box. They re-flashed over the serial link and work correctly.

I notice that your details window doesn't show the Program Size, although it does show the Free Program Space and Free Memory.

I noticed that when I double-click on a row to see the information the console reports a single
{'Command': 'Unknown'}
If I switch to the 'Rules and Timers' tab the console responds with an additional 14 lines of {'Command': 'Unknown'}

Switching back and forth between the three tabs results in the program entering a non responsive mode.
If I force the program to close nothing further is output to the console.

from tdm.

jziolkowski avatar jziolkowski commented on August 30, 2024

Program Size is not visible due to not being exported via MQTT. I'll ask Theo to add this value in some future version.

About rules and timers: did you include rules and timers in your compiled images?

Also, what are the descriptions for the rows with "Command unknown" payload in the console?

from tdm.

Jason2866 avatar Jason2866 commented on August 30, 2024

What would be the added value of knowing Program Size?
You cant update a device, if memory model differs from old to new version. No matter of program size.
With function OTA magic it is not relevant how big is old or new version.

from tdm.

jziolkowski avatar jziolkowski commented on August 30, 2024

@Jason2866 only because I want the info tab to mimic the information page from webui. Let's call it aesthetics. Tho I doubt if that's reason enough for Theo ;)

from tdm.

bukurat avatar bukurat commented on August 30, 2024

Rules and timers. Probably not in the classic. I have timers in some POW devices I flashed today. I’ll check them later.
Command unknown. I’m not sure which rows were being accessed the text appeared in the windows powershell I opened to run TDM.

@Jason2866 I had some devices that OTA magic couldn’t save as the available program space was less than the that of the minimum build. There is a chance that there could be others in the world with the same issue.

from tdm.

andrethomas avatar andrethomas commented on August 30, 2024

I think TDM opens the possibility of using a Tasmota device without the need of the web UI... I mean intentionally compiled to NOT include the WebUI in favor of the flash space being used by other functionality to still achieve a binary footprint of lower than 502k allowing the intermediate upgrade step to minimal to be excluded during the upgrade process.

So the more it mimics the behavior of the Web UI the more likely it is that people will no longer need the web ui... at least being able to exclude it by choice during self compiling using "TFB (c) (tm) @jziolkowski " ;)

from tdm.

jziolkowski avatar jziolkowski commented on August 30, 2024

Well indeed that's possible. I wonder what's the code difference between removing everything HTTP related vs keeping only REST API without the GUI in Tasmota.

Also, I'd love to see which command was unknown in the JSON response. Would make it much easier to debug things.

from tdm.

bukurat avatar bukurat commented on August 30, 2024

@jziolkowski I’ll see if I can isolate the “Command unknown” by watching the DUTs console when double clicking on its entry. Now that I have a build with timers it may be different.

from tdm.

jziolkowski avatar jziolkowski commented on August 30, 2024

Good idea. I'll paste you the list of commands sent from TDM to the device so you don't have to guess.

Ok, upon opening the device config tab these are initial commands:

status 0
module
modules
gpio
gpios
timers

when you switch to tab "Rules" it issues

rule1
timers
timer1
ruletimer
var1 up to var5
mem1 up to mem5

from tdm.

bukurat avatar bukurat commented on August 30, 2024

I made this file before reading your last message so I'll let you look at it. 3 different compiles and the results.
I've marked the lines where Command Unknown is with a bunch of ******* to help them stand out and give you something to search for.

I also noticed that if I type crap at the console window - a way of delimiting when there is no clear - and the device row s selected in TDM, TDM will become unresponsive.
tasmota console dumps.txt

from tdm.

jziolkowski avatar jziolkowski commented on August 30, 2024

Closing due to inactivity. I'll reopen (if) after you reply after testing the commands I've listed above.

from tdm.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.