 {
   // Process RS-485 commands
   if (net.messageReceived()) {
-    if (net.assertCommand(PSTR((char*)pgm_read_word(&(str_alertPresent)))) || net.assertCommand(PSTR((char*)pgm_read_word(&(str_alarmPresent))))) {
+    if (net.assertCommand(PSTR("alertPresent")) || net.assertCommand(PSTR("alarmPresent"))) {
       if (alert.present) {
         if (alert.acknowledged) {
-          net.sendResponse(PSTR((char*)pgm_read_word(&(str_YES_Ack_ed))));
+          net.sendResponse(PSTR("YES, Ack'ed"));
         } else {
-          net.sendResponse(PSTR((char*)pgm_read_word(&(str_YES))));
+          net.sendResponse(PSTR("YES"));
         }
       } else {
-        net.sendResponse(PSTR((char*)pgm_read_word(&(str_NO))));
+        net.sendResponse(PSTR("NO"));
       }
-    } else if (net.assertCommand(PSTR((char*)pgm_read_word(&(str_alertReason))))) {
+    } else if (net.assertCommand(PSTR("alertReason"))) {
       net.sendResponse(alert.condition);
-    } else if (net.assertCommand(PSTR((char*)pgm_read_word(&(str_getDistance))))) {
+    } else if (net.assertCommand(PSTR("getDistance"))) {
       net.sendResponse(itoa(readDistance(), buf, 10));
-    } else if (net.assertCommand(PSTR((char*)pgm_read_word(&(str_getPressure))))) {
+    } else if (net.assertCommand(PSTR("getPressure"))) {
       net.sendResponse(itoa(readPressure(), buf, 10));
-    } else if (net.assertCommand(PSTR((char*)pgm_read_word(&(str_getBattVoltage))))) {
-      sprintf(buf, (char*)pgm_read_word(&(str_dmV)), readBatteryVoltage());
+    } else if (net.assertCommand(PSTR("getBattVoltage"))) {
+      sprintf(buf, "%dmV", readBatteryVoltage());
       net.sendResponse(buf);
-    } else if (net.assertCommand(PSTR((char*)pgm_read_word(&(str_getAcPumpOnTime))))) {
+    } else if (net.assertCommand(PSTR("getAcPumpOnTime"))) {
       if (acpump.currentlyOn) {
-        sprintf(buf, (char*)pgm_read_word(&(str_d)), acpump.onSeconds + (now() - acpump.switchOnTime));
+        sprintf(buf, "%d", acpump.onSeconds + (now() - acpump.switchOnTime));
       } else {
-        sprintf(buf, (char*)pgm_read_word(&(str_d)), acpump.onSeconds);
+        sprintf(buf, "%d", acpump.onSeconds);
       }
       net.sendResponse(buf);
-    } else if (net.assertCommand(PSTR((char*)pgm_read_word(&(str_getLastSelfTest))))) {
+    } else if (net.assertCommand(PSTR("getLastSelfTest"))) {
       sendSelfTestResponse();
-    } else if (net.assertCommand(PSTR((char*)pgm_read_word(&(str_forceAlert))))) {
-      raiseAlert(ExternallyForced, PSTR((char*)pgm_read_word(&(str_Force_command))));
-      net.sendResponse(PSTR((char*)pgm_read_word(&(str_OK))));
-    } else if (net.assertCommand(PSTR((char*)pgm_read_word(&(str_resetAlert))))) {
+    } else if (net.assertCommand(PSTR("forceAlert"))) {
+      raiseAlert(ExternallyForced, PSTR("Force command"));
+      net.sendResponse(PSTR("OK"));
+    } else if (net.assertCommand(PSTR("resetAlert"))) {
       resetAlert();
-      net.sendResponse(PSTR((char*)pgm_read_word(&(str_OK))));
-    } else if (net.assertCommand(PSTR((char*)pgm_read_word(&(str_startSelfTest))))) {
+      net.sendResponse(PSTR("OK"));
+    } else if (net.assertCommand(PSTR("startSelfTest"))) {
       dcSelfTestStart();
-      net.sendResponse(PSTR((char*)pgm_read_word(&(str_OK))));
-    } else if (net.assertCommandStarts(PSTR((char*)pgm_read_word(&(str_set))), buf)) {
+      net.sendResponse(PSTR("OK"));
+    } else if (net.assertCommandStarts(PSTR("set"), buf)) {
       processSetCommands();
-    } else if (net.assertCommand(PSTR((char*)pgm_read_word(&(str_debug))))) {
+    } else if (net.assertCommand(PSTR("debug"))) {
       sendDebugResponse();
     } else {
-      net.sendResponse(PSTR((char*)pgm_read_word(&(str_Unrecognized_command))));
+      net.sendResponse(PSTR("Unrecognized command"));
     }
   }
   

// Write to the configuration when we receive new parameters
void processSetCommands()
{
  if (net.assertCommandStarts(PSTR((char*)pgm_read_word(&(str_setAlertBatteryVoltage))), buf)) {
    unsigned int tmp = strtol(buf, NULL, 10);
    if (tmp > 9000 && tmp < 15000) {
      conf.alertBatteryVoltage = tmp;
      saveConfig();
      net.sendResponse(PSTR((char*)pgm_read_word(&(str_OK))));
    } else {
      net.sendResponse(PSTR((char*)pgm_read_word(&(str_ERROR))));
    }
  } else if (net.assertCommandStarts(PSTR((char*)pgm_read_word(&(str_setAlertWaterLevel))), buf)) {
    int tmp = strtol(buf, NULL, 10);
    if (tmp > -100 && tmp < 100) {
      conf.alertWaterLevel = tmp;
      saveConfig();
      net.sendResponse(PSTR((char*)pgm_read_word(&(str_OK))));
    } else {
      net.sendResponse(PSTR((char*)pgm_read_word(&(str_ERROR))));
    }
  } else if (net.assertCommandStarts(PSTR((char*)pgm_read_word(&(str_setBaudRate))), buf)) {
    long tmp = strtol(buf, NULL, 10);
    // Supported: 9600, 14400, 19200, 28800, 38400, 57600, or 115200
    if (tmp == 9600 ||

  // Check if AC pump was on for too long
  if (currentlyOn) {
    if ((now() - acpump.switchOnTime) > conf.acPumpOnTimeWarning) {
      raiseAlert(AcPumpOverload, PSTR("AC pump ON for too long"));
    }
  }
  
