📅 17 Mei 2026  |  ⏱ 5 menit baca  |  👤 SUGENK WAVE

🔄 MQTT Keep Alive & Last Will

MQTTESP32KeepAliveLastWill

Dua fitur MQTT yang sering diabaikan padahal penting untuk proyek IoT serius: Keep Alive (biar koneksi stabil) dan Last Will (deteksi device offline).

Keep Alive — Cegah Koneksi Putus

Keep Alive adalah interval ping antara client dan broker. Jika broker tidak mendengar ping dalam waktu tertentu, koneksi dianggap mati.

PubSubClient client(espClient); client.setKeepAlive(30); // ping setiap 30 detik

Last Will — Deteksi Device Mati

Last Will adalah pesan yang otomatis dipublish broker jika client disconnect secara tidak normal (power loss, jaringan putus).

client.connect("ESP32", mqtt_user, mqtt_pass, "status/esp32", 1, true, "offline");

Implementasi Lengkap

void reconnect() { if (client.connect("ESP32", mqtt_user, mqtt_pass, "status/esp32", 1, true, "offline")) { client.publish("status/esp32", "online", true); client.subscribe("cmd/esp32"); } }
💡 Dengan Last Will, lo bisa tahu persis kapan ESP32 mati atau jaringan bermasalah. Status "offline" muncul otomatis di broker tanpa perlu nunggu timeout manual.