Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Hardware
  3. Temperature sensor on ESP8266

Temperature sensor on ESP8266

Scheduled Pinned Locked Moved Hardware
14 Posts 7 Posters 14.1k Views 7 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • ? Offline
    ? Offline
    A Former User
    wrote on last edited by
    #1

    Just finished a setup with a dallas DS18b20 sensor connected directly to an ESP8266 module, connected to Domoticz using the MySensor LAN Gateway. It actually works!

    Nice to be able to use MySensors without an Arduino Pro mini and without a NRF24L01 module. Just one single ESP. Opens up new possibilities...

    DidiD YveauxY 2 Replies Last reply
    4
    • ? A Former User

      Just finished a setup with a dallas DS18b20 sensor connected directly to an ESP8266 module, connected to Domoticz using the MySensor LAN Gateway. It actually works!

      Nice to be able to use MySensors without an Arduino Pro mini and without a NRF24L01 module. Just one single ESP. Opens up new possibilities...

      DidiD Offline
      DidiD Offline
      Didi
      wrote on last edited by
      #2

      @martinus said:

      Nice to be able to use MySensors without an Arduino Pro mini and without a NRF24L01 module. Just one single ESP. Opens up new possibilities...

      Cann you share your setup please?

      if (knowledge == 0) { use BRAIN; use GOOGLE;use SEARCH; } else {make POST;}

      1 Reply Last reply
      1
      • D Offline
        D Offline
        deki
        wrote on last edited by
        #3

        Yes please share. I have bunch of 8266 left over from previous project

        1 Reply Last reply
        0
        • ? A Former User

          Just finished a setup with a dallas DS18b20 sensor connected directly to an ESP8266 module, connected to Domoticz using the MySensor LAN Gateway. It actually works!

          Nice to be able to use MySensors without an Arduino Pro mini and without a NRF24L01 module. Just one single ESP. Opens up new possibilities...

          YveauxY Offline
          YveauxY Offline
          Yveaux
          Mod
          wrote on last edited by
          #4

          @martinus said:

          It actually works!

          Great to hear man!
          Always nice to read succes stories :+1:

          http://yveaux.blogspot.nl

          1 Reply Last reply
          0
          • ? Offline
            ? Offline
            A Former User
            wrote on last edited by
            #5

            I could share stuff, but it's actually not much more than a trial sketch to see if it really works.

            The whole thing started by some user "hek" on our esp8266.nu forum stating that we do not need a dedicated gateway if we want to connect a sensor to some Home Automation controller.

            This is the topic where I also posted the demo sketch. It's just a simple combination of the GatewayESP8266 sketch and the DallasTemperatureSensor sketch.
            http://www.esp8266.nu/forum/viewtopic.php?f=6&t=427#p2144

            I'm new to MySensors. I've certainly heard about it, but never used it. All my NRF modules used with the Nodo project have been replaced with ESP modules by now. I'm using the ESP Easy firmware, but it could be interesting to see if I can migrate to MySensors if it has support for ESP modules.

            1 Reply Last reply
            1
            • hekH Offline
              hekH Offline
              hek
              Admin
              wrote on last edited by
              #6

              @martinus
              Glad to hear that if worked for you.

              @Didi
              You can taken any example sketch from the dev-branch and run it on the ESP8266.

              If you want it to run as a standalone ESP8266 sensor (without any NRF/RF69 radio attached) just remove the radio define at the top (MY_RADIO_NRF24) and as a minimum add the following defines from the GaterwayESP8266.ino:

              #define MY_ESP8266_SSID "MySSID"
              #define MY_ESP8266_PASSWORD "MyVerySecretPassword"
              #include <ESP8266WiFi.h>
              

              This will assign the node a dynamic IP from your DHCP server. You can of course set it statically as well (see GaterwayESP8266.ino for detailed configuration).

              The ESP node will run the MySensors protocol as default. If you instead want the example-sketch communicate using MQTT, you can add the following defines instead:

              #define MY_GATEWAY_MQTT_CLIENT
              
              // Set this nodes subscripe and publish topic prefix
              #define MY_MQTT_PUBLISH_TOPIC_PREFIX "mygateway1-out"
              #define MY_MQTT_SUBSCRIBE_TOPIC_PREFIX "mygateway1-in"
              
              // Set MQTT client id
              #define MY_MQTT_CLIENT_ID "mysensors-1"
              
              // Enable these if your MQTT broker requires usenrame/password
              //#define MY_MQTT_USER "username"
              //#define MY_MQTT_PASSWORD "password"
              
              // Set WIFI SSID and password
              #define MY_ESP8266_SSID "MySSID"
              #define MY_ESP8266_PASSWORD "MyVerySecretPassword"
              #include <ESP8266WiFi.h>
              

              See GatewayESP8266MQTTClient.ino for more detailed configuration options.

              Just note that I haven't verified all the external support libraries on the ESP8266, so there might be examples that won't work out of the box.

              DidiD 1 Reply Last reply
              0
              • hekH hek

                @martinus
                Glad to hear that if worked for you.

                @Didi
                You can taken any example sketch from the dev-branch and run it on the ESP8266.

                If you want it to run as a standalone ESP8266 sensor (without any NRF/RF69 radio attached) just remove the radio define at the top (MY_RADIO_NRF24) and as a minimum add the following defines from the GaterwayESP8266.ino:

                #define MY_ESP8266_SSID "MySSID"
                #define MY_ESP8266_PASSWORD "MyVerySecretPassword"
                #include <ESP8266WiFi.h>
                

                This will assign the node a dynamic IP from your DHCP server. You can of course set it statically as well (see GaterwayESP8266.ino for detailed configuration).

                The ESP node will run the MySensors protocol as default. If you instead want the example-sketch communicate using MQTT, you can add the following defines instead:

                #define MY_GATEWAY_MQTT_CLIENT
                
                // Set this nodes subscripe and publish topic prefix
                #define MY_MQTT_PUBLISH_TOPIC_PREFIX "mygateway1-out"
                #define MY_MQTT_SUBSCRIBE_TOPIC_PREFIX "mygateway1-in"
                
                // Set MQTT client id
                #define MY_MQTT_CLIENT_ID "mysensors-1"
                
                // Enable these if your MQTT broker requires usenrame/password
                //#define MY_MQTT_USER "username"
                //#define MY_MQTT_PASSWORD "password"
                
                // Set WIFI SSID and password
                #define MY_ESP8266_SSID "MySSID"
                #define MY_ESP8266_PASSWORD "MyVerySecretPassword"
                #include <ESP8266WiFi.h>
                

                See GatewayESP8266MQTTClient.ino for more detailed configuration options.

                Just note that I haven't verified all the external support libraries on the ESP8266, so there might be examples that won't work out of the box.

                DidiD Offline
                DidiD Offline
                Didi
                wrote on last edited by
                #7

                @hek said:

                @Didi
                You can taken any example sketch from the dev-branch and run it on the ESP8266.

                Thank you hek i will try it

                if (knowledge == 0) { use BRAIN; use GOOGLE;use SEARCH; } else {make POST;}

                1 Reply Last reply
                0
                • ? Offline
                  ? Offline
                  A Former User
                  wrote on last edited by
                  #8

                  Just added another ESP node in the network. But the only way I could think of connecting to Domoticz was by adding another MySensors LAN gateway to the hardware section. Was this supposed to be used that way? I don't know if there's a limit on the number of gateways I can add to the system.

                  Is this the way to go with using a bunch of ESP units working as a sensor?

                  Or should I move over to MQTT? Does this work with the "Domoticz MQTT Client gateway with LAN interface"?

                  F 1 Reply Last reply
                  1
                  • ? A Former User

                    Just added another ESP node in the network. But the only way I could think of connecting to Domoticz was by adding another MySensors LAN gateway to the hardware section. Was this supposed to be used that way? I don't know if there's a limit on the number of gateways I can add to the system.

                    Is this the way to go with using a bunch of ESP units working as a sensor?

                    Or should I move over to MQTT? Does this work with the "Domoticz MQTT Client gateway with LAN interface"?

                    F Offline
                    F Offline
                    flopp
                    wrote on last edited by
                    #9

                    @martinus
                    Hi
                    I have been using esp8266 for temp/hum sensors that sends the data to a php webpage.
                    I will try I later but I just reed that it seems to be possible to use same thing for Domoticz.

                    http://www.domoticz.com/wiki/Domoticz_API/JSON_URL's

                    1 Reply Last reply
                    1
                    • F Offline
                      F Offline
                      flopp
                      wrote on last edited by
                      #10

                      It works.

                      i have now tried it with a browser.

                      http://192.168.1.112:8080/json.htm?type=command&param=udevice&idx=2&nvalue=0&svalue=12

                      this is what I got from the server

                      {
                      "status" : "OK",
                      "title" : "Update Device"
                      }

                      1 Reply Last reply
                      0
                      • F Offline
                        F Offline
                        flopp
                        wrote on last edited by flopp
                        #11

                        This is my code. Tested and working fine on a ESP-01, powered from PC USB.

                        Question, shall I include the license text below?
                        "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation."

                        License text copied from an example from MySensors.org

                        /*
                         * Created by Daniel Nilsson
                         *
                         * This program is free software; you can redistribute it and/or
                         * modify it under the terms of the GNU General Public License
                         * version 2 as published by the Free Software Foundation.
                         *
                         * REVISION HISTORY
                         * Version 1.0 - Daniel Nilsson
                         * 
                         * DESCRIPTION
                         * This sketch provides an example how to implement a Dallas OneWire temperature sensor (DS18B20 or equal) to send data to Domoticz-server (www.domoticz.com)
                         * Sleep function is disable as default
                         * Temperature value will be -555 as an indication that the sensor is not working properly, value will be -555 if one of the following criteria are met; above 80; below -100; exakt 0.00
                         */
                        
                        /* remove this line to activate
                        // ***sleep function starts here***
                        // you must connect a cable from pin 8 on ESP8266 IC to Reset pin otherwise sleep doesn't work
                        
                        extern "C" {
                        #include "user_interface.h" //for sleep
                        }
                        
                        // ***sleep function ends here***
                        */ //remove this line to activate
                        
                        #include <ESP8266WiFi.h>
                        
                        const char* ssid = "SSID"; // ***your WiFi name***
                        const char* password = "password"; // ***your WiFi password***
                        const char* server = "123.123.123.123"; // ***IP adress for Domoticz***
                        int port = 8080; // ***port for Domoticz***
                        String idx = "1"; // ***id for your sensor***
                        
                        WiFiClient client;
                        
                        #include <OneWire.h> //OneWire library
                        #include <DallasTemperature.h> // Dallas library
                        
                        #define ONE_WIRE_BUS 2 // Data wire is plugged into port 2 on the ESP
                        
                        OneWire oneWire(ONE_WIRE_BUS); // Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
                        
                        DallasTemperature sensors(&oneWire); // Pass our oneWire reference to Dallas Temperature. 
                        
                        void setup() {
                          Serial.begin(115200);
                          delay(10);
                          sensors.begin(); //start Dallas sensor
                         
                          WiFi.begin(ssid, password); // connect to WiFi
                         
                          Serial.println();
                          Serial.println();
                          Serial.print("Connecting to ");
                          Serial.println(ssid);
                         
                          WiFi.begin(ssid, password);
                         
                          while (WiFi.status() != WL_CONNECTED) {
                            delay(500);
                            Serial.print(".");
                          }
                          Serial.println("");
                          Serial.println("WiFi connected");
                         
                        }
                         
                        void loop() {
                          
                          float temp;
                          // call sensors.requestTemperatures() to issue a global temperature 
                          // request to all devices on the bus
                          Serial.print("Requesting temperatures...");
                          sensors.requestTemperatures(); // Send the command to get temperatures
                          Serial.println("DONE");
                          
                          Serial.print("Temperature for the device 1 (index 0) is: ");
                          Serial.println(sensors.getTempCByIndex(0));  
                          temp=sensors.getTempCByIndex(0);
                         
                          if (client.connect(server,port)) {
                        
                          client.print("GET /json.htm?type=command&param=udevice&idx="+idx+"&nvalue=0&svalue=");
                            if(temp>80 || temp<-100 || temp==0.00) { // limits if sensor is broken or not connected
                              client.print( "-555" ); //Bad value indication
                              }
                            else{
                              client.print( temp );
                              }
                          
                          client.println( " HTTP/1.1");
                          client.print( "Host: " );
                          client.println(server);
                          client.println( "Connection: close" );
                          client.println();
                          client.println();
                          client.stop();
                        
                          Serial.print("Temperature: ");
                          Serial.print(temp);
                          Serial.println(" degrees Celcius");
                          
                          }
                          
                          Serial.println("Waiting...");
                          delay(60000); // 60 seconds
                        }
                        
                        1 Reply Last reply
                        1
                        • B Offline
                          B Offline
                          bagou91
                          wrote on last edited by
                          #12

                          Hello,

                          Sorry for my question on this old post...

                          On Domoticz, should you create a virtual device or something else?
                          Or when the client sends the GET command, this add and update a device automatically?

                          Thank you for your answer.

                          F 1 Reply Last reply
                          0
                          • B bagou91

                            Hello,

                            Sorry for my question on this old post...

                            On Domoticz, should you create a virtual device or something else?
                            Or when the client sends the GET command, this add and update a device automatically?

                            Thank you for your answer.

                            F Offline
                            F Offline
                            flopp
                            wrote on last edited by
                            #13

                            @bagou91
                            Sorry for late answer.
                            I don't remember but after I look at the code it seems to be that you need define what IDX your device have.

                            String idx = "1"; // ***id for your sensor***
                            

                            So, yes, you need to create a virtual temperature and then put in the IDX in your sketch

                            B 1 Reply Last reply
                            0
                            • F flopp

                              @bagou91
                              Sorry for late answer.
                              I don't remember but after I look at the code it seems to be that you need define what IDX your device have.

                              String idx = "1"; // ***id for your sensor***
                              

                              So, yes, you need to create a virtual temperature and then put in the IDX in your sketch

                              B Offline
                              B Offline
                              bagou91
                              wrote on last edited by
                              #14

                              @flopp thanks you.

                              1 Reply Last reply
                              0
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              18

                              Online

                              11.7k

                              Users

                              11.2k

                              Topics

                              113.1k

                              Posts


                              Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • MySensors
                              • OpenHardware.io
                              • Categories
                              • Recent
                              • Tags
                              • Popular