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
  1. Home
  2. General Discussion
  3. Arduino never reaches setup() or loop() when rs485 connection is down

Arduino never reaches setup() or loop() when rs485 connection is down

Scheduled Pinned Locked Moved General Discussion
3 Posts 2 Posters 163 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    StorePeter
    wrote on last edited by
    #1

    I am trying to add MySensors connectivity via rs485 on diy thermostats (arduino based)

    As long as I have a connection to a rs485 gateway things seems to be working fine, but if the connection is lost (or the gateway-program on my Linux box is not running) the thermostat never starts up. only the code in before() is executed

    Is that the expected behavior, and is there anyway around this ?

    I need my thermostats to work even if there is no connectivity to the MySensors infrastructure.

    Here is what I see on the serial port of the arduino when the gateway is down.

     __  __       ____
    |  \/  |_   _/ ___|  ___ _ __  ___  ___  _ __ ___
    | |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __|
    | |  | | |_| |___| |  __/ | | \__ \  _  | |  \__ \
    |_|  |_|\__, |____/ \___|_| |_|___/\___/|_|  |___/
            |___/                      2.3.1
    
    16 MCO:BGN:INIT NODE,CP=RSNNA---,REL=255,VER=2.3.1
    26 MCO:BGN:BFR
    ShuntCtrl
    to clear EEPROM presss c now:  321
    4142 TSM:INIT
    4143 TSF:WUR:MS=0
    4145 TSM:INIT:TSP OK
    4146 TSM:INIT:STATID=123
    4149 TSF:SID:OK,ID=123
    4151 TSM:FPAR
    4168 TSF:MSG:SEND,123-123-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    6176 !TSM:FPAR:NO REPLY
    6178 TSM:FPAR
    6196 TSF:MSG:SEND,123-123-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    8204 !TSM:FPAR:NO REPLY
    8206 TSM:FPAR
    8223 TSF:MSG:SEND,123-123-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    10231 !TSM:FPAR:NO REPLY
    10233 TSM:FPAR
    10252 TSF:MSG:SEND,123-123-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    12259 !TSM:FPAR:FAIL
    12260 TSM:FAIL:CNT=1
    12262 TSM:FAIL:DIS
    12264 TSF:TDI:TSL
    22267 TSM:FAIL:RE-INIT
    22269 TSM:INIT
    22270 TSM:INIT:TSP OK
    22273 TSM:INIT:STATID=123
    22275 TSF:SID:OK,ID=123
    22278 TSM:FPAR
    22295 TSF:MSG:SEND,123-123-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    24303 !TSM:FPAR:NO REPLY
    24305 TSM:FPAR
    24324 TSF:MSG:SEND,123-123-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    26331 !TSM:FPAR:NO REPLY
    26333 TSM:FPAR
    26351 TSF:MSG:SEND,123-123-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    28358 !TSM:FPAR:NO REPLY
    28360 TSM:FPAR
    28379 TSF:MSG:SEND,123-123-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    30386 !TSM:FPAR:FAIL
    30387 TSM:FAIL:CNT=2
    30389 TSM:FAIL:DIS
    30391 TSF:TDI:TSL
    40394 TSM:FAIL:RE-INIT
    40396 TSM:INIT
    40397 TSM:INIT:TSP OK
    40399 TSM:INIT:STATID=123
    
    
    mfalkviddM 1 Reply Last reply
    0
    • S StorePeter

      I am trying to add MySensors connectivity via rs485 on diy thermostats (arduino based)

      As long as I have a connection to a rs485 gateway things seems to be working fine, but if the connection is lost (or the gateway-program on my Linux box is not running) the thermostat never starts up. only the code in before() is executed

      Is that the expected behavior, and is there anyway around this ?

      I need my thermostats to work even if there is no connectivity to the MySensors infrastructure.

      Here is what I see on the serial port of the arduino when the gateway is down.

       __  __       ____
      |  \/  |_   _/ ___|  ___ _ __  ___  ___  _ __ ___
      | |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __|
      | |  | | |_| |___| |  __/ | | \__ \  _  | |  \__ \
      |_|  |_|\__, |____/ \___|_| |_|___/\___/|_|  |___/
              |___/                      2.3.1
      
      16 MCO:BGN:INIT NODE,CP=RSNNA---,REL=255,VER=2.3.1
      26 MCO:BGN:BFR
      ShuntCtrl
      to clear EEPROM presss c now:  321
      4142 TSM:INIT
      4143 TSF:WUR:MS=0
      4145 TSM:INIT:TSP OK
      4146 TSM:INIT:STATID=123
      4149 TSF:SID:OK,ID=123
      4151 TSM:FPAR
      4168 TSF:MSG:SEND,123-123-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
      6176 !TSM:FPAR:NO REPLY
      6178 TSM:FPAR
      6196 TSF:MSG:SEND,123-123-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
      8204 !TSM:FPAR:NO REPLY
      8206 TSM:FPAR
      8223 TSF:MSG:SEND,123-123-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
      10231 !TSM:FPAR:NO REPLY
      10233 TSM:FPAR
      10252 TSF:MSG:SEND,123-123-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
      12259 !TSM:FPAR:FAIL
      12260 TSM:FAIL:CNT=1
      12262 TSM:FAIL:DIS
      12264 TSF:TDI:TSL
      22267 TSM:FAIL:RE-INIT
      22269 TSM:INIT
      22270 TSM:INIT:TSP OK
      22273 TSM:INIT:STATID=123
      22275 TSF:SID:OK,ID=123
      22278 TSM:FPAR
      22295 TSF:MSG:SEND,123-123-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
      24303 !TSM:FPAR:NO REPLY
      24305 TSM:FPAR
      24324 TSF:MSG:SEND,123-123-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
      26331 !TSM:FPAR:NO REPLY
      26333 TSM:FPAR
      26351 TSF:MSG:SEND,123-123-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
      28358 !TSM:FPAR:NO REPLY
      28360 TSM:FPAR
      28379 TSF:MSG:SEND,123-123-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
      30386 !TSM:FPAR:FAIL
      30387 TSM:FAIL:CNT=2
      30389 TSM:FAIL:DIS
      30391 TSF:TDI:TSL
      40394 TSM:FAIL:RE-INIT
      40396 TSM:INIT
      40397 TSM:INIT:TSP OK
      40399 TSM:INIT:STATID=123
      
      
      mfalkviddM Offline
      mfalkviddM Offline
      mfalkvidd
      Mod
      wrote on last edited by mfalkvidd
      #2

      welcome to the forum @storepeter !

      Yes this is expected default behavior, but it can be changed. Exactly how things should work varies a bit from different use cases, but see the documentation for MY_TRANSPORT_WAIT_READY_MS and search for that keyword in the forum to find some ways to do it.

      See the flowchart "node boot sequence" at https://www.mysensors.org/download/sensor_api_20#node-boot-sequence to see how changing MY_TRANSPORT_WAIT_READY_MS will affect how code is executed.

      If you have any questions, just post them here.

      1 Reply Last reply
      2
      • S Offline
        S Offline
        StorePeter
        wrote on last edited by
        #3

        Thank you so much, just the input I needed.

        Works like a charm, I have included the output from the serial port, if any one else wonders what to expect.

        __  __       ____
        |  \/  |_   _/ ___|  ___ _ __  ___  ___  _ __ ___
        | |\/| | | | \___ \ / _ \ `_ \/ __|/ _ \| `__/ __|
        | |  | | |_| |___| |  __/ | | \__ \  _  | |  \__ \
        |_|  |_|\__, |____/ \___|_| |_|___/\___/|_|  |___/
                |___/                      2.3.1
        
        16 MCO:BGN:INIT NODE,CP=RSNNA---,REL=255,VER=2.3.1
        26 MCO:BGN:BFR
        before
        ShuntCtrl
        to clear EEPROM presss c now:  321
        4156 TSM:INIT
        4157 TSF:WUR:MS=1000
        4159 TSM:INIT:TSP OK
        4161 TSM:INIT:STATID=123
        4163 TSF:SID:OK,ID=123
        4165 TSM:FPAR
        4184 TSF:MSG:SEND,123-123-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
        5159 MCO:BGN:STP
        setup
        5161 !TSF:SND:TNR
        6164 !TSF:SND:TNR
        6192 !TSM:FPAR:NO REPLY
        6194 TSM:FPAR
        6211 TSF:MSG:SEND,123-123-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
        7165 MCO:BGN:INIT OK,TSP=0
        8288 !MCO:SND:NODE NOT REG
        8372 !MCO:SND:NODE NOT REG
        8455 !MCO:SND:NODE NOT REG
        8539 !MCO:SND:NODE NOT REG
        [ %0PH 18.8 Vejr 18.7 ] [ %16PC 18.6 ->25 18.4 ]
        8636 !TSM:FPAR:NO REPLY
        8638 TSM:FPAR
        8656 TSF:MSG:SEND,123-123-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
        [ %0PH 18.8 Vejr 18.7 ] [ %16PC 18.6 ->25 18.4 ]
        11094 !TSM:FPAR:NO REPLY
        11096 TSM:FPAR
        11114 TSF:MSG:SEND,123-123-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
        [ %0PH 18.8 Vejr 18.7 ] [ %16PC 18.6 ->25 18.4 ]
        13550 !TSM:FPAR:FAIL
        13552 TSM:FAIL:CNT=1
        13554 TSM:FAIL:DIS
        13556 TSF:TDI:TSL
        [ %0PH 18.8 Vejr 18.7 ] [ %16PC 18.6 ->25 18.4 ]
        [ %0PH 18.8 Vejr 18.7 ] [ %16PC 18.6 ->25 18.4 ]
        [ %0PH 18.8 Vejr 18.7 ] [ %16PC 18.6 ->25 18.4 ]
        [ %0PH 18.8 Vejr 18.7 ] [ %16PC 18.6 ->25 18.4 ]
        23558 TSM:FAIL:RE-INIT
        23560 TSM:INIT
        23561 TSM:INIT:TSP OK
        23563 TSM:INIT:STATID=123
        23565 TSF:SID:OK,ID=123
        
        1 Reply Last reply
        1
        Reply
        • Reply as topic
        Log in to reply
        • Oldest to Newest
        • Newest to Oldest
        • Most Votes


        19

        Online

        11.7k

        Users

        11.2k

        Topics

        113.1k

        Posts


        Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
        • Login

        • Don't have an account? Register

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