Merge branch 'HomeSpan:master' into log_power
This commit is contained in:
commit
6c0fe8f3df
|
|
@ -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
|
* 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 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 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
|
* Integrated Web Log for user-defined log messages
|
||||||
* Extensively-commented Tutorial Sketches taking you from the very basics of HomeSpan through advanced HomeKit topics
|
* 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
|
* Additional examples and projects showcasing real-world implementations of HomeSpan
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,8 @@ Additionally, when first starting up, HomeSpan begins by validating the device's
|
||||||
|StatelessProgrammableSwitch|ProgrammableSwitchEvent|Name<br>ServiceLabelIndex|
|
|StatelessProgrammableSwitch|ProgrammableSwitchEvent|Name<br>ServiceLabelIndex|
|
||||||
|Switch|On|Name|
|
|Switch|On|Name|
|
||||||
|Television|Active|ConfiguredName<br>ActiveIdentifier<br>RemoteKey<br>PowerModeSelection|
|
|Television|Active|ConfiguredName<br>ActiveIdentifier<br>RemoteKey<br>PowerModeSelection|
|
||||||
|TelevisionSpeaker|VolumeControlType<br>VolumeSelector||TemperatureSensor|CurrentTemperature|Name<br>StatusActive<br>StatusFault<br>StatusTampered<br>StatusLowBattery|
|
|TelevisionSpeaker|VolumeControlType<br>VolumeSelector|
|
||||||
|
|TemperatureSensor|CurrentTemperature|Name<br>StatusActive<br>StatusFault<br>StatusTampered<br>StatusLowBattery|
|
||||||
|Thermostat|CurrentHeatingCoolingState<br>TargetHeatingCoolingState<br>CurrentTemperature<br>TargetTemperature<br>TemperatureDisplayUnits|CoolingThresholdTemperature<br>CurrentRelativeHumidity<br>HeatingThresholdTemperature<br>Name<br>TargetRelativeHumidity|
|
|Thermostat|CurrentHeatingCoolingState<br>TargetHeatingCoolingState<br>CurrentTemperature<br>TargetTemperature<br>TemperatureDisplayUnits|CoolingThresholdTemperature<br>CurrentRelativeHumidity<br>HeatingThresholdTemperature<br>Name<br>TargetRelativeHumidity|
|
||||||
|Valve|Active<br>InUse<br>ValveType|SetDuration<br>RemainingDuration<br>IsConfigured<br>ServiceLabelIndex<br>StatusFault<br>Name|
|
|Valve|Active<br>InUse<br>ValveType|SetDuration<br>RemainingDuration<br>IsConfigured<br>ServiceLabelIndex<br>StatusFault<br>Name|
|
||||||
|Window|CurrentPosition<br>TargetPosition<br>PositionState|Name<br>HoldPosition<br>ObstructionDetected|
|
|Window|CurrentPosition<br>TargetPosition<br>PositionState|Name<br>HoldPosition<br>ObstructionDetected|
|
||||||
|
|
|
||||||
|
|
@ -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
|
// 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:
|
// 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:
|
// 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:
|
// 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
|
// 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.
|
// pin extender, etc., prior to instantiating a SpanButton that uses your custom function. HomeSpan cannot do this for you.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue