Commit Graph

1640 Commits

Author SHA1 Message Date
Gregg a80d35c536 Merge branch 'master' of https://github.com/HomeSpan/HomeSpan 2020-11-03 22:59:54 -06:00
Gregg d2a87274d8 Delete DefaultSetupCode.png 2020-11-03 22:59:41 -06:00
HomeSpan 58af853841
Update UserGuide.md 2020-11-03 22:59:02 -06:00
Gregg 986fd7b455 Create formatSetupCode.png 2020-11-03 22:56:55 -06:00
HomeSpan a766767fc3
Update UserGuide.md 2020-11-03 22:54:50 -06:00
Gregg 370548762b Update DefaultSetupCode.png 2020-11-03 22:47:23 -06:00
Gregg 899f0150a5 Create DefaultSetupCode.png 2020-11-03 22:41:46 -06:00
HomeSpan 0c46fdfa93
Update UserGuide.md 2020-11-03 22:37:17 -06:00
HomeSpan de487e437b
Update README.md 2020-11-03 17:43:10 -06:00
HomeSpan 67337dce5a
Update README.md 2020-11-03 17:42:47 -06:00
HomeSpan b99f7dddc5
Update README.md 2020-11-03 17:38:51 -06:00
HomeSpan 26482ee12d
Create UserGuide.md 2020-11-03 17:36:15 -06:00
HomeSpan 065be5adc7
Update README.md 2020-11-02 20:38:19 -06:00
Gregg b6c5a6b68d Added License Info to all files 2020-11-02 20:09:09 -06:00
HomeSpan 2c43091a15
Update README.md 2020-11-02 06:49:55 -06:00
Gregg ce6457ce12 Update library.properties 2020-11-02 06:29:39 -06:00
Gregg 72d407112a Create HomeSpan User Guide.pdf 2020-11-01 21:16:39 -06:00
Gregg d45f210c5b Completed comments for Example 16 and confirmed all functionality. 2020-11-01 21:10:35 -06:00
Gregg c153824b95 Updated SpanButton Examples
And re-worked the logic in Example 15 to make full use of DOUBLE press functionality.  To Do:  Add commentary to Example 16.
2020-11-01 15:22:16 -06:00
Gregg e2f11630fa Updated SpanButtton to recognize new Double Press event
button(int pin, boolean isLong) changed to button(int pin, int pressType), where pressType can be SpanButton::LONG, SpanButton::SINGLE, or SpanButton::DOUBLE.  Updated Example 16 and confirmed everything works as expected.

To do: Review all prior examples and update SpanButton when needed.  Also need to update Zephyr Vent Hood code!
2020-11-01 12:21:34 -06:00
Gregg bde63bf79d Updated PushButton to add initial logic for double-clicking 2020-11-01 10:00:20 -06:00
Gregg f0f761c143 Extended Exmaple 16 to use two Stateless Programmable Switches
Added ServiceLabelIndex Characteristic, which seems to be required as noted in HAP specifications.  However, linking to a ServiceLabel Service does not appear to be required, so there is no need to build any Service-Linking logic into homeSpan - will wait for use-case to be identified.

To do:  Add support for double-click to SpanButton, then include in Example 16.
2020-10-31 15:53:06 -05:00
Gregg 3979498b3c Created Example 16 - Programmable Pushbutton
Modified SpanCharacteristic::sprintfAttributes to streamline logic and add special handling for the ProgrammableSwitchEvent Characteristic as required by HAP:  the value returned for the database or any read request must be set to null (i.e. "value":null).  The only time the real value should be returned is when the device sends a EV/Notify message (when the button is pressed).  Verified that the example works as expected!

TO DO:  Add functionality to allow for Service Namespace and Index label so that you can have multiple programmable pushbuttons in one service - this requires logic for HAP LINKED SERVICE functionality.
2020-10-31 09:35:42 -05:00
Gregg 2dd30e0a51 Create Setup Codes.key 2020-10-29 07:42:01 -05:00
Gregg 0f2c3afbf0 Completed adding all Characteristic structures for all HAPCharType
To do: Create special-handling code for ProgrammableSwitchEvent Characteristic (according to HAP, it has read permission, but must always return a null).  Consider adding special flag to PR+EV
2020-10-29 07:21:25 -05:00
Gregg 118626ce83 Update Services.h 2020-10-28 20:20:27 -05:00
Gregg edac6df4b5 Added a few new Services 2020-10-28 20:05:46 -05:00
Gregg c7f762da5f Completed error-checking/validation
Added validation to ensure all Accessories have a AccessoryInformation Service and all Accessories have a HAPProtocolInformation Service, unless the device is configured as a bridge, in which case only the first Accessory requires a HAPProtocolInformation Service.
2020-10-28 19:48:53 -05:00
Gregg 254406c802 Added more error-checking to SpanCharacteristic
Checks to ensure that: (A) Characteristic is allowable (i.e. either required or optional) for the defined Service, and (B) Characteristic has not already been instantiated for the defined Service.
2020-10-28 07:31:58 -05:00
Gregg a584cbb042 Update Services.h
Completed macro to use HAPCharType for define Span Characteristic structures.  HAPCharType includes name, ID, and permissions.  The macro adds value type (e.g. int, double) and default value.  To do:  Create Span Characteristics for all remaining HAPCharTypes defined in HAPConstants.h
2020-10-27 22:11:46 -05:00
Gregg 5838768f38 Completed adding all characteristic types to HAPCharList 2020-10-25 21:29:47 -05:00
Gregg 1d8bdc1202 Redo of Service Structure
Created HAPCharType and added vectors for required and optional characteristics to every service.  Next up:  add all HAP characteristic types to HAPCharType
2020-10-25 18:06:44 -05:00
Gregg 3b68a87efe Adding lots of #defines to Services.h 2020-10-24 21:44:13 -05:00
Gregg 7f4b8a3dad Update HomeSpan User Guide.pages 2020-10-22 22:05:11 -05:00
Gregg 42b32f5d2e Update HomeSpan User Guide.pages 2020-10-22 21:56:25 -05:00
Gregg 7fb5d4ba0f Update HomeSpan User Guide.pages 2020-10-22 20:50:55 -05:00
Gregg a9fb5d1fe2 Update Services.h
Continued to add required/optional characteristics to each service
2020-10-22 07:38:50 -05:00
Gregg c0257f6da5 Update Network.cpp 2020-10-21 08:02:10 -05:00
Gregg 8b4329dfd6 Updated apConfig() to ignore iPhone requests with "wispr" user agent
This prevents re-visits to the landing-page that resets the statusLED every time.  Also eliminates the need to keep track of when landing page is accessed and to perform any initial re-direction.
2020-10-21 07:37:14 -05:00
Gregg de776d784d Update HomeSpan User Guide.pages 2020-10-18 10:13:39 -05:00
Gregg 213f20488f Update HomeSpan User Guide.pages 2020-10-17 21:15:06 -05:00
Gregg 360672e22c Create HomeSpan User Guide.pages 2020-10-17 20:14:44 -05:00
Gregg ba28d15d00 Update Settings.h 2020-10-15 20:06:26 -05:00
Gregg 43c04a7adf Minor tweaks to LED timings and placement of statusLED.start() in apConfig()
Ensures statusLED indicates a client is connected as soon as it received its first GET, even if the re-direction to /landing-page is yet to be accessed.  This was needed to trigger LED_AP_CONNECTED when connecting with QR code.
2020-10-12 18:48:25 -05:00
Gregg f3b1de2f6b Changed apConfig() to use fixed SSID of "HomeSpan-Configuration" 2020-10-12 07:55:07 -05:00
Gregg 8cfd9afa63 Minor tweaks to some LED patterns 2020-10-11 19:18:22 -05:00
Gregg e658d6d4eb Tweaks to blinker() to make sure delayTime ADDs to offTime 2020-10-10 16:40:53 -05:00
Gregg a6d9fa86e2 Update HomeSpan.cpp 2020-10-10 16:19:58 -05:00
Gregg 3872d693a5 Updated Command Mode to include timeout and for apConfigure() to have more cancel options 2020-10-10 08:22:02 -05:00
Gregg 7e4df498db Completed integration of apConfigure()
The 'A' command now resets any existing WiFi functionality so that it can start an Access Point without needing to first reboot.

To Do:  Add a method to cancel out of apConfigure() and reboot by pressing control button.

To Do:  Create time-out for commandMode()
2020-10-09 07:57:30 -05:00