
ich habe gerade angefangen Python zu lernen, um meine Pflanzen besser im Blick zu haben

Das Auslesen des Datum, der Daten sowie die Beschriftung in der Konsole funktioniert schonmal ganz gut.
Ich habe auch eingefügt, dass die Daten welche ich auslese in eine CSV Datei übernimmt.
Der Aufbau sieht folgender Maßen aus:
Ich habe 5 kapazitive Bodefeuchtigkeitssensoren über einen AD-Wandler an meinem Raspberry angeschlossen.
Wenn ich das Python Script laufen lasse bekomme ich für jede Pflanze mit Datum und Uhrzeit meine Messwerte angezeigt ( 0 = nass 100 = trocken)
Soweit so gut, die Datenübernahme in die CSV-Datei funktioniert wunderbar aber......... nur wenn ich das Skript über Thonny direkt ausführe


Ich kann in der Shell sehen dass das Skript ausgeführt worden ist und die Daten angezeigt werden, aber der Export wird nicht getriggert
in die Shell schreibe ich
python /home/pi/Desktop/BF.py
darauf hin
Efeu,Basilikum,Gummibaum,Aloe Vera, Erde
<Datum>, 36,8,29,35,70()
Wenn ich drauf hin mit tail /home/pi/Desktop/Datenaufzeichnung.csv kontrolliere bzw manuell reinschaue ist sie leer

Aber wie gesagt, starte ich das Skript manuell sind die Daten in der CSV-Datei
Hab den Befehl python /home/pi/Desktop/BF.py auch schon mit sudo vorne dran versucht. => Bringt nix
Im Endeffekt war die Idee mit einem Crontab 20 * * * * python /home/pi/Desktop/BF.py die Datenübernahme zu starten was aber natürlich auch nicht geht.
Vielleicht hat jemand einen Denkanstoß bezüglich der Datenübernahme, damit ich wenigstens mal ein Problem erschlagen kann.
Die CSV Datei wird außerdem auch ordentlich mit With geschlossen.
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Der Code (BF.py)
from signal import signal, SIGTERM, SIGHUP, pause
from smbus import SMBus
from gpiozero import PWMLED
from time import sleep
import csv
import sys
import datetime
time = datetime.datetime.now()
bus = SMBus(1)
Pflanzen = ["Efeu","Basilikum", "Gummibaum", "Aloe Vera", "Erde"]
Wert = [0,0,0,0,0]
ads7830_commands = [0x84, 0xc4, 0x94, 0xd4, 0xa4, 0xe4, 0xb4, 0xf4]
def read_ads7830(input):
bus.write_byte(0x4b, ads7830_commands[input])
return bus.read_byte(0x4b)
print(Pflanzen[0] + "," + Pflanzen[1] + "," + Pflanzen[2] + "," + Pflanzen[3] + "," + Pflanzen[4])
def values(input):
for i in range(1):
sys.stdout.write(str(time) + " ,")
Wert[0] = read_ads7830(input)
sys.stdout.write(str(Wert[0]-107) +",")
Wert[1] = read_ads7830(input+1)
sys.stdout.write(str(Wert[1]-107) +",")
Wert[2] = read_ads7830(input+2)
sys.stdout.write(str(Wert[2]-107) +",")
Wert[3] = read_ads7830(input+3)
sys.stdout.write(str(Wert[3]-107) +",")
Wert[4] = read_ads7830(input+4)
sys.stdout.write(str(Wert[4]-107))
print()
with open('Datenaufzeichnung.csv', mode='a') as Datenaufzeichnung:
employee_writer = csv.writer(Datenaufzeichnung, delimiter=',', quoting=
csv.QUOTE_MINIMAL)
employee_writer.writerow([time, Wert[0]-107,Wert[1]-107,Wert[2]-107,Wert[3]-107,Wert[4]-107])
values(0)
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------