diff --git a/README.md b/README.md index a87d6fa..4a25c9a 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ HomeSpan requires version 2.0.0 or later of the [Arduino-ESP32 Board Manager](ht * Integrated access to the ESP32's on-chip Remote Control peripheral for easy generation of IR and RF signals * Dedicated classes to control one- and two-wire addressable RGB and RGBW LEDs and LED strips * Dedicated classes to control stepper motors that can run smoothly in the background without interfering with HomeSpan -* Dedicated class that faciliates seemless point-to-point communication between ESP32 devices using ESP-NOW +* Dedicated class that faciliates seamless point-to-point communication between ESP32 devices using ESP-NOW * Integrated Web Log for user-defined log messages * Extensively-commented Tutorial Sketches taking you from the very basics of HomeSpan through advanced HomeKit topics * Additional examples and projects showcasing real-world implementations of HomeSpan diff --git a/docs/ServiceList.md b/docs/ServiceList.md index 416ecee..1416fd6 100644 --- a/docs/ServiceList.md +++ b/docs/ServiceList.md @@ -56,7 +56,8 @@ Additionally, when first starting up, HomeSpan begins by validating the device's |StatelessProgrammableSwitch|ProgrammableSwitchEvent|Name
ServiceLabelIndex| |Switch|On|Name| |Television|Active|ConfiguredName
ActiveIdentifier
RemoteKey
PowerModeSelection| -|TelevisionSpeaker|VolumeControlType
VolumeSelector||TemperatureSensor|CurrentTemperature|Name
StatusActive
StatusFault
StatusTampered
StatusLowBattery| +|TelevisionSpeaker|VolumeControlType
VolumeSelector| +|TemperatureSensor|CurrentTemperature|Name
StatusActive
StatusFault
StatusTampered
StatusLowBattery| |Thermostat|CurrentHeatingCoolingState
TargetHeatingCoolingState
CurrentTemperature
TargetTemperature
TemperatureDisplayUnits|CoolingThresholdTemperature
CurrentRelativeHumidity
HeatingThresholdTemperature
Name
TargetRelativeHumidity| |Valve|Active
InUse
ValveType|SetDuration
RemainingDuration
IsConfigured
ServiceLabelIndex
StatusFault
Name| |Window|CurrentPosition
TargetPosition
PositionState|Name
HoldPosition
ObstructionDetected| diff --git a/examples/15-RealPushButtons/15-RealPushButtons.ino b/examples/15-RealPushButtons/15-RealPushButtons.ino index 491a97f..25f3fd1 100644 --- a/examples/15-RealPushButtons/15-RealPushButtons.ino +++ b/examples/15-RealPushButtons/15-RealPushButtons.ino @@ -248,7 +248,7 @@ void loop(){ // For example, if you were using an MCP I/O Port Expander with the Adafruit mcp library, you could create a triggerType function for a pin // on the MCP device that is connected to ground through a pushbutton as such: // - // boolean MCP_READ(int mcpPin) { return ( !mcp.digitalRead(mcpPin); ) } + // boolean MCP_READ(int mcpPin) { return ( !mcp.digitalRead(mcpPin) ); } // // And then simply pass MCP_READ to SpanButton as the triggerType parameter using any of the SpanButton constuctors: // @@ -258,7 +258,7 @@ void loop(){ // // Alternatively, you can use a lambda function as the triggerType parameter, thus creating your function on the fly when instantiating a SpanButton: // - // new SpanButton(23,[](int mcpPin)->boolean{ return ( !mcp.digitalRead(mcpPin); ) } + // new SpanButton(23,[](int mcpPin)->boolean{ return ( !mcp.digitalRead(mcpPin) ); }); // // Note: If you create your own triggerType function, don't forget to perform any initialization of the "pin", or setup/configuration of a // pin extender, etc., prior to instantiating a SpanButton that uses your custom function. HomeSpan cannot do this for you.