tasmota / decode-config

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

WARNING 9: Restore file '.\send.json' contains obsolete name 'fast_power_cycle_disable' #48

Closed Papablaubaer closed 2 years ago

Papablaubaer commented 2 years ago

I'm reading json from a Shelly 2.5 with version 12.0.2.3. The result is "flag3": {..."fast_power_cycle_disable": 1,...}. When I try to restore the same thing I get the following message: WARNING 9: Restore file '.\send.json' contains obsolete name 'fast_power_cycle_disable'.

curzon01 commented 2 years ago

Shelly 2.5 with version 12.0.2.3

means what? Shelly with 12.0.2.3 or Shelly with version ??? using decode-config v12.0.2.3?

can't be reproduced using decode-config.py v12.0.2.3 [f6fe949], pls fill out issue template for more information.

Describe the bug

A clear and concise description of what the bug is.

To Reproduce

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

Expected behavior

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

Version Information

Please complete the following information
use decode-config.py -V to retrieve the info


>>> paste output here <<<

System' information of your Tasmota data

Append -g System to your decode-config parameter, e. g. decode-config.py -s myconfig.dmp -g System


>>> paste output here <<<

Additional context

Add any other context about the problem here.

Papablaubaer commented 2 years ago

Sorry, I found the error, there was an error in my json file. Many thanks for your effort.

Joshfindit commented 2 years ago

I have the same issue, but a different parameter:

WARNING 9: Restore file './Config_Josh_room_Lamp_6.5.0.json' contains obsolete name 'display_dimmer', skipped
Premature exit - #9 Restore data error

I tried editing the JSON file to remove display_dimmer, but then it gave the same error for drivers, and after that energy_kWhtoday.

Joshfindit commented 2 years ago

(And yes: this was on 6.5.0 about an hour ago. I backed up, RESET 6, took it through the entire upgrade sequence)

curzon01 commented 2 years ago

Without knowing the version config comes from and version of restore to:

Only few (hand full) parameter from config becomes obsolete or renamed during different tasmota version history. display_dimmer is one of the rare candidate which was simply renamed to display_dimmer_protected.

Either rename the variable or ignore it during import with -w

Joshfindit commented 2 years ago

Without knowing the version config comes from and version of restore to:

In my case: 6.5.0 to 12.2.0

Only few (hand full) parameter from config becomes obsolete or renamed during different tasmota version history. display_dimmer is one of the rare candidate which was simply renamed to display_dimmer_protected.

How does a user know which have been renamed, which have been depreciated, and which will have important data dropped when using -w? As mentioned, I got that error for display_dimmer, drivers, and energy_kWhtoday before giving up as I have no indication about how many “bad names” there are

curzon01 commented 2 years ago

-w always displays what's skipped:

./decode-config.py -s Config_12.2.0.dmp -i Config_6.5.0.json -w
Load data from file 'Config_12.2.0.dmp'
WARNING 9: Restore file './Config_6.5.0.json' contains obsolete name 'display_dimmer', skipped
WARNING 9: Restore file './Config_6.5.0.json' contains obsolete name 'drivers', skipped
WARNING 9: Restore file './Config_6.5.0.json' contains obsolete name 'energy_kWhtoday', skipped
WARNING 9: Restore file './Config_6.5.0.json' contains obsolete name 'energy_kWhtotal', skipped
WARNING 9: Restore file './Config_6.5.0.json' contains obsolete name 'energy_kWhyesterday', skipped
Restore successful to file 'Config_12.2.0.dmp' from './Config_6.5.0.json'

the magic parameter to try these all without writing anything is --dry-run - worse case example ESP8266 to ESP32:

./decode-config.py -s Config_12.2.0.dmp -i Config_6.5.0.json -w --dry-run
Load data from file 'Config_12.2.0.dmp'
WARNING 9: Restore file './Config_6.5.0.json' contains obsolete name 'display_dimmer', skipped
WARNING 9: Restore file './Config_6.5.0.json' contains obsolete name 'drivers', skipped
WARNING 9: Restore file './Config_6.5.0.json' contains obsolete name 'energy_kWhtoday', skipped
WARNING 9: Restore file './Config_6.5.0.json' contains obsolete name 'energy_kWhtotal', skipped
WARNING 9: Restore file './Config_6.5.0.json' contains obsolete name 'energy_kWhyesterday', skipped
WARNING 9 (@5297): file './Config_6.5.0.json' array 'energy_power_delta' couldn't restore, format has changed! Restore value contains <class 'int'> but an array of size [3] is expected
WARNING 9 (@5283): file './Config_6.5.0.json' array 'sensors[3]' exceeds max number of elements [2]
WARNING 9 (@5283): file './Config_6.5.0.json' array 'sensors[10]' exceeds max number of elements [4]
WARNING 9 (@5297): file './Config_6.5.0.json' array 'sensors' couldn't restore, format has changed! Restore value contains <class 'str'> but an array of size [4] is expected
WARNING 9 (@5283): file './Config_6.5.0.json' array 'sensors[10]' exceeds max number of elements [4]
WARNING 9 (@5297): file './Config_6.5.0.json' array 'sensors' couldn't restore, format has changed! Restore value contains <class 'str'> but an array of size [4] is expected
WARNING 9: Data incompatibility: File 'Config_12.2.0.dmp' hardware is 'ESP32 (excl S3/S2/C3)', restore file './Config_6.5.0.json' is for hardware 'ESP82'
Restore skipped, configuration data unchanged