misc.ino 804 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. unsigned long lastRun = 0;
  2. int count100ms = 0;
  3. int countSeconds = 0;
  4. void checkMillis() {
  5. if ( (millis() - lastRun) > 100 ) {
  6. lastRun = millis();
  7. every100ms();
  8. }
  9. }
  10. void every100ms() {
  11. if (count100ms < 10) count100ms++;
  12. else {
  13. count100ms = 0;
  14. everySecond();
  15. }
  16. checkSaveConfigTriggered();
  17. relais_handleImpulseTimeout();
  18. }
  19. void everySecond() {
  20. if (countSeconds < 60) countSeconds++;
  21. else {
  22. countSeconds = 0;
  23. everyMinute();
  24. }
  25. checkUseDomoticz();
  26. }
  27. void everyMinute() {
  28. publishStatus();
  29. }
  30. void publishStatus() {
  31. char outMsg[60];
  32. long upTime = millis() / 1000;
  33. sprintf(outMsg, "connected, reconnects: %d, uptime: %d, free heap: %d", mqttReconnects - 1, upTime, ESP.getFreeHeap());
  34. mqttclient.publish(mqtt_topic_out, outMsg, mqtt_outRetain);
  35. }