“Guida per la sopravvivenza” non si addice molto all’argomento, perchè tutto sommato non c’è nulla di difficile e drammatico, ma è utile scrivere due parole per orientarsi con OpenHAB 2.
OpenHAB 2 mette a disposizione una Console di comando.
Per la configurazione ed il debug ci si può fare un po’ tutto, dalla modifica del livello di log, all’inserimento di item, al controllo dei valori.
Personalmente mi sono limitato a ciò che serve per fare funzionare il binding – ver.2 – di Souliss.
Il file del binding – il file con estensione jar – per il momento può essere scaricato da qui e deve essere copiato dentro la cartella ./addons
.
Se abbiamo avviato OH2 per test dalla shell allora avremo accesso diretto alla Console di OH2. In caso contrario sarà necessario connettersi alla macchina via SSH e, una volta connessi, eseguire una nuova connessione SSH al server interno di OH2. Digitiamo
ssh -p 8101 openhab@localhost
L’aspetto della Console di OH2 sarà questo:
__ _____ ____ ____ ____ ___ ____ / / / / | / __ ) / __ \/ __ \/ _ \/ __ \/ /_/ / /| | / __ | / /_/ / /_/ / __/ / / / __ / ___ |/ /_/ / \____/ .___/\___/_/ /_/_/ /_/_/ |_/_____/ /_/ 2.1.0 - release build - Hit '<tab>' for a list of available commands and '[cmd] --help' for help on a specific command. Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown openHAB. openhab>
Dalla console digitiamo:
bundle:list
Viene restituito qualcosa del genere:
START LEVEL 100 , List Threshold: 50 ID | State | Lvl | Version | Name ------------------------------------------------------------------------------------------------------ 10 | Active | 80 | 5.3.1.201602281253 | OSGi JAX-RS Connector 11 | Active | 80 | 2.3.1 | Gson 12 | Active | 80 | 18.0.0 | Guava: Google Core Libraries for Java 13 | Active | 80 | 3.0.0.v201312141243 | Google Guice (No AOP) 14 | Active | 80 | 1.5.8 | swagger-annotations 15 | Active | 80 | 3.19.0.GA | Javassist 17 | Active | 80 | 3.5.2 | JmDNS 20 | Active | 80 | 1.1.0.Final | Bean Validation API 22 | Active | 80 | 2.0.1 | javax.ws.rs-api 24 | Active | 80 | 3.2.0.v201101311130 | ANTLR Runtime 27 | Active | 80 | 1.6.0 | Commons Codec 28 | Active | 80 | 3.2.1 | Commons Collections 29 | Active | 80 | 1.1 | Commons Exec 30 | Active | 80 | 2.2.0 | Commons IO 31 | Active | 80 | 2.6 | Commons Lang 36 | Active | 80 | 4.2.3 | Apache HttpClient OSGi bundle 37 | Active | 80 | 4.2.3 | Apache HttpCore OSGi bundle 58 | Active | 80 | 4.0.8 | Apache Karaf :: Wrapper :: Core 59 | Active | 80 | 3.1.0.7 | Apache ServiceMix :: Bundles :: commons-httpclient 64 | Active | 80 | 2.11.0.v20150805-0538 | EMF Common 65 | Active | 80 | 2.11.1.v20150805-0538 | EMF Ecore 66 | Active | 80 | 2.11.1.v20150805-0538 | EMF XML/XMI Persistence 67 | Active | 80 | 3.8.0.v20160509-1230 | Common Eclipse Runtime 68 | Active | 80 | 3.6.100.v20160223-2218 | Extension Registry Support 95 | Active | 80 | 0.9.0.b5 | Eclipse SmartHome Config Core
…
…
186 | Active | 80 | 2.1.0.201709220916 | Souliss - Arduino based SmartHome Binding 187 | Active | 80 | 2.1.0 | Network Binding 188 | Active | 80 | 2.1.0 | HABPanel User Interface 189 | Resolved | 75 | 2.1.0 | openHAB Paper UI Theme Fragment, Hosts: 178 190 | Active | 80 | 2.1.0 | openHAB 1.x Compatibility Layer 191 | Active | 80 | 1.10.0 | openHAB RRD4j Persistence Bundle 192 | Active | 80 | 0.9.0.b5 | Eclipse SmartHome Automation API
Notare che il binding numero 186 è il nostro binding per Souliss funzionante.
Potrebbe succedere, copiando nella cartella addons una nuova versione del binding prima di cancellare il vecchio file, che OH2 installi e tenga in memoria entrambe le versioni. Quella vecchio nello stato Active e quella nuova nello stato Resolved.
Sarà sufficiente annotare il numero identificativo del binding e disintallarlo:
bundle:uninstall 186
Adesso la nuova versione passerà allo stato Active ed inizierà a funzionare.
DEBUG
Di default il binding parte con il log in modalità INFO
Per passare alla modalità debug per il solo binding di Souliss:
log:set DEBUG org.openhab.binding.souliss
RIAVVIO
Per riavviare un binding (bundle) bloccato:
bundle:restart 195
dove 195 è il numero del bundle che ci interessa riavviare