9#ifndef ARDUINO_WOPR_JBWOPRHA_H
10#define ARDUINO_WOPR_JBWOPRHA_H
13#include "WiFiManager.h"
23 bool useHomeAssistant;
24 std::string homeAssistantDiscoveryPrefix;
146 const std::vector<std::string>
_defconNames {
"None",
"DEFCON 5",
"DEFCON 4",
"DEFCON 3",
"DEFCON 2",
"DEFCON 1" };
165 const std::string& prefix,
166 const std::string& entity);
177 const std::string& name,
178 const std::string& prefix,
179 const std::string& entity,
180 const std::string& templateValue,
181 const std::string& icon,
182 const std::string& unitOfMeasurement =
"");
W.O.P.R. WiFi, MQTT and HomeAssistant device class.
Definition jbwoprha.h:29
const char * JSON_KEY_HA_DIAG_ENTITY_RSSI
RSSI entity key name.
Definition jbwoprha.h:142
const char * HA_CONF_ENTITY_TIME_FORMAT
Time format entity name.
Definition jbwoprha.h:134
const char * HA_CONF_ENTITY_DEFCON_BRIGHTNESS
DEFCON brightness entity name.
Definition jbwoprha.h:136
const char * HTML_CHECKBOX_FALSE
HTML checkbox false.
Definition jbwoprha.h:96
const char * HA_CONF_ENTITY_EFFECTS_TIMEOUT
Effects timeout entity name.
Definition jbwoprha.h:137
bool _homeAssistantPublishConfig()
Publish Home Assistant configuration.
Definition jbwoprha.cpp:443
const char * ENTITY_NAME_CONFIG
Config entity name.
Definition jbwoprha.h:110
const char * HA_CONF_ENTITY_WIFI_USE_WEB_PORTAL
Use web portal entity name.
Definition jbwoprha.h:138
void _dumpConfig() override
Dump configuration to logger.
Definition jbwoprha.cpp:80
const char * HA_DIAG_PREFIX
Diagnostic discovery prefix.
Definition jbwoprha.h:120
const char * HA_CONF_ENTITY_DATE_FORMAT
Date format entity name.
Definition jbwoprha.h:133
const char * JSON_KEY_HA_DIAG_ENTITY_IP
IP entity key name.
Definition jbwoprha.h:141
const char * HA_COMPONENT_LIGHT
Light component.
Definition jbwoprha.h:123
WiFiManagerParameter * _homeAssistantDiscoveryPrefixParam
Home Assistant discovery prefix.
Definition jbwoprha.h:100
const char * HTML_HOME_ASSISTANT_TITLE
MQTT title.
Definition jbwoprha.h:94
const char * HA_COMPONENT_BUTTON
Button component.
Definition jbwoprha.h:128
const char * HA_CONF_ENTITY_RESTART
Restart entity name.
Definition jbwoprha.h:139
bool _homeAssistantSendDiscovery()
Send Home Assistant discovery.
Definition jbwoprha.cpp:136
bool begin(JBWoprBoardVariant variant) override
Initialize JBWoprHADevice.
Definition jbwoprha.cpp:25
void _setJsonDocumentFromConfig(JsonDocument &jsonDoc) override
Set JSON document from configuration.
Definition jbwoprha.cpp:74
WiFiManagerParameter * _break3Param
Break.
Definition jbwoprha.h:101
void _addAvailabilityData(JsonDocument &jsonDoc)
Add availability data to Home Assistant discovery message.
Definition jbwoprha.cpp:515
const char * HA_COMPONENT_SENSOR
Sensor component.
Definition jbwoprha.h:126
void loop() override
JBWoprHADevice loop.
Definition jbwoprha.cpp:42
const char * JSON_KEY_HA_DIAG_ENTITY_VERSION
Version entity key name.
Definition jbwoprha.h:144
LogLevel getLogLevel() override
Get log level.
Definition jbwoprha.cpp:56
void setLogLevel(LogLevel level) override
Set log level.
Definition jbwoprha.cpp:51
const char * JSON_KEY_HA_DISCOVERY_PREFIX
Home Assistant discovery prefix key name.
Definition jbwoprha.h:76
bool _onMqttConnect() override
Called when MQTT client get connected.
Definition jbwoprha.cpp:115
const char * HA_COMPONENT_NUMBER
Number component.
Definition jbwoprha.h:124
const std::vector< std::string > _defconNames
DEFCON names.
Definition jbwoprha.h:146
const char * HA_DIAG_ENTITY_RAM
RAM entity name.
Definition jbwoprha.h:132
const char * HA_CONFIG_PREFIX
Config discovery prefix.
Definition jbwoprha.h:121
bool _homeAssistantPublishDiagnostics()
Publish Home Assistant diagnostics.
Definition jbwoprha.cpp:423
void _saveParamsCallback() override
Save parameters callback.
Definition jbwoprha.cpp:106
const char * HA_CONF_ENTITY_DISPLAY_BRIGHTNESS
Display brightness entity name.
Definition jbwoprha.h:135
const char * HA_DIAG_ENTITY_RSSI
RSSI entity name.
Definition jbwoprha.h:131
JBWoprHAConfig _haConfig
Home Assistant configuration.
Definition jbwoprha.h:73
JBWoprHADevice()
JBWoprHADevice constructor.
Definition jbwoprha.cpp:16
std::string _getDiscoveryTopic(const std::string &component, const std::string &prefix, const std::string &entity)
Get Home Assistant discovery topic.
Definition jbwoprha.cpp:473
const char * HA_COMPONENT_SELECT
Select component.
Definition jbwoprha.h:125
const char * ENTITY_NAME_DIAGNOSTIC
Diagnostics entity name.
Definition jbwoprha.h:109
const char * JSON_KEY_HA_DIAG_ENTITY_RAM
RAM entity key name.
Definition jbwoprha.h:143
const char * HA_DIAG_ENTITY_IP
IP entity name.
Definition jbwoprha.h:130
const char * JSON_KEY_HA_USE_HOME_ASSISTANT
Use Home Assistant key name.
Definition jbwoprha.h:75
void _setConfigFromJsonDocument(const JsonDocument &jsonDoc) override
Set configuration from JSON document.
Definition jbwoprha.cpp:63
WiFiManagerParameter * _homeAssistantTitleParam
Home Assistant title.
Definition jbwoprha.h:98
bool _homeAssistantPublishState()
Publish Home Assistant state.
Definition jbwoprha.cpp:453
void _addDeviceData(JsonDocument &jsonDoc)
Add device data to Home Assistant discovery message.
Definition jbwoprha.cpp:502
WiFiManagerParameter * _useHomeAssistantParam
Use Home Assistant.
Definition jbwoprha.h:99
const char * HA_COMPONENT_SWITCH
Switch component.
Definition jbwoprha.h:127
void _addDiscoveryPayload(JsonDocument &jsonDoc, const std::string &name, const std::string &prefix, const std::string &entity, const std::string &templateValue, const std::string &icon, const std::string &unitOfMeasurement="")
Generate basic discovery message.
Definition jbwoprha.cpp:477
void _setupWiFiManager() override
Setup WiFiManager.
Definition jbwoprha.cpp:89
const char * HTML_CHECKBOX_TRUE
HTML checkbox true.
Definition jbwoprha.h:95
W.O.P.R. WiFi and MQTT device class.
Definition jbwoprmqtt.h:38
JBWoprBoardVariant
W.O.P.R. board version.
Definition jbwopr.h:28
Main source file for the JBWopr library.
W.O.P.R. board pin assignments.
Definition jbwopr.h:44
JBWoprHADevice configuration.
Definition jbwoprha.h:22