lunedì 14 marzo 2022

Rule Tasmota - I confronti


Ne avevo parlato già nell'articolo introduttivo "Tasmota - Perchè ampliare il firmware" per il supporto alla matematica "di base" utile per fare dei confronti e nulla più. Ma potendo fare dei confronti si aprono delle possibilità decisamente interessanti!

Rivediamo i concetti di base

Nel post "Rule Tasmota - Introduzione alle ruleavevo introdotto brevemente l'argomento, parlando degli operatori matematici presenti.

Rispolveriamo il concetto di base andando nuovamente a vedere quasi sono e cosa fanno gli operatori presenti:

= uguale a

Si usa per confrontare delle stringhe di dati e non i valori numerici

== uguale a

Si usa per confrontare valori numerici e non delle stringhe di dati 

> maggiore di

< minore di

!= diverso da

>= maggiore o uguale a

<= minore o uguale a

| diviso

Si usa solo per le divisioni esatte, non viene quindi tenuto conto del resto

Con questo set di strumenti matematici possiamo già fare diverse cose interessanti, in accoppiata con i trigger che abbiamo visto poco tempo fa nel post "Rule Tasmota - Sintassi dei trigger".

Una breve introduzione la avevo data con questa Rule :

ON Power1#state=0 DO status 5 ENDON

Ovvero "se relè 1 ha il carico uguale a zero esegui Status 5".

Avevo poi ampliato la cosa rendendo più specifica la Rule anche per coinvolgere l'accensione del carico :

ON Power1#state=0 DO status 5 ENDON ON Power1#state=1 DO status 1 ENDON

Ovvero "se relè 1 ha il carico uguale a zero esegui Status 5, se il relè 1 ha il carico uguale a uno esegui Status 1".

Potremo, però, cambiare la Rule sopra in questo modo :

ON Power1#state=0 DO status 5 ENDON ON Power1#state!=0 DO status 1 ENDON

In questo caso vuol dire "se relè 1 ha il carico uguale a zero esegui Status 5, se il relè 1 ha il carico diverso da zero esegui Status 1".

Roba semplice e veloce, no?

Ma se andiamo a coinvolgere un sensore?

Lanciamo intanto uno Status 8 per vedere con che sensore abbiamo a che fare :

{"StatusSNS":{"Time":"2022-03-10T19:01:32","SI7021":{"Temperature":26.3,"Humidity":78.1},"TempUnit":"C"}}


Ok, il sensore quindi è un SI7021 ed i trigger sono la temperatura e l'umidità.

La Rule quindi potrebbe essere questa :

ON SI7021#Temperature>25 DO Power=1 ENDON

Ovvero, se la temperatura è maggiore di 25 accendi il carico collegato al relè 1. 

Ma di tutto quello che gravita attorno ai sensori ne parliamo più approfonditamente in un post dedicato, visto che ci sono un paio di cose da tenere bene a mente.


Conclusione

Per ora abbiamo capito come muoverci nell'ambito delle Rule facendo delle operazioni semplici di confronto in relazione ad un valore noto.

Ma se serve una matematica un pelino più avanzata?

Tipo una moltiplicazione?

Esiste anche questa possibilità, ovviamente!

Ma bisogna aggiungere ancora un pezzettino al nostro amato firmware Tasmota, cosa del resto facile e che abbiamo già visto nel post "Tasmota - Personalizzare il firmware", quindi nulla di nuovo.

Sarà comunque la base per un prossimo post dove vedremo come usare tutte le formule per essere liberi di fare un sacco di operazioni matematiche!

Nel frattempo , dato che abbiamo parlato dei comandi di Status, se non ti ricordi i diversi livelli uttilizzabili, ti consiglio di darti una veloce lettura al post "Console Tasmota - Status", vedrai che è tutto spiegato molto bene!

Se invece hai piacere di leggere altri post a tema Tasmota, ho raccolto qui tutti post con il tag "Tasmota" per una facile e veloce ricerca.

Hai bisogno di una mano? Non hai capito qualcosa?
Scrivimelo qui sotto nei commenti e vedrò di darti una mano!


Nessun commento:

Posta un commento

Sei davvero sicuro di voler sprecare tempo prezioso per scrivere qualcosa? Non è che preferisci andare su Google?

Cerca nel blog

I post più letti di sempre