Giter Club home page Giter Club logo

souliss-smart-thermostat-wifi's Introduction

souliss-smart-thermostat-WiFi

Join the chat at https://gitter.im/mcbittech/souliss-smart-thermostat-WiFi Wi-Fi Smart Thermostat based on Souliss IoT Framework

Youtube video: https://youtu.be/Pk9kK5DvYXE

Wiki-How to Compile & Upload

Example of SST with 3D printed support & cover:

layout2 layout2

Example of layout 2:

layout2

Example of layout 1:

layout2

Example of chrono:

chrono

Bill of Material:

-Olimex ESP8266-EVB
-ILI9341 with SPI connection, via UEXT connector
-Rotary Encoder with pushbutton & status LED
-DHT22 Temperature & Humidity Sensor

How to connect your system:

scheme

Power up your system:

All the system require maximum about 200mA @5vdc, with relay ON and maximum brightness of the screen. Minimum power required about 65mA, with relay OFF and minimum brightness.

souliss-smart-thermostat-wifi's People

Contributors

dpeddi avatar fazioa avatar gitter-badger avatar mcbittech avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

souliss-smart-thermostat-wifi's Issues

Ora legale

Prevedere flag ora legale. Con timezone 1 segna un ora prima....

ESP-12E Random Soft WDT Resets

Hi there,
I'm really interested in this project and I'm testing it on a NodeMCU ESP-12E development board.
I randomly receive software WDT resets. It can happen right after 10 minutes or a couple of hours, it is not sistematic. It happens both when powered with USB and with an external power supply (7805 connected to the Vin pin of the board).

Here you are the stacktrace I'm receiveing in the serial monitor window:

Refresh Circle White 
Refresh Circle White OK 
Refresh Circle Black 
Refresh Circle Black OK 
Refresh HOME Screen 

Soft WDT reset

ctx: cont 
sp: 3fff1640 end: 3fff1bd0 offset: 01b0

>>>stack>>>
3fff17f0:  3fff0a40 3fff1810 00000029 40215609  
3fff1800:  00000000 3fff1ad8 3fff1ab8 4021a54b  
3fff1810:  00000000 0000000e 00000005 00000030  
3fff1820:  00000001 3fff1ad8 3fff1ab8 4021a864  
3fff1830:  40215482 63045964 00000020 401076bc  
3fff1840:  3fffc278 3fff1ad8 3fff1ab8 4021a8f3  
3fff1850:  402154b1 00000030 3fff1ab8 4021ba14  
3fff1860:  4021549b 3fff1ad8 3fff1ab8 4021bced  
3fff1870:  00000025 0000005a 0000fff8 fffffff8  
3fff1880:  000000b4 000000b4 0000004a 00000015  
3fff1890:  4021549b 00000030 00000008 0000003b  
3fff18a0:  00000025 00000039 3fff1ab8 40247f5d  
3fff18b0:  fc0000ff 402154e0 402154e0 4021b27b  
3fff18c0:  000000a4 00000055 27f40000 4021ad68  
3fff18d0:  00000000 0000003b 00000000 fffffffc  
3fff18e0:  0000003b 00000000 00000025 401076bc  
3fff18f0:  4021a8a4 0000000f 3fffc230 0000003f  
3fff1900:  00000000 3fff1ab8 3fff1b34 4021ae4d  
3fff1910:  00000025 0000003e ffffffcf 00000000  
3fff1920:  4021b97c 00000000 000000ff 3fff1ab8  
3fff1930:  fffffffc 00000000 3fff1ab8 4021af03  
3fff1940:  3fff1ab8 00000050 00000000 4021b000  
3fff1950:  00000031 00000001 3fff1ab8 40219d28  
3fff1960:  00009b98 00000000 3fff1ab8 3fff19f0  
3fff1970:  3fff1ab0 00000000 3fff1ab0 40215685  
3fff1980:  000000c5 00000002 3fff19ee 4021892c  
3fff1990:  4000df64 00000030 00000011 3fff1ab0  
3fff19a0:  00000031 0000000a 3fff1ab0 402160f1  
3fff19b0:  3fff19ee 3fff1a30 3fff1ab8 4021a8f3  
3fff19c0:  000000a3 3fff1a20 3fff19ed 402162ad  
3fff19d0:  3fff00f0 3fff1a30 3fff1ab8 4021bd51  
3fff19e0:  00000000 3fff1a20 3fff1ab8 3831b9b1  
3fff19f0:  3fff1c00 3fff1aba 3fff1ab8 00000009  
3fff1a00:  00000009 3fff1ab8 3fff1ab8 00000009  
3fff1a10:  3fff1c18 3fff1ab8 3fff1ab8 00000009  
3fff1a20:  3fff1c18 00000012 3fff1ab0 4021630b  
3fff1a30:  00000000 014000f0 3fff1ab8 40247f29  
3fff1a40:  3fff1c18 3fff1ab8 3fff1ab0 40216324  
3fff1a50:  41973333 41973333 3fff1ab0 4020a751  
3fff1a60:  00000012 41a00000 4288cccd 402161ec  
3fff1a70:  00000000 3fff1c18 3fff1c18 40216238  
3fff1a80:  3fff0226 3fff1c18 3fff1ab8 3fff0ba4  
3fff1a90:  00000000 3fff0224 3fff00f0 4020ebc3  
3fff1aa0:  40000f83 00000030 00000020 401076bc  
3fff1ab0:  3ffe89b0 00000000 00a00001 00000078  
3fff1ac0:  4021bba8 4021a880 4021a8a4 014000f0  
3fff1ad0:  4021b97c 402154e0 0000003b 00000000  
3fff1ae0:  00010042 00010008 00000000 ff660000  
3fff1af0:  00000000 00000000 00000000 00000000  
3fff1b00:  00000000 00000000 00000000 00000000  
3fff1b10:  00000000 00000000 00000000 00000000  
3fff1b20:  00000000 00000000 014000f0 4024e9e4  
3fff1b30:  4021a9dc 4024ef11 001ffffc 3e253a1f  
3fff1b40:  00000001 0506025f 05010606 003e2507  
3fff1b50:  30f42ef3 098400f3 000014de 00000000  
3fff1b60:  02fff42e ffffff0f ffffffff 07ffffff  
3fff1b70:  0000010d 4021a8a4 4021a880 0050fffc  
3fff1b80:  feefef00 3fff2b34 3fff267c 00000000  
3fff1b90:  00000000 00000000 feefeffe feefeffe  
3fff1ba0:  00000000 00000000 00000001 3fff0ba4  
3fff1bb0:  3fffdad0 00000000 3fff0b9c 4021588c  
3fff1bc0:  feefeffe feefeffe 3fff0bb0 40100718  
<<<stack<<<

 ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 1384, room 16 
tail 8
chksum 0x2d
csum 0x2d
v3de0c112
~ld
ÿ

Addresses shown before the stack trace are not fixed, they change between subsequent crashes. Here's another crash log, right after the first one:

Refresh Circle Green 
Refresh Circle Green OK 

Soft WDT reset

ctx: cont 
sp: 3fff16c0 end: 3fff1bd0 offset: 01b0

>>>stack>>>

At the beginning of the code, in the setup() I've added some additional debug info:

Heap: 37424
Boot Vers: 31
CPU: 80
SDK: 1.5.3(aec24ac9)
Chip ID: 422598
Flash ID: 1458400
Flash Size: 4194304
Vcc: 65535

Boot mode (3,6) seems to be correct: booting from SPI flash memory, while the reset cause (2) means that there is something with the RST pin. I checked the connections and they are OK and I added a 10k pull-up resistor on the GPIO 0 pin, with no luck.

Anyone facing this problem? Any hint to solve it?

Thank You

Static IP vs Webconfig

In this moment if you set dynamic config off and dhcp off it doesn't work if eeprom is empty.
You must compile first with dynamic config on in preferences to set static ip address for first time and then recompile with dynamic config off.
It's better to set static ip in preferences but if i put here setaddress goes in conflict with webconfig.

OH continuous refresh on "off" state

Today i 've found my sst in "off" position correctly but in oh logs:

14:35:35.935 [DEBUG] [.b.s.i.n.udp.UDPSoulissDecoder:80   ] - updateTIMESTAMP:  TIMESTAMP_Nodo12 ( 153) = 2016-03-21T14:35:35.935CET
14:35:35.938 [DEBUG] [.s.i.n.t.SoulissGenericTypical:100  ] - Update State. Name: power, Typ: 0x11, Node: 12, Slot: 0. New State: 0.0
14:35:35.951 [DEBUG] [.s.i.n.t.SoulissGenericTypical:100  ] - Update State. Name: heating, Typ: 0x13, Node: 12, Slot: 0. New State: 0.0
14:35:35.955 [DEBUG] [.s.i.n.t.SoulissGenericTypical:100  ] - Update State. Name: cooling, Typ: 0x13, Node: 12, Slot: 0. New State: 0.0
14:35:35.957 [DEBUG] [.s.i.n.t.SoulissGenericTypical:100  ] - Update State. Name: fan_low, Typ: 0x11, Node: 12, Slot: 0. New State: 0.0
14:35:35.961 [DEBUG] [.s.i.n.t.SoulissGenericTypical:100  ] - Update State. Name: fan_med, Typ: 0x11, Node: 12, Slot: 0. New State: 0.0
14:35:35.970 [DEBUG] [.s.i.n.t.SoulissGenericTypical:100  ] - Update State. Name: null, Typ: 0x11, Node: 12, Slot: 0. New State: 0.0
14:35:35.974 [DEBUG] [.s.i.n.t.SoulissGenericTypical:100  ] - Update State. Name: fan_auto_mode, Typ: 0x11, Node: 12, Slot: 0. New State: 0.0
14:35:35.977 [DEBUG] [.s.i.n.t.SoulissGenericTypical:100  ] - Update State. Name: heating_cooling, Typ: 0x11, Node: 12, Slot: 0. New State: 1.0
14:35:35.980 [DEBUG] [.b.s.i.n.udp.UDPSoulissDecoder:300  ] - decodeStateRequest: power (49). Thermostat= 128, Temp.Measured= 20.796875, Temp.SetPoint= 20.796875
14:35:35.991 [DEBUG] [.o.b.s.i.n.udp.UDPServerThread:61   ] - Packet received

This happen continuously...

Topics Refresh in homepage with Layout 2

In this moment topics refresh in layout 2 is not in realtime. It refresh every 50sec when slow50 refresh home screen.
It would be better than refresh when getuichanged is true

Various bugs using ide 1.6.8, core 2.1 and Souliss_Branch_Core2

Tried to modify main page with new OTA (working but erasing eeprom) but new core and souliss_branch_core2 introduce several bugs :

  1. during crono programming moving encoder in setpoint area cause reset.
  2. t31 work reversed. It start in heat mode but with no functional relay
  3. sometimes system send lots of data to gateway (floods) with t31 reversed.
  4. eeprom doesn't work well

PCB disponibile?

non so se è corretto aprire una issue anche per questo ma... esiste già un PCB di questo progetto? Volevo fare qualche prova ma odio le millefori e mi stavo per cimentare nel disegno ma se c'è qualcosa di pronto molto meglio :)

wbserver_beta non compila con DYNAMIC = 1

Sembra non sia possibile a compilare wbserver_beta con DYNAMIC =1

questo perché si formano dei conflitti con ESPAsynWebServer e
#include "conf/RuntimeGateway.h" // This node is a Peer and can became a Gateway at runtime
#include "conf/DynamicAddressing.h" // Use dynamically assigned addresses
#include "conf/WEBCONFinterface.h" // Enable the WebConfig interface

occorre quindi capire se souliss passerà a ESPAsyncWebServer oppure se sarà necessario incorporare in SST una webconf basata su ESPAsynWebServer, più o meno come ha fatto gmag11(https://github.com/gmag11/FSBrowserNG) e perché no salvare su spiffs anche la configurazione del wifi.

Segue l'errore:

Compiling .pioenvs\e05_ESP8266_SST_webconf\lib\ESP8266WebServer\ESP8266WebServer.o
In file included from D:/Apps/Atom_x64/projects/souliss-smart-thermostat-WiFi_wbserver_beta/e05_ESP8266_SST_webconf/e05_ESP8266_SST_webconf.ino:65:0:
D:\Apps\Atom_x64.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266WebServer\src/ESP8266WebServer.h:30:19: error: redeclaration of 'HTTP_ANY'
enum HTTPMethod { HTTP_ANY, HTTP_GET, HTTP_POST, HTTP_PUT, HTTP_PATCH, HTTP_DELETE, HTTP_OPTIONS };

(souliss\interfaces\mcu_esp8266\webconfig\webconfig.cpp ESP8266WebServer server(HTTP_PORT); )

e

In file included from .piolibdeps\souliss/Souliss.h:168:0,
from D:/Apps/Atom_x64/projects/souliss-smart-thermostat-WiFi_wbserver_beta/e05_ESP8266_SST_webconf/e05_ESP8266_SST_webconf.ino:89:
.piolibdeps\souliss/tools/store/store.cpp: In function 'void Store_Init()':
.piolibdeps\souliss/tools/store/store.cpp:37:3: error: 'EEPROM' was not declared in this scope

EEPROM.begin(STORE__SIZE);
^

per lo stesso motivo

child lock

Proposta: doppio click per inserire il blocco bambini, nuovamente doppio click per disinserito.
Il blocco bambini dovrebbe impedire di cambiare il Setpoint

Sospensione crono

Sospendere il crono per 30 minuti quando si imposta manualmente il setpoint

Customized NTP IPs

Looking through the code and saw that the NTP server is hardcoded. A nice feature would be to allow for a custom host ip to be set.

Override Crono al cambio manuale del setpoint

Sarebbe utile disabilitare il crono, per il giorno in corso(ma da valutare), ad un cambio manuale del Setpoint.
Sarebbe utilissimo anche avere la possibilità di scegliere se attivare l'override, tramite cambio pagina e scelta con click encoder.
Esempio:

  • ruoto encoder con crono attivo
  • senza cambiare setpoint, mi porto su una nuova pagina con la domanda "vuoi attivare un setpoint manuale con crono attivo?"
  • avere la possibilità di selezionare si\no
    In caso affermativo, si può spostare il setpoint a piacere e il crono viene disattivato per il giorno intero.
    In caso di spostamento del setpoint sarebbe utile segnalarlo con una scritta "OVERRIDE MANUALE" a display.

Files compiled with errors

Files compiled with errors. Established Arduino AVR v1.6.11 ESP 8266 v2.3.0 Souliss v.7.2.1

C:\Users\igbor\Documents\Arduino\e05_ESP8266_SST_webconf\e05_ESP8266_SST_webconf.ino: In function 'void subscribeTopics()':

e05_ESP8266_SST_webconf:114: error: 'subscribedata' was not declared in this scope
if (subscribedata(TOPIC1, mypayload, &mypayload_len)) {
^
C:\Users\igbor\Documents\Arduino\e05_ESP8266_SST_webconf\e05_ESP8266_SST_webconf.ino: In function 'void publishHeating_ON_OFF()':

e05_ESP8266_SST_webconf:248: error: 'publishdata' was not declared in this scope
publishdata(SST_HEAT_ONOFF, &HEAT_ON, 1);
^
e05_ESP8266_SST_webconf:250: error: 'publishdata' was not declared in this scope
publishdata(SST_HEAT_ONOFF, &HEAT_OFF, 1);
^
exit status 1
'subscribedata' was not declared in this scope

Il setpoint non ha limiti

v 1.2

Andrebbe impostato un limite negativo e positivo al setpoint.

Ruotando all'infinito vengono generati setpoint infiniti che alterano la visualizzazione della grafica (layout circolare)

la cosa più semplice è impostare il setpoint massimo a 50° e minimo a 5° (-15 se proprio si vuole essere generosi)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.