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
G

GothicMaestro

@GothicMaestro
About
Posts
6
Topics
2
Shares
0
Groups
0
Followers
0
Following
0

Posts

Recent Best Controversial

  • New sensor types for water parameters required
    G GothicMaestro

    Thank you!

    Feature Requests

  • New sensor types for water parameters required
    G GothicMaestro

    Well, that's the info: ORP
    Used for water quality in sea aquariums. Measured in V/mV.

    Feature Requests

  • New sensor types for water parameters required
    G GothicMaestro

    Hi
    There is a suggestion to add new sensor types:

    • S_PH for Ph sensors;
    • S_ORP for Oxidation reduction potential sensors.

    Thanks.

    Feature Requests

  • Strange behavior of radio message callback
    G GothicMaestro

    Well now after switching to 1.4.1 it seems to be OK. Also the commands from controller seem to arrive faster.
    Thank you for your help!

    Bug Reports

  • Strange behavior of radio message callback
    G GothicMaestro

    No, I'm running 1.4.
    OK, I'll give it a try and post results. Thank you.

    Bug Reports

  • Strange behavior of radio message callback
    G GothicMaestro

    Hi.
    I've stumbled upon a strange behavior of radio meassge callback firing. I have a node with a temperature sensor and a relay.
    In setup() I have
    gw.begin(onMessageReceived);
    ......

    in loop()
    gw.process();
    .........
    if (lastTemperature[7] != temperature && temperature != -127.00)
    {
    gw.send(msgTemperature.setSensor(7).set(temperature, 1));
    lastTemperature[sensorID] = temperature;
    }
    ......

    And my callback is:

    void onMessageReceived(const MyMessage &message)
    {
    if (message.type == V_LIGHT)
    {
    bool value = message.getBool();
    digitalWrite(message.sensor + FIRST_RELAY_PIN, value ? RELAY_ON : RELAY_OFF);
    gw.saveState(message.sensor, value);
    ....................

    When I once send a switch command to a relay from my controller callback fires up and relay switches. But then it keeps firing with the same parameter value EVERY time when temperature value is sent to controller. That was unexpected to me. Investigation of code of MySensor::process() function shows that value of "len" variable

    uint8_t len = RF24::getDynamicPayloadSize();
    RF24::read(&msg, len);

    equals 8 in case when the "true" radio message for relay is received and equals 1 in the rest of cases when temperature value is sent. In other words, callback fires both when message is received (len = 8 ) and is sent by a node (len = 1).

    Changing the end code of process() from

    if (msgCallback != NULL)
    msgCallback(msg);

    to

    if (msgCallback != NULL && len > 1)
    msgCallback(msg);

    solved the issue. But I think it's a temporary patch and not the right solution. Could the MySensors developers please take a look at this issue.
    And thank you for a great project and all hard work done!

    Bug Reports
  • Login

  • Don't have an account? Register

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