• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 2 voto(i) - 5 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
v5 thermostat

Thermostat v5
#91
Buongiorno
per funzionare come vedi dal git ci sono delle cartelle che devono essere presenti
nella dir thermostat una di queste e la setting . Senza le dir il programma non puo partire
Nel tu caso manca la dir setting ma ripeto devono essere presenti tutte le dir perche ad esempio la kv e quella delle videata la web e quella del server etc etc
Per cui la disposizione deve essere quella de git
Ciao
Risposta
#92
(09/03/2020, 08:10)Athos Ha scritto: Buongiorno
per funzionare come vedi dal git  ci sono delle cartelle che devono essere presenti
nella dir thermostat una di queste e la setting . Senza le dir il programma non puo partire
Nel tu caso manca la dir setting ma ripeto devono essere presenti tutte le dir perche ad esempio la kv e quella delle videata la web e quella del server etc etc
Per cui la disposizione deve essere quella de git
Ciao

Ciao Athos e Bungiorno
Grazie mille per la rapida risposta e compimenti per il progetto.
La cartella setting la trovo sotto home/pi/Thermostat (presenti tutte le cartelle che avevi elencato, web, FakeRPI, lib, log, kv e ovviamente setting), dall'ultima riga di errore sembrerebbe che la cartella setting la cerca sotto pi.

Comunque dopo aver copiato la cartella Thermostat_v5 dal github, l'ho messa sotto pi denominandola Thermostat, ho notato che mancava il file thermostat.sh (creata una nuova), del resto ho seguito il manuale e tutte le discussioni con i vari aggiornamenti, diciamo che a vista noto quell'errore sul JSON store come se non trovasse o memorizzasse i settaggi.
Huh  non saprei.. ho provato a rifare la procedura piu volte stesso risultato.
Risposta
#93
Ciao
l'ultima riga sembra il nociolo della questione.
sembra che lanci thermostat.py dalla cartella home/pi.
Devi prima dare un cd thermostat o come hai chiamato la dir e quindi il comando: python3 thermostat.py
Ora sembra che tu lanci il comando avendo come base la cartella /home/pi.
Cioe non hai come base la cartella giusta
Se lo fai da un file di shell inserisci prima il cambio di cartella
Ciao
Risposta
#94
(09/03/2020, 12:54)Athos Ha scritto: Ciao
l'ultima riga sembra il nociolo della questione.
sembra che lanci thermostat.py dalla cartella home/pi.
Devi prima dare un cd thermostat o come hai chiamato la dir e quindi il comando: python3 thermostat.py
Ora sembra che tu lanci il comando avendo come base la cartella /home/pi.
Cioe non hai come base la cartella giusta
Se lo fai da un file di shell inserisci prima il cambio di cartella
Ciao

Ciao Athos
grz, considera che lanciavo con python3 /home/pi/Thermostat/thermostat.py e cmq ho fatto come mi hai suggerito,in questo modo ce qualche errore in piu.

pi@Thermostat5:~/Thermostat $ python3 thermostat.py

 Traceback (most recent call last):
   File "thermostat.py", line 101, in <module>
     settings = JsonStore("./setting/thermostat_settings.json")
   File "/usr/local/lib/python3.7/dist-packages/kivy/storage/jsonstore.py", line 29, in __init__
     super(JsonStore, self).__init__(**kwargs)
   File "/usr/local/lib/python3.7/dist-packages/kivy/storage/__init__.py", line 134, in __init__
     self.store_load()
   File "/usr/local/lib/python3.7/dist-packages/kivy/storage/jsonstore.py", line 46, in store_load
     self._data = loads(data)
   File "/usr/lib/python3.7/json/__init__.py", line 348, in loads
     return _default_decoder.decode(s)
   File "/usr/lib/python3.7/json/decoder.py", line 337, in decode
     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
   File "/usr/lib/python3.7/json/decoder.py", line 355, in raw_decode
     raise JSONDecodeError("Expecting value", s, err.value) from None
 json.decoder.JSONDecodeError: Expecting value: line 60 column 17 (char 1373)

Che non ci sia qualche file corrotto o pacchetto perso durante l installazione?
grz mille
Risposta
#95
Buongiorno
ma hai inserito i tuoi dati nel file di configurazione ?
Citazione: "appkey": "weather key",

"forecastRefreshInterval": 900,

"location": "44.111367, 9.963093",

"weatherExceptionInterval": 60,

"weatherRefreshInterval": 900,

"URLtimeout": 5

},

"web": {

"host": "discover",

"port": 80,

"key" :"/etc/ssl/cherrypy/cherrypy.key",

"cert":"/etc/ssl/cherrypy/cherrypy.crt",

"auth": 0

},

"telegram":{

"enabled":1,

"token":"token telegram",

"pwd" : "pwd telegram",

"timeout" : 100

},

"dhtconfigure": {

"versione" : 1

}

}
"weather": {

Dove ci stanno le chiavi ci vanno messi dei dati tuoi
Senno da errore
per telegram metti a 0 enabled cosi non lo usa nella weather key devi mettere la tua
Risposta
#96
[/quote]

Dove ci stanno le chiavi ci vanno messi dei dati tuoi
Senno da errore
per telegram metti a 0 enabled cosi non lo usa nella weather key devi mettere la tua
[/quote]

Ciao Athos buongiorno
Questo week end ho fatto piu prove di installazione da mi sono arenato su questo problema.

QUOTE
Traceback (most recent call last):
   File "thermostat.py", line 101, in <module>
     settings = JsonStore("./setting/thermostat_settings.json")
   File "/usr/local/lib/python3.7/dist-packages/kivy/storage/jsonstore.py", line 29, in __init__
     super(JsonStore, self).__init__(**kwargs)
   File "/usr/local/lib/python3.7/dist-packages/kivy/storage/__init__.py", line 134, in __init__
     self.store_load()
   File "/usr/local/lib/python3.7/dist-packages/kivy/storage/jsonstore.py", line 46, in store_load
     self._data = loads(data)
   File "/usr/lib/python3.7/json/__init__.py", line 348, in loads
     return _default_decoder.decode(s)
   File "/usr/lib/python3.7/json/decoder.py", line 337, in decode
     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
   File "/usr/lib/python3.7/json/decoder.py", line 355, in raw_decode
     raise JSONDecodeError("Expecting value", s, err.value) from None
 json.decoder.JSONDecodeError: Expecting value: line 60 column 17 (char 1373)
UNQUOTE

Premetto che sono partito da un installazione raspbian buster del 13 feb 2020,  il file thermostat.sh l'ho creato da zero poiche non era presente in cartella e anche la cartella cherrypy sotto etc/ssl e file cherrypy.key (vuoto) in questo modo da poter lanciare il comando

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/cherrypy/cherrypy.key -out /etc/ssl/cherrypy/cherrypy.crt

facendo cosi si è creato il file cherrypy.crt e si è compilato anche il file cherrypy.key

Per il file setting, ho preso quello del git è aggiornato con i miei dati (per lo meno dove sapevo cosa mettere).

QUOTE
{
    "calibration": {
     "boilingMeasured": 99.998043,
     "elevation": 500,
     "freezingMeasured": 0.0,
  "correctSensor":-0.5
    },
    "logging": {
        "channel": "file",
        "level": "error"
    },
    "pir": {
        "pirCheckInterval": 0.5,
        "pirEnabled": 0,
        "pirIgnoreFrom": "00:00",
        "pirIgnoreTo": "00:00",
        "pirPin": 5
    },
    "scale": {
        "tempScale": "metric"
    },
    "thermostat": {
        "lightPin": 24,
        "heatPin": 27,
        "coolPin": 18,
        "maxTemp": 25.0,
        "sensTemp": 2,
        "sensPin":6,
        "minTemp": 15.0,
        "minUIEnabled": 1,
        "minUITimeout": 30,
        "tempCheckInterval": 5,
        "tempHysteresis": 0.3,
        "tempStep": 0.5,
 "tempice": 16,
 "lightOff": 40,
 "user" : "a",
 "pass" : "a",
 "saveCsv": 300,
 "openDoor":300,
 "checkPin":0
    },
    "weather": {
        "appkey": "1exxxc3a9cdaxxxx5ef22xxxxxae4",
        "forecastRefreshInterval": 900,
        "location": "44.4222, 8.9052",
        "weatherExceptionInterval": 60,
        "weatherRefreshInterval": 900,
        "URLtimeout": 5
    },
    "web": {
        "host": "discover",
        "port": 80,
        "key" :"/etc/ssl/cherrypy/cherrypy.key",
        "cert":"/etc/ssl/cherrypy/cherrypy.crt",
        "auth": 0
    },
    "telegram":{
     "enabled":1,
        "token"Sad"11xxx82470:xxxxxxxxxxxxxxxxvdO-NlZxxxb0"),
     "pwd" : "luca",
     "timeout" : 100
     },
    "dhtconfigure": {
        "versione" : 1
        }
}
UNQUOTE

ho provato a mettere su 0 telegram ma nulla stesso risultato Confused Confused  di sopra.

Per info Telegram dovrebbe funzionare perche avevo messo uno script per fare un test e cio che scrivevo sull APP lo trovavo sul terminal.
 

Grz mille Smile per l aiuto
Luca
Risposta
#97
Ciao
vedo una parentesi in fondo al token telegram dopo le " e prima della ,
Non ci deve essere senno blocca il parse
copia la parte interna del tuo file di setting e vai su http://json.parser.online.fr/
lo incolli a sinistra e controlla se ti da errori
Risposta
#98
(17/03/2020, 14:15)Athos Ha scritto: Ciao
vedo una parentesi in fondo al token telegram dopo le " e prima della ,
Non ci deve essere senno blocca il parse
copia la parte interna del tuo file di setting e vai su http://json.parser.online.fr/
lo incolli a sinistra e controlla se ti da errori

Ciao Athos,
TH5 si è aperto Smile , non so come sia finito le parentesi tra il token (forse quando lho copiato ho fatto copia e incolla e si è portato dietro le paretesi).
Non so come ringraziarti perche davvero ci stavo da un po di tempo e non capivo l errore.

TH5 è aperto e nel terminal ci sono degli errori ma credo dovuti che al momento non ho collegato ne sensore ne altro.

QUOTE
tempsensor W1 OFF
tempsensor BMP280 OFF
Unexpected error: <class 'urllib3.exceptions.MaxRetryError'>
Unexpected error: <class 'urllib3.exceptions.MaxRetryError'>
Unexpected error: <class 'urllib3.exceptions.MaxRetryError'>
Unexpected error: <class 'urllib3.exceptions.MaxRetryError'>
Unexpected error: <class 'urllib3.exceptions.MaxRetryError'>
Unexpected error: <class 'urllib3.exceptions.MaxRetryError'>
Unexpected error: <class 'urllib3.exceptions.MaxRetryError'>
Unexpected error: <class 'urllib3.exceptions.MaxRetryError'>
Unexpected error: <class 'urllib3.exceptions.MaxRetryError'>
Unexpected error: <class 'urllib3.exceptions.MaxRetryError'>
Unexpected error: <class 'urllib3.exceptions.MaxRetryError'>
Unexpected error: <class 'urllib3.exceptions.MaxRetryError'>
Unexpected error: <class 'urllib3.exceptions.MaxRetryError'>
Unexpected error: <class 'urllib3.exceptions.MaxRetryError'>
Unexpected error: <class 'urllib3.exceptions.MaxRetryError'>
Unexpected error: <class 'urllib3.exceptions.MaxRetryError'>
Unexpected error: <class 'urllib3.exceptions.MaxRetryError'>
Unexpected error: <class 'urllib3.exceptions.MaxRetryError'>
Unexpected error: <class 'urllib3.exceptions.MaxRetryError'>
Unexpected error: <class 'urllib3.exceptions.MaxRetryError'>
UNQUOTE


inoltre nella pagina principale di TH5 al momento non sono presenti ne trend, temp diverse location/stanze (non ci sono collegate nenche le valvole bluetooth) e presumo che il tutto apparirà una volta fatti i collegamenti e i settaggi, corretto?

Adesso passo alle fasi successive Wink .
Grazie mille per la pazienza
Luca
Risposta
#99
Evvai
gli errori ci sono per svariati motivi ma non sono un problema puoi reindirizzare su un file.
Certo se non hai sensori o altro ci sta .
devi configurare le varie cose e vedrai che parte ......tutto
Ciaooooo
Risposta
(17/03/2020, 15:44)Athos Ha scritto: Evvai
gli errori ci sono per svariati motivi ma non sono un problema puoi reindirizzare su un file.
Certo se non hai sensori o altro ci sta .
devi configurare le varie cose e vedrai che parte ......tutto
Ciaooooo

Ciao Athos
rieccoci  Smile   nuovamente con altre domande, altri problemi ma procediamo per gradi.
Vorrei chiederti se Thermostat cosi come lo vedo io è normale averlo poiche non vede ne sensori ne valvole bluetooth.
Se è ok allora ti spiego le problematiche ma se non lo è allora qualcosa non sta funzionato in partenza.

Al momento ho collegato il sensore BME280 e valvole bluetooth ma non capisco come mai non si vede in TH.

Sensore BME280
lanciando il comando  i2cdetect -y 1 e modificato Adafruit_BME280.py riga 30 ---> BME280_I2CADDR = 0x76

pi@Thermostat:~ $ sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f

70: -- -- -- -- -- -- 76 --
 
Lanciando lo script Adafruit_BME280_Example.py mi trovo una serie di errori
 
QUOTE
pi@Thermostat:~/Adafruit_Python_BME280 $ python ./Adafruit_BME280_Example.py
Traceback (most recent call last):
File "./Adafruit_BME280_Example.py", line 5, in <module>
degrees = sensor.read_temperature()
File "/home/pi/Adafruit_Python_BME280/Adafruit_BME280.py", line 215, in read_temperature
UT = float(self.read_raw_temp())
File "/home/pi/Adafruit_Python_BME280/Adafruit_BME280.py", line 194, in read_raw_temp
self.BME280Data = self._device.readList(BME280_REGISTER_DATA, 8)
File "build/bdist.linux-armv7l/egg/Adafruit_GPIO/I2C.py", line 136, in readList
File "build/bdist.linux-armv7l/egg/Adafruit_PureIO/smbus.py", line 216, in read_i2c_block_data
TypeError: one character string expected
UNQUOTE
 
con lo script python bme280.py (trovato in rete per check del sensore) i parametri vengono letti (a parte l umidità)
 
pi@Thermostat:~/Thermostat $ python bme280.py
Chip ID : 88
Version : 1
Temperature : 22.73 C
Pressure : 1012.69203541 hPa
Humidity : 0.0 %
 
Lanciando thermostat.py all apertura mi comunica che i sensori non sono collegati e nella pagina principale non vengono riportati i valori di Temp e Press.
 
 
[INFO ] [Window ] auto add sdl2 input provider
[INFO ] [Window ] virtual keyboard not allowed, single mode, not docked
tempsensor W1 OFF
tempsensor BMP280 OFF
Unexpected error: <class 'urllib3.exceptions.MaxRetryError'>

Il sensore è collegato con SDI/SDA ---> SDA GPIO2 e SCK/SCL ---> SCL GPIO3 (dal file setting noto un parametro non commentato nel manuale sensTemp 2 e sensPin 6 la domanda se questi sono i pin di riferimento per il sensore e se la numerazione fa riferimento al pin o al GPIO)

 "thermostat": {
"lightPin": 24,
"heatPin": 27,
"coolPin": 18,
"maxTemp": 25.0,
"sensTemp": 2,
"sensPin":6,

poi ci sarebbero le valvole bluetooth dove dal comando sudo hcitool lescan ho copiato i mac address e inseriti nel file thermostat_bluetooth.json (verficato anche il codice è ok) ma nonostante questo non li vedo in TH5.

Ti metto le foto di come si presenta TH5 magari non è gia normale averlo cosi in partenza


Ti ringrazio Angel anticipatamente come sempre, probabilmente sarà un errore semplice ma i codici sembrano ok a parte un errore di sintassi su TEMP Pressure e Humidity del file Exemple, verificando con python online 

print 'Temp = {0:0.3f} deg C'.format(degrees)

print 'Pressure = {0:0.2f} hPa'.format(hectopascals)

print 'Humidity = {0:0.2f} %'.format(humidity)

File "main.py", line 13                                                                     
    print 'Temp      = {0:0.3f} deg C'.format(degrees)                                        
                                     ^                                                        
SyntaxError: invalid syntax    

Huh Huh
Luca


Allegati Anteprime
       
Risposta
  


Vai al forum:


Navigazione: 2 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect