feat: 新设备自动创建设备信息
This commit is contained in:
parent
1d3072d878
commit
78749dffa6
|
@ -58,16 +58,43 @@ def on_message(client, userdata, message):
|
|||
|
||||
def update_device_info(device_id: str, post_data: Dict):
|
||||
device = DeviceInfo.objects.filter(device_id=device_id).first()
|
||||
if device:
|
||||
device.load = to_string(post_data, power_type=PowerType.Load)
|
||||
device.storage_battery = to_string(post_data, power_type=PowerType.StorageBattery)
|
||||
device.solar_panels = to_string(post_data, power_type=PowerType.SolarPanels)
|
||||
device.ac_power = to_string(post_data, power_type=PowerType.ACPower)
|
||||
device.dc_power = to_string(post_data, power_type=PowerType.DCPower)
|
||||
device.count = post_data['count']
|
||||
device.signal = post_data['signal']
|
||||
device.led_status = post_data['RemoteLEDlightingFixtures']['LED']
|
||||
device.energy = post_data['quantityofelectricity']
|
||||
latitude, longitude = post_data['positioning'].split(',')
|
||||
latitude = float(latitude.replace('N ', ''))
|
||||
longitude = float(longitude.replace('E ', ''))
|
||||
|
||||
count = post_data['count']
|
||||
signal = post_data['signal']
|
||||
led_status = post_data['RemoteLEDlightingFixtures']['LED']
|
||||
energy = post_data['quantityofelectricity']
|
||||
load = to_string(post_data, power_type=PowerType.Load)
|
||||
storage_battery = to_string(post_data, power_type=PowerType.StorageBattery)
|
||||
solar_panels = to_string(post_data, power_type=PowerType.SolarPanels)
|
||||
ac_power = to_string(post_data, power_type=PowerType.ACPower)
|
||||
dc_power = to_string(post_data, power_type=PowerType.DCPower)
|
||||
if device is None:
|
||||
DeviceInfo.objects.create(device_id=device_id,
|
||||
longitude=longitude,
|
||||
latitude=latitude,
|
||||
count=count,
|
||||
signal=signal,
|
||||
led_status=led_status,
|
||||
energy=energy,
|
||||
load=load,
|
||||
storage_battery=storage_battery,
|
||||
solar_panels=solar_panels,
|
||||
ac_power=ac_power,
|
||||
dc_power=dc_power,
|
||||
org_id=1,)
|
||||
else:
|
||||
device.load = load
|
||||
device.storage_battery = storage_battery
|
||||
device.solar_panels = solar_panels
|
||||
device.ac_power = ac_power
|
||||
device.dc_power = dc_power
|
||||
device.count = count
|
||||
device.signal = signal
|
||||
device.led_status = led_status
|
||||
device.energy = energy
|
||||
device.save()
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue