Code cleanups (#696)
* apply const in wrapper classes * move NukiWrapper methods into Util class * move NukiOpenerWrapper methods into Util class * rename Util classes to Helper * apply const to nuki network classes
This commit is contained in:
358
src/util/NukiHelper.cpp
Normal file
358
src/util/NukiHelper.cpp
Normal file
@@ -0,0 +1,358 @@
|
||||
#include "NukiHelper.h"
|
||||
#include <cstring>
|
||||
#include "Logger.h"
|
||||
|
||||
const NukiLock::LockAction NukiHelper::lockActionToEnum(const char *str)
|
||||
{
|
||||
if(strcmp(str, "unlock") == 0 || strcmp(str, "Unlock") == 0)
|
||||
{
|
||||
return NukiLock::LockAction::Unlock;
|
||||
}
|
||||
else if(strcmp(str, "lock") == 0 || strcmp(str, "Lock") == 0)
|
||||
{
|
||||
return NukiLock::LockAction::Lock;
|
||||
}
|
||||
else if(strcmp(str, "unlatch") == 0 || strcmp(str, "Unlatch") == 0)
|
||||
{
|
||||
return NukiLock::LockAction::Unlatch;
|
||||
}
|
||||
else if(strcmp(str, "lockNgo") == 0 || strcmp(str, "LockNgo") == 0)
|
||||
{
|
||||
return NukiLock::LockAction::LockNgo;
|
||||
}
|
||||
else if(strcmp(str, "lockNgoUnlatch") == 0 || strcmp(str, "LockNgoUnlatch") == 0)
|
||||
{
|
||||
return NukiLock::LockAction::LockNgoUnlatch;
|
||||
}
|
||||
else if(strcmp(str, "fullLock") == 0 || strcmp(str, "FullLock") == 0)
|
||||
{
|
||||
return NukiLock::LockAction::FullLock;
|
||||
}
|
||||
else if(strcmp(str, "fobAction2") == 0 || strcmp(str, "FobAction2") == 0)
|
||||
{
|
||||
return NukiLock::LockAction::FobAction2;
|
||||
}
|
||||
else if(strcmp(str, "fobAction1") == 0 || strcmp(str, "FobAction1") == 0)
|
||||
{
|
||||
return NukiLock::LockAction::FobAction1;
|
||||
}
|
||||
else if(strcmp(str, "fobAction3") == 0 || strcmp(str, "FobAction3") == 0)
|
||||
{
|
||||
return NukiLock::LockAction::FobAction3;
|
||||
}
|
||||
return (NukiLock::LockAction)0xff;
|
||||
}
|
||||
|
||||
const Nuki::AdvertisingMode NukiHelper::advertisingModeToEnum(const char *str)
|
||||
{
|
||||
if(strcmp(str, "Automatic") == 0)
|
||||
{
|
||||
return Nuki::AdvertisingMode::Automatic;
|
||||
}
|
||||
else if(strcmp(str, "Normal") == 0)
|
||||
{
|
||||
return Nuki::AdvertisingMode::Normal;
|
||||
}
|
||||
else if(strcmp(str, "Slow") == 0)
|
||||
{
|
||||
return Nuki::AdvertisingMode::Slow;
|
||||
}
|
||||
else if(strcmp(str, "Slowest") == 0)
|
||||
{
|
||||
return Nuki::AdvertisingMode::Slowest;
|
||||
}
|
||||
return (Nuki::AdvertisingMode)0xff;
|
||||
}
|
||||
|
||||
const Nuki::TimeZoneId NukiHelper::timeZoneToEnum(const char *str)
|
||||
{
|
||||
if(strcmp(str, "Africa/Cairo") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Africa_Cairo;
|
||||
}
|
||||
else if(strcmp(str, "Africa/Lagos") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Africa_Lagos;
|
||||
}
|
||||
else if(strcmp(str, "Africa/Maputo") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Africa_Maputo;
|
||||
}
|
||||
else if(strcmp(str, "Africa/Nairobi") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Africa_Nairobi;
|
||||
}
|
||||
else if(strcmp(str, "America/Anchorage") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::America_Anchorage;
|
||||
}
|
||||
else if(strcmp(str, "America/Argentina/Buenos_Aires") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::America_Argentina_Buenos_Aires;
|
||||
}
|
||||
else if(strcmp(str, "America/Chicago") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::America_Chicago;
|
||||
}
|
||||
else if(strcmp(str, "America/Denver") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::America_Denver;
|
||||
}
|
||||
else if(strcmp(str, "America/Halifax") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::America_Halifax;
|
||||
}
|
||||
else if(strcmp(str, "America/Los_Angeles") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::America_Los_Angeles;
|
||||
}
|
||||
else if(strcmp(str, "America/Manaus") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::America_Manaus;
|
||||
}
|
||||
else if(strcmp(str, "America/Mexico_City") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::America_Mexico_City;
|
||||
}
|
||||
else if(strcmp(str, "America/New_York") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::America_New_York;
|
||||
}
|
||||
else if(strcmp(str, "America/Phoenix") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::America_Phoenix;
|
||||
}
|
||||
else if(strcmp(str, "America/Regina") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::America_Regina;
|
||||
}
|
||||
else if(strcmp(str, "America/Santiago") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::America_Santiago;
|
||||
}
|
||||
else if(strcmp(str, "America/Sao_Paulo") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::America_Sao_Paulo;
|
||||
}
|
||||
else if(strcmp(str, "America/St_Johns") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::America_St_Johns;
|
||||
}
|
||||
else if(strcmp(str, "Asia/Bangkok") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Asia_Bangkok;
|
||||
}
|
||||
else if(strcmp(str, "Asia/Dubai") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Asia_Dubai;
|
||||
}
|
||||
else if(strcmp(str, "Asia/Hong_Kong") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Asia_Hong_Kong;
|
||||
}
|
||||
else if(strcmp(str, "Asia/Jerusalem") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Asia_Jerusalem;
|
||||
}
|
||||
else if(strcmp(str, "Asia/Karachi") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Asia_Karachi;
|
||||
}
|
||||
else if(strcmp(str, "Asia/Kathmandu") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Asia_Kathmandu;
|
||||
}
|
||||
else if(strcmp(str, "Asia/Kolkata") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Asia_Kolkata;
|
||||
}
|
||||
else if(strcmp(str, "Asia/Riyadh") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Asia_Riyadh;
|
||||
}
|
||||
else if(strcmp(str, "Asia/Seoul") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Asia_Seoul;
|
||||
}
|
||||
else if(strcmp(str, "Asia/Shanghai") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Asia_Shanghai;
|
||||
}
|
||||
else if(strcmp(str, "Asia/Tehran") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Asia_Tehran;
|
||||
}
|
||||
else if(strcmp(str, "Asia/Tokyo") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Asia_Tokyo;
|
||||
}
|
||||
else if(strcmp(str, "Asia/Yangon") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Asia_Yangon;
|
||||
}
|
||||
else if(strcmp(str, "Australia/Adelaide") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Australia_Adelaide;
|
||||
}
|
||||
else if(strcmp(str, "Australia/Brisbane") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Australia_Brisbane;
|
||||
}
|
||||
else if(strcmp(str, "Australia/Darwin") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Australia_Darwin;
|
||||
}
|
||||
else if(strcmp(str, "Australia/Hobart") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Australia_Hobart;
|
||||
}
|
||||
else if(strcmp(str, "Australia/Perth") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Australia_Perth;
|
||||
}
|
||||
else if(strcmp(str, "Australia/Sydney") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Australia_Sydney;
|
||||
}
|
||||
else if(strcmp(str, "Europe/Berlin") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Europe_Berlin;
|
||||
}
|
||||
else if(strcmp(str, "Europe/Helsinki") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Europe_Helsinki;
|
||||
}
|
||||
else if(strcmp(str, "Europe/Istanbul") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Europe_Istanbul;
|
||||
}
|
||||
else if(strcmp(str, "Europe/London") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Europe_London;
|
||||
}
|
||||
else if(strcmp(str, "Europe/Moscow") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Europe_Moscow;
|
||||
}
|
||||
else if(strcmp(str, "Pacific/Auckland") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Pacific_Auckland;
|
||||
}
|
||||
else if(strcmp(str, "Pacific/Guam") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Pacific_Guam;
|
||||
}
|
||||
else if(strcmp(str, "Pacific/Honolulu") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Pacific_Honolulu;
|
||||
}
|
||||
else if(strcmp(str, "Pacific/Pago_Pago") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::Pacific_Pago_Pago;
|
||||
}
|
||||
else if(strcmp(str, "None") == 0)
|
||||
{
|
||||
return Nuki::TimeZoneId::None;
|
||||
}
|
||||
return (Nuki::TimeZoneId)0xff;
|
||||
}
|
||||
|
||||
const uint8_t NukiHelper::fobActionToInt(const char *str)
|
||||
{
|
||||
if(strcmp(str, "No Action") == 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else if(strcmp(str, "Unlock") == 0)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else if(strcmp(str, "Lock") == 0)
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
else if(strcmp(str, "Lock n Go") == 0)
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
else if(strcmp(str, "Intelligent") == 0)
|
||||
{
|
||||
return 4;
|
||||
}
|
||||
return 99;
|
||||
}
|
||||
|
||||
const NukiLock::ButtonPressAction NukiHelper::buttonPressActionToEnum(const char* str)
|
||||
{
|
||||
if(strcmp(str, "No Action") == 0)
|
||||
{
|
||||
return NukiLock::ButtonPressAction::NoAction;
|
||||
}
|
||||
else if(strcmp(str, "Intelligent") == 0)
|
||||
{
|
||||
return NukiLock::ButtonPressAction::Intelligent;
|
||||
}
|
||||
else if(strcmp(str, "Unlock") == 0)
|
||||
{
|
||||
return NukiLock::ButtonPressAction::Unlock;
|
||||
}
|
||||
else if(strcmp(str, "Lock") == 0)
|
||||
{
|
||||
return NukiLock::ButtonPressAction::Lock;
|
||||
}
|
||||
else if(strcmp(str, "Unlatch") == 0)
|
||||
{
|
||||
return NukiLock::ButtonPressAction::Unlatch;
|
||||
}
|
||||
else if(strcmp(str, "Lock n Go") == 0)
|
||||
{
|
||||
return NukiLock::ButtonPressAction::LockNgo;
|
||||
}
|
||||
else if(strcmp(str, "Show Status") == 0)
|
||||
{
|
||||
return NukiLock::ButtonPressAction::ShowStatus;
|
||||
}
|
||||
return (NukiLock::ButtonPressAction)0xff;
|
||||
}
|
||||
|
||||
const Nuki::BatteryType NukiHelper::batteryTypeToEnum(const char* str)
|
||||
{
|
||||
if(strcmp(str, "Alkali") == 0)
|
||||
{
|
||||
return Nuki::BatteryType::Alkali;
|
||||
}
|
||||
else if(strcmp(str, "Accumulators") == 0)
|
||||
{
|
||||
return Nuki::BatteryType::Accumulators;
|
||||
}
|
||||
else if(strcmp(str, "Lithium") == 0)
|
||||
{
|
||||
return Nuki::BatteryType::Lithium;
|
||||
}
|
||||
return (Nuki::BatteryType)0xff;
|
||||
}
|
||||
|
||||
const NukiLock::MotorSpeed NukiHelper::motorSpeedToEnum(const char* str)
|
||||
{
|
||||
if(strcmp(str, "Standard") == 0)
|
||||
{
|
||||
return NukiLock::MotorSpeed::Standard;
|
||||
}
|
||||
else if(strcmp(str, "Insane") == 0)
|
||||
{
|
||||
return NukiLock::MotorSpeed::Insane;
|
||||
}
|
||||
else if(strcmp(str, "Gentle") == 0)
|
||||
{
|
||||
return NukiLock::MotorSpeed::Gentle;
|
||||
}
|
||||
return (NukiLock::MotorSpeed)0xff;
|
||||
}
|
||||
|
||||
void NukiHelper::printCommandResult(Nuki::CmdResult result)
|
||||
{
|
||||
char resultStr[15];
|
||||
NukiLock::cmdResultToString(result, resultStr);
|
||||
Log->println(resultStr);
|
||||
}
|
||||
|
||||
18
src/util/NukiHelper.h
Normal file
18
src/util/NukiHelper.h
Normal file
@@ -0,0 +1,18 @@
|
||||
#pragma once
|
||||
|
||||
#include "NukiConstants.h"
|
||||
#include "NukiLock.h"
|
||||
|
||||
class NukiHelper
|
||||
{
|
||||
public:
|
||||
static const NukiLock::LockAction lockActionToEnum(const char* str); // char array at least 14 characters
|
||||
static const Nuki::AdvertisingMode advertisingModeToEnum(const char* str);
|
||||
static const Nuki::TimeZoneId timeZoneToEnum(const char* str);
|
||||
static const uint8_t fobActionToInt(const char *str);
|
||||
static const NukiLock::ButtonPressAction buttonPressActionToEnum(const char* str);
|
||||
static const Nuki::BatteryType batteryTypeToEnum(const char* str);
|
||||
static const NukiLock::MotorSpeed motorSpeedToEnum(const char* str);
|
||||
|
||||
static void printCommandResult(Nuki::CmdResult result);
|
||||
};
|
||||
279
src/util/NukiOpenerHelper.cpp
Normal file
279
src/util/NukiOpenerHelper.cpp
Normal file
@@ -0,0 +1,279 @@
|
||||
#include "NukiOpenerHelper.h"
|
||||
#include <cstring>
|
||||
#include "Logger.h"
|
||||
#include "NukiOpenerUtils.h"
|
||||
|
||||
const NukiOpener::LockAction NukiOpenerHelper::lockActionToEnum(const char *str)
|
||||
{
|
||||
if(strcmp(str, "activateRTO") == 0 || strcmp(str, "ActivateRTO") == 0)
|
||||
{
|
||||
return NukiOpener::LockAction::ActivateRTO;
|
||||
}
|
||||
else if(strcmp(str, "deactivateRTO") == 0 || strcmp(str, "DeactivateRTO") == 0)
|
||||
{
|
||||
return NukiOpener::LockAction::DeactivateRTO;
|
||||
}
|
||||
else if(strcmp(str, "electricStrikeActuation") == 0 || strcmp(str, "ElectricStrikeActuation") == 0)
|
||||
{
|
||||
return NukiOpener::LockAction::ElectricStrikeActuation;
|
||||
}
|
||||
else if(strcmp(str, "activateCM") == 0 || strcmp(str, "ActivateCM") == 0)
|
||||
{
|
||||
return NukiOpener::LockAction::ActivateCM;
|
||||
}
|
||||
else if(strcmp(str, "deactivateCM") == 0 || strcmp(str, "DeactivateCM") == 0)
|
||||
{
|
||||
return NukiOpener::LockAction::DeactivateCM;
|
||||
}
|
||||
else if(strcmp(str, "fobAction2") == 0 || strcmp(str, "FobAction2") == 0)
|
||||
{
|
||||
return NukiOpener::LockAction::FobAction2;
|
||||
}
|
||||
else if(strcmp(str, "fobAction1") == 0 || strcmp(str, "FobAction1") == 0)
|
||||
{
|
||||
return NukiOpener::LockAction::FobAction1;
|
||||
}
|
||||
else if(strcmp(str, "fobAction3") == 0 || strcmp(str, "FobAction3") == 0)
|
||||
{
|
||||
return NukiOpener::LockAction::FobAction3;
|
||||
}
|
||||
return (NukiOpener::LockAction)0xff;
|
||||
}
|
||||
|
||||
const Nuki::AdvertisingMode NukiOpenerHelper::advertisingModeToEnum(const char *str)
|
||||
{
|
||||
if(strcmp(str, "Automatic") == 0)
|
||||
{
|
||||
return Nuki::AdvertisingMode::Automatic;
|
||||
}
|
||||
else if(strcmp(str, "Normal") == 0)
|
||||
{
|
||||
return Nuki::AdvertisingMode::Normal;
|
||||
}
|
||||
else if(strcmp(str, "Slow") == 0)
|
||||
{
|
||||
return Nuki::AdvertisingMode::Slow;
|
||||
}
|
||||
else if(strcmp(str, "Slowest") == 0)
|
||||
{
|
||||
return Nuki::AdvertisingMode::Slowest;
|
||||
}
|
||||
return (Nuki::AdvertisingMode)0xff;
|
||||
}
|
||||
|
||||
const uint8_t NukiOpenerHelper::fobActionToInt(const char *str)
|
||||
{
|
||||
if(strcmp(str, "No Action") == 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else if(strcmp(str, "Toggle RTO") == 0)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else if(strcmp(str, "Activate RTO") == 0)
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
else if(strcmp(str, "Deactivate RTO") == 0)
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
else if(strcmp(str, "Open") == 0)
|
||||
{
|
||||
return 7;
|
||||
}
|
||||
else if(strcmp(str, "Ring") == 0)
|
||||
{
|
||||
return 8;
|
||||
}
|
||||
return 99;
|
||||
}
|
||||
|
||||
const uint8_t NukiOpenerHelper::operatingModeToInt(const char *str)
|
||||
{
|
||||
if(strcmp(str, "Generic door opener") == 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else if(strcmp(str, "Analogue intercom") == 0)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else if(strcmp(str, "Digital intercom") == 0)
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
else if(strcmp(str, "Siedle") == 0)
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
else if(strcmp(str, "TCS") == 0)
|
||||
{
|
||||
return 4;
|
||||
}
|
||||
else if(strcmp(str, "Bticino") == 0)
|
||||
{
|
||||
return 5;
|
||||
}
|
||||
else if(strcmp(str, "Siedle HTS") == 0)
|
||||
{
|
||||
return 6;
|
||||
}
|
||||
else if(strcmp(str, "STR") == 0)
|
||||
{
|
||||
return 7;
|
||||
}
|
||||
else if(strcmp(str, "Ritto") == 0)
|
||||
{
|
||||
return 8;
|
||||
}
|
||||
else if(strcmp(str, "Fermax") == 0)
|
||||
{
|
||||
return 9;
|
||||
}
|
||||
else if(strcmp(str, "Comelit") == 0)
|
||||
{
|
||||
return 10;
|
||||
}
|
||||
else if(strcmp(str, "Urmet BiBus") == 0)
|
||||
{
|
||||
return 11;
|
||||
}
|
||||
else if(strcmp(str, "Urmet 2Voice") == 0)
|
||||
{
|
||||
return 12;
|
||||
}
|
||||
else if(strcmp(str, "Golmar") == 0)
|
||||
{
|
||||
return 13;
|
||||
}
|
||||
else if(strcmp(str, "SKS") == 0)
|
||||
{
|
||||
return 14;
|
||||
}
|
||||
else if(strcmp(str, "Spare") == 0)
|
||||
{
|
||||
return 15;
|
||||
}
|
||||
return 99;
|
||||
}
|
||||
|
||||
const uint8_t NukiOpenerHelper::doorbellSuppressionToInt(const char *str)
|
||||
{
|
||||
if(strcmp(str, "Off") == 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else if(strcmp(str, "CM") == 0)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else if(strcmp(str, "RTO") == 0)
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
else if(strcmp(str, "CM & RTO") == 0)
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
else if(strcmp(str, "Ring") == 0)
|
||||
{
|
||||
return 4;
|
||||
}
|
||||
else if(strcmp(str, "CM & Ring") == 0)
|
||||
{
|
||||
return 5;
|
||||
}
|
||||
else if(strcmp(str, "RTO & Ring") == 0)
|
||||
{
|
||||
return 6;
|
||||
}
|
||||
else if(strcmp(str, "CM & RTO & Ring") == 0)
|
||||
{
|
||||
return 7;
|
||||
}
|
||||
return 99;
|
||||
}
|
||||
|
||||
const uint8_t NukiOpenerHelper::soundToInt(const char *str)
|
||||
{
|
||||
if(strcmp(str, "No Sound") == 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else if(strcmp(str, "Sound 1") == 0)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
else if(strcmp(str, "Sound 2") == 0)
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
else if(strcmp(str, "Sound 3") == 0)
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
return 99;
|
||||
}
|
||||
|
||||
const NukiOpener::ButtonPressAction NukiOpenerHelper::buttonPressActionToEnum(const char* str)
|
||||
{
|
||||
if(strcmp(str, "No Action") == 0)
|
||||
{
|
||||
return NukiOpener::ButtonPressAction::NoAction;
|
||||
}
|
||||
else if(strcmp(str, "Toggle RTO") == 0)
|
||||
{
|
||||
return NukiOpener::ButtonPressAction::ToggleRTO;
|
||||
}
|
||||
else if(strcmp(str, "Activate RTO") == 0)
|
||||
{
|
||||
return NukiOpener::ButtonPressAction::ActivateRTO;
|
||||
}
|
||||
else if(strcmp(str, "Deactivate RTO") == 0)
|
||||
{
|
||||
return NukiOpener::ButtonPressAction::DeactivateRTO;
|
||||
}
|
||||
else if(strcmp(str, "Toggle CM") == 0)
|
||||
{
|
||||
return NukiOpener::ButtonPressAction::ToggleCM;
|
||||
}
|
||||
else if(strcmp(str, "Activate CM") == 0)
|
||||
{
|
||||
return NukiOpener::ButtonPressAction::ActivateCM;
|
||||
}
|
||||
else if(strcmp(str, "Deactivate CM") == 0)
|
||||
{
|
||||
return NukiOpener::ButtonPressAction::DectivateCM;
|
||||
}
|
||||
else if(strcmp(str, "Open") == 0)
|
||||
{
|
||||
return NukiOpener::ButtonPressAction::Open;
|
||||
}
|
||||
return (NukiOpener::ButtonPressAction)0xff;
|
||||
}
|
||||
|
||||
const Nuki::BatteryType NukiOpenerHelper::batteryTypeToEnum(const char* str)
|
||||
{
|
||||
if(strcmp(str, "Alkali") == 0)
|
||||
{
|
||||
return Nuki::BatteryType::Alkali;
|
||||
}
|
||||
else if(strcmp(str, "Accumulators") == 0)
|
||||
{
|
||||
return Nuki::BatteryType::Accumulators;
|
||||
}
|
||||
else if(strcmp(str, "Lithium") == 0)
|
||||
{
|
||||
return Nuki::BatteryType::Lithium;
|
||||
}
|
||||
return (Nuki::BatteryType)0xff;
|
||||
}
|
||||
|
||||
void NukiOpenerHelper::printCommandResult(Nuki::CmdResult result)
|
||||
{
|
||||
char resultStr[15];
|
||||
NukiOpener::cmdResultToString(result, resultStr);
|
||||
Log->println(resultStr);
|
||||
}
|
||||
17
src/util/NukiOpenerHelper.h
Normal file
17
src/util/NukiOpenerHelper.h
Normal file
@@ -0,0 +1,17 @@
|
||||
#pragma once
|
||||
#include "NukiOpener.h"
|
||||
|
||||
class NukiOpenerHelper
|
||||
{
|
||||
public:
|
||||
static const NukiOpener::LockAction lockActionToEnum(const char* str); // char array at least 24 characters
|
||||
static const Nuki::AdvertisingMode advertisingModeToEnum(const char* str);
|
||||
static const uint8_t fobActionToInt(const char *str);
|
||||
static const uint8_t operatingModeToInt(const char *str);
|
||||
static const uint8_t doorbellSuppressionToInt(const char *str);
|
||||
static const uint8_t soundToInt(const char *str);
|
||||
static const NukiOpener::ButtonPressAction buttonPressActionToEnum(const char* str);
|
||||
static const Nuki::BatteryType batteryTypeToEnum(const char* str);
|
||||
|
||||
static void printCommandResult(Nuki::CmdResult result);
|
||||
};
|
||||
Reference in New Issue
Block a user