Configurare Shelly 1 su Openhab

Parliamo di Openhab 2.5 e di come configurare Shelly 1 nell’interfaccia BasicUI.

Sinteticamente, si tratta di configurare Shelly 1 usando l’applicazione proprietaria oppure tramite browser (io ho trovato l’ip usando l’app
Fing. Su Android oppure su Windows). Poi, esclusivamente da browser, si abilita il supporto a mqtt ed infine si configurare l’item di Openhab.

Passo 1:
nella cartella /configuration/services modifico il file addons.cfg ed alla riga
binding = aggiungo mqtt
Nella stessa cartella aggiungo il file mqtt.cfg, lo apro con blocco note, notepad++ o editor di testo equivalente, ed aggiungo il contenuto seguente. La maggior parte delle voci sono commentate, ma le ho lasciate per completezza ed eventuali usi futuri. Notare che il mio broker mqtt ha l’indirizzo 192.168.1.111

#
# Define your MQTT broker connections here for use in the MQTT Binding or MQTT
# Persistence bundles. Replace <broker> with an ID you choose.
#

# URL to the MQTT broker, e.g. tcp://localhost:1883 or ssl://localhost:8883
mqttcontainer.url=tcp://192.168.1.111:1883

# Optional. Client id (max 23 chars) to use when connecting to the broker.
# If not provided a random default is generated.
mqttcontainer.clientId=OH2

# Optional. True or false. If set to true, allows the use of clientId values
# up to 65535 characters long. Defaults to false.
# NOTE: clientId values longer than 23 characters may not be supported by all
# MQTT servers. Check the server documentation.
#<broker>.allowLongerClientIds=false

# Optional. User id to authenticate with the broker.
#<broker>.user=<user>

# Optional. Password to authenticate with the broker.
#<broker>.pwd=<password>

# Optional. Set the quality of service level for sending messages to this broker.
# Possible values are 0 (Deliver at most once),1 (Deliver at least once) or 2
# (Deliver exactly once). Defaults to 0.
#<broker>.qos=<qos>

# Optional. True or false. Defines if the broker should retain the messages sent to
# it. Defaults to false.
#<broker>.retain=<retain>

# Optional. True or false. Defines if messages are published asynchronously or
# synchronously. Defaults to true.
#<broker>.async=<async>

# Optional. Defines the last will and testament that is sent when this client goes offline
# Format: topic:message:qos:retained <br/>
#<broker>.lwt=<last will definition>

Passo 2:
Nella cartella /configuration/things aggiungo il file mqtt.things, che dovrà avere il seguente contenuto:

Bridge mqtt:broker:mosquitto "Mosquitto" [ host="192.168.1.111", port=1883, secure=false, username="", password="", clientID="openHAB" ]
{
        Thing topic ShellyAnnounce "ShellyAnnounce" {
        Channels:
        Type string : announcestring  "announcestring"  [ stateTopic="shellies/announce" ]
        }
        
Thing topic shelly-parcheggio "Parcheggio" {
        Channels:
        Type switch : power     "Power"         [ stateTopic="shellies/shelly-parcheggio/relay/0", on="on", off="off", commandTopic="shellies/shelly-parcheggio/relay/0/command", on="on", off="off"]
        }

Passo 3:

Configuriamo Shelly 1.

Possiamo configurare Shelly 1 con l’applicazione proprietaria, inserendo nel campo Device Name il nome “parcheggio”. Scegli il nome più opportuno ma ricorda di modificare il file mqtt.things con il nome del nodo giusto.

Shelly Device Name

Nella scheda Internet & Security / ADVANCED – DEVELOPER SETTINGS (esclusivamente da browser, perchè nell’app questa voce non è disponibile) abilitiamo “Enable action execution via MQTT “ e compiliamo i campi richiesti. Io lascio vuoto nome utente e password perché il mio broker mqtt è locale e non l’ho protetto.

Notare il campo Use custom MQTT prefix. Io ho inserito shelly-parcheggio e questo prefisso lo ritroviamo nel codice di configurazione dell’item in Openhab,

Enable action execution via MQTT

Notare che, abilitando mqtt, Shelly 1 verrà scollegato dal cloud. Ma non ci interessa, tanto useremo Shelly 1 con Openhab e non più con l’applicazione proprietaria che, quando saremo collegati alla stessa WiFi dello Shelly 1, sarà comunque funzionante.

Passo 4:

Adesso configuriamo il nodo con i file .items e .sitemap

File /configuration/items/default.item

Group Home                 "Tonino"        <house>
Group Esterno              "Esterno"   <garden>   (Home)
Switch parcheggio  "Parcheggio" <light> (Esterno) [ "Switchable" ] {channel="mqtt:topic:mosquitto:shelly-parcheggio:power"}

File /configuration/sitemaps/default.sitemap

sitemap default label="Tonino" {
      Group item=Esterno
}

oppure

sitemap default label="Tonino" {
   Frame {
        Text label="Rientro casa" icon="smiley" {
		   Text item=parcheggio label="Luce parcheggio [%s]"
		   Switch item=parcheggio mappings=[ON="Accendi", OFF="Spegni"]
		}
}

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

wp-puzzle.com logo

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.