Fork of the espurna firmware for `mhsw` switches
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

20 lines
602 B

Terminal: change command-line parser (#2247) Change the underlying command line handling: - switch to a custom parser, inspired by redis / sds - update terminalRegisterCommand signature, pass only bare minimum - clean-up `help` & `commands`. update settings `set`, `get` and `del` - allow our custom test suite to run command-line tests - clean-up Stream IO to allow us to print large things into debug stream (for example, `eeprom.dump`) - send parsing errors to the debug log As a proof of concept, introduce `TERMINAL_MQTT_SUPPORT` and `TERMINAL_WEB_API_SUPPORT` - MQTT subscribes to the `<root>/cmd/set` and sends response to the `<root>/cmd`. We can't output too much, as we don't have any large-send API. - Web API listens to the `/api/cmd?apikey=...&line=...` (or PUT, params inside the body). This one is intended as a possible replacement of the `API_SUPPORT`. Internals introduce a 'task' around the AsyncWebServerRequest object that will simulate what WiFiClient does and push data into it continuously, switching between CONT and SYS. Both are experimental. We only accept a single command and not every command is updated to use Print `ctx.output` object. We are also somewhat limited by the Print / Stream overall, perhaps I am overestimating the usefulness of Arduino compatibility to such an extent :) Web API handler can also sometimes show only part of the result, whenever the command tries to yield() by itself waiting for something. Perhaps we would need to create a custom request handler for that specific use-case.
4 years ago
  1. #define SENSOR_SUPPORT 1
  2. #define INFLUXDB_SUPPORT 1
  3. #define KINGART_CURTAIN_SUPPORT 1
  4. #define LLMNR_SUPPORT 1
  5. #define MDNS_CLIENT_SUPPORT 1
  6. #define NETBIOS_SUPPORT 1
  7. #define NOFUSS_SUPPORT 1
  8. #define OTA_MQTT_SUPPORT 1
  9. #define RFM69_SUPPORT 1
  10. #define RPN_RULES_SUPPORT 1
  11. #define SSDP_SUPPORT 1
  12. #define UART_MQTT_SUPPORT 1
  13. #define TERMINAL_WEB_API_SUPPORT 1
  14. #define TERMINAL_MQTT_SUPPORT 1
  15. #define PROMETHEUS_SUPPORT 1
  16. #define RFB_SUPPORT 1
  17. #define RFB_PROVIDER RFB_PROVIDER_RCSWITCH
  18. #define MCP23S08_SUPPORT 1
  19. #define BUTTON_PROVIDER_ANALOG_SUPPORT 1
  20. #define BUTTON_PROVIDER_ITEAD_SONOFF_DUAL_SUPPORT 1