![]() Improved WiFi setup process: once it's connected to WiFi router, it automatically saves the configurations and reboots (previously it had to wait to report to UI).Īdded suport to reset OS 3.0 to AP mode while preserving programs and settings: either by using buttons (B3+B2), or through HTTP API.īug fix: buffer overflow issue in view logs. Revision 1 expander requires firmware support, which is addressed by this firmware.Īdded support for OS 3.0 AP mode operations - all firmware features are now supported under AP mode, without requiring external WiFi router.įor OS 3.0 and OSPi, increased maximum number of zones to 72 (from 56 previously), and maximum number of programs to 35 (from 17 previously). Hardware revision 1 uses white injection molded enclosure, and circuit-wise primarily involves changing IO expander chip to PCA9555 (from PCF8575 previously), as PCA9555 has higher current sourcing ability, eliminating the need of PNP transistor per zone. #Opensprinkler logs updateOSPi users should ONLY update if you need larger number of expanded zones or programs otherwise we recommend you NOT to upgrade.Ĭompiled OS 3.0 firmware with ESP8266 Arduino Core 2.4.1, 4M3M flash profile (increasing capacity for logging file to 3M from the original 1M), 160MHz CPU frequency and 80MHz flash frequency (both doubling the previous firmware).Īdded support for OS 3.0 hardware revision 1 and expander revision 1. ![]() NOTE: This firmware only affects OS 3.0 (and OSPi whereas specified below). In addition, for OS 3.0, the WiFi settings will be erased too, so after firmware update, please follow the OS 3.0 Getting Started Guide to repeat the WiFi settings steps. Before proceeding to update firmware, please export your configurations to a file so you can recover your programs and settings later. IMPORTANT REMINDER: firmware update will trigger a factory reset. When creating the program, at least one zone must be selected to run but it will be ignored because the firmware recognizes the special program name and does not actually run any zone included in this program. As an example: create a program that starts every day at 2:00am with name :>reboot will trigger a reboot every day at 2am. Both reboot will be delayed by 1 minute or so from the start time to avoid the action triggered again right after rebooting. A program with name :>reboot_now will trigger a reboot regardless of its running status. A program with name :>reboot will trigger a reboot when the controller is idle (i.e. Support for using a program to trigger controller reboot on a regular basis. Improves factory reset function for OS 3.0, forcing flash reformat in the case of flash corruption.Īllows program's interval day to be as small as 1 (previously the minimum is 2). Also improves handling of RTC in case RTC doesn't exist or doesn't work. ![]() Improves NTC sync by using multiple NTP servers and cycle through them if one is not available. EthernetENC library has a few major bug fixes, which hopefully improves the wired Ethernet functions. Before proceeding to update firmware, it's always a good idea to export your configurations to a file so you can recover your programs and settings later.Ĭhanged wired Ethernet to use the new EthernetENC library ( ), replacing the previous UIPEthernet library. from 2.1.9(x) to 2.1.9(x)) does not trigger a factory reset. However, firmware update across minor revisions (e.g. from 2.1.8(x) to 2.1.9(x)) will trigger a factory reset, including resetting Wifi settings. REMINDER: firmware update across major revisions (e.g. Originally: def _setattr_(self, name, value): The actual problem had been omitted from the example and was that I had chosen to override the setattr method without allowing parent to be set. #Opensprinkler logs codeAny idea what's going on here?Īs Alec pointed out, the code example actually does work. ![]() The output confirm that the constructor for the member was called: > c = openSprinkler.OpenSprinkler('foo','bar')īut when I look at the members, cv.parent does not appear to exist: > dir(c.cv)Ĭv.my_args contains the extended list. Self.my_args.extend(self.my_longhand.keys())ĭef _init_(self, hostname, password, log=None): I have a constructor which creates a member object of a sub-class: class OpenSprinkler: ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |