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
J

jgporteous

@jgporteous
About
Posts
13
Topics
1
Shares
0
Groups
0
Followers
0
Following
0

Posts

Recent Best Controversial

  • SerialGateway can't send to nodes via rules or Serial Monitor
    J jgporteous

    @jgporteous said:

    101;4;1;0;3;0

    Added ACK to one of my senors, node sending values correctly, but ACK failing.

    I've bumped up the CAP on the gateway to 330uF and no change :(

    I also dropped bandwidth to 250Kbps and power to low, no change either.

    Development

  • SerialGateway can't send to nodes via rules or Serial Monitor
    J jgporteous

    I did another test, I sent all presentation of sensors to request ACK and this below is the output.
    Although there is only two fails, I think I'm going to have to setup dedicated power for each and try again... unless there is another way?

    Gateway:

    0;0;3;0;9;read: 101-101-0 s=255,c=3,t=11,pt=0,l=15,sg=0:Balcony Senso
    0;0;3;0;9;send: 0-0-101-101 s=255,c=3,t=11,pt=0,l=15,sg=0,st=fail:Bal
    101;255;3;0;11;Balcony Sensors
    0;0;3;0;9;read: 101-101-0 s=0,c=0,t=6,pt=0,l=9,sg=0:Soil Temp
    0;0;3;0;9;send: 0-0-101-101 s=0,c=0,t=6,pt=0,l=9,sg=0,st=ok:Soil Temp
    101;0;0;0;6;Soil Temp
    0;0;3;0;9;read: 101-101-0 s=1,c=0,t=6,pt=0,l=8,sg=0:Air Temp
    0;0;3;0;9;send: 0-0-101-101 s=1,c=0,t=6,pt=0,l=8,sg=0,st=fail:Air Tem
    101;1;0;0;6;Air Temp
    0;0;3;0;9;read: 101-101-0 s=2,c=0,t=7,pt=0,l=12,sg=0:Air Humitidy
    0;0;3;0;9;send: 0-0-101-101 s=2,c=0,t=7,pt=0,l=12,sg=0,st=fail:Air Hu
    101;2;0;0;7;Air Humitidy
    0;0;3;0;9;read: 101-101-0 s=4,c=0,t=3,pt=0,l=11,sg=0:Water Relay
    0;0;3;0;9;send: 0-0-101-101 s=4,c=0,t=3,pt=0,l=11,sg=0,st=ok:Water Re
    101;4;0;0;3;Water Relay
    0;0;3;0;9;read: 101-101-0 s=0,c=1,t=0,pt=7,l=5,sg=0:24.64
    101;0;1;0;0;24.64
    0;0;3;0;9;read: 101-101-0 s=1,c=1,t=0,pt=7,l=5,sg=0:23.00
    101;1;1;0;0;23.00
    0;0;3;0;9;read: 101-101-0 s=2,c=1,t=0,pt=7,l=5,sg=0:41
    101;2;1;0;0;41
    0;0;3;0;9;read: 101-101-0 s=3,c=1,t=0,pt=7,l=5,sg=0:76
    101;3;1;0;0;76
    0;0;3;0;9;read: 101-101-0 s=0,c=1,t=0,pt=7,l=5,sg=0:24.56
    101;0;1;0;0;24.56
    0;0;3;0;9;read: 101-101-0 s=2,c=1,t=0,pt=7,l=5,sg=0:42
    101;2;1;0;0;42
    

    Node:

    send: 101-101-0-0 s=255,c=0,t=17,pt=0,l=3,sg=0,st=ok:1.5
    send: 101-101-0-0 s=255,c=3,t=6,pt=1,l=1,sg=0,st=ok:0
    sensor started, id=101, parent=0, distance=1
    send: 101-101-0-0 s=255,c=3,t=11,pt=0,l=15,sg=0,st=ok:Balcony Sensors
    send: 101-101-0-0 s=255,c=3,t=12,pt=0,l=3,sg=0,st=fail:1.1
    send: 101-101-0-0 s=0,c=0,t=6,pt=0,l=9,sg=0,st=ok:Soil Temp
    send: 101-101-0-0 s=1,c=0,t=6,pt=0,l=8,sg=0,st=ok:Air Temp
    send: 101-101-0-0 s=2,c=0,t=7,pt=0,l=12,sg=0,st=ok:Air Humitidy
    send: 101-101-0-0 s=3,c=0,t=16,pt=0,l=11,sg=0,st=fail:Light Level
    send: 101-101-0-0 s=4,c=0,t=3,pt=0,l=11,sg=0,st=ok:Water Relay
    send: 101-101-0-0 s=4,c=1,t=0,pt=2,l=2,sg=0,st=fail:0
    read: 0-0-101 s=0,c=0,t=6,pt=0,l=9,sg=0:Soil Temp
    Incoming message: Soil Temp   Sensor: 0
    Value:
    Soil Temp
    send: 101-101-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:24.64
    send: 101-101-0-0 s=1,c=1,t=0,pt=7,l=5,sg=0,st=ok:23.00
    send: 101-101-0-0 s=2,c=1,t=0,pt=7,l=5,sg=0,st=ok:41
    send: 101-101-0-0 s=3,c=1,t=0,pt=7,l=5,sg=0,st=ok:76
    read: 0-0-101 s=4,c=0,t=3,pt=0,l=11,sg=0:Water Relay
    Incoming message: Water Relay   Sensor: 4
    Value:
    Water Relay
    send: 101-101-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:24.56
    send: 101-101-0-0 s=2,c=1,t=0,pt=7,l=5,sg=0,st=ok:42
    send: 101-101-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:24.64
    send: 101-101-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:24.56
    send: 101-101-0-0 s=2,c=1,t=0,pt=7,l=5,sg=0,st=ok:41```
    Development

  • SerialGateway can't send to nodes via rules or Serial Monitor
    J jgporteous

    I upgraded the Cap on the gateway to a 47uF and no change...

    This is the serial monitor of the Node, as you can see, it's successfully transmitting data:

    
    send: 101-101-0-0 s=0,c=0,t=6,pt=0,l=0,sg=0,st=ok:
    send: 101-101-0-0 s=1,c=0,t=6,pt=0,l=0,sg=0,st=ok:
    send: 101-101-0-0 s=2,c=0,t=7,pt=0,l=0,sg=0,st=ok:
    send: 101-101-0-0 s=3,c=0,t=16,pt=0,l=0,sg=0,st=ok:
    send: 101-101-0-0 s=4,c=0,t=3,pt=0,l=0,sg=0,st=ok:
    send: 101-101-0-0 s=4,c=1,t=0,pt=2,l=2,sg=0,st=ok:0
    send: 101-101-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:24.73
    send: 101-101-0-0 s=1,c=1,t=0,pt=7,l=5,sg=0,st=ok:23.00
    send: 101-101-0-0 s=2,c=1,t=0,pt=7,l=5,sg=0,st=ok:39
    send: 101-101-0-0 s=3,c=1,t=0,pt=7,l=5,sg=0,st=ok:75
    send: 101-101-0-0 s=2,c=1,t=0,pt=7,l=5,sg=0,st=ok:42
    send: 101-101-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:24.82
    send: 101-101-0-0 s=2,c=1,t=0,pt=7,l=5,sg=0,st=ok:41
    send: 101-101-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:24.91
    send: 101-101-0-0 s=3,c=1,t=0,pt=7,l=5,sg=0,st=ok:74
    send: 101-101-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:24.82
    send: 101-101-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:24.91
    send: 101-101-0-0 s=3,c=1,t=0,pt=7,l=5,sg=0,st=ok:75
    send: 101-101-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:24.82
    send: 101-101-0-0 s=2,c=1,t=0,pt=7,l=5,sg=0,st=ok:42
    send: 101-101-0-0 s=2,c=1,t=0,pt=7,l=5,sg=0,st=ok:41
    send: 101-101-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:24.73
    send: 101-101-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:24.64
    send: 101-101-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:24.73
    send: 101-101-0-0 s=0,c=1,t=0,pt=7,l=5,sg=0,st=ok:24.64
    

    This is the serial output of the gateway, where I let it read for a while then send command via serial (101;4;1;0;3;0):

    0;0;3;0;9;read: 101-101-0 s=0,c=1,t=0,pt=7,l=5,sg=0:24.91
    101;0;1;0;0;24.91
    0;0;3;0;9;read: 101-101-0 s=3,c=1,t=0,pt=7,l=5,sg=0:74
    101;3;1;0;0;74
    0;0;3;0;9;read: 101-101-0 s=0,c=1,t=0,pt=7,l=5,sg=0:24.82
    101;0;1;0;0;24.82
    0;0;3;0;9;read: 101-101-0 s=0,c=1,t=0,pt=7,l=5,sg=0:24.91
    101;0;1;0;0;24.91
    0;0;3;0;9;read: 101-101-0 s=3,c=1,t=0,pt=7,l=5,sg=0:75
    101;3;1;0;0;75
    0;0;3;0;9;read: 101-101-0 s=0,c=1,t=0,pt=7,l=5,sg=0:24.82
    101;0;1;0;0;24.82
    0;0;3;0;9;read: 101-101-0 s=2,c=1,t=0,pt=7,l=5,sg=0:42
    101;2;1;0;0;42
    0;0;3;0;9;read: 101-101-0 s=2,c=1,t=0,pt=7,l=5,sg=0:41
    101;2;1;0;0;41
    Sending command from serial input...
    Destination: 101
    Sensor: 4
    sensorType: 0
    Type: 3
    Ack: 0
    Payload: 0
    0;0;3;0;9;send: 0-0-101-101 s=4,c=1,t=3,pt=4,l=4,sg=0,st=fail:0
    0;0;3;0;9;read: 101-101-0 s=0,c=1,t=0,pt=7,l=5,sg=0:24.73
    101;0;1;0;0;24.73
    0;0;3;0;9;read: 101-101-0 s=0,c=1,t=0,pt=7,l=5,sg=0:24.64
    101;0;1;0;0;24.64
    0;0;3;0;9;read: 101-101-0 s=0,c=1,t=0,pt=7,l=5,sg=0:24.73
    101;0;1;0;0;24.73
    0;0;3;0;9;read: 101-101-0 s=0,c=1,t=0,pt=7,l=5,sg=0:24.64
    101;0;1;0;0;24.64
    
    
    Development

  • SerialGateway can't send to nodes via rules or Serial Monitor
    J jgporteous

    @rvendrame said:

    ( arduino and radio)

    Hi,

    I'm powering the gateway from raspberry pi 2 and has a 10uF Cap.
    The node is powered from Arduino Nano and has a 22uF Cap.

    I have tried giving each radio module a separate power supply but that didn't help.

    What is interesting though, is that the module sends sensor values for 4 sensors and with ACK, the gateway (Arduino) replies successfully. The failure only comes when I try send from parse information from serial input.

    I think I'm going to try put bigger capacitors on each and see what happens... just not sure how big I can go :)

    J

    Development

  • SerialGateway can't send to nodes via rules or Serial Monitor
    J jgporteous

    Hi Everyone,

    I tried adding the following code to my gateway, to see if it will send the value to the sensor to set it, but it fails with:
    0;0;3;0;9;send: 0-0-101-101 s=2,c=1,t=2,pt=2,l=2,sg=0,st=fail:1

    Added to loop():

      if (!sentSensorValue)
      {
    	  delay(2500);
    	  MyMessage message;
    	  message.setDestination(101);
    	  message.setSensor(2);
    	  message.setType(2);
    	  message.set(1);
    
    	  gw.send(message);
    	  sentSensorValue = true;
      }
    
    Development

  • SerialGateway can't send to nodes via rules or Serial Monitor
    J jgporteous

    Hi Hek,

    I don't want to add a sensor to the gateway, I want to send a command to a node with the sensor.

    J

    Development

  • SerialGateway can't send to nodes via rules or Serial Monitor
    J jgporteous

    Ok, so if I take a step back and exclude OpenHab.

    Surly I should be able to send data from gateway to a node?
    I can send from node to gateway, and ACK is returned successfully.

    So, If I use a serial interface and send a string, like I did above, should that work with API 1.5?

    Development

  • SerialGateway can't send to nodes via rules or Serial Monitor
    J jgporteous

    @hek said:

    msg.setDestination

    Here is a silly question, do I need on msg variable per sensor on my arduino node - Currently I only have one, and do a msg.preset for each?

    These are the rules I have (only applicable to this problem):

    //switch function
    val org.eclipse.xtext.xbase.lib.Functions$Function4 switchOperation = [
        org.openhab.core.library.items.SwitchItem relayItem, 
        org.openhab.core.library.items.StringItem arduinoItem, 
        String arduinoDevMap,
        Integer subType|
        
        logInfo("Function: switchOperation ","Starting for " + relayItem.name)
        
        var Integer state = 0
        if (relayItem.state != null)
        {   if (relayItem.state == ON) {
            state = 1
        }
        else {
            state = 0
        }
        
        logInfo("Function: switchOperation ",arduinoDevMap + "1;1;" + subType + ";" + state )
        
        }
     
        arduinoItem.sendCommand(arduinoDevMap + "1;0;" + subType + ";" + state + "\n")
    ]
    
    // Mappings
    var HashMap<String, String> sensorToItemsMap = newLinkedHashMap(
        "101;0;"            -> "Balcony_Temperature_Soil"
        ,"Balcony_Temperature_Soil"       -> "101;0;"
        ,"101;1;"            -> "Balcony_Temperature_Air"
        ,"Balcony_Temperature_Air"       -> "101;1;"
        ,"101;2;"            -> "Balcony_Humidity_Air"
        ,"Balcony_Humidity_Air"       -> "101;2;"
        ,"101;3;"            -> "Balcony_Light_Lux"
        ,"Balcony_Light_Lux"       -> "101;3;"
        ,"101;4;"            -> "Balcony_Water_Relay"
        ,"Balcony_Water_Relay"      -> "101;4;"
    )
    
      
    
    rule "Balcony_Water_Relay Switch Rule"
        when
            Item Balcony_Water_Relay changed
        then
        logInfo("Water Relay","Changing state of Water Relay")
            switchOperation.apply(Balcony_Water_Relay, Arduino, sensorToItemsMap.get("Balcony_Water_Relay"), V_LIGHT)
            	
                   
    end 
    
    Development

  • SerialGateway can't send to nodes via rules or Serial Monitor
    J jgporteous

    let me look that up and try :)

    Development

  • SerialGateway can't send to nodes via rules or Serial Monitor
    J jgporteous

    Hi Hek,

    If you look at this: https://github.com/mysensors/Arduino/blob/development/libraries/MySensors/examples/SerialGateway/SerialGateway.ino

    Line 117 to 123 takes a message and sends it. This is what I'm trying to do, so my code is the same already. :)
    I'm just not sure why it's not working.

    J

    Development

  • SerialGateway can't send to nodes via rules or Serial Monitor
    J jgporteous

    Thanks Hek, I will have a look at that.

    What is the logic behind not being able to send from the gateway?
    I'm trying to send a value to a node, to turn on a relay.

    The rule fails, and when I try manually send via a serial monitor (or any listed above) it also fails.

    J

    Development

  • SerialGateway can't send to nodes via rules or Serial Monitor
    J jgporteous

    I tried adding the below code to the gateway in setup() to see if it would send...

    Serial.println("Sending Value for Relay... ON");
    gw.send(msg.setSensor(4).set(1));
    delay(1000);
    Serial.println("Sending Value for Relay... OFF");
    gw.send(msg.setSensor(4).set(1));
    delay(1000);

    and I get this response:

    Sending Value for Relay... ON
    0;0;3;0;9;send: 0-0-0-0 s=4,c=1,t=2,pt=2,l=2,sg=0,st=fail:1
    Sending Value for Relay... OFF
    0;0;3;0;9;send: 0-0-0-0 s=4,c=1,t=2,pt=2,l=2,sg=0,st=fail:1

    Still looking for any ideas on this problem...

    Development

  • SerialGateway can't send to nodes via rules or Serial Monitor
    J jgporteous

    Hi everyone,
    I have a strange on for you...

    I've setup a Serial Gateway using NRF24l0+ modules.

    When I request ACK for a node/sensor, I can see it's sent.
    0;0;3;0;9;send: 0-0-101-101 s=4,c=0,t=2,pt=0,l=11,sg=0,st=ok:Water Re

    But when I have a rule for example:
    arduinoItem.sendCommand(arduinoDevMap + "1;0;" + subType + ";" + state + "\n")

    It fails. So I decided to past my command in a serial monitor connected to the gateways' arduino node.
    When I past 101;4;1;0;2;1 it also fails: 0;0;3;0;9;send: 0-0-101-101 s=4,c=1,t=2,pt=0,l=1,sg=0,st=fail:1

    I've traced the code to the function: RF24::write where it fails.

    I've tried enabling FAILURE_HANDLING in the RF24_config file but that doesn't help.

    All other operations are working as expected:

    1. Sensor values sent to gateway
    2. ACK response sent back to node

    Any ideas?

    J

    Development
  • Login

  • Don't have an account? Register

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