Comments (21)
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.
Fix pushed.
from tdm.
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.
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.
try the latest commit, I've added a str cast for device uptime in case it's malformed/nonexistent
from tdm.
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.
from tdm.
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.
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.
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.
latest commit includes workaround for that FriendlyName issue
from tdm.
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.
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.
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.
@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.
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.
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.
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.
@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.
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.
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.
Closing due to inactivity. I'll reopen (if) after you reply after testing the commands I've listed above.
from tdm.
Related Issues (20)
- TDM-010 develop crashes on Windows11 at MQTT connection HOT 4
- Segfault HOT 3
- TDM (windows) was okay but all of a sudden is now crashing and so slow that it is unusable HOT 3
- Timer button crashed
- Export device list HOT 3
- %hostname% as topic not working HOT 3
- Some crashes on mac HOT 6
- Crashes on Xubuntu Linux 5.15.0-70-generic #77-Ubuntu HOT 2
- Device column is empty in 0.2.11 HOT 6
- viewmode customization
- Segmentation fault (core dumped) with tdmgr_0.2.13.appImage on Archlinux python 3.11.3 HOT 9
- How do I install this? HOT 1
- Problematic requirement of tdmgr.py installation HOT 7
- TDMGR not recognizing difference between + and - minutes correction when reading timer configuration HOT 1
- 0.2.13 not available on pip
- Use wildcards in Autodiscovery patterns? HOT 70
- Support native Tasmota discovery
- Use of topics with backlash HOT 10
- Debian Package HOT 32
- Utilize XDG Base Directory Specification HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tdm.