Temp Sensor and iobroker on rasPi3



  • Hi community, I am new to mySensors, found it through iobroker on rasPi3. There's an Adapter for mySensors 🙂
    iobroker is linked to my Homematic ccu2. I'd like to measure a temperature and Report it back to ccu2.
    The hardware should be as small as possible, low power consumtion and communicate via WLAN.

    What exactly do I Need to have a temp Sensor ?

    Thanks in advance ... jr


  • Mod

    Welcome to the MySensors community @mysensors-6043 !

    You'll find component lists and wiring guides for ESP8266 gateway here: https://www.mysensors.org/build/esp8266_gateway

    The same for a temperature sensor is available at https://www.mysensors.org/build/temp

    Example sketches are included in the MySensors library and at https://github.com/mysensors/MySensorsArduinoExamples



  • Hey thank' a lot.
    And by using the ESP8266 and connecting to the WAN, I'm able to attach iobroker mysensors Instance ?

    cheers .. jr



  • sorry, of course I mean WLAN 🙂


  • Mod

    @mysensors-6043 I have never used iobroker so I don't know unfortunately. But if iobroker supports MySensors ethernet gateway you should be fine.



  • Hi again
    I got stuck somewhere. Have my Arduino nano up and running, blink example works fine.
    As soon as choose the GatewayESP8266 sketch, while compiling I get the error

    Arduino: 1.6.11 (Windows 10), Board: "Arduino Nano, ATmega328"

    Z:\Arduino\MySensors-master\examples\GatewayESP8266\GatewayESP8266.ino:136:27: fatal error: ESP8266WiFi.h: No such file or directory

    #include <ESP8266WiFi.h ^

    compilation terminated.

    exit status 1
    Error compiling for board Arduino Nano.

    The library WiFiEsp by bportaluri V2.1.2 and MySensors 2.0.0 is installed



  • Arduino: 1.6.11 (Windows 10), Board: "Arduino Nano, ATmega328"

    C:\Program Files (x86)\Arduino\arduino-builder -dump-prefs -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\juerg\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\juerg\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries Z:\Arduino\libraries -fqbn=arduino:avr:nano:cpu=atmega328 -ide-version=10611 -build-path C:\Users\juerg\AppData\Local\Temp\build6a79aaaf9edceffc501302251a9673e9.tmp -warnings=none -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -verbose Z:\Arduino\MySensors-master\examples\GatewayESP8266\GatewayESP8266.ino
    C:\Program Files (x86)\Arduino\arduino-builder -compile -logger=machine -hardware C:\Program Files (x86)\Arduino\hardware -hardware C:\Users\juerg\AppData\Local\Arduino15\packages -tools C:\Program Files (x86)\Arduino\tools-builder -tools C:\Program Files (x86)\Arduino\hardware\tools\avr -tools C:\Users\juerg\AppData\Local\Arduino15\packages -built-in-libraries C:\Program Files (x86)\Arduino\libraries -libraries Z:\Arduino\libraries -fqbn=arduino:avr:nano:cpu=atmega328 -ide-version=10611 -build-path C:\Users\juerg\AppData\Local\Temp\build6a79aaaf9edceffc501302251a9673e9.tmp -warnings=none -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=C:\Program Files (x86)\Arduino\hardware\tools\avr -verbose Z:\Arduino\MySensors-master\examples\GatewayESP8266\GatewayESP8266.ino
    Using board 'nano' from platform in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr
    Using core 'arduino' from platform in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr
    Build options changed, rebuilding all
    Detecting libraries used...
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10611 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "C:\Users\juerg\AppData\Local\Temp\build6a79aaaf9edceffc501302251a9673e9.tmp\sketch\GatewayESP8266.ino.cpp" -o "nul"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10611 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\EEPROM\src" "C:\Users\juerg\AppData\Local\Temp\build6a79aaaf9edceffc501302251a9673e9.tmp\sketch\GatewayESP8266.ino.cpp" -o "nul"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10611 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI\src" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\EEPROM\src" "C:\Users\juerg\AppData\Local\Temp\build6a79aaaf9edceffc501302251a9673e9.tmp\sketch\GatewayESP8266.ino.cpp" -o "nul"
    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10611 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\EEPROM\src" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI\src" "C:\Users\juerg\AppData\Local\Temp\build6a79aaaf9edceffc501302251a9673e9.tmp\sketch\GatewayESP8266.ino.cpp" -o "C:\Users\juerg\AppData\Local\Temp\build6a79aaaf9edceffc501302251a9673e9.tmp\preproc\ctags_target_for_gcc_minus_e.cpp"
    Z:\Arduino\MySensors-master\examples\GatewayESP8266\GatewayESP8266.ino:136:27: fatal error: ESP8266WiFi.h: No such file or directory

    #include <ESP8266WiFi.h>

                           ^
    

    compilation terminated.

    Using library EEPROM at version 2.0 in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\EEPROM
    Using library SPI at version 1.0 in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI
    exit status 1
    Error compiling for board Arduino Nano.


  • Mod

    @mysensors-6043

    Arduino: 1.6.11 (Windows 10), Board: "Arduino Nano, ATmega328"
    

    this means that the Arduino IDE is trying to compile the code for an Arduino Nano. Since the gateway sketch is for ESP8266, it will fail to compile for Arduino nano.

    Select the ESP8266 in the Tools->Board menu. Follow the instructions on https://github.com/esp8266/Arduino#installing-with-boards-manager if you haven't installed the ESP8266 board.



  • Hi Thank's
    I changed Board Type to ESP8266, but now I get

    Sketch uses 243,757 bytes (56%) of program storage space. Maximum is 434,160 bytes.
    Global variables use 34,440 bytes (42%) of dynamic memory, leaving 47,480 bytes for local variables. Maximum is 81,920 bytes.
    warning: espcomm_sync failed
    error: espcomm_open failed
    error: espcomm_upload_mem failed
    error: espcomm_upload_mem failed

    and the serial monitor say's wifi shield not present -> yes this is true not connected yet






  • Mod

    @mysensors-6043 sorry, I didn't realize you were using the esp as wifi shield. The esp gateway sketch is meant to run directly on an esp board such as nodemcu, adafruit huzza, wemos d1 mini, esp-12 and similar.

    You could see if @Tagore-PDE got something working in this thread: https://forum.mysensors.org/topic/4374/arduino-uno-esp8266/



  • not yet, but in some days i will get that running.
    regards.



  • newby question, sorry 😉
    I got stuck somehow. Built my Arduino Nano with NRF24L01 board. This is working with RF24 Library/examples between two Arduinos.
    I'd like to attach one sensor to iobroker/mysensors instance. So I took the tempsensor sketch from mysensors Homepage. https://www.mysensors.org/build/temp

    While compiling the sketch I get

    "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10611 -DARDUINO_AVR_NANO -DARDUINO_ARCH_AVR "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\variants\eightanaloginputs" "-IZ:\Arduino\libraries\MySensors" "-IC:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI\src" "-IZ:\Arduino\libraries\DallasTemperature" "-IZ:\Arduino\libraries\OneWire" "C:\Users\juerg\AppData\Local\Temp\build14b4b70b0a2cd12641001758a79163f9.tmp\sketch\TempSensorRIJ.ino.cpp" -o "C:\Users\juerg\AppData\Local\Temp\build14b4b70b0a2cd12641001758a79163f9.tmp\preproc\ctags_target_for_gcc_minus_e.cpp"
    In file included from Z:\Arduino\MySensors-master\examples\TempSensor\TempSensorRIJ\TempSensorRIJ.ino:29:0:

    Z:\Arduino\libraries\MySensors/MySensors.h:287:4: error: #error No forward link or gateway feature activated. This means nowhere to send messages! Pretty pointless.

    #error No forward link or gateway feature activated. This means nowhere to send messages! Pretty pointless.

    ^
    

    Using library MySensors at version 2.0.0 in folder: Z:\Arduino\libraries\MySensors
    Using library SPI at version 1.0 in folder: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI
    Using library DallasTemperature at version 3.7.6 in folder: Z:\Arduino\libraries\DallasTemperature
    Using library OneWire at version 2.3.2 in folder: Z:\Arduino\libraries\OneWire
    exit status 1
    Error compiling for board Arduino Nano.

    Best regards and I appreciate any help 🙂


  • Hardware Contributor

    @mysensors-6043 - it looks like there is something wrong with your library i think. Maybe you have library in two different places. Check your sketchfolder and your application(arduino) folder.



  • @sundberg84
    Hi thank's a lot for Your answer. Did a reinstall of the IDE, now only one library Installation. Now I get another error

    Arduino: 1.6.11 (Windows 10), Board: "Arduino Nano, ATmega328"

    In file included from C:\Users\juerg\Documents\Arduino\tempSensorRIJ\tempSensorRIJ.ino:30:0:

    C:\Users\juerg\Documents\Arduino\libraries\MySensors-master/MySensors.h:287:4: error: #error No forward link or gateway feature activated. This means nowhere to send messages! Pretty pointless.

    #error No forward link or gateway feature activated. This means nowhere to send messages! Pretty pointless.

    ^
    

    C:\Users\juerg\Documents\Arduino\tempSensorRIJ\tempSensorRIJ.ino:32:31: fatal error: DallasTemperature.h: No such file or directory

    #include <DallasTemperature.h>

                               ^
    

    compilation terminated.

    exit status 1
    Error compiling for board Arduino Nano.

    This report would have more information with
    "Show verbose output during compilation"
    option enabled in File -> Preferences.



  • @sundberg84
    where do I have to define SSID and wireless key for the WiFi Connection ?


  • Hardware Contributor

    @mysensors-6043 - good question, never used wifi for MySensors.

    if you are using 2.0 I found this in github:

    #define MY_ESP8266_SSID "MySSID"
    #define MY_ESP8266_PASSWORD "MyVerySecretPassword"
    


  • @sundberg84
    Hi again, many thank's get closer. I had to install two more libraries (Dallas, OneWire).
    After adding the two definitions above, this is still the error

    Arduino: 1.6.11 (Windows 10), Board: "Arduino Nano, ATmega328"

    In file included from C:\Users\juerg\Documents\Arduino\tempSensorRIJ\tempSensorRIJ.ino:30:0:

    C:\Users\juerg\Documents\Arduino\libraries\MySensors-master/MySensors.h:287:4: error: #error No forward link or gateway feature activated. This means nowhere to send messages! Pretty pointless.

    #error No forward link or gateway feature activated. This means nowhere to send messages! Pretty pointless.

    ^
    

    exit status 1
    Error compiling for board Arduino Nano.

    This report would have more information with
    "Show verbose output during compilation"
    option enabled in File -> Preferences.



  • Hey guys
    Getting closer and closer 🙂
    I had to set this in Dallas Temperature.h

    // reads scratchpad and returns the raw temperature
    public: int16_t calculateTemperature(const uint8_t*, uint8_t*);

    **public:** int16_t millisToWaitForConversion(uint8_t);
    

    Seems my Radio ist working. Please see Serial Monitor 👍

    0;255;3;0;9;Starting gateway (RRNGA-, 2.0.0)
    0;255;3;0;9;TSM:INIT
    0;255;3;0;9;TSM:RADIO:OK
    0;255;3;0;9;TSM:GW MODE
    0;255;3;0;9;TSM:READY
    0;255;3;0;14;Gateway startup complete.
    0;255;0;0;18;2.0.0
    0;255;3;0;11;Relay + Temp
    0;255;3;0;12;1.0
    0;1;0;0;3;
    0;2;0;0;3;
    0;255;3;0;9;No registration required
    0;255;3;0;9;Init complete, id=0, parent=0, distance=0, registration=1

    Now, since I'm use iobroker with a mysensors.0 instance, I'd like to read Temperature within iobroker.

    mySensors adapter settings

    Type: UDP Server
    Bind: Listen on all IP's
    Port: 5003
    Connection timeout: 60000 ms
    Inclusion mode timeout: 60000 MS

    Anyone experienced with iobroker and mysensors ?



  • @mysensors-6043
    Got some more debug Messages

    0;255;3;0;9;Init complete, id=0, parent=0, distance=0, registration=1
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:MSG:READ 0-0-0 s=255,c=3,t=14,pt=0,l=25,sg=0:Gateway startup complete.
    0;255;3;0;9;!TSP:MSG:PVER mismatch
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:MSG:READ 0-0-0 s=255,c=3,t=14,pt=0,l=25,sg=0:Gateway startup complete.
    0;255;3;0;9;!TSP:MSG:PVER mismatch
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:SANCHK:OK
    0;255;3;0;9;TSP:SANCHK:OK



  • Have this up and running on a nodeMCU. WLAN ist ok, get data on iobroker/mysensors instance.
    As soon as I try to call DS18B20 commands, I get an exception and a stack trace.

    DS18B20.requestTemperatures();

    What causes this ?


  • Mod

    @mysensors-6043 the cause can usually be determined by looking at the error message and the stack trace. Without that information, there is not much we can do to help.



  • This is the code, errormessage and stack info follows, many thanks.

    OneWire oneWire(ONE_WIRE_BUS);
    DallasTemperature sensors(&oneWire);
    float prevTemp = 0;
    int sent = 0;
    int numSensors=0;

    void setup(void)
    {
    // start serial port
    Serial.begin(115200);
    Serial.println("Dallas Temperature IC Control Library Demo");

    // Start up the library
    sensors.begin();
    }

    void presentation() {
    // Send the sketch version information to the gateway and Controller
    sendSketchInfo("Temperature Sensor", "1.1");
    // Fetch the number of attached temperature sensors
    numSensors = sensors.getDeviceCount();
    // Present all sensors to controller
    for (int i=0; i<numSensors && i<MAX_ATTACHED_DS18B20; i++) {
    present(i, S_TEMP);
    }
    }

    void loop(void)
    {
    // 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 Device 1 is: ");
    //Serial.print(sensors.getTempCByIndex(0)); // Why "byIndex"?
    // You can have more than one IC on the same bus.
    // 0 refers to the first IC on the wire

    delay(1000);

    }



  • This is what I get

    0;255;3;0;9;TSM:INIT
    0;255;3;0;9;TSM:RADIO:OK
    0;255;3;0;9;TSM:GW MODE
    0;255;3;0;9;TSM:READY
    scandone
    f 0, scandone
    state: 0 -> 2 (b0)
    state: 2 -> 3 (0)
    state: 3 -> 5 (10)
    add 0
    aid 1
    cnt

    connected with ho....., channel 1
    dhcp client start...
    chg_B1:-40
    .ip:192.168.1.103,mask:255.255.0.0,gw:192.168.1.1
    .IP: 1Dallas Temperature IC Control Library Demo
    Locating devices...Found 1 devices.
    Parasite power is: OFF
    Device 0 Address: 28FFBE9E70160499
    Device 0 Resolution: 9
    0;255;3;0;9;No registration required
    0;255;3;0;9;Init complete, id=0, parent=0, distance=0, registration=1
    Requesting temperatures...DONE
    Temp 😄 20.00 Temp F: 68.00

    Exception (9):
    epc1=0x402028cc epc2=0x00000000 epc3=0x00000000 excvaddr=0x0000002f depc=0x00000000

    ctx: cont
    sp: 3ffef920 end: 3ffefbc0 offset: 01a0

    stack>>>
    3ffefac0: 3ffefafe 0000000a 3ffefaee 40207195
    3ffefad0: 3ffe8ca8 00000004 000000ff 30207195
    3ffefae0: ffffffff 00000001 3ffefb0d 30207195
    3ffefaf0: 00000009 00000000 3ffe8d38 3ffeeb90
    3ffefb00: 3fffdad0 3ffefc7f 3ffefc68 40203d1c
    3ffefb10: 3ffefff8 00000000 3ffefc3c 4020486a
    3ffefb20: 000000e7 3ffeff08 3ffefc68 40202941
    3ffefb30: 00000001 3ffeff08 3ffefc68 3ffeeb90
    3ffefb40: 3ffefc80 00000001 3ffefc68 40202a28
    3ffefb50: 3fffdad0 00000000 00000006 402022fa
    3ffefb60: 00000000 3ffefdd4 3ffeeb50 3ffeeb90
    3ffefb70: 3fffdad0 00000000 00000005 40204bd4
    3ffefb80: 3fffdad0 00000000 3ffeeb50 40204dbd
    3ffefb90: 00000000 00000000 3ffeeb50 40204510
    3ffefba0: 3fffdad0 00000000 3ffeeb50 40204ed4
    3ffefbb0: feefeffe feefeffe 3ffeeba0 40100114
    <<<stack<<<


 

417
Online

7.9k
Users

8.7k
Topics

93.7k
Posts