Hallo liebe Community,
ich bin auf ein Problem gestoßen bei dem ich keine Lösung finde.
In meiner HA-Datenbank befinden sich fehlerhafte Werte (Null) die mir meine Graphen unschön aussehen lassen.
Gerne möchte ich diese Werte löschen. Ganz konkret geht es um einen Sensorwert mit dem Namen „sensor.jan_weight“. Leider überträgt meine Waage ab und zu einen Nullwert in HA.
Diese Werte würde ich gerne löschen.
Um mir die Werte anzeigen zu lassen habe ich folgende SQL-Abfrage ausgeführt:
SELECT states.*
FROM states LEFT JOIN states_meta ON states.metadata_id=states_meta.metadata_id
WHERE states_meta.entity_id = 'sensor.jan_weight' AND state < 50
Mit dieser Abfrage erhalte ich die Einträge mit dem Null Wert und alle Werte unter 50Kg.
Diese Werte sollen gelöscht warden. Dafür habe ich folgendes SQL-Script geschrieben. Der Wert “metadata_id” = 9922 entspricht dem Sensor “sensor.jan_weight“:
DELETE
FROM states
WHERE metadata_id = 9922 and state < 50
Damit erhalte ich folgende Fehlermedung:
SQL-Fehler (1451): Cannot delete or update a parent row: a foreign key constraint fails (`homeassistant`.`states`, CONSTRAINT `states_ibfk_2` FOREIGN KEY (`old_state_id`) REFERENCES `states` (`state_id`)) */
Ich habe soweit verstanden, dass das Problem mit verknüpften Tabellen zusammenhängt.
Die Informationen die ich bisher darüber in Google gefunden haben mir nicht weitergeholfen. Entweder verstehe ich die Lösung nicht oder die Lösung passt nicht zu meiner Anforderung nur einzelne Werte zu löschen.
Gibt es einen anderen Weg einzelne Sensor-Daten aus HA (idealerweise per Script) zu löschen?