How to build a thermostat with ESP Easy

แชร์
ฝัง
  • เผยแพร่เมื่อ 19 พ.ย. 2018
  • This video shows how easy it is to put a bespoke project together with ESP Easy. I go over the hardware build as well as the set up of the ESP Easy and configuring the rules so this project can control temperature. All this is implemented within the ESP, and operated independently from a home automation system.
    ESP Easy releases: github.com/letscontrolit/ESPE...
    Rules shown in the video: drive.google.com/file/d/1e7Ht...
    Separate video on ESP Easy Rules: • Rules in ESP Easy
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 50

  • @stoveman
    @stoveman 4 ปีที่แล้ว +2

    What a great tutorial on how to use the Rules within ESp Easy.

  • @pinky8yu
    @pinky8yu 5 ปีที่แล้ว +2

    As always great video. Thanks to Your channel and Your videos i have learned much regarding ESP8266 and Node-Red. Wish there were more quality videos like this, with detailed explanation out there.

    • @csongorvarga
      @csongorvarga  5 ปีที่แล้ว

      Thanks a lot man. I will keep them coming from time-to-time.

  • @Gijz74
    @Gijz74 4 ปีที่แล้ว

    Very nice video. Well explained and useful. Was looking to build something like this which I can also control from my Domoticz server. That will be easy using the remote control command.
    The only small "issue" with your code is that it will keep firing of TurnOn or TurnOff. As soon as the temp gets too low it will take a while for it to reach the low-temp again. All that time it will fire the TurnOn every 15 seconds, setting the GPIO and OLED values while there is no need. Probably not harmful but something to keep in mind.
    Oh and since your protecting the max and min temperatures you can set with the push buttons (which is a good idea) I would suggest also limit the temp range you can set remotely using SetTemp. Now you can easilly mess with the system.

  • @ronm6585
    @ronm6585 5 ปีที่แล้ว +1

    Thanks. Excellent vid.

  • @BachtiarDwi
    @BachtiarDwi 3 ปีที่แล้ว +2

    i found nothing more clear than this tutorial, great explanation!

  • @ICStation2013
    @ICStation2013 5 ปีที่แล้ว +1

    Great video as always!!! ^0^

  • @cam_DA_Hawkdriver
    @cam_DA_Hawkdriver 2 ปีที่แล้ว

    Good video. Some things have changed with the mega build, so I had to work around a few things. I put my relay signal on GPIO 12 to better manage my expectations about how the relay turns on/off. I still can't get the screen to display whether the relay is on or off. No big deal though.

  • @mikewurlitzer5217
    @mikewurlitzer5217 5 ปีที่แล้ว +1

    Very informative video. KUDOS

  • @EsotericArctos
    @EsotericArctos 5 ปีที่แล้ว +3

    I enjoyed this video and the tutorial. I would move the Relay off GPIO 0 given GPIO 0 is one of the special function pins on the EPS8266 and pulsing a gas furnace or boiler for a second probably is best avoided :).. Other than that, this is a great little project.

    • @csongorvarga
      @csongorvarga  5 ปีที่แล้ว

      Thanks for your comments. Did not think of that.

  • @multilecful
    @multilecful 4 ปีที่แล้ว

    Seems strange on the dummy that when you set to triple that on occasion it goes to single, then you see 4 outputs. The 4th doing nothing of course. But confusion if someone else looks at your settings. I tried this on the mega f/W several times and on occasion the triple defaults back to single on its own.

  • @hades666net
    @hades666net 5 ปีที่แล้ว +2

    Thanks to Your channel and Your videos i have learned much regarding ESP8266 and Node-Red. Have you tried making infrared work in Easy ESP? Could you please do some video about ESPEasy with IRDA?

  • @licon0972
    @licon0972 2 ปีที่แล้ว

    Great Video. Can you explain how I can set the Temp over Mqtt?

  • @adifoto6362
    @adifoto6362 4 ปีที่แล้ว

    Thanks for your video. I built this project and it works quit well. Is it possible to change the SetTemp via mqtt? I sent the command through the link and the new SetTemp trigger is added. So far i can't change the trigger value if i use mqtt. i have all values from the thermostat via mqtt, temperature, humidity, and what is the value of SetTemp but don't know what topic should i use to change the value of SetTemp from the mqtt. Is there any particular topic or command for that? Thanks

    • @muelltransporter9445
      @muelltransporter9445 3 ปีที่แล้ว

      Sharing my nodered nodes. You allso have to rewrite the + and _ hysteresis (0.5 degrees). I hope it is usefull . Import this to your nodered : [{"id":"9589b69d.bbb328","type":"ui_numeric","z":"e0130cf8.853438","name":"","label":"Set temperatura termostat","tooltip":"","group":"3259f561.7867c2","order":7,"width":0,"height":0,"wrap":false,"passthru":true,"topic":"","format":"{{value}}","min":"14","max":"32","step":"0.5","x":140,"y":600,"wires":[["f549a2ba.c9411","864e53af.d0f39","e9235d14.2f3a1"]]},{"id":"f549a2ba.c9411","type":"function","z":"e0130cf8.853438","name":"set temp on thermostat_1","func":"var x = msg.payload;
      msg.payload = \"TaskValueSet 2,1,\" + x;
      return msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":410,"y":600,"wires":[["36efc8f.de703b8"]]},{"id":"e9235d14.2f3a1","type":"function","z":"e0130cf8.853438","name":"","func":"msg.payload = msg.payload - 0.5;
      return msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":380,"y":640,"wires":[["2e27d4df.29239c"]]},{"id":"864e53af.d0f39","type":"function","z":"e0130cf8.853438","name":"","func":"msg.payload = msg.payload + 0.5;
      return msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":380,"y":680,"wires":[["f80913c7.379ba8"]]},{"id":"2e27d4df.29239c","type":"function","z":"e0130cf8.853438","name":"set temp_low on thermostat_1","func":"var x = msg.payload;
      msg.payload = \"TaskValueSet 2,2,\" + x;
      return msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":710,"y":640,"wires":[["36efc8f.de703b8"]]},{"id":"f80913c7.379ba8","type":"function","z":"e0130cf8.853438","name":"set temp_high on thermostat_1","func":"var x = msg.payload;
      msg.payload = \"TaskValueSet 2,3,\" + x;
      return msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":710,"y":680,"wires":[["36efc8f.de703b8"]]},{"id":"36efc8f.de703b8","type":"mqtt out","z":"e0130cf8.853438","name":"","topic":"thermostat_1/cmd","qos":"2","retain":"","broker":"15d7bf30.a141d1","x":970,"y":600,"wires":[]},{"id":"3259f561.7867c2","type":"ui_group","z":"","name":"Termostat","tab":"f95d804f.8d658","order":1,"disp":true,"width":"6","collapse":true},{"id":"15d7bf30.a141d1","type":"mqtt-broker","z":"","name":"","broker":"localhost","port":"11883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"f95d804f.8d658","type":"ui_tab","z":"","name":"Valori climatice","icon":"dashboard","order":5}]

  • @markclynch
    @markclynch 5 ปีที่แล้ว

    I can't seem to get the HTTP request to work to update set temp.
    192.168.0.16/control?cmd=event.SetTemp=25
    is what I'm using, can you explain?

  • @RiccardoMarconi
    @RiccardoMarconi 4 ปีที่แล้ว

    HI, how do you send the temperature from domoticz setpoint to the esp dummy device variable?

    • @csongorvarga
      @csongorvarga  4 ปีที่แล้ว

      I mentioned in the video what will be the mqtt topic for dummy variable. I don't how to configure that in domoticz.

  • @user-jf4lq5be3n
    @user-jf4lq5be3n 5 ปีที่แล้ว

    Great video, how to control relays via rc-switch? I hope to have the opportunity to learn.

  • @FrantisekKroupa
    @FrantisekKroupa 3 ปีที่แล้ว

    Hi. A great project is great to place the buttons on the thermostat. But is it possible to create a way to control SetTemp via an incoming message from the MQTT server? (homeassistant thermostat without node red). Responsively can send value to "Bedroom thermostat / Local / SetTemp", but esp thermostat ignores this change does not load value into SetTemp from MQTT

    • @csongorvarga
      @csongorvarga  3 ปีที่แล้ว

      I don't have this device any more to test, but if you look at the command reference, I think the TaskValueSet command looks like will work: www.letscontrolit.com/wiki/index.php/ESPEasy_Command_Reference.

    • @FrantisekKroupa
      @FrantisekKroupa 3 ปีที่แล้ว +1

      @@csongorvarga
      Thank you for answer. I am a beginner and I am just trying to penetrate the secret :)
      if I understand correctly, then the rule could be set when:
      if the status changes on the MQTT theme -homeassistant / thermostat / local / TempSet
      then
      TaskValueSet 2.1,% eventvalue% .... (value read from topic)
      If it doesn't bother you much, can I ask for help with writing a rule?
      For a long time I was looking for an ideal thermostat that could be controlled with buttons even through homeassisatnt and this one is great. It is a pity that the instructions do not include an easy way to integrate into homeasssiatnt. Thank you very much for your work.

  • @muelltransporter9445
    @muelltransporter9445 3 ปีที่แล้ว

    Greetings, i have build your example thermostat and its working well . As an addition i try to change the temperature setting from within nodered but i simply can not find the right command. Maybe you can help with it.
    Thank you and keep up the good work.

    • @csongorvarga
      @csongorvarga  3 ปีที่แล้ว

      I don't have this demo board any more, but have a look at the Command Reference for ESP Easy, it says these commands can be issued via HTTP and MQTT as well. And I think the TaskValueSet is what you need: www.letscontrolit.com/wiki/index.php/ESPEasy_Command_Reference

    • @muelltransporter9445
      @muelltransporter9445 3 ปีที่แล้ว

      @@csongorvarga Found it. It's working well . Thank you.

  • @WZombie47
    @WZombie47 2 ปีที่แล้ว

    How i can use PWM 0-100% and frequency at 10hz at any pin esp easy??

    • @csongorvarga
      @csongorvarga  2 ปีที่แล้ว

      From script you just add a PWM,, where state goes from 0 to 1023. But I think the ESP 8266 cannot do PWM on every pin, so please check before.

    • @WZombie47
      @WZombie47 2 ปีที่แล้ว

      @@csongorvarga and i see he cannot do PWN at 10hz, only from 100hz

    • @csongorvarga
      @csongorvarga  2 ปีที่แล้ว

      @@WZombie47 sorry, I missed the 10Hz requirement

  • @Alexkr123
    @Alexkr123 5 ปีที่แล้ว

    A great video. Is it possible to use the same code with ESP32S

    • @csongorvarga
      @csongorvarga  5 ปีที่แล้ว

      Yes, you just flash the ESP Easy32 firmware. Keep in mind that is still an experimental version, but as they state the basics including the rules work.

    • @Alexkr123
      @Alexkr123 5 ปีที่แล้ว

      How to install the same sketch in ESP32 HELTEC wifi kit 32 with OLED. When i used the ESPEasy_mega i am getting an error.Thanks in advance!

    • @csongorvarga
      @csongorvarga  5 ปีที่แล้ว

      @@Alexkr123 There is a separate experimental version of ESP Easy for ESP32: www.letscontrolit.com/wiki/index.php/ESPEasy32

    • @Alexkr123
      @Alexkr123 5 ปีที่แล้ว

      @@@csongorvarga Highly experimental ESPEasy32 R20100, I did used this to flash the ESP32 still not working. Is it possible to get the .ino file for this Binary so that I can edit, compile and upload.

    • @csongorvarga
      @csongorvarga  5 ปีที่แล้ว

      @@Alexkr123 I think it is, but not sure how. That was too much for me and never gone to that level. Having said that I am not sure if the source is in the Arduino IDE.

  • @selimturan3726
    @selimturan3726 5 ปีที่แล้ว

    Hi. I tryed your project with node-red and mqtt server. I use MQTT Dash apk on my Android phone. I use that code for increase temprature target (topic sub & pub like "/Mydevice/gpio/13" How can I send "SetTemp" command? I tryed "/Mydevice/Local/SetTemp" but its not works

    • @psanya_
      @psanya_ 3 ปีที่แล้ว

      Hi friend, I have the same problem! Have you dealt with the problem? Please help me too! Thanks!

    • @selimturan3726
      @selimturan3726 3 ปีที่แล้ว +1

      @@psanya_ you can add Mqtt import and set Rules to Mqtt import to settemp. Like
      on MQTT#SetTemp do
      TaskValueSet 5,1,%eventvalue%
      TaskValueSet 5,2,%eventvalue%-0.1
      TaskValueSet 5,3,%eventvalue%+0.5
      endon

    • @psanya_
      @psanya_ 3 ปีที่แล้ว

      @@selimturan3726 Thanks, I added to the rules, I don't understand how the MQTT query string will look like.

  • @joepremkes
    @joepremkes 5 ปีที่แล้ว +1

    ESP Easy can be configured from the terminal (serial) interface. I like to do this for the Wifi SSD and Wifi Password and IP address. This will sav you the "trouble" of going to the initial setup page on 192.168.4.1. I'm pretty sure the new ESP Flasher uses these command to configure the Wifi settings etc.. you can enter in the tool. www.letscontrolit.com/wiki/index.php/ESPEasy_Command_Reference

    • @csongorvarga
      @csongorvarga  5 ปีที่แล้ว

      Thanks for the tip, I did not know about option.

  • @krysstynel
    @krysstynel 5 ปีที่แล้ว

    You could try Tasmota or ESPurna, are newer and better than ESPEasy

    • @csongorvarga
      @csongorvarga  5 ปีที่แล้ว +3

      Not really. My whole point in this video, that this device functions as a thermostat on it's own. And this is thanks to the rules. You will not be able to define such rules in Tasmota or ESPurna. With those you can only build a dumb interface (buttons, oled, relay), but you need something behind it to actually control it.

    • @JasonWho
      @JasonWho 5 ปีที่แล้ว +1

      Csongor Varga I’m not saying you *should* use Tasmota, but just wanted to clarify that rules are fully implemented in Tasmota. You can set variables, run events based on temperature data, publish custom MQTT, etc etc. I do motion activated light operation based on sunset/sunrise times at my Lat/Long.

  • @oseiyamoahrichard76
    @oseiyamoahrichard76 2 ปีที่แล้ว

    Hello can you send your email address and can you program it to control humidity and other parameters

  • @rsuplido
    @rsuplido 5 ปีที่แล้ว

    You can also use Tasmota: th-cam.com/video/VixBNNKykIg/w-d-xo.html