smoothhands Inserita: 24 gennaio 2016 Segnala Inserita: 24 gennaio 2016 ti mando un messaggio privato
omar1971 Inserita: 27 gennaio 2016 Autore Segnala Inserita: 27 gennaio 2016 Ciao, ecommi non so come ringraziarti per la lezione che mi hai dato.... mi è servita molto per iniziare e cercare di capire il funzionamento, anche se nono ancora fermo al comando delle uscite. Ho provato a contattare la DUEMMEGI per chiarimenti ma fino ad ora nessuna risposta. Nel mentre visto che sono a casa in malattia, ho provato a prelevare dei dati da un sito inerenti la potenza dell'impianto fotovoltaico. ho preso spunto dal seguente link https://github.com/openhab/openhab/wiki/Samples-Binding-Config#how-to-get-data-from-kostal-piko-solar-inverter-via-http-binding ho copiato il binding http nella cartella addon ho modificato il file cfg nella sezione http come dice il link, apportando modifiche: #http:kostal-inverter-cache.url=http://pvserver:password@192.168.1.1/index.fhtml http:sma-inverter-cache.url=http://192.168.1.168/ http:sma-inverter-cache.updateInterval=60000 ho inserito nell'item i seguenti parametri prendendo spunto dalla pagina web dell'impianto fotovoltaico sui dati da estrapolare /* Energia solare (AC) */ Number solar_active_power "Potenza Istantanea [%.0f W]" <inverter> { http="<[sma-inverter-cache:30000:REGEX(.*power</td>.*?([0-9]*)</td>.*)]" } /* solar energy */ Number solar_energy_total "Rendimento giornaliero [%.0f kWh]" { http="<[sma-inverter-cache:30000:REGEX(.*DailyYield</td>.*?(\\d*)</td>.*)]" } Number solar_energy_day "Rendimento Totale [%.2f MWh]" { http="<[sma-inverter-cache:30000:REGEX(.*TotalYield</td>.*?([0-9\\.]*)</td>.*)]" } ho inserito nella sitemap i seguenti riferimenti Frame label="Fotovoltaico" { Text item=solar_active_power Text item=solar_energy_total Text item=solar_energy_day } Avvio il tutto e sul sito appaiono le scritte, le icone, ma dove dovrebbe esserci il dato, evidenzia solo un trattino che ci può essere?
smoothhands Inserita: 27 gennaio 2016 Segnala Inserita: 27 gennaio 2016 Ciao omar1971, ma se inserisci l'indirizzo 192.168.1.168 nel tuo browser ti restituisce la pagina web con i valori che ti interessano? Una volta che hai la pagina web devi andare a vedere i sorgenti che il webserver ti ha restituito e controllare come vengono formattati i valori che ti interessano. Può essere che tali valori non siano posizionati in una tabella. Poi occorre verificare che le regular expressions siano corrette. Ci sono dei siti che fanno il parsing di testi con l'espressione che gli inserisci per verificarne il comportamento.
omar1971 Inserita: 27 gennaio 2016 Autore Segnala Inserita: 27 gennaio 2016 ma se inserisci l'indirizzo 192.168.1.168 nel tuo browser ti restituisce la pagina web con i valori che ti interessano? SI dal sito ho fatto una visualizzazione frame.. ho colorato i valori che mi interessano <td class="tdcol0">Potenza:</td> <td id="Power" class="tdcol1">0 W</td> </tr> <tr class="oddrow"> <td class="tdcol0">Rendimento giornaliero:</td> <td id="DailyYield" class="tdcol1">1,21 kWh</td> </tr> <tr class="evenrow"> <td class="tdcol0">Rendimento totale:</td> <td id="TotalYield" class="tdcol1">28,72 MWh</td> </tr>
smoothhands Inserita: 27 gennaio 2016 Segnala Inserita: 27 gennaio 2016 Per quanto riguarda il dato Power io metterei questa .*Power.*>.*?([0-9]*).*<\/td> oppure... .*Power.*>.*?([0-9]*).*</td> Credo che sia buona la prima \/td in quanto per il carattere / ci vorrebbe il simbolo escape \ Ricordati che puoi anche non riavviare openHAB. Edita direttamente gli Items. Prova.
smoothhands Inserita: 27 gennaio 2016 Segnala Inserita: 27 gennaio 2016 Per i dati sul rendimento, giornaliero e totale, ci potrebbero essere dei problemi. Il problema è dovuto alla virgola. Può essere che una volta estratta la stringa 1,21 non venga interpretata correttamente. Sarebbe meglio fosse del tipo 1.21 Ad ogni modo per estrarre le stringhe interessate proverei... .*DailyYield.*>.*?(\\d*,\\d*).*?<\/td> .*TotalYield.*>.*?(\\d*,\\d*).*?<\/td>
omar1971 Inserita: 27 gennaio 2016 Autore Segnala Inserita: 27 gennaio 2016 ho provato, penso di aver sbagliato qualcosa visto che mi da errore in fase di imputazione dell'item Number solar_active_power "Potenza Istantanea [%.0f W]" <inverter> { http="<[sma-inverter-cache:30000:REGEX (.*Power.*>.*?([0-9]*).*<\/td>)]" }
smoothhands Inserita: 27 gennaio 2016 Segnala Inserita: 27 gennaio 2016 Usa la seconda... .*Power.*>.*?([0-9]*).*</td>
smoothhands Inserita: 27 gennaio 2016 Segnala Inserita: 27 gennaio 2016 Quindi le altre possono diventare... .*DailyYield.*>.*?(\\d*,\\d*).*?</td> .*TotalYield.*>.*?(\\d*,\\d*).*?</td>
smoothhands Inserita: 27 gennaio 2016 Segnala Inserita: 27 gennaio 2016 oppure anche... .*DailyYield.*>.*?([\\d,]*).*?</td> .*TotalYield.*>.*?([\\d,]*).*?</td>
omar1971 Inserita: 27 gennaio 2016 Autore Segnala Inserita: 27 gennaio 2016 ho provato ma nulla appare un trattino
smoothhands Inserita: 27 gennaio 2016 Segnala Inserita: 27 gennaio 2016 Se nei log non ti da errore... potrebbe volerci un pò per l'aggiornamento. Hai provato a fare un refresh della pagina?
omar1971 Inserita: 28 gennaio 2016 Autore Segnala Inserita: 28 gennaio 2016 ciao, ho lanciato opehab e ti allego la parte di ciò che poso capire... reference for transformation service of type REGEX 17:40:44.398 [WARN ] [.o.b.http.internal.HttpBinding:185 ] - couldn't transform response because transformationService of type 'REGEX ' is unavailable 17:40:44.398 [DEBUG] [.o.b.http.internal.HttpBinding:197 ] - transformed respon se is '<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF- 8"> <title>Sunny WebBox</title> </head> <frameset rows="75,*,22" frameborder="no" border="2" framespacing="0"> <frame src="top.htm" name="topFrame" scrolling="NO" topmargin="0 " leftmargin="0" marginheight="0" marginwidth="0" noresize> <frame src="home_frameset.htm" name="mainFrame" topmargin="0" le ftmargin="0" marginheight="0" marginwidth="0"> <frame src="bottom.htm" name="bottomFrame" scrolling="NO" topmar gin="0" leftmargin="0" marginheight="0" marginwidth="0" noresize> </frameset> </html> ' 17:40:44.401 [DEBUG] [.o.b.http.internal.HttpBinding:262 ] - Couldn't create st ate of type 'class org.openhab.core.library.items.NumberItem' for value '<!DOCTY PE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-
smoothhands Inserita: 28 gennaio 2016 Segnala Inserita: 28 gennaio 2016 Quote 17:40:44.398 [WARN ] [.o.b.http.internal.HttpBinding:185 ] - couldn't transform response because transformationService of type 'REGEX ' is unavailable Che strano. Per il resto la risorsa http l'ha raggiunta e scaricata quindi per qualche strano motivo non riesce ad applicare la trasformazione richiesta.
omar1971 Inserita: 28 gennaio 2016 Autore Segnala Inserita: 28 gennaio 2016 il dato deve essere trasformato?
smoothhands Inserita: 28 gennaio 2016 Segnala Inserita: 28 gennaio 2016 In questo caso si intende con trasformazione il prendere tutta la pagina web restituita ed estrarne una parte. Le istruzioni come estrarre la parte che interessa vengono specificate nella stringa di REGEX(...). E' come se mancasse un componente a openHAB. Poi c'è il problema di come interpretare quanto estratto. Infatti qualche post fa mi era venuto il dubbio che valori tipo 18,7 non venissero interpretati bene per via della virgola. Ma è solo una supposizione.
omar1971 Inserita: 28 gennaio 2016 Autore Segnala Inserita: 28 gennaio 2016 Ovviamente questo non ti aiuta.. <td class="tdcol0">Potenza:</td> <td id="Power" class="tdcol1">0 W</td> </tr> <tr class="oddrow"> <td class="tdcol0">Rendimento giornaliero:</td> <td id="DailyYield" class="tdcol1">1,18 kWh</td> </tr> <tr class="evenrow"> <td class="tdcol0">Rendimento totale:</td> <td id="TotalYield" class="tdcol1">28,72 MWh</td> p.s. io ho richiamato la voce power senza le virgolette
smoothhands Inserita: 28 gennaio 2016 Segnala Inserita: 28 gennaio 2016 Il problema non credo sia nella definizione dell'Item. Anche perchè te le avevo già indicate. Non le ho sparate a caso... le ho testate tramite il sito regex101.com E' proprio che il motore di openHAB non trova il componente per gestire REGEX. Hai fatto qualche modifica al pacchetto?
omar1971 Inserita: 28 gennaio 2016 Autore Segnala Inserita: 28 gennaio 2016 in che senso modifica... ci sto giocando su item e sitemap .. dici che ho sminchiato qualcosa? o ci sarà qualche file da aggiungere o modificare???? ora sto provando con i gruppi
omar1971 Inserita: 28 gennaio 2016 Autore Segnala Inserita: 28 gennaio 2016 questi gli items Number solar_active_power "Potenza Istantanea [%.0f W]" <inverter> { http="<[sma-inverter-cache:30000:REGEX (.*Power .*>.*?([0-9]*).*</td> .*)]" } Number solar_energy_total "Rendimento giornaliero [%.0f kWh]" { http="<[sma-inverter-cache:30000:REGEX (.*DailyYield.*>.*?([\\d,]*).*?</td>)]" } Number solar_energy_day "Rendimento Totale [%.2f MWh]" { http="<[sma-inverter-cache:30000:REGEX (.*TotalYield.*>.*?([\\d,]*).*?</td>)]" }
smoothhands Inserita: 28 gennaio 2016 Segnala Inserita: 28 gennaio 2016 Però te le cerchi... Togli lo spazio tra REGEX e la ( .... e nella prima metti... .*Power.*>.*?([0-9]*).*</td>
omar1971 Inserita: 28 gennaio 2016 Autore Segnala Inserita: 28 gennaio 2016 Hai ragione che me le cerco.... ora ho modificato cosi: Number solar_active_power "Potenza Istantanea [%.0f W]" <inverter> { http="<[sma-inverter-cache:30000:REGEX(.*Power.*>.*?([0-9]*).*</td>.*)]" } ho riavviato il tuto ...ma nulla
smoothhands Inserita: 28 gennaio 2016 Segnala Inserita: 28 gennaio 2016 Va bene ... stessa procedura dell'altra volta?
Messaggi consigliati
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 accountAccedi
Hai già un account? Accedi qui.
Accedi ora