Fix: Convert boolean relay values to integer for MySQL database
- Fixed relay status saving issue where all relays showed 0 in database - Added explicit boolean to integer conversion (true->1, false->0) - Applied to relay1, relay2, relay3, relay4 columns - MySQL BOOLEAN columns are stored as TINYINT(1) requiring numeric values
This commit is contained in:
parent
bee56e2cd0
commit
ef9a79df9e
|
|
@ -147,6 +147,12 @@ async function insertSensorData(data) {
|
||||||
mysqlTimestamp = date.toISOString().slice(0, 19).replace('T', ' ');
|
mysqlTimestamp = date.toISOString().slice(0, 19).replace('T', ' ');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Convert boolean to integer (1 or 0) for MySQL
|
||||||
|
const relay1 = data.relay1 ? 1 : 0;
|
||||||
|
const relay2 = data.relay2 ? 1 : 0;
|
||||||
|
const relay3 = data.relay3 ? 1 : 0;
|
||||||
|
const relay4 = data.relay4 ? 1 : 0;
|
||||||
|
|
||||||
const [result] = await pool.query(
|
const [result] = await pool.query(
|
||||||
`INSERT INTO sensor_data (suhu, berat, target, relay1, relay2, relay3, relay4, status, timestamp)
|
`INSERT INTO sensor_data (suhu, berat, target, relay1, relay2, relay3, relay4, status, timestamp)
|
||||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`,
|
||||||
|
|
@ -154,10 +160,10 @@ async function insertSensorData(data) {
|
||||||
data.suhu || 0,
|
data.suhu || 0,
|
||||||
data.berat || 0,
|
data.berat || 0,
|
||||||
data.target || 0,
|
data.target || 0,
|
||||||
data.relay1 || false,
|
relay1,
|
||||||
data.relay2 || false,
|
relay2,
|
||||||
data.relay3 || false,
|
relay3,
|
||||||
data.relay4 || false,
|
relay4,
|
||||||
data.status || 'DISCONNECTED',
|
data.status || 'DISCONNECTED',
|
||||||
mysqlTimestamp
|
mysqlTimestamp
|
||||||
]
|
]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue