#ifndef HEART_PAYLOAD_H
#define HEART_PAYLOAD_H

#include <stdbool.h>

/** 设备 → 手机，经 BLE 0xFFE3 / MQTT 下发的 message_type */
#define HEART_MSG_TYPE_HEARTBEAT   1
/** 告警日志（W），body.msg 为文本 */
#define HEART_MSG_TYPE_LOG_WARN    4
/** 错误日志（E），body.msg 为文本 */
#define HEART_MSG_TYPE_LOG_ERROR   5

/**
 * 构造心跳 JSON（head.message_type = HEART_MSG_TYPE_HEARTBEAT）。
 *
 * body：device_ID、version、voltage；include_ip 为 true 时带 ip。
 */
char *heart_payload_json_malloc(const char *device_id, const char *sta_ip, bool include_ip);

/**
 * 构造告警/错误 JSON，经 0xFFE3 Notify 即时推送（与周期心跳同特征值）。
 *
 * @param message_type HEART_MSG_TYPE_LOG_WARN 或 HEART_MSG_TYPE_LOG_ERROR
 * @param msg          日志正文（可为 ESP_LOG 行内冒号后的内容）
 */
char *heart_payload_alert_json_malloc(int message_type, const char *msg);

#endif
