Evita il salvataggio degli attributi (prezzi) nel recorder #101
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Con le versioni di Home Assistant 2023.10 e successive, consente di evitare il salvataggio degli attributi nel recoder per i sensori
FasciaPUNSensorEntity(orario fascia precedente e successiva),PrezzoZonaleSensorEntityePUNOrarioSensorEntity(prezzi orari di oggi e domani).Dato che i suddetti sensori comunque offrono il valore istantaneo, il recorder continuerà a memorizzare lo storico e visualizzarlo nel grafico; si risparmia però spazio (poco) per informazioni che non serve avere a medio/lungo termine.
Prima dell'applicazione di questa PR
A differenza di quanto scritto nelle uniche 2 discussioni sulla community di HA (questa e questa), nel database SQLite gli attributi vengono memorizzati nella tabella
state_attributesad ogni cambiamento degli stessi.In una mia istanza di test, attiva da qualche giorno, vi sono solo 24 voci, quindi lo spazio occupato non è poi così grande:
Sono 2000 caratteri (~ 2 kb) per memorizzare tutto un record, come si vede in 1️⃣, però sono solo 2 record per ogni giorno (si vede in 2️⃣) così come erano 2 record anche con i nomi
oggi_edomani_(3️⃣) precedenti all'applicazione di #96.Se osserviamo le differenze tra i due record, sono queste:
Praticamente la prima volta i prezzi del giorno successivo sono
null(vuoti) e la seconda invece vengono compilati. Questo succede perché supponendo che nel giornoXvi siano i prezzi di oggi e domani, alla mezzanotte il giorno diventaX+1quindi il domani diXdiventa oggi e pertanto rimangono vuoti i prezzi del "domani diX+1" (cioèX+2) finché non arriva l'ora per scaricarli, cioè al pomeriggio diX+1. 🧠 🔥Pertanto non vi sono molte voci duplicate nel database perché gli attributi in sé non cambiano se non queste 2 volte al giorno: la mezzanotte e nell'ora di scaricamento.
Tuttavia, essendo informazioni sostanzialmente inutili, non ha molto senso memorizzarle.
Dopo l'applicazione di questa PR
Metodo di test
Impostazioni > ⋮ > Riavvia Home Assistantstate_attributesRisultati del confronto
Il dump della tabella
state_attributesprima e dopo la modifica ha una dimensione che passa da 7.688 a 3.247 bytes.Le differenze si vedono qui sotto:
Conclusioni
Sostanzialmente la PR toglie tutto, inclusa l'icona, dal recoder; informazioni che non necessitano di essere salvate.