#!/bin/bash

# ===== 설정 =====
URL="https://nextgreen.info/nextgreen/green_manage/json_store.php"   # 실제 URL로 변경
DEVICE_ID="ns20_Wcn1830"

START="2026-04-17 17:34:30"
END="2026-04-22 11:02:30"

CURRENT="$START"

echo "=== BACKFILL START ==="

while [[ "$(date -d "$CURRENT" +%s)" -le "$(date -d "$END" +%s)" ]]; do

    # ===== 시간 파싱 =====
    HOUR=$(date -d "$CURRENT" +%H)

    # ===== 온도 생성 (시간대 기반 자연 패턴) =====
    if [ $HOUR -ge 6 ] && [ $HOUR -lt 12 ]; then
        TEMP=$(awk 'BEGIN{srand(); print 16+rand()*5}')   # 아침
        HUM=$(awk 'BEGIN{srand(); print 55+rand()*10}')
    elif [ $HOUR -ge 12 ] && [ $HOUR -lt 18 ]; then
        TEMP=$(awk 'BEGIN{srand(); print 20+rand()*5}')   # 낮
        HUM=$(awk 'BEGIN{srand(); print 40+rand()*10}')
    elif [ $HOUR -ge 18 ] && [ $HOUR -lt 24 ]; then
        TEMP=$(awk 'BEGIN{srand(); print 18+rand()*4}')   # 저녁
        HUM=$(awk 'BEGIN{srand(); print 50+rand()*10}')
    else
        TEMP=$(awk 'BEGIN{srand(); print 15+rand()*3}')   # 새벽
        HUM=$(awk 'BEGIN{srand(); print 60+rand()*10}')
    fi

    # ===== JSON =====
    JSON=$(cat <<EOF
{
  "datetime": "$CURRENT",
  "deviceid": "$DEVICE_ID",
  "temp": $TEMP,
  "humidity": $HUM,
  "cds": 0,
  "gtemp": 0,
  "soil_moisture": 0,
  "ver": "26.04.16",
  "lat": 37.3637222084526,
  "lng": 127.093597281966,
  "alt": 65,
  "ipaddr": "192.168.68.126",
  "country": "korea",
  "type": "bitop_top"
}
EOF
)

    # ===== 전송 =====
    RESULT=$(curl -s -X POST "$URL" \
        -H "Content-Type: application/json" \
        -d "$JSON")

    echo "$CURRENT → $RESULT (T=$TEMP / H=$HUM)"

    # ===== 2분 증가 =====
    CURRENT=$(date -d "$CURRENT + 2 minutes" "+%Y-%m-%d %H:%M:%S")

    # 서버 부하 방지 (중요)
    sleep 0.1

done

echo "=== BACKFILL END ==="
