ae45bdbd1d 
								
							 
						 
						
							
							
								
								Update FAQ.md  
							
							
							
						 
						
							2022-05-29 21:25:54 -05:00  
				
					
						
							
							
								 
						
							
								087faee38a 
								
							 
						 
						
							
							
								
								Update FAQ.md  
							
							
							
						 
						
							2022-05-29 17:56:35 -05:00  
				
					
						
							
							
								 
						
							
								92514115c7 
								
							 
						 
						
							
							
								
								Update FAQ.md  
							
							
							
						 
						
							2022-05-29 17:45:28 -05:00  
				
					
						
							
							
								 
						
							
								af5839e5a9 
								
							 
						 
						
							
							
								
								Update Reference.md  
							
							
							
						 
						
							2022-05-29 10:32:57 -05:00  
				
					
						
							
							
								 
						
							
								c5ba453a95 
								
							 
						 
						
							
							
								
								Converted Span to class; added homeSpan.getLogLevel() and homeSpan.addWebLog(fmt,...)  
							
							... 
							
							
							
							These functions are needed to provide public access to API now that Span is a class instead of a struct 
							
						 
						
							2022-05-29 10:27:34 -05:00  
				
					
						
							
							
								 
						
							
								2b25acf2e1 
								
							 
						 
						
							
							
								
								Converted SpanUserCommand to class from struct  
							
							... 
							
							
							
							Also cleaned up some code by moving a few HAPClient routines into Span polling function. 
							
						 
						
							2022-05-29 06:42:38 -05:00  
				
					
						
							
							
								 
						
							
								86a0c1cf75 
								
							 
						 
						
							
							
								
								Changed SpanCharacteristic and SpanButton from struct to class  
							
							... 
							
							
							
							Also moved SpanButton checking into Span instead of awkward reference to HAPClient function 
							
						 
						
							2022-05-28 14:48:49 -05:00  
				
					
						
							
							
								 
						
							
								bb1d0050e2 
								
							 
						 
						
							
							
								
								Changed SpanAccessory and SpanService to class from struct  
							
							... 
							
							
							
							Split members into private/protected/public 
							
						 
						
							2022-05-28 11:24:11 -05:00  
				
					
						
							
							
								 
						
							
								6cfbe3c209 
								
							 
						 
						
							
							
								
								Update CLI.md  
							
							
							
						 
						
							2022-05-27 18:41:09 -05:00  
				
					
						
							
							
								 
						
							
								86a119be8f 
								
							 
						 
						
							
							
								
								Update Tutorials.md  
							
							
							
						 
						
							2022-05-27 18:26:28 -05:00  
				
					
						
							
							
								 
						
							
								2520eed6d8 
								
							 
						 
						
							
							
								
								Added detailed comments to 20-AdvancedTechniques  
							
							... 
							
							
							
							To do:  Add Tutorial to HomeSpan Documentation
To do:  test sketch on S2 and C3 devices
To do:  add homeSpan.autoPoll() to Unit Test as well 
							
						 
						
							2022-05-23 21:26:57 -05:00  
				
					
						
							
							
								 
						
							
								e245822428 
								
							 
						 
						
							
							
								
								Update README.md  
							
							
							
						 
						
							2022-05-22 16:37:14 -05:00  
				
					
						
							
							
								 
						
							
								69789ec66c 
								
							 
						 
						
							
							
								
								Update Reference.md  
							
							
							
						 
						
							2022-05-22 16:33:14 -05:00  
				
					
						
							
							
								 
						
							
								68b4a9f1cb 
								
							 
						 
						
							
							
								
								Merge branch 'dev' of  https://github.com/HomeSpan/HomeSpan  into dev  
							
							
							
						 
						
							2022-05-22 13:13:38 -05:00  
				
					
						
							
							
								 
						
							
								f75596f3cd 
								
							 
						 
						
							
							
								
								Changed deleteAccessory from int to boolean  
							
							... 
							
							
							
							Returns true on success, otherwise false 
							
						 
						
							2022-05-22 13:13:34 -05:00  
				
					
						
							
							
								 
						
							
								ae2a5f0a67 
								
							 
						 
						
							
							
								
								Update Reference.md  
							
							
							
						 
						
							2022-05-22 11:46:06 -05:00  
				
					
						
							
							
								 
						
							
								1b1123d480 
								
							 
						 
						
							
							
								
								Update Reference.md  
							
							
							
						 
						
							2022-05-22 11:21:40 -05:00  
				
					
						
							
							
								 
						
							
								6018f37b60 
								
							 
						 
						
							
							
								
								Added optional stackSize argument to homeSpan.autoPoll()  
							
							... 
							
							
							
							If not specified, default is CONFIG_ARDUINO_LOOP_STACK_SIZE which is typically defined in the Arduino-ESP32 library as 8192. 
							
						 
						
							2022-05-22 11:00:40 -05:00  
				
					
						
							
							
								 
						
							
								6d409e9b89 
								
							 
						 
						
							
							
								
								updated version check  
							
							... 
							
							
							
							requires version 2.X of the Arduino-ESP32 board manager 
							
						 
						
							2022-05-22 08:57:23 -05:00  
				
					
						
							
							
								 
						
							
								f9b8e2165a 
								
							 
						 
						
							
							
								
								Added homeSpan.autoPoll() to 20-AdvancedTechniques  
							
							... 
							
							
							
							Deleted Arduino loop() function entirely since it no longer needed. 
							
						 
						
							2022-05-21 18:24:35 -05:00  
				
					
						
							
							
								 
						
							
								4d6f502708 
								
							 
						 
						
							
							
								
								Create 20-AdvancedTechniques.ino  
							
							
							
						 
						
							2022-05-21 18:19:23 -05:00  
				
					
						
							
							
								 
						
							
								72ddee9061 
								
							 
						 
						
							
							
								
								Add weakly-define Arduino loop() function (defined as NO OP)  
							
							... 
							
							
							
							Allows you to compile a sketch without defining the Arduino loop() function.  Useful in cases where homeSpan.autoPoll() is used instead. 
							
						 
						
							2022-05-21 17:26:27 -05:00  
				
					
						
							
							
								 
						
							
								1f89673fb7 
								
							 
						 
						
							
							
								
								Updated 20-DynamicBridge to use std::array<>  
							
							... 
							
							
							
							This allows the use of std::find(), std::remove, and iterator methods.  Code is more intuitive. 
							
						 
						
							2022-05-21 17:05:23 -05:00  
				
					
						
							
							
								 
						
							
								7835665e60 
								
							 
						 
						
							
							
								
								Update 20-DynamicBridge.ino  
							
							
							
						 
						
							2022-05-21 12:11:53 -05:00  
				
					
						
							
							
								 
						
							
								00ea4c6dd8 
								
							 
						 
						
							
							
								
								Changes homeSpan.getAccessory(aid) to homeSpan.deleteAccessory()  
							
							... 
							
							
							
							The only reason to have used getAccessory(aid) is to delete it, so the delete command is now invoked automatically.  Function returns 0 on success (matching aid found) or -1 on fail (aid not found) 
							
						 
						
							2022-05-21 12:08:03 -05:00  
				
					
						
							
							
								 
						
							
								52a977d2f1 
								
							 
						 
						
							
							
								
								Revert "sort Accessories by AID to ensure same order all the time during dynamic changes"  
							
							... 
							
							
							
							This reverts commit 2e98b163b2 
							
						 
						
							2022-05-19 10:18:00 -05:00  
				
					
						
							
							
								 
						
							
								2e98b163b2 
								
							 
						 
						
							
							
								
								sort Accessories by AID to ensure same order all the time during dynamic changes  
							
							
							
						 
						
							2022-05-18 16:31:15 -05:00  
				
					
						
							
							
								 
						
							
								f471e7377b 
								
							 
						 
						
							
							
								
								Update 20-DynamicBridge.ino  
							
							
							
						 
						
							2022-05-14 11:21:59 -05:00  
				
					
						
							
							
								 
						
							
								615d373850 
								
							 
						 
						
							
							
								
								Added Example 20 - Dynamic Bridge.  Also created homeSpan.getAccessory(aid)  
							
							
							
						 
						
							2022-05-14 10:00:30 -05:00  
				
					
						
							
							
								 
						
							
								d326ae1abf 
								
							 
						 
						
							
							
								
								Added logic to delete PushButtons when Service is deleted  
							
							... 
							
							
							
							This completes all code for the ~SpanService() destructor.
To do: create tutorial example demonstrating a Dynamic Bridge 
							
						 
						
							2022-05-09 21:27:18 -05:00  
				
					
						
							
							
								 
						
							
								dc11c59a00 
								
							 
						 
						
							
							
								
								Deleted 'C' CLI command - replaced with homeSpan.updateDatabase()  
							
							... 
							
							
							
							Method homeSpan.updateDatabase(boolean updateMDNS) recomputes database hash and compares with previous hash.  If changed, config number is updated and saved in NVS along with new hash.  If updateMDNS is true, a new "c#" MDNS record is also broadcast with the new config number.  This triggers HomeKit to call for a database refresh.  Method returns true if config number has changed, or false if it has not. 
							
						 
						
							2022-05-09 21:03:23 -05:00  
				
					
						
							
							
								 
						
							
								058d6b0c96 
								
							 
						 
						
							
							
								
								Completed destructors for SpanAccessory, SpanService, and SpanCharacteristics  
							
							... 
							
							
							
							Tested to ensure any combination can be deleted.
To do: must add logic to destruct any PushButtons that were added to a Service 
							
						 
						
							2022-05-08 15:27:50 -05:00  
				
					
						
							
							
								 
						
							
								05f1204b4f 
								
							 
						 
						
							
							
								
								Continuing destructor code...  
							
							
							
						 
						
							2022-05-08 11:56:26 -05:00  
				
					
						
							
							
								 
						
							
								554cefd3ce 
								
							 
						 
						
							
							
								
								Initial work on adding destructors to Accessories, Services, and Characteristics  
							
							... 
							
							
							
							Will allow for dynamic changes to database without rebooting. 
							
						 
						
							2022-05-08 07:02:19 -05:00  
				
					
						
							
							
								 
						
							
								bddfb4658a 
								
							 
						 
						
							
							
								
								Added 'm' CLI command to print free 8-bit heap memory  
							
							
							
						 
						
							2022-05-06 22:19:37 -05:00  
				
					
						
							
							
								 
						
							
								7546350775 
								
							 
						 
						
							
							
								
								Added "C" CLI command and updated/fixed config number logic  
							
							... 
							
							
							
							The "C" command computes a hash of the current database config and updates the config number if needed.  If config number has changed, the MDNS "c#" record is updated and the new config number is rebroadcast.  This triggers HomeKit to immediately request an update of the HAP database so that the changes can be shortly reflected in the Home App without the need to close any Client connections or reboot the device.
The config number logic has also been updated/fixed.  Previously it would create a hash from the full HAP database, which includes the value of each characteristic.  Thus, initial value changes of Characteristics, as a result of stored values in NVS, would cause an update to the config number upon reboot.
 This is not problematic, but also not intended, as a change in value is not really a change in the database config.  The new logic computes a hash of the database that EXCLUDES all Characteristic values. 
							
						 
						
							2022-05-06 17:04:15 -05:00  
				
					
						
							
							
								 
						
							
								628c29c6b6 
								
							 
						 
						
							
							
								
								Updating logic that determined HAP Configuration Number (MDNS=c#)  
							
							
							
						 
						
							2022-05-06 16:13:25 -05:00  
				
					
						
							
							
								 
						
							
								f48cea8afb 
								
							 
						 
						
							
							
								
								Completed refactoring of 'i' CLI command  
							
							... 
							
							
							
							All error checking and database validation is now done dynamically every time the 'i' command is run. 
							
						 
						
							2022-05-01 17:03:07 -05:00  
				
					
						
							
							
								 
						
							
								18414d8856 
								
							 
						 
						
							
							
								
								Continuing refactor of 'i' CLI command  
							
							
							
						 
						
							2022-05-01 12:47:08 -05:00  
				
					
						
							
							
								 
						
							
								7b30f971e2 
								
							 
						 
						
							
							
								
								Continued refactoring of 'i' CLI command  
							
							
							
						 
						
							2022-05-01 09:24:45 -05:00  
				
					
						
							
							
								 
						
							
								9f71c67f14 
								
							 
						 
						
							
							
								
								Updated logic for required/optional Characteristics  
							
							... 
							
							
							
							Logic now embedded in 'i' CLI command. 
							
						 
						
							2022-04-30 22:20:42 -05:00  
				
					
						
							
							
								 
						
							
								0e6f7d27f9 
								
							 
						 
						
							
							
								
								Continuing with 'i' refactoring  
							
							... 
							
							
							
							Next up: Re-do optional/required Characteristics logic 
							
						 
						
							2022-04-30 18:18:15 -05:00  
				
					
						
							
							
								 
						
							
								5f463b013e 
								
							 
						 
						
							
							
								
								Continuing to refactor 'i' CLI command  
							
							
							
						 
						
							2022-04-30 16:29:31 -05:00  
				
					
						
							
							
								 
						
							
								88f2373a71 
								
							 
						 
						
							
							
								
								Continued refactoring of 'i' CLI command  
							
							
							
						 
						
							2022-04-30 11:04:57 -05:00  
				
					
						
							
							
								 
						
							
								212900f624 
								
							 
						 
						
							
							
								
								Initial re-factoring of "i" command  
							
							... 
							
							
							
							Instead of creating a static configLog for display upon start-up, an info log will be generated based on real-time data whenever the 'i' CLI command is requested.  This provides for more streamlined error-checking as well. 
							
						 
						
							2022-04-30 07:57:01 -05:00  
				
					
						
							
							
								 
						
							
								82035df0a7 
								
							 
						 
						
							
							
								
								Removed enabling of IPv6  
							
							... 
							
							
							
							Not having an IPv6 address is NOT the cause of the Arduino 2.0 OTA network port problem. 
							
						 
						
							2022-04-29 18:16:43 -05:00  
				
					
						
							
							
								 
						
							
								6a8b3653da 
								
							 
						 
						
							
							
								
								Update FeatherPins.h  
							
							... 
							
							
							
							Mappings are now based on specific boards, not just the architecture (e.g. S2 vs. C3). 
							
						 
						
							2022-04-27 21:11:44 -05:00  
				
					
						
							
							
								 
						
							
								4659e6f660 
								
							 
						 
						
							
							
								
								Enabled IPV6 Address Broadcast  
							
							... 
							
							
							
							Added to see if this addresses the mdns-discovery issue in Arduino IDE 2.0.0 interface. 
							
						 
						
							2022-04-27 20:42:38 -05:00  
				
					
						
							
							
								 
						
							
								6dacbb0a8c 
								
							 
						 
						
							
							
								
								Update FeatherPins.h  
							
							... 
							
							
							
							Changed mapping for S2 to Espressif ESP32-S2 (instead of UM Featherboard) 
							
						 
						
							2022-04-27 06:31:32 -05:00  
				
					
						
							
							
								 
						
							
								044fe22b1f 
								
							 
						 
						
							
							
								
								Made FirmwareRevision Characteristic PR+EV instead of just PR  
							
							... 
							
							
							
							Allows for updating FirmwareRevision, which HomeKit seems to poll every 60 seconds. 
							
						 
						
							2022-04-26 21:45:29 -05:00