tasmota / decode-config

Backup/restore and decode configuration tool for Tasmota
GNU Lesser General Public License v3.0
211 stars 32 forks source link

decode-config and Tasmota scripting #17

Closed littlebilly closed 4 years ago

littlebilly commented 4 years ago

Is your feature request related to a problem? Please describe.

I am using the current developement version of tasmota with rules disabled and scripting enabled. The scripts are compressed!

Error output is: File "C:\Users\vultu\AppData\Local\Programs\Python\Python37\lib\encodings\cp1252.py", line 19, in encode return codecs.charmap_encode(input,self.errors,encoding_table)[0] UnicodeEncodeError: 'charmap' codec can't encode character '\u0484' in position 17424: character maps to

There is no error with version 8.3.1 (Fred) of Tasmota Scripts in this version are not compressed.

I asked gemu2015 regarding this issue. I got this answer.

i never used this tool. the only difference between rules and scripting is that rules is using 3 separate sections while scripting uses 1 section of script buffer (containing the 3 rules buffers). i am not very familiar with python so you should better ask the author of decode-config (Norbert Richter) to look at this problem.

It would be nice if decode-config could decode Tasmota scripting versions with compressed scripts. regards Billy

curzon01 commented 4 years ago

might be compresses scripts causes issue 'cause the Tasmota setting C++ struct does not realy have a definition for scripts - scripts consider the rule array with 3x512 bytes as a continuous storage structure. that can lead to this issue as the script stream is not consider as one - may be there's an excpetion needed for scripts. I'll take a look at it...

pls provide your uncompressed script

curzon01 commented 4 years ago

pls can you also complete the issue template:

To Reproduce Steps to reproduce the behavior: 1. Program parameter: 2. Result:

Version Information (please complete the following information):

paste decode-config.py output here <<<

- 'system' information of your Tasmota data (append `-g System` to your decode-config parameter, e. g. `decode-config -f myconfig.dmp -g System`):  

paste decode-config.py output here <<<

littlebilly commented 4 years ago

decode-config is running with compressed scripting too! Sorry this was my fault! I created a decode-config.bat script to make things easier for me. Part of this script was :: Batch Datei zur automatischen Config Ermittlung von Tasmota Devices :: Zur Eingabe ist nur der Letzte Teil der IP notwendig! :: ---------------------------------------------------------------------------- @ECHO OFF ECHO Geben Sie die den letzten Teil der IP des Tasmota Device ein! SET /P IPL= ECHO Sie haben "%IPL%" eingegeben! SET IP1=192.168.148. ::ECHO Teil 1 der IP = "%IP1%"! ::PAUSE :: IP wird zusammengesetzt! SET IP=%IP1%%IPL% ECHO IP zur Statusabfrage = "%IP%"! PAUSE :: Aufruf der decode-status.py und speichern des Ergebnis in der Datei "Config%IP%".json decode-config.py -d %IP% --json-indent 2 --backup-file Config_@d_@v ::decode-config.py -d %IP% --json-indent 2 > Config%IP%.json ECHO Fertig das Ergebnis steht in der Datei "Config%IP%".json PAUSE After changing decode-config.py -d %IP% --json-indent 2 > Config%IP%.json to decode-config.py -d %IP% --json-indent 2 --backup-file Config_@d_@v everything is working now! The point was, that with tasmota 8.3.1 I got no error whith the first code. Again sorry for that.