Skip to content

Latest commit

 

History

History
18 lines (13 loc) · 1.63 KB

File metadata and controls

18 lines (13 loc) · 1.63 KB

App

An App object is a container for a set of utility objects which are useful for assembling an application as a set of modules.

The basic App contains a:

  • ModuleSystem for organizing Modules, an
  • Tasks module for running scheduled tasks, and a
  • Logger object for logging text messages for monitoring and debugging.

For an application which uses Wifi, a WifiApp adds these modules:

  • WifiManager for configuring and establishing connections access points,
  • Mdns which uses mDNS to advertise the device on the local network,
  • OtaManager to facilitate updating firmware over the network, and
  • ConfigInterface for persisting configuration settings via flash storage.

For an application with a web interface, WebApp adds a WebServer which manages an AsyncWebServer object.

For an application that supports MQTT, particularly for talking to Home Assistant, a HAApp can be used. This adds a MqttManager to help interfacing with a MQTT broker, a HADiscovery object which assists in declaring Home Assistant Entities from Variables used by the system. An AppStatus module automatically publishes basic application stats to the MQTT broker.