Przechowywanie wartości danych w bazie danych MariaDB

Cześć. Nowy jestem w te klocki, więc problem chyba banalny. Chodzi o przechowywanie wartości i ich odzyskiwanie po zaniku zasilania. Zmienne standardowe nie wchodzą w grę chyba. Raczej jakaś baza danych.
Pomóżcie, jak to się robi.
Przykład - zimowe ustawienie wartości temperatury zadanej na zawodach kaloryferów. Gdzieś trzeba je przechowywać, żeby w lecie móc zawory zamknąć a w zimie wrócić do poprzednich nastaw.
Podobnie z np. sumowaniem dziennych wartości zużycia prądu, żeby mieć zużycie narastające.

Poczytaj o pomocnikach.

Dzięki wielkie. Ale lepsza jest jednak baza danych. Już to opanowałem.

I zachowasz dla Siebie?

1 Like

To rzecz na dłuższy artykuł. Na razie to jeszcze kończę. Ale masz rację - udostępnię

Edit:

No więc w skrócie tak:

  1. Zainstalowałem silnik bazy danych MariaDB
  2. Założyłem bazę
  3. W bazie mam tabelę taką oto:

    Pozycja restart to wartości stanów na urządzeniach ustawiane po restarcie. Ale szczerze to taka umowna nazwa, bo np. dla głowic kaloryferowych (zwanych “Temperatura - …” to wartość nastawy na głowicy. W lecie ustawiam tę wartość na 28, żeby głowica nie pracowała. Czyli w zimie muszę wrócić do ustawień zimowych głowic. Skąd wiem, że jest zima ? Różnie - wartość temperatury na zewnątrz i w budynku oraz takie ustawienie wydarzenia “LATO” w kalendarzu google.
  4. To teraz przychodzi zima i muszę ustawić temperatury na głowicach:

Mamy tu ustawienie zmiennej topic:

A node LOOP jest skonfigurowany tak:

A funkcja:
num1 = msg.a[msg.payload].restart;
msg.topic = “zigbee2mqtt/” + msg.a[msg.payload].adres + “/set”;
msg.payload = “{“current_heating_setpoint”: " + “”” + num1.toString() + “”" + “}”;
return msg;

I działa. Jakby co, to służę pomocą.
Oczywiście, jak chcecie zmieniać dane w bazie, to korzystacie z:
UPDATE tabela SET kolumna = wartość WHERE warunek