💬 Temperature Sensor
-
Why don't we use an internal pull-up resistor available within an arduino board? Why additional external one?
pinMode(pin, INPUT); // set pin to input
digitalWrite(pin, HIGH); // turn on pullup resistors -
Why don't we use an internal pull-up resistor available within an arduino board? Why additional external one?
pinMode(pin, INPUT); // set pin to input
digitalWrite(pin, HIGH); // turn on pullup resistors@Alex-B-Goode the datasheet says "The 1-Wire bus requires an external pullup resistor of approximately 5kΩ"
The internal pull-up of most Arduinos are 20-50kΩSo my guess is that the reason is that the person who created the instructions read the datasheet and chose to follow its recommendation. But accounding to http://electronics.stackexchange.com/a/62096/107155 the exact size might not be important, so it might be possible to use the internal pull up. Try it and let us know if it works.
-
Does this example compile for anyone??? I get this error:
In file included from /Users/Documents/Arduino/tas_temp/tas_temp.ino:37:0:
/Users/Documents/Arduino/libraries/DallasTemperature/DallasTemperature.h: In function 'void loop()':
/Users/Documents/Arduino/libraries/DallasTemperature/DallasTemperature.h:252:13: error: 'int16_t DallasTemperature::millisToWaitForConversion(uint8_t)' is private
int16_t millisToWaitForConversion(uint8_t);^tas_temp:85: error: within this context
int16_t conversionTime = sensors.millisToWaitForConversion(sensors.getResolution());
^
exit status 1
within this context -
Does this example compile for anyone??? I get this error:
In file included from /Users/Documents/Arduino/tas_temp/tas_temp.ino:37:0:
/Users/Documents/Arduino/libraries/DallasTemperature/DallasTemperature.h: In function 'void loop()':
/Users/Documents/Arduino/libraries/DallasTemperature/DallasTemperature.h:252:13: error: 'int16_t DallasTemperature::millisToWaitForConversion(uint8_t)' is private
int16_t millisToWaitForConversion(uint8_t);^tas_temp:85: error: within this context
int16_t conversionTime = sensors.millisToWaitForConversion(sensors.getResolution());
^
exit status 1
within this context -
@toddsantoro see post 2 and 3 in this thread or read the instructions on the build page, just under the "Example" heading.
@mfalkvidd said:
@toddsantoro see post 2 and 3 in this thread or read the instructions on the build page, just under the "Example" heading.
^ What he said 😁
-
@toddsantoro see post 2 and 3 in this thread or read the instructions on the build page, just under the "Example" heading.
@mfalkvidd OK. I have it compiling and uploaded to the nano. My config file looks like this now:
sensor 6: -platform: onewire names: some_id: outside mount_dir: "/mnt/1wire"I get an error when I restart HASS on the Pi.
ERROR (Thread-6) [homeassistant.components.sensor.onewire] No onewire sensor found. Check if dtoverlay=w1-gpio is in your /boot/config.txt. Check the mount_dir parameter if it's defined.I guess my question is do I need to define the mount_dir variable and if so is the one I have correct? And if it is correct do I need to create that directory on my Pi?
I also do not get any output in the Arduino Serial Monitor window. Not sure if I even should...
Thanks in advance for any help...
-
@mfalkvidd OK. I have it compiling and uploaded to the nano. My config file looks like this now:
sensor 6: -platform: onewire names: some_id: outside mount_dir: "/mnt/1wire"I get an error when I restart HASS on the Pi.
ERROR (Thread-6) [homeassistant.components.sensor.onewire] No onewire sensor found. Check if dtoverlay=w1-gpio is in your /boot/config.txt. Check the mount_dir parameter if it's defined.I guess my question is do I need to define the mount_dir variable and if so is the one I have correct? And if it is correct do I need to create that directory on my Pi?
I also do not get any output in the Arduino Serial Monitor window. Not sure if I even should...
Thanks in advance for any help...
@toddsantoro I am not familiar with homeassistant so I have no clue unfortunately.
About debug output on the serial monitor: Debug needs to be enabled first. See instructions at https://forum.mysensors.org/topic/666/debug-faq-and-how-ask-for-help and https://www.mysensors.org/build/debug
Debug output is often essential when troubleshooting.
-
@toddsantoro I am not familiar with homeassistant so I have no clue unfortunately.
About debug output on the serial monitor: Debug needs to be enabled first. See instructions at https://forum.mysensors.org/topic/666/debug-faq-and-how-ask-for-help and https://www.mysensors.org/build/debug
Debug output is often essential when troubleshooting.
@mfalkvidd Thank you!!! I get this output in the serial monitor
TSM:INIT TSM:RADIO:OK TSP:ASSIGNID:OK (ID=2) TSM:FPAR TSP:MSG:SEND 2-2-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc: TSM:FPAR TSP:MSG:SEND 2-2-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc: TSP:MSG:READ 0-0-2 s=255,c=3,t=8,pt=1,l=1,sg=0:0 TSP:MSG:FPAR RES (ID=0, dist=0) TSP:MSG:PAR OK (ID=0, dist=1) TSM:FPAR:OK TSM:ID TSM:CHKID:OK (ID=2) TSM:UPL TSP:PING:SEND (dest=0) TSP:MSG:SEND 2-2-0-0 s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=ok:1 TSP:MSG:READ 0-0-2 s=255,c=3,t=25,pt=1,l=1,sg=0:1 TSP:MSG:PONG RECV (hops=1) TSP:CHKUPL:OK TSM:UPL:OK TSM:READY TSP:MSG:SEND 2-2-0-0 s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=ok:0100 TSP:MSG:SEND 2-2-0-0 s=255,c=0,t=17,pt=0,l=5,sg=0,ft=0,st=ok:2.0.0 TSP:MSG:SEND 2-2-0-0 s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=ok:0 TSP:MSG:READ 0-0-2 s=255,c=3,t=6,pt=0,l=1,sg=0:I TSP:MSG:SEND 2-2-0-0 s=255,c=3,t=11,pt=0,l=18,sg=0,ft=0,st=ok:Temperature Sensor TSP:MSG:SEND 2-2-0-0 s=255,c=3,t=12,pt=0,l=3,sg=0,ft=0,st=ok:1.1 Request registration... TSP:MSG:SEND 2-2-0-0 s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=ok:2 TSP:MSG:READ 0-0-2 s=255,c=3,t=27,pt=1,l=1,sg=0:1 Node registration=1 Init complete, id=2, parent=0, distance=1, registration=1Does this look OK? If so I will ask my previous question on the Home Assistant forum. You have been a great help and once I get one of these things down I will be able to help others:)
-
@mfalkvidd Thank you!!! I get this output in the serial monitor
TSM:INIT TSM:RADIO:OK TSP:ASSIGNID:OK (ID=2) TSM:FPAR TSP:MSG:SEND 2-2-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc: TSM:FPAR TSP:MSG:SEND 2-2-255-255 s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=bc: TSP:MSG:READ 0-0-2 s=255,c=3,t=8,pt=1,l=1,sg=0:0 TSP:MSG:FPAR RES (ID=0, dist=0) TSP:MSG:PAR OK (ID=0, dist=1) TSM:FPAR:OK TSM:ID TSM:CHKID:OK (ID=2) TSM:UPL TSP:PING:SEND (dest=0) TSP:MSG:SEND 2-2-0-0 s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=ok:1 TSP:MSG:READ 0-0-2 s=255,c=3,t=25,pt=1,l=1,sg=0:1 TSP:MSG:PONG RECV (hops=1) TSP:CHKUPL:OK TSM:UPL:OK TSM:READY TSP:MSG:SEND 2-2-0-0 s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=ok:0100 TSP:MSG:SEND 2-2-0-0 s=255,c=0,t=17,pt=0,l=5,sg=0,ft=0,st=ok:2.0.0 TSP:MSG:SEND 2-2-0-0 s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=ok:0 TSP:MSG:READ 0-0-2 s=255,c=3,t=6,pt=0,l=1,sg=0:I TSP:MSG:SEND 2-2-0-0 s=255,c=3,t=11,pt=0,l=18,sg=0,ft=0,st=ok:Temperature Sensor TSP:MSG:SEND 2-2-0-0 s=255,c=3,t=12,pt=0,l=3,sg=0,ft=0,st=ok:1.1 Request registration... TSP:MSG:SEND 2-2-0-0 s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=ok:2 TSP:MSG:READ 0-0-2 s=255,c=3,t=27,pt=1,l=1,sg=0:1 Node registration=1 Init complete, id=2, parent=0, distance=1, registration=1Does this look OK? If so I will ask my previous question on the Home Assistant forum. You have been a great help and once I get one of these things down I will be able to help others:)
-
No compile error but i cant see anything on the serial monitor. also the temp sensor burend out with a 4k7 resistor :S
-
It seems the DallasTempereture library is not a part of the default Library setup from Mysensors as of version 2.0? I tried to compile the above code, but I had to manually download DallasTemperature from GitHub first. Then OneWire was also missing. Adding these two libraries brought me a bit further, but I get a long list of errors connected to OneWire. What libraries should be used?
-
It seems the DallasTempereture library is not a part of the default Library setup from Mysensors as of version 2.0? I tried to compile the above code, but I had to manually download DallasTemperature from GitHub first. Then OneWire was also missing. Adding these two libraries brought me a bit further, but I get a long list of errors connected to OneWire. What libraries should be used?
-
Hi All, i'm also new here and into this. Like others i also ran into problems compiling this sketch, i tried al libraries mentioned in the posts in this thread, but no go. keep getting this error message:
In file included from C:\Users\Gebruiker\Desktop\My Sensors\MySensors-master\MySensorsArduinoExamples-master\examples\DallasTemperatureSensor\DallasTemperatureSensor.ino:37:0:
C:\Users\Gebruiker\Documents\Arduino\libraries\DallasTemperature/DallasTemperature.h: In function 'void loop()':
C:\Users\Gebruiker\Documents\Arduino\libraries\DallasTemperature/DallasTemperature.h:252:13: error: 'int16_t DallasTemperature::millisToWaitForConversion(uint8_t)' is private
int16_t millisToWaitForConversion(uint8_t); ^DallasTemperatureSensor:85: error: within this context
int16_t conversionTime = sensors.millisToWaitForConversion(sensors.getResolution());
exit status 1within this context
Can someone help me with this problem? i have no clue at all and woud really like to build me a working sensor so i can hook it up to my Domoticz setup. thanks
hin this context
-
Hi All, i'm also new here and into this. Like others i also ran into problems compiling this sketch, i tried al libraries mentioned in the posts in this thread, but no go. keep getting this error message:
In file included from C:\Users\Gebruiker\Desktop\My Sensors\MySensors-master\MySensorsArduinoExamples-master\examples\DallasTemperatureSensor\DallasTemperatureSensor.ino:37:0:
C:\Users\Gebruiker\Documents\Arduino\libraries\DallasTemperature/DallasTemperature.h: In function 'void loop()':
C:\Users\Gebruiker\Documents\Arduino\libraries\DallasTemperature/DallasTemperature.h:252:13: error: 'int16_t DallasTemperature::millisToWaitForConversion(uint8_t)' is private
int16_t millisToWaitForConversion(uint8_t); ^DallasTemperatureSensor:85: error: within this context
int16_t conversionTime = sensors.millisToWaitForConversion(sensors.getResolution());
exit status 1within this context
Can someone help me with this problem? i have no clue at all and woud really like to build me a working sensor so i can hook it up to my Domoticz setup. thanks
hin this context
see solution above. Delete your dallas library and replace with the one above in the master zip file. That was the solution for me.
-
@bentrik the library is part of the MySensorsArduinoExamples, which can be downloaded at https://github.com/mysensors/MySensorsArduinoExamples/archive/master.zip
@mfalkvidd Thanks for the feedback, It got me a bit further.
I have a fresh Windows Arduino 1.6.12 install, and I have download the MySensors Library 2.0 through the Library manager, and I've found MySensors.h and MyConfig.h under \Documents\Arduino\libraries\MySensorsI'm able to compile and upload the RelayActuator but quite a few of the library files seem to be missing in 2.0. DallasTemperature seem to be one of them.-But I struggled with DallasTemperature and some others.
I copied all the whole MySensors-1.5.4.zip library files to to C:\Program Files (x86)\Arduino\libraries, and I managed to compile, but I got an error message saying Invalid version found: 1.04
Then I tried to only copy the DallasTemperature and OneWire folder, and I had no errors.-So I assume all library files the entire MySensors Examples catalouge are not ready in Libraries 2.0.
Anyways: The solution to get this sensor to work with Arduino 1.6.12, following the Download and API guide, adding MySensors 2.0 through the Library Manager, is to manually add:
\Arduino\libraries\DallasTemperature
\Arduino\libraries\OneWire\-from https://github.com/mysensors/MySensorsArduinoExamples/archive/master.zip
-And not adding the whole structure.Now I just have to find out how to make it speak to my serial gateway :satisfied:
-
I am getting the error:
DallasTemperatureSensor.ino: In function 'void loop()': DallasTemperatureSensor:93: error: 'getConfig' was not declared in this scope float temperature = static_cast<float>(static_cast<int>((getConfig().isMetric?sensors.getTempCByIndex(i):sensors.getTempFByIndex(i)) * 10.)) / 10.;Does anyone have any suggestions?
-
I am getting the error:
DallasTemperatureSensor.ino: In function 'void loop()': DallasTemperatureSensor:93: error: 'getConfig' was not declared in this scope float temperature = static_cast<float>(static_cast<int>((getConfig().isMetric?sensors.getTempCByIndex(i):sensors.getTempFByIndex(i)) * 10.)) / 10.;Does anyone have any suggestions?