UPDATE
This commit is contained in:
@@ -0,0 +1,92 @@
|
||||
import uuid
|
||||
|
||||
from django.db import transaction
|
||||
|
||||
from account.seeds import seed_admin_user
|
||||
|
||||
from .models import Sensor
|
||||
|
||||
|
||||
ADMIN_SENSOR_UUID = uuid.UUID("11111111-1111-1111-1111-111111111111")
|
||||
ADMIN_SENSOR_DATA = {
|
||||
"name": "Admin Smart Farm Sensor",
|
||||
"is_active": True,
|
||||
"specifications": {
|
||||
"model": "CL-SENSE-PRO-X",
|
||||
"firmware": "2.4.1",
|
||||
"manufacturer": "CropLogic",
|
||||
"serial_number": "CL-ADMIN-0001",
|
||||
"capabilities": [
|
||||
"temperature",
|
||||
"humidity",
|
||||
"soil_moisture",
|
||||
"soil_temperature",
|
||||
"light_intensity",
|
||||
"ph",
|
||||
"ec",
|
||||
"wind_speed",
|
||||
],
|
||||
"connectivity": {
|
||||
"protocol": "LoRaWAN",
|
||||
"sim_enabled": True,
|
||||
"bluetooth": True,
|
||||
"wifi_fallback": True,
|
||||
},
|
||||
"location": {
|
||||
"label": "Admin Demo Field",
|
||||
"lat": 35.6892,
|
||||
"lng": 51.389,
|
||||
"altitude_m": 1190,
|
||||
},
|
||||
},
|
||||
"power_source": {
|
||||
"type": "hybrid",
|
||||
"battery": {
|
||||
"capacity_mah": 12000,
|
||||
"voltage": 12,
|
||||
"health_percent": 98,
|
||||
},
|
||||
"solar": {
|
||||
"panel_watt": 40,
|
||||
"controller": "MPPT",
|
||||
},
|
||||
"backup": "dc_adapter",
|
||||
},
|
||||
"customized_sensors": {
|
||||
"thresholds": {
|
||||
"temperature_c": {"min": 10, "max": 36},
|
||||
"humidity_percent": {"min": 30, "max": 85},
|
||||
"soil_moisture_percent": {"min": 25, "max": 70},
|
||||
"ph": {"min": 5.8, "max": 7.2},
|
||||
"ec_ds_m": {"min": 1.1, "max": 2.4},
|
||||
},
|
||||
"report_interval_sec": 300,
|
||||
"alerts": {
|
||||
"sms": True,
|
||||
"email": True,
|
||||
"push": True,
|
||||
},
|
||||
"calibration": {
|
||||
"last_calibrated_at": "2025-03-01T08:30:00Z",
|
||||
"technician": "system",
|
||||
"status": "passed",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@transaction.atomic
|
||||
def seed_admin_sensor():
|
||||
owner, _ = seed_admin_user()
|
||||
sensor, created = Sensor.objects.update_or_create(
|
||||
uuid_sensor=ADMIN_SENSOR_UUID,
|
||||
defaults={
|
||||
"owner": owner,
|
||||
"name": ADMIN_SENSOR_DATA["name"],
|
||||
"is_active": ADMIN_SENSOR_DATA["is_active"],
|
||||
"specifications": ADMIN_SENSOR_DATA["specifications"],
|
||||
"power_source": ADMIN_SENSOR_DATA["power_source"],
|
||||
"customized_sensors": ADMIN_SENSOR_DATA["customized_sensors"],
|
||||
},
|
||||
)
|
||||
return sensor, created
|
||||
Reference in New Issue
Block a user