Ich versuche mit folgendem Python Script Daten in meine Postgres Datenbank zu schreiben. Ich weiss der Code kann noch verbessert werden und daran arbeite ich auch noch.
Code: Alles auswählen
from datetime import datetime
import psycopg2
import serial
db_connect = psycopg2.connect(user="xxxxx", password="xxxxxxx", host="1xxxxx", port="xxxxx",
database="mydb")
read_arduino = serial.Serial('/dev/ttyACM3', 9600)
db_curser = db_connect.cursor()
while True:
data_arduino = read_arduino.readline()
data_arduino_dec = data_arduino.decode("UTF8")
data_arduino_dec_split = data_arduino_dec.split(",")
returns_temp_name = data_arduino_dec_split[0]
returns_temp_value = data_arduino_dec_split[1]
leader_temp_value = data_arduino_dec_split[3]
living_temp_value = data_arduino_dec_split[5]
time_s = datetime.now().timestamp()
# Insert Value temperatur leader and returns in Database
db_curser.execute(f"INSERT INTO my_smart_home(sensor_name, sensor_value, time_s)"
f"VALUES({str(returns_temp_name)}," f"{float(returns_temp_value)}, {time_s})")
db_connect.commit()
Nun ist das Problem, dass ich vom Python folgende Fehlermeldung erhalte:
", line 22, in <module>
db_curser.execute(f"INSERT INTO my_smart_home(sensor_name, sensor_value, time_s)"
psycopg2.ProgrammingError: column "returns_temp" does not exist
LINE 1: ...art_home(sensor_name, sensor_value, time_s)VALUES(returns_te..."
Die Column "returns_temp" ist keine column sondern der name des Sensors und dieser soll in die Column sensor_name geschrieben werden.
Kann mir jemand helfen und sagen was ich falsch mache?
Besten Dank und Gruss
^