💬 NodeManager
-
@ronnyandre NodeManager is a code wrapper. It's a collection of libraries, that has been join with a configuration script that automatically picks and does what is needed for your like.
You can make a common temperature sensor, but if you look at the documentation and the NodeManager.h code or the ino template itself, you have options for gateway configuration.
So you should be able to configure a gateway sketch and burn into your hardware.I hope this gives some light before the dinner ;)
@Sergio-Rius Thanks man! I will definitely take a closer look. I just one silly last question....
Trying to use a simple DS18B20 temperature sensor, and I get the following error:
error: 'SENSOR_DS18B20' was not declared in this scope
nodeManager.registerSensor(SENSOR_DS18B20,3);Seems like it doesn't like me declaring it. I have installed Dallas Temperature and One Wire through Arduino libraries.
-
@ronnyandre you need to uninstall those libraries and install those mentioned in the heading: Installing the dependencies: NodeManager
-
@ronnyandre you need to uninstall those libraries and install those mentioned in the heading: Installing the dependencies: NodeManager
@mickecarlsson Thanks, I will try that later today :smiley:
-
@ronnyandre NodeManager is a code wrapper. It's a collection of libraries, that has been join with a configuration script that automatically picks and does what is needed for your like.
You can make a common temperature sensor, but if you look at the documentation and the NodeManager.h code or the ino template itself, you have options for gateway configuration.
So you should be able to configure a gateway sketch and burn into your hardware.I hope this gives some light before the dinner ;)
@Sergio-Rius @ronnyandre just to add something on top of what already discussed regarding the gateway thing, yes you can use NodeManager for the gateway as well or alternatively a standard gateway sketch, those are fully compatibile since NodeManager adds very little when running as a gateway, it just relies on the standard MySensors library and directives
-
@user2684 Hi, i am trying to get started with NodeManager, and I have a question about dht configuration?
I would like to set it to not update values if temperature is not changed, something like ((SensorLatchingRelay*)nodeManager.getSensor(1))->setTackLastValue(true);
But how do I select both sensors, are they numbers 1 and 2 (both temp and humidity)?
I would also like to add these settings to them.
((SensorLatchingRelay*)nodeManager.getSensor(1))->setForceUpdate(4);
((SensorLatchingRelay*)nodeManager.getSensor(1))->setFloatPrecision(1);Thanks!
@dakipro in addition to what @Sergio-Rius already pointed out correctly, consider when multiple child IDs are created, you would need to call those functions on EACH id. Have a look at https://github.com/mysensors/NodeManager/issues/176 for more details. Thanks
-
@Sergio-Rius Thanks man! I will definitely take a closer look. I just one silly last question....
Trying to use a simple DS18B20 temperature sensor, and I get the following error:
error: 'SENSOR_DS18B20' was not declared in this scope
nodeManager.registerSensor(SENSOR_DS18B20,3);Seems like it doesn't like me declaring it. I have installed Dallas Temperature and One Wire through Arduino libraries.
@ronnyandre ensure MODULE_DS18B20 is enabled in your config.h otherwise SENSOR_DS18B20 will not be made available. Thanks
-
@dakipro in addition to what @Sergio-Rius already pointed out correctly, consider when multiple child IDs are created, you would need to call those functions on EACH id. Have a look at https://github.com/mysensors/NodeManager/issues/176 for more details. Thanks
@user2684 on #176 issue... and the sample I pasted before... then we have to configure Samples, SamplesInterval, TackLastValue and ForceUpdate for Temp and Hum separately?
It doesn't make sense to me. -
@user2684 on #176 issue... and the sample I pasted before... then we have to configure Samples, SamplesInterval, TackLastValue and ForceUpdate for Temp and Hum separately?
It doesn't make sense to me.@Sergio-Rius yes, this is the case, since two different and completely independent child IDs are created, you need to call the methods on both. This is true for any sensor creating multiple IDs. And you're right, it doesn't make sense to me either, it is something I've realized recently. I'm tracking it down with https://github.com/mysensors/NodeManager/issues/198 but I do not expect this to be an easy fix. Thanks
-
Hi, what's your calendar for v 1.6.0. I was looking forward to IO-Expander MCP23017 and TTP226/9 support in this release...
@vikasjee this was the plan, you're right, but I had to postpone a good number of requests supposed to be part of v1.6 since I wanted to allow this https://forum.mysensors.org/topic/6980/browser-based-firmware-generator which is dependent on NodeManager to come to life asap. So unfortunately I had to move those enhancement requiring some effort to v1.7 even if I already acquired the hardware. Sorry for that
-
@vikasjee this was the plan, you're right, but I had to postpone a good number of requests supposed to be part of v1.6 since I wanted to allow this https://forum.mysensors.org/topic/6980/browser-based-firmware-generator which is dependent on NodeManager to come to life asap. So unfortunately I had to move those enhancement requiring some effort to v1.7 even if I already acquired the hardware. Sorry for that
-
@user2684 No issues! When are you planning for 1.7.0? Looking forward to an early release especially the IO-Expander MCP23017 support...
@vikasjee v1.7 will be somewhere after summer since v1.6 should be out by the end of this month I guess. But I can promise to start looking into IO-Expander MCP23017 support as the first thing as v1.7 development will start so to make it available first thing into the development branch :)
-
@MCF I've added https://github.com/mysensors/NodeManager/issues/203 to track this request. Feel free to add any relevant comment or code samples to the issue. Thanks!
-
@ArduiSens RS485 should be already there in the development version (https://github.com/mysensors/NodeManager/tree/development). Nothing special, I've just added to config.h some sample directives, commented out by default. Let me know in case this approach can be improved. Thanks!
-
@user2684, found the RS485 settings (thanks), but having problems with disabling the BATTERY_MANAGER option.
We don't need this option in a RS485 serial wired network (or RS485 serial gateway).config.h:
#define BATTERY_MANAGER 0gives following compiling errors:
sketch\NodeManager.cpp: In member function 'void NodeManager::process(Request&)':
NodeManager.cpp:3722: error: 'setBatteryReportSeconds' was not declared in this scope
case 40: setBatteryReportSeconds(request.getValueInt()); break;
NodeManager.cpp:3723: error: 'setBatteryReportHours' was not declared in this scope
case 41: setBatteryReportHours(request.getValueInt()); break;
NodeManager.cpp:3724: error: 'setBatteryReportDays' was not declared in this scope
case 42: setBatteryReportDays(request.getValueInt()); break;exit status 1
'setBatteryReportSeconds' was not declared in this scope -
@user2684, found the RS485 settings (thanks), but having problems with disabling the BATTERY_MANAGER option.
We don't need this option in a RS485 serial wired network (or RS485 serial gateway).config.h:
#define BATTERY_MANAGER 0gives following compiling errors:
sketch\NodeManager.cpp: In member function 'void NodeManager::process(Request&)':
NodeManager.cpp:3722: error: 'setBatteryReportSeconds' was not declared in this scope
case 40: setBatteryReportSeconds(request.getValueInt()); break;
NodeManager.cpp:3723: error: 'setBatteryReportHours' was not declared in this scope
case 41: setBatteryReportHours(request.getValueInt()); break;
NodeManager.cpp:3724: error: 'setBatteryReportDays' was not declared in this scope
case 42: setBatteryReportDays(request.getValueInt()); break;exit status 1
'setBatteryReportSeconds' was not declared in this scope@ArduiSens thanks, good catch, this looks like a mistake on my side, keep on eye on https://github.com/mysensors/NodeManager/issues/206 for a fix which should come shortly.
-
@user2684, why does NodeManager take so many sketch memory?
e.g.
(#define BATTERY_MANAGER 1; #define DEBUG 1; #define MODULE_DS18B20 1)
sketch NodeManager RS485 config for DS18B20 --> 28730 bytes (93%) of program storage space. Maximum is 30720 bytes.own sketch for RS485 SR04T --> 17078 bytes (55%) of program storage space. Maximum is 30720 bytes.
OK, DS18B20 and SR04T are not the same but DS18B20 is less complex, so 38% more memory is pretty much.
Do I miss something? -
@user2684, why does NodeManager take so many sketch memory?
e.g.
(#define BATTERY_MANAGER 1; #define DEBUG 1; #define MODULE_DS18B20 1)
sketch NodeManager RS485 config for DS18B20 --> 28730 bytes (93%) of program storage space. Maximum is 30720 bytes.own sketch for RS485 SR04T --> 17078 bytes (55%) of program storage space. Maximum is 30720 bytes.
OK, DS18B20 and SR04T are not the same but DS18B20 is less complex, so 38% more memory is pretty much.
Do I miss something?@ArduiSens for curiosity, what board are those numbers from?
NodeManager is a young project. You can expect changes and optimizations in the future. And also you can do suggestions and pull requests.