Vai al contenuto
PLC Forum


Controllo remoto KNX con webserver RaspBerry


Messaggi consigliati


  • 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:

ho verificato il mio account google consente l'invio di mail da 'altri' software.

Secondo me il problema non è nelle impostazioni dell'account, in quanto io mando a un'altra casella gmail e in oltre con un altro sistema di supervisione della Gewiss l'invio di mail funziona con gli stessi parametri.

 

Inserita: (modificato)

Scusa se insisto ma io mi riferisco a questo:

appmenosicure.jpg

Non è solo "altri software"... è un pò diverso.

Se mi confermi che ce l'hai abilitato pure tu poi provo a cercare da un'altra parte.

 

Modificato: da smoothhands
Inserita:

Appena rientro a casa provo con una installazione pulita.

Inserita: (modificato)

Allora... io sono riuscito a inviare email senza problemi.

16:12:19.458 [DEBUG] [m.r.internal.engine.RuleEngine:305  ] - Executing rule 'test send mail'

16:12:19.459 [INFO ] [runtime.busevents             :22   ] - SendMail received command ON

>>>>>Sending data EHLO SmoothHands-MacBook.fritz.box<<<<<<

>>>>>Sending data STARTTLS<<<<<<

>>>>>Sending data EHLO SmoothHands-MacBook.fritz.box<<<<<<

>>>>>Sending data AUTH LOGIN<<<<<<

>>>>>Sending data ZGNhbmRpb3R0aUBnbWFpbC5jb20=<<<<<<

>>>>>Sending data dXJmMWQwNzQ=<<<<<<

>>>>>Sending data MAIL FROM: <smoothhands@mymail.com><<<<<<

>>>>>Sending data RCPT TO: <pluto@othermail.com><<<<<<

>>>>>Sending data DATA<<<<<<

>>>>>Sending data <<<<<<

>>>>>Sending data .<<<<<<

>>>>>Sending data QUIT<<<<<<

16:12:23.326 [DEBUG] [nhab.action.mail.internal.Mail:122  ] - Sent email to 'pluto@othermail.com' with subject 'Test'.

la mia rule è questa:

 

import org.openhab.core.library.types.*

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

 

 

rule "test send mail"

when

    Item SendMail changed to ON

then

    sendMail("pluto@othermail.com", "Test", "This is the message.")

end

Quale addon hai usato?

org.openhab.action.mail-1.7.1.jar

Questo vero?

Modificato: da smoothhands
Inserita:

Quale addon hai usato?

org.openhab.action.mail-1.7.1.jar

Questo vero?

Si

 

 

 

Inserita:

Io non ho fatto altro... questo è il mio file cfg:

mail:hostname=smtp.gmail.com

mail:port=587

mail:username=miousername@gmail.com

mail:password=miapassword

mail:from=miousername@gmail.com

mail:tls=true

poi ho impostato "consenti app meno sicure".

Sei dietro a un proxy di qualche tipo? 

Inserita:

Sei dietro a un proxy di qualche tipo? 

No
Stasera quando rientro provo pure io su una configurazione pulita e vedo cosa succede

Inserita:

Ho scaricato la ver 1.8 di openhab installazione pulita provo l'invio di mail e funziona perfettamente, allora copio i miei file di configurazione e magicamente anche qui funziona, mistero!! Può essere che c'era qualche file corrotto??

Inserita:

Può capitare di tutto... anche se il file .cfg non dovrebbe essere poi così delicato

quando viene editato. Non saprei. 

Io ho avuto qualche problema con con i file di Items, Rules e Sitemap se

non usavo Designer però non mi era mai capitato con le configurazioni.

Da Designer comunque si può editare anche il file delle configurazioni...

dopotutto le modifiche tramite Designer sono quelle consigliate.

 

  • 3 weeks later...
Inserita:

vorrei realizzare una 'sequenza di luci'  tramite le GPIO del raspberry del tipo:

4 Item (LuceS_A , LuceS_B , LuceS_C , LuceS_D) che pilotano 4 uscite GPIO

1 Item SeqScalini che attiva l'automazione.

All'attivazione (ON) di SeqScalini vorrei che, in sequenza, si accendessero le varie LuceS_.. (A ON  altre OFF >> 1sec >> B ON altre OFF >> 1sec >> C ON altre OFF e così via finchè rimane ON SeqScalini)

All' OFF SeqScalini tutte OFF.

Ho provato a creare una rules con gli IF ELSE ma mi sono incasinato e non riesco ad uscirne fuori!!

Esiste una strada più semplice??

 

 

Inserita:

Arrivati alla LuceS_D e lo switch SeqScalini è ancora ad ON

cosa deve avvenire? Ricomincio da LuceS_A?

 

Inserita:
rule "Test Sequenza ON"
	when Item SeqScalini changed to ON
	then
		do {
  			if (SeqScalini.state == ON) {
  				LuceS_A.sendCommand(ON)
  				Thread::sleep(1000)
  				LuceS_A.sendCommand(OFF)
  			}
  			if (SeqScalini.state == ON) {
				LuceS_B.sendCommand(ON)
  				Thread::sleep(1000)
  				LuceS_B.sendCommand(OFF)  			}
  			if (SeqScalini.state == ON) {
  				LuceS_C.sendCommand(ON)
  				Thread::sleep(1000)
  				LuceS_C.sendCommand(OFF)
  			}
  			if (SeqScalini.state == ON) {
  				LuceS_D.sendCommand(ON)
  				Thread::sleep(1000)
  				LuceS_D.sendCommand(OFF)
  			}
		} while (SeqScalini.state == ON)	
end

rule "Test sequenza OFF"
	when Item SeqScalini changed to OFF
	then
		LuceS_A.sendCommand(OFF)
		LuceS_B.sendCommand(OFF)
		LuceS_C.sendCommand(OFF)
		LuceS_D.sendCommand(OFF)
end

Dovrebbe funzionare come richiesto.

Inserita:

Perfetto, funziona alla grande!! GRAZIE.

 

Thread::sleep(1000)

è un istruzione simile al java (Thread.sleep(1000) ),  esiste un posto dove posso vedere la sintassi di questi comandi? perché i :: ?

 

Inserita:

Deriva proprio da Java.

Il linguaggio si chiama Xtend e il sito dove puoi guardare è 

http://www.eclipse.org/xtend/

 

La sintassi è un pò differente da Java.

Fa parte di un framework chiamato Xtext in grado di

realizzare linguaggi Domain Specific e relativi IDE.

 

Xtext e Xtend vengono utilizzati anche da openHAB: ne

deriva la funzionalità molto utile per la quale non occorre

compilare le classi da sostituire al pacchetto intero.

Avviene tutto a runtime senza riavviare nulla.

 

Ovviamente non è tutto oro quello che luccica :smile:

Inserita:
Quote

perché i :: ?

Puoi utilizzare questa notazione quando hai dei metodi statici come

nel caso di Thread.sleep(long ...)

  • 3 weeks later...
liguriagusto
Inserita:

Giusto per cercare di migliorare sempre il mio sistema domotico mi stavo chiedendo oltre hai comandi vocali (che già utilizzo) è possibile estapolare questi comandi da una 'frase', mi spiego meglio.

Per esempio per accendere la luce dello studio utilizzo il comando vocale "accendi luce studio", se utilizzo la frase 'mi accendi la luce dello studio' non funziona il comando. Io vorrei che il comando accettato fosse del tipo  " * accendi * luce * studio *" dove gli * li sostituisco con qualsiasi altra cosa. Secondo Voi è una cosa fattibile??

Inserita:

Guarda questo link.

Tutto è gestito utilizzando un particolare metodo 

per organizzare gli Item e in particolare il nome degli Item.

L'algoritmo estrae singole parole dalla frase che gli arriva

dallo smartphone e ricompone sia il nome dell'Item che

il comando da impartire.

 

Una volta compreso la ratio che c'è dietro puoi 

tentare di modificarlo per seguire un tuo particolare

schema.

 

 

liguriagusto
Inserita:

ho visto l'esempio nel link e lo sto studiando, ho capito il principio di funzionamento l'unica cosa che non capisco sono questi comandi:

 

Logging actions

  • logDebug(String loggerName, String logText, Object[args)): Logs logText on levelDEBUG using the openhab Logback configuration
  • logInfo(String loggerName, String logText, Object[](]) args)): Logs logText on level INFO using the openhab Logback configuration
  • logWarn(String loggerName, String logText, Object[args)): Logs logText on levelWARN using the openhab Logback configuration
  • logError(String loggerName, String logText, Object[](]) args)): Logs logText on level ERROR using the openhab Logback configuration

in particolare il secondo che è utilizzato nella Rules, cosa fa? cosa serve??

Inserita:

In openHAB anche il sistema di logging è configurabile e

quello che trovi in quella rule non fa altro che inviare una

stringa di a un particolare logger.

 

Non sono indispensabili al corretto funzionamento della rule.

Se non ti interessano puoi anche tranquillamente commentarle.

Inserita:

Ma senti un pò liguriagusto come ti trovi alla fine con openHAB?

Lavora come ti aspettavi, è affidabile... le tue impressioni insomma :smile:

liguriagusto
Inserita:

Con openhab mi trovo molto bene, è affidabile, stabile è funziona alla grande è un programma di supervisione di impianto veloce e molto reattivo sia in locale che da remoto..  Lo sto usando su un Raspberry Pi 2 da almeno 3 mesi e non ho riscontrato problemi a parte quelli dovuti alla mancanza di alimentazione del raspberry (dovuta ai temporali) che mi ha costretto a ripristinare la SD (devo metterci un gruppo di continuità per evitare questi problemi).

Una altra cosa ho notato che praticamente non ci sono guide o tutorial in italiano e molte cose ancora non mi sono chiare.

Ora grazie anche ai tuoi (vostri) aiuti sto cercando di implementare il sistema con i comandi vocali complessi, però anche in questo caso se trovo delle difficoltà in rete non riesco mai a trovare la soluzione senza chiedere aiuto.

Ad esempio volevo usare il comando say()  per far 'parlare il sistema'  ma mi sono bloccato mi da un errore nel log e non trovo soluzioni...

 

Inserita:

Si hai ragione, la documentazione è un pò carente.

Non tanto nel setup iniziale che bene o male è 

spiegato e non richiede molti passi, ma sui concetti

di base su cui è costruito e il modo di comporre i

vari elementi per "portare a casa" il risultato.

 

Te pensa che inizialmente, per capire alcune cose, sono dovuto

andare a guardare i sorgenti.

 

Per far parlare il sistema sinceramente non c'ho mai guardato.

Appena ho finito di completare una cosa che mi sta 

portando via molto tempo magari ci guardiamo.

 

Buono studio :P

liguriagusto
Inserita:

Ieri sera sono riuscito a risolvere con il comando say() (era questione di configurazione) ora mi sorge un problema  banale ma che ieri sera, forse ero troppo stanco, non sono riuscito a risolvere.

io uso il comando che segue:

    switch(receivedCommand.toString.lowerCase) {

        case "accendi luce studio" : postUpdate(Luce_Studio, "ON")
        case "spegni luce studio" : postUpdate(Luce_Studio, "OFF")
        ... ... .. 

       . ... . .. . .

come faccio a mettere 2 istruzioni / comandi in un case??

es.:

        case "accendi luce studio" : postUpdate(Luce_Studio, "ON") ; variabileA="xx";

ho provato con i :   ;   e con le  () ma non riesco.

 

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...