Vai al contenuto
PLC Forum


Controllo remoto KNX con webserver RaspBerry


Messaggi consigliati

Inserita:

si, ho inserito il "<" e il (n.sec) infatti, con il "<" rivela i cambiamenti dovuti ai vari pulsanti, ma come dicevo prima il problema è all'avvio del sistema che non si accorge dello stato dei dispositivi. Se io lasciassi il rapsberry sempre acceso (cosa che poi farò) il problema secondo me non esiste più. Però se voglio far riavviare la macchina ogni 2-3 gg o se manca la tensione il problema ritornerebbe...


  • Risposte 108
  • Created
  • Ultima risposta

Top Posters In This Topic

  • smoothhands

    46

  • liguriagusto

    29

  • dario87

    12

  • hangloose64

    8

Top Posters In This Topic

Posted Images

Inserita: (modificato)

Purtroppo pare che "ancora" non ci sia un modo (con il binding knx) di forzare un refresh a comando sugli Items.

Vedi... https://community.openhab.org/t/how-to-trigger-a-read-value/4504/10

In base al testo quotato sopra dovrebbe effettuare almeno una lettura all'inizializzazione del binding knx...

ma evidentemente c'è qualcosa che non va oppure che non sto considerando. Come dicevo non sono

particolarmente ferrato con knx e relativo binding.

Però dopo (n.sec) dovresti comunque avere il tuo stato aggiornato. Puoi confermare?

 

 

 

Modificato: da smoothhands
Inserita:

come faccio a realizzare una sequenza temporizzata?
Es.: avvio da pulsante openhab >>accendi luce A per 5 minuti >> chiudi tapparella 1 >> chiudi luce B >> ecc...

La gestione delle temporizzazioni in openHAB può essere un pò macchinoso.

Nei file delle rules si può vedere che vengono inizialmente fatte delle importazioni.

import org.openhab.core.library.types.*
import org.openhab.model.script.actions.*
import java.lang.Math
import java.util.Date
import org.joda.time.*

Nella libreria actions  è presente un oggetto chiamato Timer.

Una volta definito subito sotto gli import...

var Timer mytimer = null

posso accedere a mytimer ovunque nel file delle rules.

Se voglio eseguire una particolare procedura a un particolare istante  posso creare

mytimer = createTimer(<istante in cui deve eseguire>) [|
    <procedura>
    mytimer = null
]

createTimer è una funzione che accetta 2 parametri: il primo è un particolare istante di tempo e il

secondo è la procedura da eseguire in quell'istante di tempo.

La notazione può un pò disorientare ma si tratta di una lambda expression e magari per adesso prendila così com'è.

Se volessi spegnere  la LuceScale dopo 90 secondi potrei fare qualcosa del tipo

import org.openhab.model.script.actions.*

var Timer mytimer = null

rule "luce scale"
when Item LuceScale changed to ON
then
    if (mytimer == null) {
        mytimer = createTimer(now.plusSeconds(90)) [|
            sendCommand(LuceScale, OFF)
            mytimer = null
            ]
    } else {
        mytimer.reschedule(now.plusSeconds(90))
    }
end

Se vuoi concatenare più comandi quello che mi viene in mente è di utilizzare delle variabili per

condizionare l'avvio di una rule al completamento di un'altra.

Oppure, se solo basate sul tempo, di creare più Timer e al verificarsi di una particolare condizione

attivare agli istanti prestabiliti le varie procedure.

 

Inserita:

@liguriagusto:

E' strano che alla partenza di openhab tu non riceva lo stato dei dispositivi, io ricevo una cosa di questo tipo quando parte openhab:

2015-12-15 00:00:00 - Sun_Height state updated to -70.59983934
2015-12-15 00:00:00 - Sun_Azimut state updated to 2.40833138
2015-12-15 00:01:56 - tutteleluci received command OFF
2015-12-15 00:01:56 - Consumo_L received command 0.0
2015-12-15 00:01:56 - Luce_Tavolo_Soggiorno received command ON
2015-12-15 00:01:57 - ConsumoWL state updated to 0.0

Nel file events.log nella dir logs di openhab, quando lo fai ripartire, cosa ti scrive?

 

Inserita:

il mio log alla partenza è:

2015-12-17 20:40:27 - Light_GF_Living_Table state updated to OFF
2015-12-17 20:40:27 - Light_GF_Corridor_Ceiling state updated to ON
2015-12-17 20:40:27 - Light_GF_Kitchen_Ceiling state updated to ON
2015-12-17 20:40:27 - Light_GF_Kitchen_Table state updated to OFF
2015-12-17 20:40:27 - Light_GF_Corridor_Wardrobe state updated to OFF
2015-12-17 20:40:27 - Light_GF_Toilet_Ceiling state updated to OFF
2015-12-17 20:40:27 - Light_GF_Toilet_Mirror state updated to OFF
2015-12-17 20:40:27 - Light_FF_Bath_Ceiling state updated to OFF
2015-12-17 20:40:27 - Light_FF_Bath_Mirror state updated to OFF
2015-12-17 20:40:27 - Light_FF_Corridor_Ceiling state updated to OFF
2015-12-17 20:40:27 - Light_FF_Office_Ceiling state updated to OFF
2015-12-17 20:40:27 - Light_FF_Child_Ceiling state updated to ON
2015-12-17 20:40:27 - Light_FF_Bed_Ceiling state updated to OFF
2015-12-17 20:40:27 - Light_C_Corridor_Ceiling state updated to OFF
2015-12-17 20:40:27 - Light_C_Staircase state updated to OFF
2015-12-17 20:40:27 - Light_C_Washing_Ceiling state updated to OFF
2015-12-17 20:40:27 - Light_C_Workshop state updated to OFF
2015-12-17 20:40:27 - Light_Outdoor_Garage state updated to OFF
2015-12-17 20:40:27 - Light_Outdoor_Terrace state updated to OFF
2015-12-17 20:40:27 - Light_Outdoor_Frontdoor state updated to OFF
2015-12-17 20:40:27 - Luce_Studio_centrale state updated to OFF
2015-12-17 20:40:27 - Luce_Studio_quadro state updated to OFF
2015-12-17 20:40:27 - Luce_Sala state updated to ON
2015-12-17 20:40:27 - Luce_Nscamera state updated to OFF
2015-12-17 20:40:27 - Luce_MobileSala state updated to OFF
2015-12-17 20:40:27 - Luce_Comodini state updated to ON
2015-12-17 20:40:27 - Luce_LucePreCabina state updated to ON
2015-12-17 20:40:27 - Luce_Como state updated to OFF
2015-12-17 20:40:27 - Luce_CabinaArmadio state updated to ON
2015-12-17 20:40:27 - Luce_CBCentrale state updated to ON
2015-12-17 20:40:27 - Luce_CBParete state updated to OFF
2015-12-17 20:40:27 - Luce_Bagno state updated to OFF
2015-12-17 20:40:27 - Luce_Corridoio state updated to OFF
2015-12-17 20:40:27 - Luce_Scalini state updated to OFF
2015-12-17 20:40:27 - Luce_Scala state updated to OFF
2015-12-17 20:40:27 - Luce_Scala3f state updated to OFF
2015-12-17 20:40:27 - Luce_Bagno1 state updated to ON
2015-12-17 20:40:27 - Luce_Corridoio state updated to ON
2015-12-17 20:40:27 - Luce_Ospiti state updated to OFF
2015-12-17 20:40:27 - Luce_Scala state updated to OFF
2015-12-17 20:40:27 - Luce_Scalini state updated to OFF
2015-12-17 20:40:27 - Luce_SalaCucina state updated to OFF
2015-12-17 20:40:27 - Luce_Cucina state updated to OFF
2015-12-17 20:40:27 - Luce_Mensola state updated to OFF
2015-12-17 20:40:27 - Luce_Terrazzo state updated to OFF
2015-12-17 20:40:27 - Luce_Nord state updated to ON
2015-12-17 20:40:27 - Luce_Sud state updated to OFF
2015-12-17 20:40:27 - Luce_Terrazzo_P1 state updated to ON
2015-12-17 20:40:27 - Heating_GF_Corridor state updated to OFF
2015-12-17 20:40:28 - Heating_GF_Toilet state updated to ON
2015-12-17 20:40:29 - Heating_GF_Living state updated to ON
2015-12-17 20:40:29 - Heating_GF_Kitchen state updated to OFF
2015-12-17 20:40:29 - Heating_FF_Bath state updated to OFF
2015-12-17 20:40:29 - Heating_FF_Office state updated to ON
2015-12-17 20:40:29 - Heating_FF_Child state updated to OFF
2015-12-17 20:40:29 - Heating_FF_Bed state updated to OFF
2015-12-17 20:40:36 - Forza_presenza state updated to OFF

Da qui noto che il file demo che ho lasciato viene letto (stassera prova a cancellarlo, potrebbe essere questo a fare casini???) in oltre noto che ad esempio:
2015-12-17 20:40:27 - Luce_Comodini state updated to ON
2015-12-17 20:40:27 - Luce_LucePreCabina state updated to ON
mi segna ON invece sono OFF!!!

il comando KNX che ho impostato è: {knx="5/3/1+<(30)5/3/0"} ma ho provato anche: {knx="5/3/1+<5/3/0"}   e  {knx="<5/3/1+<(30)5/3/0"} 
dove il secondo gruppo è lo stato dell'attuatore, ma il risultato non cambia.

Inserita: (modificato)

Tutti i file del pacchetto demo andrebbero eliminati: sitemaps, items, rules,...

Potresti modificare quelli ma poi potrebbe capitare che dimentichi qualcosa

e dopo potrebbe essere più difficile rimediarsi.

Funziona comunque perchè potrei avere più items file, più rules file e anche più sitemap files.

Per quanto riguarda items e rules serve magari per strutturare meglio il sistema.

Per le sitemap per offrire interfacce differenti a utenti differenti proteggendo

l'accesso ad alcune di esse.

Modificato: da smoothhands
Inserita:

Oltre allo Switch (ON-OFF) in openhab esiste il pulsante specifico (per l'accessione luce con timer)  e uno switch a 3 posizioni (ON-OFF-AUTO) per impostare comandi prioritari del KNX? 

P.S.: questa sera elimino il superfluo (i file demo) e poi vi dico.. 

Inserita: (modificato)

Cosa intendi con accensione luce con timer?

Un ritardo nell'accensione puttosto che allo spegnimento o un pulsante

con una funzione legata alla pressione prolungata?

 

Purtroppo non so cosa siano i comandi prioritari knx.

Di base lo stato nel sistema openhab è gestito dagli items

e mantenuto tramite uno dei providers per la persistenza.

Vedi  https://github.com/openhab/openhab/wiki/Explanation-of-items

per quanto riguarda gli items.

Tramite gli elementi delle sitemaps invece posso realizzare comandi

che poi vanno a modificare lo stato legato a un items e generano i comandi

verso il campo definiti dal particolare binding impostato per i particolare item.

Vedi https://github.com/openhab/openhab/wiki/Explanation-of-Sitemaps

Tutto quello che non compare in questi due oggetti (items ed elementi della

sitemap) va realizzato tramite logica... ovvero le rules.

 

 

Modificato: da smoothhands
Inserita:

Ok, immaginavo, quello che cerco devo crearlo tramite logica.
Per quanto riguarda l'aggiornamento di stato dei vari attuatori, ho provato a togliere i file demo da rules - items e sitemap, ma non cambia, all'avvio lo stato reale degli attuatori non corrisponde a quello mostrato su openhab, non riesco a capire il perché!!

Un altra domanda, come faccio a scrivere e poi leggere, ad esempio, la temperatura rilevata da un  items in una tabella di un DB ( tabella e database già creati)?

 

Inserita: (modificato)

Non ho capio in realtà cosa vuoi ottenere.

Hai già attivato qualche persistenza su openhab o devi ancora iniziare?

Parli di database e tabelle già create ma non ci hai scritto quale provider usi:

mysql, rrd4j, jdbc...

Le seguenti sono tutte le estensioni applicabili agli items..

<item>.persist - Persists the current state
<item>.lastUpdate - Query for the last update timestamp of a given item.
<item>.historicState(AbstractInstant) - Retrieves the state of the item at a certain point in time
<item>.changedSince(AbstractInstant) - Checks if the state of the item has (ever) changed since a certain point in time
<item>.updatedSince(AbstractInstant) - Checks if the state of the item has been updated since a certain point in time
<item>.maximumSince(AbstractInstant) - Gets the maximum value of the state of the item since a certain point in time
<item>.minimumSince(AbstractInstant) - Gets the minimum value of the state of the item since a certain point in time
<item>.averageSince(AbstractInstant) - Gets the average value of the state of a given item since a certain point in time.
<item>.deltaSince(AbstractInstant) - Gets the difference value of the state of a given item since a certain point in time.
<item>.previousState(AbstractInstant) - Retrieves the previous state of the item.
<item>.previousState(AbstractInstant, true) - Retrieves the previous state of the item, skips equal state values and searches the first state not equal the current state
<item>.sumSince(AbstractInstant) - Retrieves the sum of the previous states since a certain point in time. (OpenHab 1.8)

dove AbstractInstant è una roba del tipo 

now.minusDays(1)

Ci sono molte altre possibilità derivate da una libreria java di nome jodatime:

http://www.joda.org/joda-time/quickstart.html

applicando le quali puoi ottenere cose del tipo...

Lights.changedSince(now.minusMinutes(2).minusSeconds(30))
Temperature.maximumSince(now.toDateMidnight)
Temperature.minimumSince(parse("2012-01-01"))
PowerMeter.historicState(now.toDateMidnight.withDayOfMonth(1))

 

 

Modificato: da smoothhands
Inserita:

Quindi nelle rules puoi utilizzare tutti le istruzioni precedenti per ottenere ciò che c'è descritto.

Però non ho capito cosa vorresti fare con il dato ottenuto una volta applicata l'istruzione a un items.

Io quello che ho fatto ad esempio è stato salvare ogni minuto i valori delle temperature per

poi mostrare un grafico da ipad o android phone dell'andamento nel tempo.

Inserita:

Faccio una domanda che potrebbe essere stupida, in quanto non conosco openhab ma abbastanza knx

Quelli che leggi sono gli oggetti di comando o quelli di feedback?

Per logica dovresti leggere il feedback dell'attuatore perchè magari lo stesso è copmandato da piu' oggetti

Inserita:

@smoothhands
voglio utilizzare un DB mySQL per fare ciò che hai detto tu nel tuo msg: 

salvare ogni minuto i valori delle temperature per

poi mostrare un grafico da ipad o android phone dell'andamento nel tempo

 

 

@Microchip1967
gli faccio leggere oggitti di stato non quelli di comando, ma come dicevo sopa il problema è solo all'avvio.

Inserita:

voglio utilizzare un DB mySQL

Chart è l'elemento di una sitemap che si occupa di renderizzare un grafico.

Chart [item=<itemname>] [icon="<iconname>"] [label="<labelname>"] [service="<service>"] [period=xxxx] [refresh=xxxx]
  • refresh is the refresh period of the image in milliseconds
  • service sets the persistence service to use. If no service is set, openHAB will use the first queryable persistence service it finds. Therefore, for an installation with only a single persistence service, this is not required.
  • period sets the length of the time axis of the chart. Valid values are h, 4h, 8h, 12h, D, 3D, W, 2W, M, 2M, 4M, Y

Inizialmente puoi inserire esclusivamente il parametro item= e service= per vedere come si comporta.

Se hai definito solo mysql come persistence service puoi trascurare il parametro service=

openHAB fornisce un chart provider di default che risulta compatibile con tutti i servizi di persistenza disponibili.

Attualmente l'unica alternativa è l'rrd4j provider ma lavora solo con il servizio di persistenza rrd4j.

Per utilizzare il provider rrd4j si deve variare 

chart:provider=default

nel file openhab.cfg modificando "default" con "rrd4j".

 

 

Inserita: (modificato)

Per ogni servizio di persistenza che hai installato devi inserire un file

<persistenceservice>.persist

nella directory

${openhab.home}/configurations/persistence

e serve per istruire openHAB di quali item memorizzare i valori e quando.

Le così dette strategie.

Il file di persistenza è suddiviso in due sezioni. La prima del tipo

Strategies {
    <strategyName1> : "<cronexpression1>"
    <strategyName2> : "<cronexpression2>"
    ...

    default = <strategyNameX>, <strategyNameY>
}

definisce le strategie disponibili e dichiara quali adottare di default.

Ci sono delle strategie già definite che possono essere usate direttamente...

  • everyChange: persist the state whenever its state has changed
  • everyUpdate: persist the state whenever its state has been updated, even if it did not change
  • restoreOnStartup: If the state is undefined at startup, the last persisted value is loaded and the item is initialized with this state.

 

Modificato: da smoothhands
Inserita: (modificato)

La seconda sezione riguarda proprio gli item e definisce quali item e con quale strategia.

Items {
    <itemlist1> [-> "<alias1>"] : [strategy = <strategy1>, <strategy2>, ...]
    <itemlist2> [-> "<alias2>"] : [strategy = <strategyX>, <strategyY>, ...]
    ...
}

<itemlist> può essere del tipo:

  • * - this line should apply to all items in the system.
  • <itemName> - a single item identified by its name.
  • <groupName>* - all members of this group will be persisted.

Un esempio completo di persistenza è...

// persistence strategies have a name and a definition and are referred to in the "Items" section
Strategies {
    everyHour : "0 0 * * * ?"
    everyDay  : "0 0 0 * * ?"

    // if no strategy is specified for an item entry below, the default list will be used
    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
    Temperature*, Weather* : strategy = everyHour
}

 

Modificato: da smoothhands
Inserita:

Nel nostro caso potremmo definire...

Strategies {
	everyMinute	: "0 * * * * ?"

	// If no strategy is specified for an item entry below, the default list will be used.
	default = everyMinute 
}

/*
 * 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 {
	Setup*	:	strategy = everyChange
	HVAC*	:	strategy = everyMinute, restoreOnStartup
	Luci*	:	strategy = everyChange, restoreOnStartup
	Prese*	:	strategy = everyChange, restoreOnStartup

}

Quindi ho definito una strategia chiamata everyMinute e l'ho impostata anche come default.

Quindi se nella seconda sezione non indico nulla di default viene utilizzata everyMinute.

Poi ho definito quale strategia utilizzare per alcuni gruppi... attenzione all'asterisco!!!

Quindi se nel mio caso ho 6..8... sonde di temperatura sparse per casa le metto tutte

nel gruppo HVAC nel file degli items in modo da impostare la persistenza everyMinute

e con il ripristino dell'ultimo valore al restart di openHAB.

Poi potete vedere come possa anche salvare ogni variazione su items appartenenti ad

altri gruppi come luci, prese oppure qualsiasi cosa possa venirmi in mente.

Quindi non resta che definire nella sitemap un elemento del tipo...

Chart item=Temp_Studio period=D	

 

Inserita: (modificato)

Per capire le cron expression può essere d'aiuto questo specchietto

.---------------- [m]inute: minuto (0 - 59) 
|  .------------- [h]our: ora (0 - 23)
|  |  .---------- [d]ay [o]f [m]onth: giorno del mese (1 - 31)
|  |  |  .------- [mon]th: mese (1 - 12) OPPURE jan,feb,mar,apr... 
|  |  |  |  .---- [d]ay [o]f [w]eek: giorno della settimana (0 - 6) (domenica=0 or 7)
|  |  |  |  |

*  *  *  *  *  comando da eseguire

in questo specchietto manca il campo secondi a sinistra

* sta ovviamente per "qualsiasi"

? viene utilizzato per i giorni in quanto può essere giorno del mese o giorno della settimana

Nel caso voglia indicare qualsiasi giorno... uso * per il giorno del mese e ? per quello della settimana

Se volessi indicare ogni domenica alle 15...       0 0 15 ? * 0

Modificato: da smoothhands
Inserita:

Grazie, come al solito molto gentile e disponibile, appena riesco provo e poi vi espongo eventuali problemi. 

Vi auguro a tutti Buone Feste.

  • 4 weeks later...
Inserita:

ieri ho voluto testare la funzione sendmail però senza successo!

Ho seguito questi passi, forse sbaglio o dimentico qualcosa:
- ho aggiunto l' addons mail nella cartella addons
- ho impostato il file config con i vari parametri
- ho inserito il comando sendmail..... in una rules

ma quando provo non funziona e il log è il seguente:

x.mail.Service.c2016-01-19 21:04:29.146 [ERROR] [nhab.action.mail.internal.Mail] - Could not send e-mail to 'tabaccai@gmail.com'.
org.apache.commons.mail.EmailException: Sending the email to the following server failed : smtp.goglemail.com:465
    at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1242) ~[commons-email-1.2.jar:1.2]
    at org.apache.commons.mail.Email.send(Email.java:1267) ~[commons-email-1.2.jar:1.2]
    at org.openhab.action.mail.internal.Mail.sendMail(Mail.java:121) [bundlefile:na]
    at org.openhab.action.mail.internal.Mail.sendMail(Mail.java:62) [bundlefile:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0]
    at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0]
    at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.invokeOperation(XbaseInterpreter.java:729) [org.eclipse.xtext.xbase_2.3.0.v201206120633.jar:na]
    at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._featureCallOperation(XbaseInterpreter.java:713) [org.eclipse.xtext.xbase_2.3.0.v201206120633.jar:na]
    at sun.reflect.GeneratedMethodAccessor45.invoke(Unknown Source) ~[na:na]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0]
    at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0]
    at org.eclipse.xtext.util.PolymorphicDispatcher.invoke(PolymorphicDispatcher.java:291) [org.eclipse.xtext.util_2.3.0.v201206120633.jar:na]
    at org.openhab.model.script.interpreter.ScriptInterpreter.internalFeatureCallDispatch(ScriptInterpreter.java:69) [org.openhab.model.script_1.7.1.jar:na]
    at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._evaluateAbstractFeatureCall(XbaseInterpreter.java:658) [org.eclipse.xtext.xbase_2.3.0.v201206120633.jar:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0]
    at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0]
    at org.eclipse.xtext.util.PolymorphicDispatcher.invoke(PolymorphicDispatcher.java:291) [org.eclipse.xtext.util_2.3.0.v201206120633.jar:na]
    at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:218) [org.eclipse.xtext.xbase_2.3.0.v201206120633.jar:na]
    at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._evaluateSwitchExpression(XbaseInterpreter.java:360) [org.eclipse.xtext.xbase_2.3.0.v201206120633.jar:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0]
    at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0]
    at org.eclipse.xtext.util.PolymorphicDispatcher.invoke(PolymorphicDispatcher.java:291) [org.eclipse.xtext.util_2.3.0.v201206120633.jar:na]
    at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:218) [org.eclipse.xtext.xbase_2.3.0.v201206120633.jar:na]
    at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._evaluateBlockExpression(XbaseInterpreter.java:321) [org.eclipse.xtext.xbase_2.3.0.v201206120633.jar:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0]
    at java.lang.reflect.Method.invoke(Method.java:483) ~[na:1.8.0]
    at org.eclipse.xtext.util.PolymorphicDispatcher.invoke(PolymorphicDispatcher.java:291) [org.eclipse.xtext.util_2.3.0.v201206120633.jar:na]
    at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.internalEvaluate(XbaseInterpreter.java:218) [org.eclipse.xtext.xbase_2.3.0.v201206120633.jar:na]
    at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter.evaluate(XbaseInterpreter.java:204) [org.eclipse.xtext.xbase_2.3.0.v201206120633.jar:na]
    at org.openhab.model.script.internal.engine.ScriptImpl.execute(ScriptImpl.java:59) [org.openhab.model.script_1.7.1.jar:na]
    at org.openhab.core.scriptengine.ScriptExecutionThread.run(ScriptExecutionThread.java:44) [org.openhab.core.scriptengine_1.7.1.jar:na]
Caused by: javax.mail.SendFailedException: Send failure (javax.mail.MessagingException: Connection error (java.net.UnknownHostException: smtp.goglemail.com))
    at javax.mail.Transport.send(Transport.java:163) ~[javax.mail_1.4.0.v201005080615.jar:na]
    at javax.mail.Transport.send(Transport.java:48) ~[javax.mail_1.4.0.v201005080615.jar:na]
    at org.apache.commons.mail.Email.sendMimeMessage(Email.java:1232) ~[commons-email-1.2.jar:1.2]
    ... 38 common frames omitted
Caused by: javax.mail.MessagingException: Connection error (java.net.UnknownHostException: smtp.goglemail.com)
    at org.apache.geronimo.javamail.transport.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:408) ~[na:na]
    at javax.mail.Service.connect(Service.java:265) ~[javax.mail_1.4.0.v201005080615.jar:na]
    at javaonnect(Service.java:85) ~[javax.mail_1.4.0.v201005080615.jar:na]
    at javax.mail.Service.connect(Service.java:70) ~[javax.mail_1.4.0.v201005080615.jar:na]
    at javax.mail.Transport.send(Transport.java:94) ~[javax.mail_1.4.0.v201005080615.jar:na]
    ... 40 common frames omitted
Caused by: java.net.UnknownHostException: smtp.goglemail.com
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184) ~[na:1.8.0]
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0]
    at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0]
    at java.net.Socket.connect(Socket.java:538) ~[na:1.8.0]
    at java.net.Socket.<init>(Socket.java:434) ~[na:1.8.0]
    at java.net.Socket.<init>(Socket.java:286) ~[na:1.8.0]
    at org.apache.geronimo.javamail.transport.smtp.SMTPTransport.getConnectedSocket(SMTPTransport.java:1096) ~[na:na]
    at org.apache.geronimo.javamail.transport.smtp.SMTPTransport.getConnection(SMTPTransport.java:856) ~[na:na]
    at org.apache.geronimo.javamail.transport.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:385) ~[na:na]
    ... 44 common frames omitted
Inserita:

Prova ad utilizzare smtp.gmail.com:465 ?!

Sul mio iPad uso questa.

Inserita:

Ho provato anche questa ma non funziona ugalmente, ho fatto vari tentativi ma tutti senza risultati positivi, ti allego la mia ultima configurazione se può servire:


######################## Mail Action configuration ####################################
#
# The SMTP server hostname, e.g. "smtp.gmail.com"
mail:hostname=smtp.gmail.com

# the SMTP port to use (optional, defaults to 25 (resp. 587 for TLS))
mail:port=465

# the username and password if the SMTP server requires authentication
mail:username=liguriagusto@gmail.com
mail:password=miapassword

# The email address to use for sending mails
mail:from=liguriagusto@gmail.com

# set to "true", if TLS should be used for the connection
# (optional, defaults to false)
mail:tls=true

# set to "true", if POP before SMTP (another authentication mechanism)
# should be enabled. Username and Password are taken from the above
# configuration (optional, default to false)
#mail:popbeforesmtp=

Inserita: (modificato)

Se hai impostato la sicurezza TLS devi usare la porta 587.

Lo dice anche il pezzo di configurazione che hai postato.

Poi...

go into your gmail settings, click "Accounts and Import", then "Other Google Account Settings". Under "Signing in" click "Access for less secure apps" and enable it.

pare che altrimenti ci siano dei problemi con openHAB.

Speriamo sia sufficiente.

 

Modificato: da smoothhands
Inserita:

ho provato sia con la sicurezza che senza non cambia nulla. Ho fatto vari tentativi di configurazione senza risultato.

Inserita: (modificato)

In base a quello che ho trovato su internet  se non usi la sicurezza gmail ti lascia

inviare solo ad altre caselle di gmail mentre con la sicurezza puoi inviarle anche

ad altri.

Hai provato anche ad andare nelle impostazioni del tuo account gmail 

e modificare "access for less secure apps"?!

non ho capito se hai fatto anche questo.

 

sto cercando sotto il mio account gmail ma l'unica cosa che ho trovato è 

una lista delle app che possono accedere e l'autenticazione in due passaggi

disabilitata. mmmmh...

 

Sempre dalla community suggeriscono di disabilitare il controllo

su app sicure nelle impostazioni di gmail.

Oppure di usare un altro provider... tipo yahoo.

Questo in ottobre 2015

Modificato: da smoothhands

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora

×
×
  • Crea nuovo/a...