add IPC command to modify device info on the server.

This commit is contained in:
Martin Preuss
2023-10-02 23:22:59 +02:00
parent 043541f936
commit 253b3862da
12 changed files with 504 additions and 11 deletions

View File

@@ -298,31 +298,70 @@ void Utils_PrintMeanData(const uint64_t *dataPoints, uint32_t numValues, const c
void Utils_PrintDevice(const AQH_DEVICE *device)
void Utils_PrintDevice(const AQH_DEVICE *device, int printHeader)
{
GWEN_TIMESTAMP *ts;
uint64_t deviceId;
const char *deviceName;
const char *deviceNameForSystem;
const char *deviceNameForGui;
const char *roomName;
const char *location;
const char *description;
uint64_t timestamp;
deviceId=AQH_Device_GetId(device);
deviceName=AQH_Device_GetNameForSystem(device);
deviceNameForSystem=AQH_Device_GetNameForSystem(device);
deviceNameForGui=AQH_Device_GetNameForGui(device);
roomName=AQH_Device_GetRoomName(device);
location=AQH_Device_GetLocation(device);
description=AQH_Device_GetDescription(device);
timestamp=AQH_Device_GetTimestampCreation(device);
ts=timestamp?GWEN_Timestamp_fromLocalTime((time_t) timestamp):NULL;
if (printHeader)
fprintf(stdout, "ID\tName\tCreation Date\tGUI Name\tRoom\tLocation\tDescription\n");
if (ts)
fprintf(stdout, "%lu\t%s\t%04d/%02d/%02d-%02d:%02d:%02d\n",
fprintf(stdout, "%lu\t%s\t%04d/%02d/%02d-%02d:%02d:%02d\t%s\t%s\t%s\t%s\n",
deviceId,
deviceName,
deviceNameForSystem,
GWEN_Timestamp_GetYear(ts),
GWEN_Timestamp_GetMonth(ts),
GWEN_Timestamp_GetDay(ts),
GWEN_Timestamp_GetHour(ts),
GWEN_Timestamp_GetMinute(ts),
GWEN_Timestamp_GetSecond(ts));
GWEN_Timestamp_GetSecond(ts),
deviceNameForGui?deviceNameForGui:"",
roomName?roomName:"",
location?location:"",
description?description:"");
else
fprintf(stdout, "%lu\t%s\t\n",
fprintf(stdout, "%lu\t%s\t\t%s\t%s\t%s\t%s\n",
deviceId,
deviceName);
deviceNameForSystem,
deviceNameForGui?deviceNameForGui:"",
roomName?roomName:"",
location?location:"",
description?description:"");
}
AQH_DEVICE *Utils_DeviceFromArgs(GWEN_DB_NODE *dbArgs)
{
AQH_DEVICE *device;
device=AQH_Device_new();
AQH_Device_SetNameForSystem(device, GWEN_DB_GetCharValue(dbArgs, "device", 0, NULL));
AQH_Device_SetNameForGui(device, GWEN_DB_GetCharValue(dbArgs, "nameForGui", 0, NULL));
AQH_Device_SetRoomName(device, GWEN_DB_GetCharValue(dbArgs, "roomName", 0, NULL));
AQH_Device_SetLocation(device, GWEN_DB_GetCharValue(dbArgs, "location", 0, NULL));
AQH_Device_SetDescription(device, GWEN_DB_GetCharValue(dbArgs, "description", 0, NULL));
return device;
}