Skip to content

NodeManager

56 Topics 578 Posts
  • NodeManager: plugin for a rapid development of battery-powered sensors

    Pinned Moved
    223
    10 Votes
    223 Posts
    74k Views
    U
    @justfra realizing only now the issue you reported was not ESP32 related but due to a compatibility issues between MySensors v2.3.2 and NodeManager just fixed in the development version with https://github.com/mysensors/NodeManager/pull/508. Either try the latest development version of NodeManager or use MySensors v2.3.1. Thanks
  • Help needed with connecting MySensors node to Home Assistant

    4
    0 Votes
    4 Posts
    79 Views
    HJ_SKH
    Hi2All! Surprising is here. After about 24hours I refresh HA and suddenly my motion sensor was integrated. There is also second entity > battery : 0 , have to look deeper into that for understanding. Need to change little in the sketch, because don't want every short time 'no movement' so only when there is motion and maybe once a hour indication sensor is alive. Meantime I found 3 other good threats: https://forum.mysensors.org/topic/11200/finally-progress-evidence-based-radio-testing-method-and-capacitors https://forum.mysensors.org/topic/1664/which-are-the-best-nrf24l01-modules/27 https://forum.mysensors.org/topic/9550/build-a-reliable-power-supply-chain Very usefull for me also finally progress because of lacking time in the past. Great jobs are done here! Thanks for this all of you guys or girls!
  • 0 Votes
    8 Posts
    87 Views
    J
    So @Greg-Bowers .... you found the flaw? hello @jkandasa ..... a little parenthesis! ( what's new in MyC :) ) https://github.com/mycontroller-org/server/releases/tag/development
  • Help needed with connecting MySensors node to Home Assistant

    node
    2
    0 Votes
    2 Posts
    37 Views
    E
    Hey vivek101 how did you connect the NRF24L01 to your home assistant server? Normaly, you connect the nRF to an microcontroller and flash it with a gateway sketch. Then you connect the uC to your server... Regards, Edi
  • DS18B20 ESP32 nodemanager problem

    temperature ds18b20 esp32 node manager
    2
    0 Votes
    2 Posts
    45 Views
    A
    Updated the ESP-IDF from 4.4.0 to latest 5.1.1 and rebuild. Framework updated automatically to framework-arduinoespressif32 @ 3.20004.220825 (2.0.4) Test with 2 sensors on the same pin : Works fine. However there are two no blocking error messages: E (1275) gpio: gpio_isr_handler_remove(480): GPIO isr service is not installed, call gpio_install_isr_service() first Complete startup messages: 163 MCO:BGN:INIT GW,CP=R-NGF---,FQ=240,REL=255,VER=2.3.2 168 MCO:BGN:BFR 169 NM:INIT:VER=1.9-dev 171 NM:INIT:INO=Testcontroller v1.0 174 NM:INIT:LIB VER=2.3.2 CP=R-NGF--- 178 NM:BFR:INIT 1310 GWT:TIN:CONNECTING... 1313 GWT:TIN:IP: 192.168.68.28 1317 MCO:BGN:STP 1335 NM:STP:ID=0 M=0 1340 NM:LOOP:RELAY(1):SET t=2 v=0 1359 NM:MSG:SEND(2) t=42 p=2864B875D0013C99 1392 NM:MSG:SEND(3) t=42 p=28920675D0013CB4 E (1275) gpio: gpio_isr_handler_remove(480): GPIO isr service is not installed, call gpio_install_isr_service() first E (1276) gpio: gpio_isr_handler_remove(480): GPIO isr service is not installed, call gpio_install_isr_service() first 1407 NM:STP:HW V=0 F=240 M=49480 1421 NM:LOOP:RELAY(1):SET t=2 v=0 3424 MCO:REG:NOT NEEDED 3426 MCO:BGN:INIT OK,TSP=NA 3429 NM:MSG:SEND(1) t=2 p=0 3968 NM:LOOP:2864B875D0013C99(2):SET t=0 v=22.75 4537 NM:LOOP:28920675D0013CB4(3):SET t=0 v=22.19 4542 NM:MSG:SEND(2) t=0 p=22.75 4545 NM:MSG:SEND(3) t=0 p=22.19
  • Battery Level

    1
    0 Votes
    1 Posts
    32 Views
    No one has replied
  • Nodemanager: How to control a local output from a local input?

    2
    0 Votes
    2 Posts
    42 Views
    A
    Reply to myself: Looking thought the sources and the forum found out that you can do this using hooks. so enabled hooking #define NODEMANAGER_HOOKING ON and added the reference to the hook to before. void before() { Tsensor.setMeasureTimerMode(TIME_INTERVAL); // set timer Tsensor.setMeasureTimerValue(1); // interval to 1 sec measurement Tsensor.setPostLoopHook(&myfirstHook); ..etc.etc... nodemanager.before(); } And finally the hook void myfirstHook(Sensor* sensor){ float temperature = Tsensor.children.get(1)->getValueFloat() Serial.println(temperature); if (temperature>setpoint) { if (Relay.getStatus()==OFF){ Relay.setStatus(ON); // switch off } } The error that I got initially was caused by using the wrong child: 0 (it starts from 1). I wonder if it is possible to do interval < 1 second?
  • 0 Votes
    1 Posts
    25 Views
    No one has replied
  • SI7021 with Nodemanager

    2
    0 Votes
    2 Posts
    68 Views
    xliborX
    I changed to development version of Nodemanager this remove compilation errors and then found that recomended library from Sparkfun not work. Then i edited header file SensorSI7021.h to work with Adafruit library and it works :-) my SensorSI7021.h: /* * The MySensors Arduino library handles the wireless radio link and protocol * between your home built sensors/actuators and HA controller of choice. * The sensors forms a self healing radio network with optional repeaters. Each * repeater and gateway builds a routing tables in EEPROM which keeps track of the * network topology allowing messages to be routed to nodes. * * Created by Henrik Ekblad <henrik.ekblad@mysensors.org> * Copyright (C) 2013-2017 Sensnology AB * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors * 2021 modified by Libor Kozak to work with Adafruit library: https://github.com/adafruit/Adafruit_Si7021 * * Documentation: http://www.mysensors.org * Support Forum: http://forum.mysensors.org * * 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. */ #ifndef SensorSI7021_h #define SensorSI7021_h /* SensorSI7021: temperature and humidity sensor */ #include <Wire.h> //#include <SI7021.h> #include <Adafruit_Si7021.h> class SensorSI7021: public Sensor { protected: Adafruit_Si7021* _si7021;//SI7021* _si7021; public: SensorSI7021(uint8_t child_id = 0): Sensor(-1) { _name = "SI7021"; children.allocateBlocks(2); new Child(this,FLOAT,nodeManager.getAvailableChildId(child_id),S_TEMP,V_TEMP,_name); new Child(this,FLOAT,child_id > 0 ? nodeManager.getAvailableChildId(child_id+1) : nodeManager.getAvailableChildId(child_id),S_HUM,V_HUM,_name); }; // define what to do during setup void onSetup() { _si7021 = new Adafruit_Si7021(); _si7021->begin(); }; // define what to do during loop void onLoop(Child* child) { // temperature sensor if (child->getType() == V_TEMP) { // read the temperature float temperature = _si7021->readTemperature(); // convert it //temperature = nodeManager.celsiusToFahrenheit(temperature); // store the value child->setValue(temperature); } // Humidity Sensor else if (child->getType() == V_HUM) { // read humidity float humidity = _si7021->readHumidity(); // store the value child->setValue(humidity); } }; }; #endif
  • Nrf5x on NodeManager

    16
    1 Votes
    16 Posts
    835 Views
    F
    Yesterday I unlocked the flash protection on my NRF52832 and I have the same behaviour than with the NRF51822. Using Nodemanager I can't use for door/interruption sensors other pins than the pin 3. Using the same NRF5 without nodemanager (just MySensor) they works perfect, I can use other pins and also various at same time.
  • Compilation error

    2
    0 Votes
    2 Posts
    61 Views
    U
    Hi, yes a few things have changed in the latest versions of the MySensors library and the current version of NodeManager is not compiling correctly. Give a try to the development version (https://github.com/mysensors/NodeManager/tree/development) in which the fix has been applied and let me know. Thanks!
  • BME280/BMP280 high consumption when sleeping

    11
    0 Votes
    11 Posts
    132 Views
    B
    @TRS-80 said in BME280/BMP280 high comsumption when sleeping: @bbastos said in BME280/BMP280 high comsumption when sleeping: 7uA during sleep Sounds pretty good to me! You calling it done then? :) Yes, it`s pretty good! But I'd like to use nodemanager on my nodes, it's so much easier :grin: I'll open an issue on nodemanager's github. Thank you so much for the help!
  • BME280 node not sleeping

    10
    0 Votes
    10 Posts
    161 Views
    G
    @bbastos said in BME280 node not sleeping: @ghiglie said in BME280 node not sleeping: That's not a bad test bed! I'm having some "headaches" still. The PIR isn't sending the V_TRIPPED 0 , so I know when there's moving but not when it stops - I can manage it via HomeAssistant anyway. I'm afraid I'll not be helpful now. Have you tried to update nodemanager library? I'm using the development branch from github. No probs, it's the PIR itself, not reporting back the "0" status. I'll manage it via HA!
  • V_UNIT_PREFIX with SensorBME280.h possible?

    4
    0 Votes
    4 Posts
    74 Views
    darknicht66D
    This worked perfectly. Using the development branch for my NodeManager library and changing my 'void before()' to the following code presented the proper unit_of_measurement to my Home Assistant controller for the pressure sensor. Thanks for the assistance. void before() { /********************************** * Configure your sensors **********************************/ // send unit prefixes to controller (i.e. V, A, hPa, %, etc.) nodeManager.setSendUnitPrefix(true); // let controller know ambient pressure sensor reports in hPa ambient.children.get(3)->setUnitPrefix("hPa"); // report ambient measurements every 15 minutes ambient.setReportIntervalMinutes(15); // report battery level every 60 minutes battery.setReportIntervalMinutes(60); // report radio signal level every 10 minutes signal.setReportIntervalMinutes(10); // only a pseudo SR_TX_RSSI and SR_UPLINK_QUALITY are available for NRF24 // radio. All other methods return as INVALID. signal.setSignalCommand(SR_UPLINK_QUALITY); // call NodeManager before routine nodeManager.before(); }
  • Nodemanage + EasyPCB Sleep

    18
    0 Votes
    18 Posts
    214 Views
    B
    @sundberg84 thanks, prudence is needed indeed. I abandoned this scenario and now only switch the lower energetic part of the bike.
  • Compatibility issue between MySensors 2.3.2 and NodeManager 1.8

    1
    1 Votes
    1 Posts
    36 Views
    No one has replied
  • 0 Votes
    3 Posts
    65 Views
    E
    @BearWithBeard said in error: 'class Child' has no member named 'setPulseFactor'; did you mean 'setPresentation'?: rainGauge.setPulseFactor(0.36); Up and running! Thanks a lot @BearWithBeard for the clear explanation. Now I understand why it did not work!. [image: 1586110952931-0b1d0654-02d3-4b42-a99a-e74065bb39ed-image.png]
  • NodeManager sensors with multiple interrupt pins

    14
    0 Votes
    14 Posts
    370 Views
    U
    @j54n1n at this time NodeManager can only handle interrupts through the designated pins and only one type of interrupt per pin. But feel free to submit a feature request on https://github.com/mysensors/NodeManager/issues and, if you have, any piece of code which may help in the implementation. Thanks
  • is mesh n/w possible using RFM69 without using gateway?

    10
    0 Votes
    10 Posts
    556 Views
    abtA
    Hi @carywin Which library is good for any network you want to build rfm69, RadioHead ? Does it make any difference in code?
  • NodeManager: hookon example needed

    7
    0 Votes
    7 Posts
    945 Views
    U
    @rpunkt sorry for replying to late...hooks are pretty simple to use in Nodemanager once you enable them. Just define your custom function and pass it to the hook. In the example below I'm activating a buzzer every time my fingerprint sensor is successful. The function will be executed every time (e.g. in this case after every loop() of fingerprint), up to you to implement your logic in the hook function. void bip(Sensor* sensor) { if (fingerprint.success) buzzer.setStatus(ON); } fingerprint.setPostLoopHook(&bip);

27

Online

11.7k

Users

11.2k

Topics

113.1k

Posts