Progetto home Automation: Data persistence su OpenHAB con Raspberry Pi


Dopo aver installato OpenHAB, bisogna configurarlo per collegarsi a MySQL ed avere i dati memorizzati tutti in un database.
Forse questa per gli utilizzi iniziali non è una feature indispensabile ma per gli sviluppi futuri potrebbe riverlarsi necessaria… quindi cominciamo!

Installazione

# pacman -Syu mariadb
# mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
# systemctl enable mariadb
# systemctl start mariadb
# mysql_secure_installation

Ora dobbiamo creare il nuovo database, per farlo entriamo nella console mysql:
# mysql --user=root --password=ciccio
e da qui creiamo il nostro database e il relativo utente:
> CREATE SCHEMA openhab;
> CREATE USER openhab@localhost IDENTIFIED BY 'password';
> GRANT ALL PRIVILEGES ON openhab.* TO openhab@localhost;

Adesso che abbiamo configurato mysql dobbiamo configurare openhab per usarlo: andiamo su http://openhab_ip:8080/paperui/index.html#/inbox/search,
ora andiamo su addons->Persistence(in alto) e installiamo Persistence MariaDB, come nella foto in basso.

Ora andiamo su Configuration->Services->JDBC Persistence->Configure->Expert Mode->Add parameter e aggiungiamo i parametri come nell’immagine

Nota: su name va l’account del database, mentre su url va ‘ip_mysql/nome_db’

Adesso bisogna dire ad OpenHAB quanto spesso salvare i dati:
dal raspberry:

nano /srv/http/openhab2/conf/persistence/jdbc.persist

e aggiungiamo (configurazione iniziale da aggiustare in base ai propri utilizzi

// persistence strategies have a name and a definition and are referred to in the "Items" section
Strategies {
// if no strategy is specified for an item entry below,
// the default list will be used
everyMinute : "0 * * * * ?"
every5Minutes : "0 */5 * * * ?"
everyHour : "0 0 * * * ?"
everyDay : "0 0 0 * * ?"
default = everyChange
}
/*
* Each line in this section defines for which item(s) which strategy(ies) should be applied.
* You can list single items, use "*" for all items or "groupitem*" for all members of a group
* item (excl. the group item itself).
*/
Items {
// persist all items once a day and on every change and restore them from the db at startup
* : strategy = everyChange, everyDay, restoreOnStartup
// additionally, persist all temperature and weather values every hour
// gTemperatur* : strategy = every5Minutes, restoreOnStartup

Nota: la prima parte sono delle variabili che utiizziamo in seguito, mentre la seconda parte dice che valori e con che frequenza salvarli; poi ognuno potrà aggiustarli secondo le sue necessità 😉

Per questa parte è tutto, riavviate e il sistema sarà pronto a salvare i dati sul database!

Questa voce è stata pubblicata in Arch Linux, Home automation, raspberry pi e contrassegnata con , , , , , , , , , , , , , , , , , . Contrassegna il permalink.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...