Merge pull request #170 from HomeSpan/master
Pull recent master branch documentation updates into dev branch
This commit is contained in:
commit
c4e6fb98c3
13
docs/FAQ.md
13
docs/FAQ.md
|
|
@ -20,6 +20,10 @@
|
||||||
|
|
||||||
* No, HomeSpan is coded specifically for the ESP32 and will not operate on an ESP8266 device.
|
* No, HomeSpan is coded specifically for the ESP32 and will not operate on an ESP8266 device.
|
||||||
|
|
||||||
|
#### Will HomeSpan work on an ESP32-S2 or ESP32-C3?
|
||||||
|
|
||||||
|
* HomeSpan is not presently configured for the S2 or C3 versions of the ESP32. Once Espressif publishes their initial stable release of the [Arduino-ESP32 2.0 library](https://github.com/espressif/arduino-esp32#esp32-s2-and-esp32-c3-support) (with support for the S2 and C3 chips), HomeSpan will be updated to run on those chips (to the extent possible).
|
||||||
|
|
||||||
#### How can I read HomeSpan's MDNS broadcast mentioned in the [OTA](OTA.md) documentation?
|
#### How can I read HomeSpan's MDNS broadcast mentioned in the [OTA](OTA.md) documentation?
|
||||||
|
|
||||||
* HomeSpan uses MDNS (multicast DNS) to broadcast a variety of HAP information used by Controllers wishing to pair with HomeSpan. Apple uses the name *Bonjour* to refer to MDNS, and originally included a Bonjour "Browser" in Safari that has since been discontinued. However, there are a number of alternative MDNS browsers available for free that operate on both the Mac and the iPhone, such as the [Discovery - DNS-SD Browser](https://apps.apple.com/us/app/discovery-dns-sd-browser/id1381004916?mt=12). You'll find all your HomeSpan devices, as well as any other HomeKit devices you may have, under the MDNS service named *_hap._tcp.* The fields broadcast by HomeSpan are a combination of all data elements requires by HAP (HAP-R2, Table 6-7) plus three additional HomeSpan fields:
|
* HomeSpan uses MDNS (multicast DNS) to broadcast a variety of HAP information used by Controllers wishing to pair with HomeSpan. Apple uses the name *Bonjour* to refer to MDNS, and originally included a Bonjour "Browser" in Safari that has since been discontinued. However, there are a number of alternative MDNS browsers available for free that operate on both the Mac and the iPhone, such as the [Discovery - DNS-SD Browser](https://apps.apple.com/us/app/discovery-dns-sd-browser/id1381004916?mt=12). You'll find all your HomeSpan devices, as well as any other HomeKit devices you may have, under the MDNS service named *_hap._tcp.* The fields broadcast by HomeSpan are a combination of all data elements requires by HAP (HAP-R2, Table 6-7) plus three additional HomeSpan fields:
|
||||||
|
|
@ -36,6 +40,15 @@
|
||||||
|
|
||||||
* Not as present. Though with a compatible Ethernet board the ESP32 can be configured to run as an Ethernet Server, using MDNS over Ethernet does not work on the ESP32 due to some apparent problems with the Ethernet UDP stack. Unfortunately, HomeSpan and HAP-R2 require MDNS to operate. If anyone has managed to get an Ethernet version of MDNS working on an ESP32 please let me know - it would be great to add Ethernet support to HomeSpan.
|
* Not as present. Though with a compatible Ethernet board the ESP32 can be configured to run as an Ethernet Server, using MDNS over Ethernet does not work on the ESP32 due to some apparent problems with the Ethernet UDP stack. Unfortunately, HomeSpan and HAP-R2 require MDNS to operate. If anyone has managed to get an Ethernet version of MDNS working on an ESP32 please let me know - it would be great to add Ethernet support to HomeSpan.
|
||||||
|
|
||||||
|
#### Does HomeSpan work with SPI and I2C?
|
||||||
|
|
||||||
|
* Yes, the standard Arduino libraries `SPI.h` and `Wire.h` both work well within the HomeSpan environment. Typically the code to read from an SPI or I2C device is implemented within the `loop()` method of a HomeSpan Service with any initialization being done in the constructor for that Service. See [TemperatureSensorI2C](https://github.com/HomeSpan/TempSensorI2C) for an illustrative example.
|
||||||
|
|
||||||
|
#### Can you add a Web Server to HomeSpan?
|
||||||
|
|
||||||
|
* Yes, provided you implement your Web Server using standard ESP32-Arduino libraries, such as `WebServer.h`. See [ProgrammableHub](https://github.com/HomeSpan/ProgrammableHub) for an illustrative example of how to easily integrate a Web Server into HomeSpan. This project also covers various other advanced topics, including TCP slot management, dynamic creation of Accessories, and saving arbitrary data in the ESP32's NVS.
|
||||||
|
* Note *ESP32AsyncWebServer* cannot be used since it requires a TCP stack that is unfortunately incompatible with HomeSpan.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
[↩️](README.md) Back to the Welcome page
|
[↩️](README.md) Back to the Welcome page
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,8 @@ Welcome to HomeSpan - a robust and extremely easy-to-use Arduino library for cre
|
||||||
|
|
||||||
HomeSpan provides a microcontroller-focused implementation of [Apple's HomeKit Accessory Protocol Specification Release R2 (HAP-R2)](https://developer.apple.com/homekit/specification/) designed specifically for the Espressif ESP32 microcontroller running within the Arduino IDE. HomeSpan pairs directly to HomeKit via your home WiFi network without the need for any external bridges or components. With HomeSpan you can use the full power of the ESP32's I/O functionality to create custom control software and/or hardware to automatically operate external devices from the Home App on your iPhone, iPad, or Mac, or with Siri.
|
HomeSpan provides a microcontroller-focused implementation of [Apple's HomeKit Accessory Protocol Specification Release R2 (HAP-R2)](https://developer.apple.com/homekit/specification/) designed specifically for the Espressif ESP32 microcontroller running within the Arduino IDE. HomeSpan pairs directly to HomeKit via your home WiFi network without the need for any external bridges or components. With HomeSpan you can use the full power of the ESP32's I/O functionality to create custom control software and/or hardware to automatically operate external devices from the Home App on your iPhone, iPad, or Mac, or with Siri.
|
||||||
|
|
||||||
|
> :exclamation: HomeSpan currently works only under the version 1 series of the Arduino-ESP32 board manager (the latest being version 1.0.6). The new version 2 series (including version 2.0.0 released by Espressif in Sep 2021) is not backwards compatible with version 1.0.6 and breaks HomeSpan. A new version of HomeSpan will be released shortly that is compatible with version 2.0.0 of the Arduino-ESP32 board manager. At this time please use version 1.0.6 of the board manager to compile HomeSpan sketches.
|
||||||
|
|
||||||
### HomeSpan Highlights
|
### HomeSpan Highlights
|
||||||
|
|
||||||
* Provides a natural, intuitive, and **very** easy-to-use framework
|
* Provides a natural, intuitive, and **very** easy-to-use framework
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ The HomeSpan Library is invoked by including *HomeSpan.h* in your Arduino sketch
|
||||||
|
|
||||||
## *homeSpan*
|
## *homeSpan*
|
||||||
|
|
||||||
At runtime this HomeSpan will create a global **object** named `homeSpan` that supports the following methods:
|
At runtime HomeSpan will create a global **object** named `homeSpan` that supports the following methods:
|
||||||
|
|
||||||
* `void begin(Category catID, const char *displayName, const char *hostNameBase, const char *modelName)`
|
* `void begin(Category catID, const char *displayName, const char *hostNameBase, const char *modelName)`
|
||||||
* initializes HomeSpan
|
* initializes HomeSpan
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ Additionally, when first starting up, HomeSpan begins by validating the device's
|
||||||
| CarbonDioxideSensor | CarbonDioxideDetected | Name<br>StatusActive<br>StatusFault<br>StatusTampered<br>StatusLowBattery<br>CarbonDioxideLevel<br>CarbonDioxidePeakLevel |
|
| CarbonDioxideSensor | CarbonDioxideDetected | Name<br>StatusActive<br>StatusFault<br>StatusTampered<br>StatusLowBattery<br>CarbonDioxideLevel<br>CarbonDioxidePeakLevel |
|
||||||
| CarbonMonoxideSensor | CarbonMonoxideDetected | Name<br>StatusActive<br>StatusFault<br>StatusTampered<br>StatusLowBattery<br>CarbonMonoxideLevel<br>CarbonMonoxidePeakLevel |
|
| CarbonMonoxideSensor | CarbonMonoxideDetected | Name<br>StatusActive<br>StatusFault<br>StatusTampered<br>StatusLowBattery<br>CarbonMonoxideLevel<br>CarbonMonoxidePeakLevel |
|
||||||
| ContactSensor | ContactSensorState | Name<br>StatusActive<br>StatusFault<br>StatusTampered<br>StatusLowBattery |
|
| ContactSensor | ContactSensorState | Name<br>StatusActive<br>StatusFault<br>StatusTampered<br>StatusLowBattery |
|
||||||
| Door | CurrentPosition | TargetPosition<br>PositionState<br>Name<br>HoldPosition<br>ObstructionDetected |
|
| Door | CurrentPosition<br>TargetPosition<br>PositionState | Name<br>HoldPosition<br>ObstructionDetected |
|
||||||
| Doorbell | ProgrammableSwitchEvent | Name<br>Volume<br>Brightness |
|
| Doorbell | ProgrammableSwitchEvent | Name<br>Volume<br>Brightness |
|
||||||
| Fan | Active | Name<br>CurrentFanState<br>TargetFanState<br>RotationDirection<br>RotationSpeed<br>SwingMode<br>LockPhysicalControls |
|
| Fan | Active | Name<br>CurrentFanState<br>TargetFanState<br>RotationDirection<br>RotationSpeed<br>SwingMode<br>LockPhysicalControls |
|
||||||
| Faucet | Active | StatusFault<br>Name |
|
| Faucet | Active | StatusFault<br>Name |
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue