Community
OpenEnergyMonitor

Community

WiFi 1CH Relay - get temperature from 433Mhz remote node


(Felix) #1

Hello!

Which ESP8266 modules would work with the code here:https://github.com/openenergymonitor/ESP8266_Relay_Board/tree/master/1ch_relay ?

(ESP-07, ESP-12, ESP-12E, ESP-12F, ESP-WAROOM-02)

Thanks!

PS: I’ve just tried to compile the first, but I get this error:

user/broadcastd.c: In function 'broadcastReading':
user/broadcastd.c:46:39: error: 'currGPIO13State' undeclared (first use in this function)
   os_sprintf(buf,buf2,currGPIO12State,currGPIO13State,currGPIO15State,"N/A",t2,t3);
                                       ^
user/broadcastd.c:46:39: note: each undeclared identifier is reported only once for each function it appears in
user/broadcastd.c:46:55: error: 'currGPIO15State' undeclared (first use in this function)
   os_sprintf(buf,buf2,currGPIO12State,currGPIO13State,currGPIO15State,"N/A",t2,t3);
                                                       ^
Makefile:197: recipe for target 'build/user/broadcastd.o' failed
make: *** [build/user/broadcastd.o] Error 1

 

PS2: changed the content of /user/io.h to

void ICACHE_FLASH_ATTR ioGPIO(int ena,int gpio);
void ioInit(void);
extern char currGPIO12State;
extern char currGPIO13State;
extern char currGPIO15State;

and it compiled …


(Dinica Bogdan) #2

Hi,

I am interested to build this thermostat also but i don’t have any idea on how to compile files.
I will use ESP8266-12E and i managed to burn some files on ESP before this using Arduino IDE and an usb to TTL adapter.
Could someone help me with what i need to compile files?
Thanks!


(Felix) #3

For compiling I followed these steps:

  1. Downloaded the source files from: https://github.com/openenergymonitor/ESP8266_Relay_Board/tree/master/1ch_relay

  2. Followed the entire procedure here: https://github.com/esp8266/esp8266-wiki/wiki/Toolchain

  3. I had to change the content of /user/io.h to:

void ICACHE_FLASH_ATTR ioGPIO(int ena,int gpio);
void ioInit(void);
extern char currGPIO12State;
extern char currGPIO13State;
extern char currGPIO15State;
  1. Entered the 1ch_relay folder and issued: sudo make

During the compiling process, I had some errors about missing packages. After installing those packages it all went smooth.

PS: it seems to be working on an ESP-12 8m (512+512)


(Felix) #4

Did anybody succeed using the “Serial” input as the source for the temperature?

I connected a Moteino to the ESP8266 (Tx->Rx, GND and 3.3V). The Moteino has a simple sketch that sends a value every 10 seconds: Serial.print(“15”);
Unfortunately, I only get 0.0°C in the Thermostat webpage.
I tried both 9600 and115200 serial baud values.


(Felix) #5

I finally managed to have the temperature sent through serial. The temperature must be sent like this:
"\nserialremotetemp=1500" (the temperature must be between -3000 and 12000 because the value gets divided by 100 in the source code).

At the moment I have a remote Moteino node with an RFM69HW module (which sends the temperature from an MS5611 barometric sensor) and another Moteino + RFM69HW connected to the Rx of the ESP8266 that acts as a gateway and forwards the temperature value to the Thermostat.

The only downside is that the remote temperature is not sent to Thingspeak.com (in case you use it). The source code must be changed for that (I might try …).


(Felix) #6

Changed a few things:

  1. Added some extra data (all data received through serial: BME280 humidity, temperature and pressure. Signal stregth and the battery status of the 433Mhz remote node)

  2. Added the new data to Thingspeak

Unfortunatelly, I didn’t succeed compiling with the latest SDK 2.1.0