this is my python script to check the persistence service
import pymysql
# Datenbankverbindung herstellen
connection = pymysql.connect(
host='localhost', # Datenbank-Host
user='***', # Ihr MySQL-Benutzername
password='***',# Ihr MySQL-Passwort
database='***' # Der Name Ihrer Datenbank
)
try:
# Cursor für die Datenbankoperationen
with connection.cursor() as cursor:
# Zeitbereich definieren
start_time = '2025-01-12 11:00:00'
end_time = '2025-01-12 12:00:00'
# Tabellen mit der Spalte `time` finden
cursor.execute("""
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND COLUMN_NAME = 'time';
""")
tables = cursor.fetchall()
if not tables:
print("Keine Tabellen mit der Spalte 'time' gefunden.")
else:
# Ergebnisse sammeln
results = []
for (table_name,) in tables:
# Abfrage erstellen und ausführen
query = f"""
SELECT COUNT(*)
FROM {table_name}
WHERE `time` BETWEEN %s AND %s;
"""
cursor.execute(query, (start_time, end_time))
count = cursor.fetchone()[0]
# Nur Tabellen mit mehr als 60 Einträgen speichern
if count > 60:
results.append((table_name, count))
# Ergebnisse anzeigen
if results:
print("Tabellen mit mehr als 60 Einträgen im Zeitbereich:")
for table_name, count in results:
print(f"- Tabelle: {table_name}, Einträge: {count}")
else:
print("Keine Tabellen mit mehr als 60 Einträgen im Zeitbereich gefunden.")
finally:
# Verbindung schließen
connection.close()
than here is the screenshot from my database

set the timeframe between 16:00 and 17:00 (now its 16:44)
result is
python datatest.py
Tabellen mit mehr als 60 Einträgen im Zeitbereich:
than I put the line into the persitent file
*, !Time_House_DeyeLastFailure : strategy = everyChange, everyDay, restoreOnStartup
and result is (now its 16:48) the item gets updated very quick
python datatest.py
Tabellen mit mehr als 60 Einträgen im Zeitbereich:
- Tabelle: item0883, Einträge: 200
this is the complete file
Strategies {
everyMinute : "0 * * * * ?"
everyHour : "0 0 * * * ?"
everyDay : "0 0 0 * * ?"
default = everyChange
}
Items {
*: strategy = everyDay, restoreOnStartup
*, !Time_House_DeyeLastFailure : strategy = everyChange, everyDay, restoreOnStartup
Group_House_SumEnergy* : strategy = everyChange, everyDay, restoreOnStartup
Group_House_Climate* : strategy = everyChange, everyDay, restoreOnStartup
Group_House_TotalEnergy* : strategy = everyChange, everyDay, restoreOnStartup
Group_House_ActualPower* : strategy = everyChange, everyDay, restoreOnStartup
Group_House_Temperature* : strategy = everyChange, everyDay, restoreOnStartup
Group_House_Humidity* : strategy = everyChange, everyDay, restoreOnStartup
//number_grouphousetemperaturechartperiod : strategy = everyChange, everyDay, restoreOnStartup
//number_grouphousehumiditychartperiod : strategy = everyChange, everyDay, restoreOnStartup
//ChartPeriod_House_TotalEnergy : strategy = everyChange, everyDay, restoreOnStartup
switch_automation : strategy = everyChange, everyDay, restoreOnStartup
switch_Master : strategy = everyChange, everyDay, restoreOnStartup
Group_Timeline* : strategy = everyChange, everyDay, restoreOnStartup
number_haspplate01_sensor_gasresistor : strategy = everyChange, restoreOnStartup
number_airsensor1_co2 : strategy = everyChange, everyDay, restoreOnStartup
number_airsensor2_pm25 : strategy = everyChange, everyDay, restoreOnStartup
Energy_House_Deye_TotalEnergy: strategy = everyChange, everyDay, restoreOnStartup
gOWM_TimeSeries: strategy = everyChange, everyDay, restoreOnStartup, forecast
Sensor_Garden_Miflora1_Illuminance: strategy = everyChange, everyDay, restoreOnStartup
Miflora_Sensor2_Light: strategy = everyChange, everyDay, restoreOnStartup
Sensor_Garden_Miflora3_Illuminance: strategy = everyChange, everyDay, restoreOnStartup
}