ich bin neu in diesem Forum und möchte erstmal alle mit einen herzlichen "servas griaß eich" begrüßen

Ich habe folgendes Problem:
In Zeile 108 bekomme ich ein "AttributeError: 'NoneType' object has no attribute 'get' und ich habe keinen Dunst warum.
Das ganze soll (ja ich weiß, ist schon ein wenig abgedroschen) eine Bewässerungssteuerung mit zukünfitg tag- und zeitabhängen Relays werden.
Um das ganze zu speicher, schreibe ich in texfiles raus...in der func "safevar" erhalte ich dann den fehler...
Hier der Code mit der Bitte um HIIIILLFEEEEEE:
import sys
import tkinter as tk
from datetime import date
import time
import schedule
heute = date.today()
print (heute.weekday())
print (("Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag")[heute.weekday()])
import datetime
heute = datetime.datetime.today()
strheute = '{:%H:%M}'.format(heute)
print (strheute)
print(type(strheute))
HEIGHT = 300
WIDTH = 700
root = tk.Tk()
canvas = tk.Canvas(root, height=HEIGHT, width=WIDTH)
canvas.pack()
frame = tk.Frame(root, bg='gray')
frame.place(relx=0.01, relheight=0.98, relwidth=0.98)
lable_starttime = tk.StringVar()
tk.Label(frame, bg='gray', textvariable=lable_starttime).grid(row=1, column=2)
lable_stoptime = tk.StringVar()
tk.Label(frame, bg='gray', textvariable=lable_stoptime).grid(row=2, column=2)
lable_today = tk.StringVar()
tk.Label(frame, bg='gray', textvariable=lable_today).grid(row=9, column=0)
#lable_today.set(("Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag")[heute.weekday()])
#Auswahl der zu bewassernden Tage
global ckmo
ckmo = tk.StringVar()
tk.Checkbutton(frame, text="montag", variable=ckmo, bg='gray').grid(row=0, column=0)
global ckdi
ckdi = tk.StringVar()
tk.Checkbutton(frame, text="dienstag", variable=ckdi, bg='gray').grid(row=0, column=1)
global ckmi
ckmi = tk.StringVar()
tk.Checkbutton(frame, text="mittwoch", variable=ckmi, bg='gray').grid(row=0, column=2)
global ckdo
ckdo = tk.StringVar()
tk.Checkbutton(frame, text="donnerstag", variable=ckdo, bg='gray').grid(row=0, column=3)
global ckfr
ckfr = tk.StringVar()
tk.Checkbutton(frame, text="freitag", variable=ckfr, bg='gray').grid(row=0, column=4,)
global cksa
cksa = tk.StringVar()
tk.Checkbutton(frame, text="samstag", variable=cksa, bg='gray').grid(row=0, column=5)
global ckso
ckso = tk.StringVar()
tk.Checkbutton(frame, text="sonntag", variable=ckso, bg='gray').grid(row=0, column=6)
tk.Label(frame, text="start:", bg='gray').grid(row=1, column=0)
tk.Label(frame, text="stop:", bg='gray').grid(row=2, column=0)
#Eingabe der Start/Stop Zeiten
starttime = tk.Entry(frame).grid(row=1, column=1)
stoptime = tk.Entry(frame).grid(row=2, column=1)
print(str(ckmo.get()))
#Liest die aktuellen Bewasserungstage aus Textfile aus
def get_timer_states():
#print("\nKreis:" + str(rbv.get()))
i = str(rbv.get())
with open("textdatei" + i + ".txt", "r") as f:
data = f.read().splitlines()
#print(data[0])
a = str(data[0])
ckmo.set(a[0])
ckdi.set(a[1])
ckmi.set(a[2])
ckdo.set(a[3])
ckfr.set(a[4])
cksa.set(a[5])
ckso.set(a[6])
lable_starttime.set(' Aktuelle Starzeit: ' + str(data[1]))
lable_stoptime.set(' Aktuelle Stopzeit: ' + str(data[2]))
#Wählt den jeweiligen Bewasserungskreis aus
rbv = tk.StringVar()
button_k1 = tk.Radiobutton(frame, text='Kreis 1', bg='lightgray', variable=rbv, value=1, command=get_timer_states).grid(row=1, column=10)
button_k2 = tk.Radiobutton(frame, text='Kreis 2', bg='lightgray', variable=rbv, value=2, command=get_timer_states).grid(row=2, column=10)
button_k3 = tk.Radiobutton(frame, text='Kreis 3', bg='lightgray', variable=rbv, value=3, command=get_timer_states).grid(row=3, column=10)
button_k4 = tk.Radiobutton(frame, text='Kreis 4', bg='lightgray', variable=rbv, value=4, command=get_timer_states).grid(row=4, column=10)
button_k5 = tk.Radiobutton(frame, text='Kreis 5', bg='lightgray', variable=rbv, value=5, command=get_timer_states).grid(row=5, column=10)
button_k6 = tk.Radiobutton(frame, text='Kreis 6', bg='lightgray', variable=rbv, value=6, command=get_timer_states).grid(row=6, column=10)
button_k7 = tk.Radiobutton(frame, text='Kreis 7', bg='lightgray', variable=rbv, value=7, command=get_timer_states).grid(row=7, column=10)
button_k8 = tk.Radiobutton(frame, text='Kreis 8', bg='lightgray', variable=rbv, value=8, command=get_timer_states).grid(row=8, column=10)
#Speichert die eingegebenen Daten (Kreis, Tag, Start/Stop) in ein Textfile
def safevar():
d = [[ckmo.get(), ckdi.get(), ckmi.get(), ckdo.get(), ckfr.get(), cksa.get(), ckso.get()], [starttime.get()], [stoptime.get()]]
i = rbv.get()
with open("textdatei" + i + ".txt", "w") as f:
for line in d:
f.write("".join(line) + "\n")
button_safe = tk.Button(frame, text='speichern', bg='lightgray', bd=1, command=safevar)
button_safe.grid(row=3, column=0)
root.mainloop()