@@ -75,6 +75,8 @@ DeviceAddress tempDeviceAddress;
7575
7676ADC_MODE (ADC_VCC );
7777
78+ const char *PARAM_MESSAGE PROGMEM = " message" ;
79+
7880// ----------------------------------------------------------------------
7981void saveConfigCallback ()
8082{
@@ -509,67 +511,51 @@ void setup()
509511 server.on (" /set" , HTTP_GET , [](AsyncWebServerRequest *request)
510512 {
511513 if (strlen (_settings.data .httpUser ) > 0 && !request->authenticate (_settings.data .httpUser , _settings.data .httpPass )) return request->requestAuthentication ();
512- AsyncWebParameter *p = request->getParam (0 );
513- if (p->name () == " chargefet" )
514- {
515- writeLog (" <WEBS> Webcall: charge fet to: %s" , p->value ());
516- if (p->value ().toInt () == 1 ){
517- bms.setChargeMOS (true );
518- bms.get .chargeFetState = true ;
519- }
520- if (p->value ().toInt () == 0 ){
521- bms.setChargeMOS (false );
522- bms.get .chargeFetState = false ;
523- }
524- }
525- if (p->name () == " dischargefet" )
526- {
527- writeLog (" <WEBS> Webcall: discharge fet to: %s" , p->value ());
528- if (p->value ().toInt () == 1 ){
529- bms.setDischargeMOS (true );
530- bms.get .disChargeFetState = true ;
531- }
532- if (p->value ().toInt () == 0 ){
533- bms.setDischargeMOS (false );
534- bms.get .disChargeFetState = false ;
535- }
536- }
537- if (p->name () == " soc" )
538- {
539- writeLog (" <WEBS> Webcall: setsoc SOC set to: %s" , p->value ());
540- if (p->value ().toInt () >= 0 && p->value ().toInt () <= 100 ){
541- bms.setSOC (p->value ().toInt ());
514+ String message;
515+
516+ if (request->hasParam (" chargefet" )) {
517+ message = request->getParam (" chargefet" )->value ();
518+ writeLog (" <WEBS> Webcall: charge fet to: %s" , message);
519+ bms.setChargeMOS ((message == " 1" ) ? true :false );
520+ bms.get .chargeFetState = (message == " 1" ) ? true :false ;
521+ }
522+ if (request->hasParam (" dischargefet" )) {
523+ message = request->getParam (" dischargefet" )->value ();
524+ writeLog (" <WEBS> Webcall: discharge fet to: %s" , message);
525+ bms.setDischargeMOS ((message == " 1" ) ? true :false );
526+ bms.get .disChargeFetState = (message == " 1" ) ? true :false ;
527+ }
528+ if (request->hasParam (" soc" )) {
529+ message = request->getParam (" soc" )->value ();
530+ writeLog (" <WEBS> Webcall: setsoc SOC set to: %s" , message);
531+ if (message.toInt () >= 0 && message.toInt () <= 100 ){
532+ bms.setSOC (message.toInt ());
542533 }
534+ }
535+ if (request->hasParam (" relais" )) {
536+ message = request->getParam (" relais" )->value ();
537+ writeLog (" <WEBS> Webcall: set relais to: %s" , message);
538+ relaisComparsionResult = (message == " 1" ) ? true :false ;
539+ }
540+ if (request->hasParam (" bmsreset" )) {
541+ message = request->getParam (" bmsreset" )->value ();
542+ if (message.toInt () == 1 ){
543+ writeLog (" <WEBS> Webcall: reset BMS" );
544+ bms.setBmsReset ();
543545 }
544- if (p->name () == " relais" )
545- {
546- writeLog (" <WEBS> Webcall: set relais to: %s" , p->value ());
547- if (p->value ().toInt () == 1 ){
548- relaisComparsionResult = true ;
549- }
550- if (p->value ().toInt () == 0 ){
551- relaisComparsionResult = false ;
552- }
546+ }
547+ if (request->hasParam (" bmswake" )) {
548+ message = request->getParam (" bmswake" )->value ();
549+ writeLog (" <WEBS> wakeup manual from Web" );
550+ if (message.toInt () == 1 ){
551+ wakeupHandler (true );
552+ writeLog (" <WEBS> wakeup manual from Web" );
553553 }
554- if (p->name () == " bmsreset" )
555- {
556- writeLog (" <WEBS> Webcall: reset BMS" );
557- if (p->value ().toInt () == 1 ){
558- bms.setBmsReset ();
559- }
560- }
561- if (p->name () == " bmswake" )
562- {
563- if (p->value ().toInt () == 1 ){
564- wakeupHandler (true );
565- writeLog (" <WEBS> wakeup manual from Web" );
566- }
567- }
568- if (p->name () == " ha" )
569- {
570- haDiscTrigger = true ;
571- }
572- request->send (200 , " text/plain" , " message received" ); });
554+ }
555+ if (request->hasParam (" ha" )) {
556+ haDiscTrigger = true ;
557+ }
558+ request->send (200 , " text/plain" , " message received" ); });
573559
574560 server.on (
575561 " /update" , HTTP_POST , [](AsyncWebServerRequest *request)
@@ -622,7 +608,7 @@ void setup()
622608 { request->send (418 , " text/plain" , " 418 I'm a teapot" ); });
623609
624610 // set the device name
625-
611+
626612 if (MDNS .begin (_settings.data .deviceName ))
627613 {
628614 writeLog (" <SYS > mDNS running..." );
@@ -651,7 +637,7 @@ void setup()
651637// end void setup
652638void loop ()
653639{
654- MDNS .update ();
640+ MDNS .update ();
655641 if (Update.isRunning ())
656642 {
657643 workerCanRun = false ; // lockout, atfer true need reboot
0 commit comments