diff --git a/platformio.ini b/platformio.ini index c2d09ace8..351d1ba02 100755 --- a/platformio.ini +++ b/platformio.ini @@ -568,4 +568,4 @@ monitor_speed = ${common.monitor_speed} upload_port = ${common.upload_port} upload_resetmethod = ${common.upload_resetmethod} upload_speed = ${common.upload_speed} -extra_scripts = ${common.extra_scripts} \ No newline at end of file +extra_scripts = ${common.extra_scripts} diff --git a/sonoff/_changelog.ino b/sonoff/_changelog.ino index 530805bf7..5b2497eb5 100644 --- a/sonoff/_changelog.ino +++ b/sonoff/_changelog.ino @@ -1,12 +1,4 @@ -/* - * 6.5.0.13 20190517 - * Add command SetOption65 (tuya_show_dimmer) to enable or disable dimmer Slider ( for 4 Gang Tuya switch) - * Added Seeting.pram9 to define no of Tuya MCU devices - * Updated xdrv_01_webserver.ino to check for the tuya_show_dimmer option to display slider2 - * Updated xdrv_16_tuyadimmer.ino create bool serial packet based on the Device Id and set the power status based on the Device id from MCU packet - * Updated xdrv_16_tuyadimmer.ino skip dimmer packets for device configured as non - dimmer - * - * 6.5.0.12 20190521 +/* 6.5.0.12 20190521 * Add AriLux RF control GPIO option "ALux IrSel" (159) replacing "Led4i" (59) for full LED control (#5709) * Add LED GPIO option "LedLink" (157) and "LedLinki" (158) to select dedicated link status LED (#5709) * Add support for up to four LEDs related to four power outputs. Enabled when "LedLink(i)" is configured too (#5709) diff --git a/sonoff/my_user_config.h b/sonoff/my_user_config.h index b18949005..6786f755b 100644 --- a/sonoff/my_user_config.h +++ b/sonoff/my_user_config.h @@ -471,4 +471,4 @@ #error "Select either USE_MQTT_TLS or USE_WEBSERVER as there is just not enough memory to play with" #endif -#endif // _MY_USER_CONFIG_H_ \ No newline at end of file +#endif // _MY_USER_CONFIG_H_ diff --git a/tools/decode-config.py b/tools/decode-config.py index c50caa126..f3e2b526b 100755 --- a/tools/decode-config.py +++ b/tools/decode-config.py @@ -29,7 +29,7 @@ Requirements: Instructions: Execute command with option -d to retrieve config data from a host or use -f to read a configuration file saved using Tasmota Web-UI - + For further information read 'decode-config.md' For help execute command with argument -h (or -H for advanced help) @@ -263,7 +263,7 @@ exitcode = 0 Settings dictionary describes the config file fields definition: = { : } - + : "string" a python valid dictionary key (string) @@ -333,12 +333,12 @@ Settings dictionary describes the config file fields definition: to convert value from JSON back to binary object Common definitions - + : | | None function to be called or string to evaluate: : A function name will be called with one or two parameter: - The value to be processed + The value to be processed (optional) the current array index (1,n) A string will be evaluate as is. The following @@ -358,7 +358,7 @@ Settings dictionary describes the config file fields definition: numbers in the range -2147483648 through 2147483647 : unsigned integer numbers in the range 0 through 4294967295 - + """ # ---------------------------------------------------------------------- # Settings helper @@ -370,16 +370,16 @@ def passwordwrite(value): def bitsRead(x, n=0, c=1): """ Reads bit(s) of a number - + @param x: the number from which to read - + @param n: which bit position to read - + @param c: how many bits to read (1 if omitted) - + @return: the bit value(s) """ @@ -396,14 +396,14 @@ def bitsRead(x, n=0, c=1): x &= (1<= 2: print >> sys.stderr, "SetFieldValue(): fielddef {}, addr 0x{:04x} value {} formatcnt {} singletype {} bitsize {} ".format(fielddef,addr,value,formatcnt,singletype,bitsize) if not format_[-1:].lower() in ['s','p']: @@ -2142,7 +2137,7 @@ def GetField(dobj, fieldname, fielddef, raw=False, addroffset=0): value = GetField(dobj, fieldname, subfielddef, raw=raw, addroffset=addroffset+offset) valuemapping.append(value) offset += length - + # contains a dict elif isinstance(format_, dict): mapping_value = {} @@ -2337,7 +2332,7 @@ def SetField(dobj, fieldname, fielddef, restore, addroffset=0, filename=""): curvalue = GetFieldValue(fielddef, dobj, baseaddr+addroffset) if prevvalue != curvalue and args.verbose: message("Value for '{}' changed from {} to {}".format(fieldname, prevvalue, curvalue), typ=LogType.INFO) - else: + else: if args.debug >= 2: print >> sys.stderr, "SetField(): Special field '{}' using '{}'/{}{} @{} skipped".format(fieldname, format_, arraydef, bits, hex(baseaddr+addroffset)) else: @@ -2506,14 +2501,14 @@ def Mapping2Bin(decode_cfg, jsonconfig, filename=""): restore data mapping @param filename: name of the restore file (for error output only) - + @return: changed binary config data (decrypted) or None on error """ if isinstance(decode_cfg, str): decode_cfg = bytearray(decode_cfg) - + # get binary header data to use the correct version template from device version, size, setting = GetTemplateSetting(decode_cfg) @@ -2553,13 +2548,13 @@ def Mapping2Cmnd(decode_cfg, valuemapping, filename=""): data mapping @param filename: name of the restore file (for error output only) - + @return: Tasmota command mapping {group: [cmnd <,cmnd <,...>>]} """ if isinstance(decode_cfg, str): decode_cfg = bytearray(decode_cfg) - + # get binary header data to use the correct version template from device version, size, setting = GetTemplateSetting(decode_cfg) @@ -2786,7 +2781,7 @@ def OutputTasmotaCmnds(tasmotacmnds): print print "# {}:".format(group) OutputTasmotaSubCmnds(cmnds) - + else: cmnds = [] for group in groups: @@ -2797,7 +2792,7 @@ def OutputTasmotaCmnds(tasmotacmnds): def ParseArgs(): """ Program argument parser - + @return: configargparse.parse_args() result """ @@ -3060,5 +3055,5 @@ if __name__ == "__main__": if args.outputformat == 'cmnd' or args.outputformat == 'command': tasmotacmnds = Mapping2Cmnd(decode_cfg, configmapping) OutputTasmotaCmnds(tasmotacmnds) - + sys.exit(exitcode)