first attempt, 2 Dallas temp sensors on 1 node. Unstable sending.



  • With the help of this forum I managed to get my first node running with 1 Dallas sensor logging temp to my controller (domoticz).

    I have now added a sensor in "in series" (is that the right phrase? or is it in parallel?), any way, exactly like the drawing in the Temperature page on Mysensors build page.

    The problem is that the output is far from stable.

    This is from the serial output on the node.

    send: 1-1-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:26.0
    send: 1-1-0-0 s=1,c=1,t=0,pt=7,l=5,sg=0,st=ok:22.4
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:25.5
    send: 1-1-0-0 s=1,c=1,t=0,pt=7,l=5,sg=0,st=fail:22.3
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:25.3
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:25.6
    send: 1-1-0-0 s=1,c=1,t=0,pt=7,l=5,sg=0,st=fail:22.5
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=1,c=1,t=0,pt=7,l=5,sg=0,st=ok:22.4
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:25.8
    send: 1-1-0-0 s=1,c=1,t=0,pt=7,l=5,sg=0,st=ok:22.5
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=1,c=1,t=0,pt=7,l=5,sg=0,st=ok:22.4
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=1,c=1,t=0,pt=7,l=5,sg=0,st=ok:22.5
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:26.0
    send: 1-1-0-0 s=1,c=1,t=0,pt=7,l=5,sg=0,st=ok:22.4
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:25.8
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:25.7
    send: 1-1-0-0 s=1,c=1,t=0,pt=7,l=5,sg=0,st=fail:22.3
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=1,c=1,t=0,pt=7,l=5,sg=0,st=ok:22.4
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:25.8
    send: 1-1-0-0 s=1,c=1,t=0,pt=7,l=5,sg=0,st=ok:22.5

    As you can see sometimes both temp readings is sent OK, sometimes only one is sent OK and the other FAIL. Sometimes only one is sent OK and the other is not even logged as tried.
    I have followed the build tips and have a 10uF capacitor on the power leads on the transmitter module.

    Is this usual? Is it any way to make the node/sending more stable. The distance to the Gateway is about 8 meters with 1 wooden wall in between. When I had one Dallas sensor it was sent OK every time.

    //Peter


  • Hero Member

    Maybe it worth a try, to add a 200ms pause after each gw.send() . At least it fix that issue for me.

    gw.wait(200);


  • What sketch do you use?
    With the provided example it is usual that only one sensor updates. this happens when the temperature of the other sensor did not change.
    but the the repeated line read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0: seams troubling. This is the presentation message of a temperature sensor at node 1, child id 1 and it is received by your node? Also, this should only be sent after reboot.



  • I tried the delay. It might have fixed the sending FAIL.
    I put it after the ge.send() and lastTemperature.

          gw.send(msg.setSensor(i).set(temperature,1));
          // Save new temperatures for next compare
          lastTemperature[i]=temperature;
          gw.wait(200);
    

    Im using the sketch from the example "temperature" on Mysensors page.
    http://www.mysensors.org/build/temp

    (Now with the exception of the added gw.wait(200); )

    Hmmm.... Your comment on the line:

    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    

    was no fun at all. 😃
    I definitely do not have other MySensors node here.
    I have:
    1 serialGateway
    1 Node with 2 Dallas sensors connected to it.

    This is how the serial output looks now.

    send: 1-1-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:21.4
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:21.5
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:21.4
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:22.3
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:24.3
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=1,c=1,t=0,pt=7,l=5,sg=0,st=ok:21.7
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=1,c=1,t=0,pt=7,l=5,sg=0,st=ok:21.9
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:25.0
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=1,c=1,t=0,pt=7,l=5,sg=0,st=ok:22.0
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:25.6
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=1,c=1,t=0,pt=7,l=5,sg=0,st=ok:22.1
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:26.1
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:26.3
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:26.5
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:25.9
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=1,c=1,t=0,pt=7,l=5,sg=0,st=ok:22.2
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:25.6
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    send: 1-1-0-0 s=1,c=1,t=0,pt=7,l=5,sg=0,st=ok:22.3
    read: 1-1-0 s=1,c=0,t=6,pt=0,l=0,sg=0:
    

    So the "read" is printed after every "send".

    Have I understood it corectly that if the temperature have not changed there would not be any send and not any information on the serialMonitor either?

    Where can I read what the each number represents in that line?

    //Peter


  • Hardware Contributor

    You can look that up on the main page under API/Download: http://www.mysensors.org/download/serial_api_15
    For the sending problems: I seem to have had a similar probleme here too. I will try to wait() fix too and report my findings 🙂


Log in to reply
 

Suggested Topics

  • 4
  • 2
  • 274
  • 5
  • 3
  • 2

0
Online

11.2k
Users

11.1k
Topics

112.5k
Posts