Windows GUI/Controller for MySensors


  • Admin

    @stebra The 1.3 is a closed beta and is not supposed to be distributed (ping @niccodemi). It is not supported in any terms nor should it be used in a productive environment, the compatibility to any library version is not guaranteed.
    Currently, there is ongoing work for MYSBootloader 2.0 and the ETA is tbd, same for the code.


  • Admin

    @sundberg84 Please upload MYSController log with DEBUG enabled.



  • Hello @tekka,

    is the feature 'save nodes' supposed to be working or WIP? With every start of MYSController I get a blank page and have to wait for every sensor to appear. At the moment that's not a big problem for me because of only 3 sensors, but already got a doubled ID once because new sensor requested an ID before the old #1 was recognized.
    Thanks a lot for your work with the controller, it's great.



  • @tekka
    Hi, just found this so downloaded and installed. Went to config to see what was there and selected TCP/IP tab to turn it off as it is not on a network and I only need Serial. The thing locks up and crashes and I have to use Task Manager to end it.

    Is there some way to start it without it trying to access 192.168.0.5?


  • Admin

    @NotTooTechy try setting

    TCPACTIVE=0
    

    in MYSController.ini



  • Hello everyone,

    I am new to the forum, I really appreciate your community.

    I embarked on the adventure of MySensors and naturally, I leaned on OTA. To do so, I followed your tutorial but I have a problem when sending the FW on the node.

    My setup:
    • 1 Arduino Mega with nRF24L01+ which I use serial gateway
    • 1 Arduino mini pro 3.3 volts for 8 mhz node (single sketch that sends a random data every 5 seconds)
    • Arduino IDE 1.6.7
    • MySensors libraries 1.5.3
    • MYSController_0_1_2_282

    The mini pro flashed with the bootloader (MYSBootloader 1.1), I can detect through MYSController application where it is named "Booting: 65 ... - 65 ...", I right click on it and send the skit "blink" .

    Sometimes I manage to push the "blink" directly and other times must be repeated 2-3 times (that's a lot of times, I grant you ). What is troubling is that at that time, I see the LED 13 of the mini pro flashed at a steady pace, but in MYSController, it is always named "booting ..." and to name the sketch "null".

    Afterwards, when I try to put my sketch, it loads but still in a loop with an error when it reaches 100% "FW update on the failed node = 1" and then starts again at 0% and so on.

    I hope you will refer me.

    Thank you.



  • @tekka
    Using the SerialGateway:
    Is there a tutorial at all for using this? I can figure out a lot of stuff, but...

    Is it possible to assign the ID to a new node? I want to group Nodes numerically as in Area-1: = 10,11,12 then Area-2: = 20,21,22,23 etc
    How?



  • Tutorial would be awesome 🙂
    I have a specific case that fails uploading sketch to 3.3v pro mini. I have a combined sketch which works fine if uploaded to 3.3v via cable, sketch also uploads fine OTA on 5v pro mini. When I try to upload sketch to 3.3v it fails eventually. If I upload "blink" from MysController, it uploads and works fine.
    I am suspecting that i am not flashing bootloader properly maybe. This is my boards.txt

    
    ## Arduino Pro or Pro Mini (3V3 & 5V, 16 MHz) w/ ATmega328 MYSBootloader
    ## -------------------------------------------------
    
    
    proMYSBL.name=ATmega328 16Mhz MYSBootloader
    
    proMYSBL.upload.tool=avrdude
    proMYSBL.upload.protocol=arduino
    proMYSBL.upload.maximum_size=30720
    proMYSBL.upload.maximum_data_size=2048
    proMYSBL.upload.speed=115200
    
    proMYSBL.bootloader.tool=avrdude
    proMYSBL.bootloader.low_fuses=0xF7
    proMYSBL.bootloader.high_fuses=0xDA
    proMYSBL.bootloader.extended_fuses=0x06
    proMYSBL.bootloader.unlock_bits=0x3F
    proMYSBL.bootloader.lock_bits=0x0F
    proMYSBL.bootloader.file=MySensors/MYSBootloader.hex
    
    proMYSBL.build.mcu=atmega328p
    proMYSBL.build.f_cpu=16000000L
    proMYSBL.build.board=AVR_UNO
    proMYSBL.build.core=arduino
    proMYSBL.build.variant=standard
    
    
    
    ## Arduino Pro or Pro Mini (3V3 & 5V, 8 MHz) w/ ATmega328 MYSBootloader
    ## -------------------------------------------------
    
    
    
    proMYSBL8.name=ATmega328 internal 8Mhz with MYSBootloader
    proMYSBL8.upload.tool=avrdude
    proMYSBL8.upload.protocol=arduino
    proMYSBL8.upload.maximum_size=30720
    proMYSBL8.upload.maximum_data_size=2048
    proMYSBL8.upload.speed=57600
    proMYSBL8.bootloader.tool=avrdude
    proMYSBL8.bootloader.low_fuses=0xE2
    proMYSBL8.bootloader.high_fuses=0xDA
    proMYSBL8.bootloader.extended_fuses=0x06
    proMYSBL8.bootloader.unlock_bits=0x3F
    proMYSBL8.bootloader.lock_bits=0x3F
    proMYSBL8.bootloader.file=MySensors/MYSBootloader.hex
    proMYSBL8.build.mcu=atmega328p
    proMYSBL8.build.f_cpu=8000000L
    proMYSBL8.build.board=AVR_UNO
    proMYSBL8.build.core=arduino
    proMYSBL8.build.variant=standard
    

    I can burn 5v bootloader with both "boards" from ArduinoIDE using Uno as ISP. And on two 5v I have, OTA works great, it is just 3.3v with larger sketch (sketch is combination of several sensors) that eventually gives

    
    
    14.02.2016 18.00.53	TX	1;255;4;0;3;C900FFFF72057500000101010101731B731B01000000
    14.02.2016 18.00.53	RX	1;255;4;0;2;C900FFFF7205
    14.02.2016 18.01.27	ERROR	FW upload failed for node=1
    14.02.2016 18.01.27	INFO	BL version=257
    14.02.2016 18.01.27	INFO	Send FW info to node 1: type=C9, version=FFFF, blocks=0x0580, CRC=0x6F0D
    14.02.2016 18.01.27	TX	1;0;4;0;1;C900FFFF80050D6F
    14.02.2016 18.01.27	RX	1;255;4;0;0;0A0001004800FFFF0101
    14.02.2016 18.01.27	DEBUG	FW update started, node id = 1
    14.02.2016 18.01.27	TX	1;255;4;0;3;C900FFFF7F05FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    14.02.2016 18.01.27	RX	1;255;4;0;2;C900FFFF7F05
    14.02.2016 18.01.57	ERROR	FW upload failed for node=1
    14.02.2016 18.01.57	INFO	BL version=257
    14.02.2016 18.01.57	INFO	Send FW info to node 1: type=C9, version=FFFF, blocks=0x0580, CRC=0x6F0D
    14.02.2016 18.01.57	TX	1;0;4;0;1;C900FFFF80050D6F
    14.02.2016 18.01.57	RX	1;255;4;0;0;0A0001004800FFFF0101
    14.02.2016 18.01.57	DEBUG	FW update started, node id = 1
    14.02.2016 18.01.57	TX	1;255;4;0;3;C900FFFF7F05FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    14.02.2016 18.01.57	RX	1;255;4;0;2;C900FFFF7F05
    14.02.2016 18.01.57	TX	1;255;4;0;3;C900FFFF7E05FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
    
    

    This is the "universal" sketch I am trying to upload, it is a combination of few sensors

    
    /**
     * 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-2015 Sensnology AB
     * Full contributor list: https://github.com/mysensors/Arduino/graphs/contributors
     *
     * 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.
     *
     *******************************
     *
     * REVISION HISTORY
     * Version 1.0 - Henrik Ekblad
     * 
     * DESCRIPTION
     * Motion Sensor example using HC-SR501 
     * http://www.mysensors.org/build/motion
     *
     */
    
    // Enable debug prints
    // #define MY_DEBUG
    
    // Enable and select radio type attached
    //#define MY_RADIO_NRF24
    //#define MY_RADIO_RFM69
    
    //Hum
    #include <SPI.h>
    #include <MySensor.h>
    //temp
    #include <DHT.h>  
    //lux
    #include <BH1750.h>
    #include <Wire.h>
    #include <Vcc.h>                                    // library for internal reference Vcc reading
    
    
    // Reference values for ADC and Battery measurements
    const float VccMin          = 1.0*2.5 ;             // Minimum expected Vcc level, in Volts. Example for 1 rechargeable lithium-ion.
    const float VccMax          = 1.0*3.0 ;             // Maximum expected Vcc level, in Volts.
    //const float VccMin        = 2.0*0.6 ;             // Minimum expected Vcc level, in Volts. for 2xAA Alkaline.
    //const float VccMax        = 2.0*1.5 ;             // Maximum expected Vcc level, in Volts.for 2xAA Alkaline.
    const float VccCorrection   = 3.30/3.42 ;           // Measured Vcc by multimeter divided by reported Vcc
    Vcc vcc(VccCorrection);                             // instantiate internal voltage measurement lib
    
    
    const float tempThreshold		= 0.02 ;               // send only if change > treshold (Celcius)
    const float humThreshold		= 0.05 ;               // send only if change > treshold (% RG)
    const float voltageThreshold	= 0.01 ;               // send only if change > treshold (Volt)
    const float luxThreshold		= 1 ;               // send only if change > treshold (Lux)
    
    
    const int heartbeat		= 60 ;                          // heartbeat every hour (x times SLEEP_TIME)
    unsigned long lastHeartbeat = 0 ;
    float lastHumidity		= 0 ;
    float lastTemperature	= 0 ;
    float lastVoltage		= 0 ;
    boolean lastTripped		= false ;
    // flags to indicate if transmission is needed, heartbeat and/or changes > treshold
    boolean txHumidity		= true ;                         // flags to indicate if transmit is needed (time & change driven)
    boolean txTemperature	= true ;
    boolean txLux			= true ;
    boolean txVoltage		= true ;
    boolean txTripped		= true ;
    
    
    
    unsigned long SLEEP_TIME = 30000; 			// Sleep time between reports (in milliseconds)
    #define DIGITAL_INPUT_SENSOR		3   	// The digital input you attached your motion sensor.  (Only 2 and 3 generates interrupt!)
    #define INTERRUPT DIGITAL_INPUT_SENSOR-2 	// Usually the interrupt = pin -2 (on uno/nano anyway)
    #define HUMIDITY_SENSOR_DIGITAL_PIN 4      	//Humidity
    #define CHILD_ID_PIR    			1		// Id of the PIR sensor child
    #define CHILD_ID_HUM 				2		//Id of the HUMIDITY sensor child
    #define CHILD_ID_TEMP 				3		//Id of the TEMPERATURE sensor child
    #define CHILD_ID_LIGHT 				4		//lux sensor
    #define VOLTAGE_CHILD_ID			7		//battery level
    
    
    MySensor gw;
    DHT dht;
    boolean metric = true;
    
    BH1750 lightSensor;
    
    // Initialize motion message
    MyMessage msgMotion(CHILD_ID_PIR, V_TRIPPED);
    //Initialize temp and hum message
    MyMessage msgHum(CHILD_ID_HUM, V_HUM);
    MyMessage msgTemp(CHILD_ID_TEMP, V_TEMP);
    //Battery Voltage
    MyMessage msgVolt(VOLTAGE_CHILD_ID, V_VOLTAGE);  // Node voltage
    
    // V_LIGHT_LEVEL should only be used for uncalibrated light level 0-100%.
    // If your controller supports the new V_LEVEL variable, use this instead for
    // transmitting LUX light level.
    MyMessage msgLight(CHILD_ID_LIGHT, V_LIGHT_LEVEL);
    // MyMessage msg(CHILD_ID_LIGHT, V_LEVEL);  
    uint16_t lastlux;
    
    void setup()  
    {  
    	analogReference(INTERNAL);                      // use the 1.1 V internal reference for voltage measurement
    	
    	gw.begin(NULL, 104); //message callback thing, nodeid
      	pinMode(DIGITAL_INPUT_SENSOR, INPUT);      // sets the motion sensor digital pin as input
    	dht.setup(HUMIDITY_SENSOR_DIGITAL_PIN);
    	metric = gw.getConfig().isMetric;
    	lightSensor.begin();
    	
    	// Send the sketch version information to the gateway and Controller
    	gw.sendSketchInfo("MotHumTemLuxBat", "1.0");
    
    	// Register all sensors to gw (they will be created as child devices)
    	gw.present(CHILD_ID_HUM, S_HUM);
    	gw.present(CHILD_ID_TEMP, S_TEMP);
    	gw.present(CHILD_ID_PIR, S_MOTION);
    	gw.present(CHILD_ID_LIGHT, S_LIGHT_LEVEL);
    	gw.present(VOLTAGE_CHILD_ID, S_MULTIMETER);
    	
    }
    
    
    
    void loop()     
    {    
    	//delay(dht.getMinimumSamplingPeriod()); // will this inrerrupt with the motion sensor?
    
    	// TEMPerature and HUMIdity
    	// first read all sensors before possible transmission (save battery)
    	readTempHum();
    	
      	//PIR
      	boolean tripped = digitalRead(DIGITAL_INPUT_SENSOR) == HIGH; 
      	//Serial.println(tripped);
      	gw.send(msgMotion.set(tripped?"1":"0"));  // Send tripped value to gw 
    
    	readLux();
    	// LUX
    	
    	
    	// read battery Voltage
    	float voltage = vcc.Read_Volts() ;
    	if ( abs(voltage - lastVoltage) >= voltageThreshold ){ // update only if threshold exceeded
    		lastVoltage = voltage ;
    		txVoltage = true ;
    	}
    	
    	sendSensors();
    	
    	//over the air updates, after send and before sleep just listen to messages
    	gw.wait(200);
     
      	// Sleep until interrupt comes in on motion sensor. Send update every  minute. 
      	gw.sleep(INTERRUPT,CHANGE, SLEEP_TIME);
    }
    
    
    void readLux(void){
    	uint16_t lux = lightSensor.readLightLevel();// Get Lux value
    	
    	//Serial.println(lux);
    	if (lux != lastlux) {
    		if ( abs(lux  - lastlux) >= luxThreshold ){   // update only if threshold exceeded
    			lastlux = lux ;
    			txLux = true ;
    		}
    	}
    	
    }
    
    void readTempHum(void)
    {
        // SHT2x sensor
    	delay(dht.getMinimumSamplingPeriod()); // will this inrerrupt with the motion sensor?
    
        float humidity = dht.getHumidity();
        float temperature = dht.getTemperature();            // save battery by sending changes only & reading SHT first (>50ms)
    	
    	Serial.print("temp: ");
    	Serial.println(temperature);
    	Serial.println(humidity);
    	
    	//if (isnan(temperature)) {
    	//	Serial.println("Failed reading temperature from DHT");
    	//} else if (temperature != lastTemperature) {
    	
    		if ( abs(humidity  - lastHumidity) >= humThreshold ){   // update only if threshold exceeded
    			lastHumidity = humidity ;
    			txHumidity = true ;
    		} 
    		if ( abs(temperature - lastTemperature) >= tempThreshold ){ 
    			lastTemperature = temperature ;
    			txTemperature = true ;
    		} 
    		// Serial.print("SHT_ temp: ");
    //		// Serial.print(temperatureSHT);
    //		 Serial.print(" SHT_ hum: ");
    //		 Serial.println(humidity);
    	//}
    }
    
    
    
    // send to gateway depending on tx.. settings
    void sendSensors()
    {
    	lastHeartbeat++ ;											// update Heartbeatcount every call
    	if ( lastHeartbeat > heartbeat) {							// if heartbeat update all sensors & battery status
    		txTemperature = txHumidity = txVoltage = txLux = true ;
    		gw.sendBatteryLevel(vcc.Read_Perc(VccMin, VccMax, true));
    		lastHeartbeat = 0 ;
    	}
    	if (txTemperature){
    		gw.send(msgTemp.set(lastTemperature, 2));		// Send in deg C
    		txTemperature = false ;
    	}
    	if (txLux){
    		gw.send(msgLight.set(lastlux));								// Send in Lux
    		txLux = false ;
    	}
    	if (txHumidity){
    		gw.send(msgHum.set(lastHumidity, 1));				// Send in %RH
    		txHumidity = false ;
    	}
    	if (txVoltage){
    		gw.send(msgVolt.set(lastVoltage,2));					//send battery in Volt
    		txVoltage = false ;
    	}
    	if (txTripped){
    		gw.send(msgMotion.set(lastTripped?"1":"0"));			// Send tripped value to gw
    		txTripped = false ;
    	}
    }
    
    

    I am using the latest stable version of mysensors on both gateway and when compiling the sketches.

    If someone can test this on 3.3v or can look at the code and perhaps figure out what could be the problem, I would really appreciate it.

    Keep up the great work guys, I am loving the mysensors&co projects!


  • Hardware Contributor

    I'm having some issues with the MYSBootloader, I've uploaded a sketch perfectly with the ISP connection after burning the fuses and bootloader, all using the Arduino IDE. Now when i come to update the sketch using FTDI I can't upload due to a error of:

    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x0a
    

    I'm assuming the timing in my fuses have been incorrectly set. Could anyone shine some light onto this?

    The settings i used were L:0xE2 H:0xD8 E:0x06. The boards.txt reflects this too, its also set to 8Mhz, with a baud rate of 57600.



  • Sorry, just getting around to try to get MYSController setup and I can't seem to get it sorted out to connect to my serial GW that is attached to my VeraLite.

    Here is what I have done to try to get connected:

    1. ssh into Vera and enter this command.
    ser2net -C 5003:raw:0:/dev/ttyACM0:115200
    

    I also tried

    ser2net -C 5003:raw:0:/dev/ttyUSB0:115200
    

    Next I launch MYSController on my PC and in the config window under TCP/IP tab set the IP to the IP of Vera and port to 5003.

    Hit connect and I get the following....

    2/17/2016 13:04:54	INFO	Connected to 192.168.0.108:5003
    2/17/2016 13:04:54	INFO	Unknown message, Msg=
    Port already in use by another process, dc=1
    2/17/2016 13:04:54	RX	
    Port already in use by another process
    

    For those of you have have done this before...any suggestion?


  • Admin

    @samuel235 said:

    Now when i come to update the sketch using FTDI

    I think you are supposed to be uploading the sketches OTA and they won't upload via USB anymore (unless I missed an update, which is possible).


  • Hardware Contributor

    @petewill - You are correct regarding no usb/ftdi uploads. Everything has to be done OTA. I'm using a standard arduino bootloader at the moment, attempting to troubleshoot ftdi with that :).


  • Admin

    @samuel235 are you using a Windows PC to upload your sketches? FTDI recently released drivers that stops FTDI clones from working with the new drivers. This happened to me and my errors looked very similar. The solution for me was to uninstall the drivers and re-install the older ones. I got the info from this post: http://www.eevblog.com/forum/microcontrollers/ftdi-gate-2-0/msg854401/#msg854401

    Also, I had to log in to my computer as an admin to make all these changes. For some reason using a standard account then typing in an admin password at the UAC prompt did not help. Maybe it was a coincidence but tried many times and only after doing it in admin context did I get it to work. Also, make sure you turn off Windows update for drivers. Let me know if you get stuck and I'll do my best to help.


  • Hardware Contributor

    @petewill - I am using a windows system. I was reading about this new driver release the other day and didn't think anything of it. I didn't realize that it could apply to myself when I was reading it.

    Just out of curiosity, what does your FTDI converter come under in device manager, i always thought it was supposed to be a USB device, mine comes directly under Ports (COM & LPT). I know its obviously a port, I just for some reason thought it should be under Universal Serial Bus controller?

    Just to let you know, windows hasn't automatically updated my drivers. I'm still on the search for an older version.


  • Admin

    @samuel235 I changed the view like this:
    0_1456012839470_upload-8e46b7f5-cc01-4f76-b951-46f0a30beebd

    Then it shows like this:
    0_1456012880471_upload-37f9b436-520e-4991-936e-b01e68f34510

    I am using version 2.8.30.0 and I downloaded them from the FTDI site.


  • Hardware Contributor

    @petewill, what device/converter are you using for FTDI uploads?


  • Admin

    @samuel235 I'm using a Windows 8.1 PC with the Arduino 1.6.6 IDE. My FTDI adapter looks like this:
    0_1456151337110_upload-dda1de06-e927-4025-9882-0e1f86920e4f


  • Hardware Contributor

    @petewill - Right okay, well my adapter is slightly different in the sense that it is all in one with a USB 2.0 adapter on the end of the board rather than a USB MiniB that you run a cable to the USB port on the PC. But apart from that the chip on-board is pretty much standard i think, from what i have found out on the internet anyway. Just for reference, this is what mine is http://www.ebay.co.uk/itm/161791651010?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT.

    However, when purchasing some Arduino Mini Pros, i have gotten another. http://www.ebay.co.uk/itm/161795041342?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT. We will see if they're both the same functionality when it arrives.


  • Admin

    @samuel235 A quick way to test if it's your adapter or the drivers is to plug it in to a Mac or a Linux computer and try to upload from there.


  • Hardware Contributor

    @petewill - As soon as my Mini Pros arrive I will start to troubleshoot this with more depth. Thank you 🙂



  • @Anticimex Can you please share the Nodes Code?


  • Contest Winner

    @vikasjee not straight away as it contain pushbullet secrets so I need to launder it a bit first. And I have also changed it around in quite a bit and have added some experimental debugging facilities that don't really work so are you sure you still want it? 🙂 if it is the multi controller support you are after it should still be a valid reference.


  • Contest Winner

    Here is my current nodeconfig:

    [{"id":"c1f1131a.3e0ef","type":"subflow","name":"Manual preprocessor","info":"Processes manual specific input","in":[{"x":50,"y":30,"wires":[{"id":"b73bbc01.48c44"}]}],"out":[{"x":264,"y":30,"wires":[{"id":"b73bbc01.48c44","port":0}]}]},{"id":"b73bbc01.48c44","type":"change","z":"c1f1131a.3e0ef","name":"Topic=Manual","rules":[{"t":"set","p":"topic","to":"Manual"}],"action":"","property":"","from":"","to":"","reg":false,"x":156,"y":30,"wires":[[]]},{"id":"c542f76c.3abd08","type":"subflow","name":"Vera postprocessor","info":"Processes Vera specific output","in":[{"x":50,"y":30,"wires":[]}],"out":[{"x":160,"y":30,"wires":[{"id":"c542f76c.3abd08","port":0}]}]},{"id":"c1bbb0ac.3e445","type":"subflow","name":"MYS postprocessor","info":"Processes MYSController specific output","in":[{"x":50,"y":30,"wires":[]}],"out":[{"x":160,"y":30,"wires":[{"id":"c1bbb0ac.3e445","port":0}]}]},{"id":"56bd1bfc.a942e4","type":"subflow","name":"MyC postprocessor","info":"Processes MyController specific output","in":[{"x":50,"y":30,"wires":[]}],"out":[{"x":160,"y":30,"wires":[{"id":"56bd1bfc.a942e4","port":0}]}]},{"id":"6bb8370.f9447c8","type":"subflow","name":"MyC preprocessor","info":"Processes MyController specific input","in":[{"x":50,"y":30,"wires":[{"id":"287b2c2e.d784d4"}]}],"out":[{"x":330,"y":30,"wires":[{"id":"287b2c2e.d784d4","port":0}]}]},{"id":"287b2c2e.d784d4","type":"change","z":"6bb8370.f9447c8","name":"Topic=MyController","rules":[{"t":"set","p":"topic","to":"MyController"}],"action":"","property":"","from":"","to":"","reg":false,"x":184,"y":30,"wires":[[]]},{"id":"9a01ec1d.65fe1","type":"subflow","name":"MYS preprocessor","info":"Processes MYSController specific input","in":[{"x":50,"y":30,"wires":[{"id":"ab4674a4.54b988"}]}],"out":[{"x":320,"y":30,"wires":[{"id":"ab4674a4.54b988","port":0}]}]},{"id":"ab4674a4.54b988","type":"change","z":"9a01ec1d.65fe1","name":"Topic=MYSController","rules":[{"t":"set","p":"topic","to":"MYSController"}],"action":"","property":"","from":"","to":"","reg":false,"x":183,"y":30,"wires":[[]]},{"id":"fb0fe50f.04f018","type":"subflow","name":"Vera preprocessor","info":"Processes Vera specific input","in":[{"x":54,"y":36,"wires":[{"id":"fb4a1920.04b5e8"}]}],"out":[{"x":288,"y":36,"wires":[{"id":"fb4a1920.04b5e8","port":0}]}]},{"id":"fb4a1920.04b5e8","type":"change","z":"fb0fe50f.04f018","name":"Topic=Vera","rules":[{"t":"set","p":"topic","to":"Vera"}],"action":"","property":"","from":"","to":"","reg":false,"x":158,"y":36,"wires":[[]]},{"id":"87ad6845.785298","type":"subflow","name":"MYS dbg mgt","info":"","in":[{"x":25,"y":28,"wires":[{"id":"a5f38922.5a0c78"}]}],"out":[{"x":787,"y":25,"wires":[{"id":"87b5da5b.784a28","port":0}]},{"x":615,"y":70,"wires":[{"id":"c58c8cac.3a737","port":0}]}]},{"id":"7d24de87.82db2","type":"function","z":"87ad6845.785298","name":"Debug from Data from Ping","func":"if (msg.messageType == 3 && msg.subType == 9) {\n   return [ msg, null, null ];\n} else if (msg.messageType == 3 && msg.subType == 18) {\n   return [ null,  null, msg ];\n} else {\n   return [ null, msg, null ];\n}\n","outputs":"3","noerr":0,"x":302,"y":28.5,"wires":[["a49c42e6.5b63c"],["a49c42e6.5b63c","c58c8cac.3a737"],["c58c8cac.3a737"]]},{"id":"a5f38922.5a0c78","type":"mysdecenc","z":"87ad6845.785298","name":"Decode","x":117,"y":28,"wires":[["7d24de87.82db2"]]},{"id":"c58c8cac.3a737","type":"mysdecenc","z":"87ad6845.785298","name":"Encode","x":520,"y":71,"wires":[[]]},{"id":"a49c42e6.5b63c","type":"mysdecenc","z":"87ad6845.785298","name":"Encode","x":523,"y":25,"wires":[["87b5da5b.784a28"]]},{"id":"87b5da5b.784a28","type":"mysdebug","z":"87ad6845.785298","name":"Debug decorate","x":671,"y":26,"wires":[[]]},{"id":"a2721ec7.5d8de","type":"pushbullet-config","z":"","name":"somename"},{"id":"8160ff88.7e9f","type":"subflow","name":"MYS Pushbullet publisher","info":"","in":[{"x":68,"y":79,"wires":[{"id":"108590a6.ef7a6f"}]}],"out":[]},{"id":"e2dea93.f1d2158","type":"pushbullet","z":"8160ff88.7e9f","config":"a2721ec7.5d8de","pushtype":"note","title":"Lock status","chan":"noneofyourbusiness","name":"Lock status","x":1042,"y":1072,"wires":[]},{"id":"69c63289.9639cc","type":"function","z":"8160ff88.7e9f","name":"Format","func":"if (msg.payload == 1) {\n    msg.payload = \"Locked\";\n} else {\n    msg.payload = \"Unlocked\";\n}\nreturn msg;\n","outputs":1,"noerr":0,"x":905,"y":1072,"wires":[["e2dea93.f1d2158"]]},{"id":"9afa4e84.6505b","type":"switch","z":"8160ff88.7e9f","name":"Message type","property":"messageType","rules":[{"t":"eq","v":"0"},{"t":"eq","v":"1"},{"t":"eq","v":"2"},{"t":"eq","v":"3"},{"t":"else"}],"checkall":"true","outputs":5,"x":417,"y":129,"wires":[["a1c9e060.5e362"],["7ee958f8.8116a8"],["7ee958f8.8116a8"],["6aa07c4a.955f84"],[]]},{"id":"108590a6.ef7a6f","type":"mysdecenc","z":"8160ff88.7e9f","name":"MySensors decode","x":198,"y":79,"wires":[["9afa4e84.6505b"]]},{"id":"a1c9e060.5e362","type":"switch","z":"8160ff88.7e9f","name":"PresentationSubtype","property":"subType","rules":[{"t":"eq","v":"0"},{"t":"eq","v":"1"},{"t":"eq","v":"2"},{"t":"eq","v":"3"},{"t":"eq","v":"4"},{"t":"eq","v":"5"},{"t":"eq","v":"6"},{"t":"eq","v":"7"},{"t":"eq","v":"8"},{"t":"eq","v":"9"},{"t":"eq","v":"10"},{"t":"eq","v":"11"},{"t":"eq","v":"12"},{"t":"eq","v":"13"},{"t":"eq","v":"14"},{"t":"eq","v":"15"},{"t":"eq","v":"16"},{"t":"eq","v":"17"},{"t":"eq","v":"18"},{"t":"eq","v":"19"},{"t":"eq","v":"20"},{"t":"eq","v":"21"},{"t":"eq","v":"22"},{"t":"eq","v":"23"},{"t":"eq","v":"24"},{"t":"eq","v":"25"},{"t":"eq","v":"26"},{"t":"eq","v":"27"},{"t":"eq","v":"28"},{"t":"eq","v":"29"},{"t":"eq","v":"30"},{"t":"eq","v":"31"},{"t":"eq","v":"32"},{"t":"eq","v":"33"},{"t":"eq","v":"34"},{"t":"else"}],"checkall":"true","outputs":36,"x":723,"y":275,"wires":[[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]]},{"id":"7ee958f8.8116a8","type":"switch","z":"8160ff88.7e9f","name":"SetReqSubtype","property":"subType","rules":[{"t":"eq","v":"0"},{"t":"eq","v":"1"},{"t":"eq","v":"2"},{"t":"eq","v":"3"},{"t":"eq","v":"4"},{"t":"eq","v":"5"},{"t":"eq","v":"6"},{"t":"eq","v":"7"},{"t":"eq","v":"8"},{"t":"eq","v":"9"},{"t":"eq","v":"10"},{"t":"eq","v":"11"},{"t":"eq","v":"12"},{"t":"eq","v":"13"},{"t":"eq","v":"14"},{"t":"eq","v":"15"},{"t":"eq","v":"16"},{"t":"eq","v":"17"},{"t":"eq","v":"18"},{"t":"eq","v":"19"},{"t":"eq","v":"20"},{"t":"eq","v":"21"},{"t":"eq","v":"22"},{"t":"eq","v":"23"},{"t":"eq","v":"24"},{"t":"eq","v":"25"},{"t":"eq","v":"26"},{"t":"eq","v":"27"},{"t":"eq","v":"28"},{"t":"eq","v":"29"},{"t":"eq","v":"30"},{"t":"eq","v":"31"},{"t":"eq","v":"32"},{"t":"eq","v":"33"},{"t":"eq","v":"34"},{"t":"eq","v":"35"},{"t":"eq","v":"36"},{"t":"eq","v":"37"},{"t":"eq","v":"38"},{"t":"eq","v":"39"},{"t":"eq","v":"40"},{"t":"eq","v":"41"},{"t":"eq","v":"42"},{"t":"eq","v":"43"},{"t":"eq","v":"44"},{"t":"eq","v":"45"},{"t":"else"}],"checkall":"true","outputs":47,"x":740,"y":903,"wires":[[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],["69c63289.9639cc"],[],[],[],[],[],[],[],[],[],[]]},{"id":"6aa07c4a.955f84","type":"switch","z":"8160ff88.7e9f","name":"InternalSubtype","property":"subType","rules":[{"t":"eq","v":"0"},{"t":"eq","v":"1"},{"t":"eq","v":"2"},{"t":"eq","v":"3"},{"t":"eq","v":"4"},{"t":"eq","v":"5"},{"t":"eq","v":"6"},{"t":"eq","v":"7"},{"t":"eq","v":"8"},{"t":"eq","v":"9"},{"t":"eq","v":"10"},{"t":"eq","v":"11"},{"t":"eq","v":"12"},{"t":"eq","v":"13"},{"t":"eq","v":"14"},{"t":"eq","v":"15"},{"t":"eq","v":"16"},{"t":"else"}],"checkall":"true","outputs":18,"x":739,"y":1397,"wires":[[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]]},{"id":"8f98bd26.70674","type":"subflow","name":"DOM postprocessor","info":"Processes Domoticz specific output","in":[{"x":33,"y":143,"wires":[{"id":"699b5758.9664a8"}]}],"out":[{"x":951,"y":150,"wires":[{"id":"78766dd2.878994","port":0}]}]},{"id":"699b5758.9664a8","type":"mysdecenc","z":"8f98bd26.70674","name":"","x":139,"y":143,"wires":[["1ecc685.fe13398"]]},{"id":"1ecc685.fe13398","type":"switch","z":"8f98bd26.70674","name":"Type is SET?","property":"messageType","rules":[{"t":"eq","v":"1"},{"t":"else"}],"checkall":"true","outputs":2,"x":289,"y":143,"wires":[["73b9b1e.f8c465"],["78766dd2.878994"]]},{"id":"78766dd2.878994","type":"mysdecenc","z":"8f98bd26.70674","name":"","x":846,"y":150,"wires":[[]]},{"id":"73b9b1e.f8c465","type":"switch","z":"8f98bd26.70674","name":"Is V_LOCK_STATUS?","property":"subType","rules":[{"t":"eq","v":"36"},{"t":"else"}],"checkall":"true","outputs":2,"x":476,"y":127,"wires":[["5e7ebd41.a18144"],["78766dd2.878994"]]},{"id":"5e7ebd41.a18144","type":"function","z":"8f98bd26.70674","name":"Invert payload","func":"if (msg.payload == 1)\n    msg.payload = 0;\nelse\n    msg.payload = 1;\nreturn msg;","outputs":1,"noerr":0,"x":670,"y":113,"wires":[["78766dd2.878994"]]},{"id":"6f018651.90fe78","type":"subflow","name":"DOM preprocessor","info":"Processes Domoticz specific input","in":[{"x":31,"y":188,"wires":[{"id":"b03550b3.4fcab"}]}],"out":[{"x":894,"y":197,"wires":[{"id":"38029d29.c7fd62","port":0}]}]},{"id":"c7e52cc0.381ad","type":"mysdecenc","z":"6f018651.90fe78","name":"Decode","x":311,"y":230,"wires":[["c88ee733.377118"]]},{"id":"c88ee733.377118","type":"switch","z":"6f018651.90fe78","name":"Type is SET?","property":"messageType","rules":[{"t":"eq","v":"1"},{"t":"else"}],"checkall":"true","outputs":2,"x":446,"y":190,"wires":[["d409083c.2bf6f8"],["38029d29.c7fd62"]]},{"id":"38029d29.c7fd62","type":"mysdecenc","z":"6f018651.90fe78","name":"Encode","x":785,"y":197,"wires":[[]]},{"id":"d409083c.2bf6f8","type":"switch","z":"6f018651.90fe78","name":"Is V_LOCK_STATUS?","property":"subType","rules":[{"t":"eq","v":"36"},{"t":"else"}],"checkall":"true","outputs":2,"x":544,"y":122,"wires":[["a1467944.5eb988"],["38029d29.c7fd62"]]},{"id":"a1467944.5eb988","type":"function","z":"6f018651.90fe78","name":"Invert payload","func":"if (msg.payload == 1)\n    msg.payload = 0;\nelse\n    msg.payload = 1;\nreturn msg;","outputs":1,"noerr":0,"x":663,"y":57,"wires":[["38029d29.c7fd62"]]},{"id":"b03550b3.4fcab","type":"change","z":"6f018651.90fe78","name":"Topic=Domoticz","rules":[{"t":"set","p":"topic","to":"Domoticz"}],"action":"","property":"","from":"","to":"","reg":false,"x":157,"y":188,"wires":[["c7e52cc0.381ad"]]},{"id":"5454541d.ababac","type":"subflow","name":"Fake sensors","in":[{"x":35,"y":30,"wires":[{"id":"ff04f8fa.00fb08"}]}],"out":[{"x":666,"y":30,"wires":[{"id":"30e6a3cb.cf195c","port":0}]}]},{"id":"666dc361.99923c","type":"mysencap","z":"5454541d.ababac","name":"Temp","nodeid":"1","childid":0,"subtype":0,"internal":0,"ack":false,"msgtype":"1","presentation":true,"presentationtype":"6","presentationtext":"FakeTempSensor","fullpresentation":true,"firmwarename":"FakeTemp","firmwareversion":"0.0","x":350,"y":30,"wires":[["30e6a3cb.cf195c"]]},{"id":"ff04f8fa.00fb08","type":"function","z":"5454541d.ababac","name":"Generate temp","func":"msg.payload = \"25\"\nreturn msg;","outputs":1,"noerr":0,"x":185,"y":30,"wires":[["666dc361.99923c"]]},{"id":"30e6a3cb.cf195c","type":"mysdecenc","z":"5454541d.ababac","name":"MySensors encode","x":515,"y":30,"wires":[[]]},{"id":"6580173d.9a7fe8","type":"serial-port","serialport":"/dev/ttyMyController","serialbaud":"115200","databits":"8","parity":"none","stopbits":"1","newline":"\\n","bin":"false","out":"char","addchar":true},{"id":"65355d72.9acaa4","type":"serial-port","serialport":"/dev/ttyDomoticz","serialbaud":"115200","databits":"8","parity":"none","stopbits":"1","newline":"\\n","bin":"false","out":"char","addchar":true},{"id":"13cc7d6f.ec3383","type":"serial-port","serialport":"/dev/ttyMysC","serialbaud":"115200","databits":"8","parity":"none","stopbits":"1","newline":"\\n","bin":"false","out":"char","addchar":true},{"id":"5af61127.a509f","type":"serial-port","z":"","serialport":"/dev/ttyUSB0","serialbaud":"115200","databits":"8","parity":"none","stopbits":"1","newline":"\\n","bin":"false","out":"char","addchar":true},{"id":"29d1b211.d62e4e","type":"serial-port","serialport":"/dev/ttyVera","serialbaud":"115200","databits":"8","parity":"none","stopbits":"1","newline":"\\n","bin":"false","out":"char","addchar":true},{"id":"56e6890.fa91978","type":"debug","z":"faef2a18.0510d8","name":"CTRLR debug","active":true,"console":"false","complete":"payload","x":748,"y":465,"wires":[]},{"id":"933030f1.6ccfd","type":"serial out","z":"faef2a18.0510d8","name":"Vera","serial":"29d1b211.d62e4e","x":821,"y":196,"wires":[]},{"id":"54370c66.abc8f4","type":"serial in","z":"faef2a18.0510d8","name":"MySensorsGW","serial":"5af61127.a509f","x":77.5,"y":146,"wires":[["396eb79f.c69148"]]},{"id":"6dae78cf.925188","type":"serial out","z":"faef2a18.0510d8","name":"MySensorsGW","serial":"5af61127.a509f","x":750,"y":533,"wires":[]},{"id":"cbef03e5.3411","type":"serial in","z":"faef2a18.0510d8","name":"MYSController","serial":"13cc7d6f.ec3383","x":76,"y":527,"wires":[["992c7345.66d39"]]},{"id":"9b7faefd.64805","type":"serial out","z":"faef2a18.0510d8","name":"MYSController","serial":"13cc7d6f.ec3383","x":844,"y":243,"wires":[]},{"id":"91697766.6e9688","type":"inject","z":"faef2a18.0510d8","name":"Send version request","topic":"MySensors test","payload":"0;255;3;0;2;","payloadType":"string","repeat":"","crontab":"","once":false,"x":122,"y":434,"wires":[["5feb3ddb.a014c4"]]},{"id":"5be5bb8c.a41a44","type":"serial in","z":"faef2a18.0510d8","name":"Domoticz","serial":"65355d72.9acaa4","x":59.5,"y":631,"wires":[["1b7cf599.e4830a","80399396.7fc67"]]},{"id":"cb8a2201.3475e","type":"serial out","z":"faef2a18.0510d8","name":"Domoticz","serial":"65355d72.9acaa4","x":828,"y":343,"wires":[]},{"id":"439009ab.bc6ff8","type":"serial in","z":"faef2a18.0510d8","name":"MyController","serial":"6580173d.9a7fe8","x":70.5,"y":581,"wires":[["47f782c.fb8087c"]]},{"id":"be681116.4197f","type":"serial out","z":"faef2a18.0510d8","name":"MyController","serial":"6580173d.9a7fe8","x":838,"y":293,"wires":[]},{"id":"6cab82ec.93547c","type":"subflow:5454541d.ababac","z":"faef2a18.0510d8","name":"","x":237,"y":193,"wires":[["396eb79f.c69148","26c64377.d939bc"]]},{"id":"a7dc7c6f.58238","type":"inject","z":"faef2a18.0510d8","name":"Trig fakes","topic":"","payload":"","payloadType":"none","repeat":"","crontab":"","once":false,"x":92,"y":193,"wires":[["6cab82ec.93547c"]]},{"id":"1b7cf599.e4830a","type":"subflow:6f018651.90fe78","z":"faef2a18.0510d8","name":"","x":315,"y":631,"wires":[["1c964876.e369b8"]]},{"id":"e62acc9e.19d53","type":"subflow:8f98bd26.70674","z":"faef2a18.0510d8","name":"","x":664,"y":343,"wires":[["cb8a2201.3475e","d994688d.266b98"]]},{"id":"10218729.efde79","type":"subflow:8160ff88.7e9f","z":"faef2a18.0510d8","name":"","x":881,"y":153,"wires":[]},{"id":"396eb79f.c69148","type":"subflow:87ad6845.785298","z":"faef2a18.0510d8","name":"","x":429,"y":146,"wires":[["fe9c2881.0163d8","1ed4947e.e12b6c"],["e62acc9e.19d53","28097d6b.d7f682","6b5d7d4b.94a284","ebe581f9.141a8","10218729.efde79"]]},{"id":"fe9c2881.0163d8","type":"debug","z":"faef2a18.0510d8","name":"MYS debug","active":true,"console":"false","complete":"payload","x":638,"y":84,"wires":[]},{"id":"1ed4947e.e12b6c","type":"file","z":"faef2a18.0510d8","name":"","filename":"/home/pi/MySensors/gw_out.log","appendNewline":true,"createDir":true,"overwriteFile":"false","x":702,"y":118,"wires":[]},{"id":"28461cae.d7b9e4","type":"subflow:fb0fe50f.04f018","z":"faef2a18.0510d8","name":"","x":316,"y":475,"wires":[["1c964876.e369b8"]]},{"id":"20753984.df8ac6","type":"serial in","z":"faef2a18.0510d8","name":"Vera","serial":"29d1b211.d62e4e","x":55,"y":475,"wires":[["28461cae.d7b9e4"]]},{"id":"992c7345.66d39","type":"subflow:9a01ec1d.65fe1","z":"faef2a18.0510d8","name":"","x":315,"y":527,"wires":[["1c964876.e369b8"]]},{"id":"47f782c.fb8087c","type":"subflow:6bb8370.f9447c8","z":"faef2a18.0510d8","name":"","x":313,"y":581,"wires":[["1c964876.e369b8"]]},{"id":"1c964876.e369b8","type":"subflow:87ad6845.785298","z":"faef2a18.0510d8","name":"","x":553,"y":527,"wires":[["56e6890.fa91978","eeac51f0.1153b"],["6dae78cf.925188"]]},{"id":"28097d6b.d7f682","type":"subflow:56bd1bfc.a942e4","z":"faef2a18.0510d8","name":"","x":659,"y":293,"wires":[["be681116.4197f"]]},{"id":"6b5d7d4b.94a284","type":"subflow:c1bbb0ac.3e445","z":"faef2a18.0510d8","name":"","x":660,"y":243,"wires":[["9b7faefd.64805"]]},{"id":"ebe581f9.141a8","type":"subflow:c542f76c.3abd08","z":"faef2a18.0510d8","name":"","x":660,"y":196,"wires":[["933030f1.6ccfd"]]},{"id":"eeac51f0.1153b","type":"file","z":"faef2a18.0510d8","name":"","filename":"/home/pi/MySensors/gw_in.log","appendNewline":true,"createDir":true,"overwriteFile":"false","x":799,"y":498,"wires":[]},{"id":"5feb3ddb.a014c4","type":"subflow:c1f1131a.3e0ef","z":"faef2a18.0510d8","name":"","x":321,"y":434,"wires":[["1c964876.e369b8"]]},{"id":"26c64377.d939bc","type":"debug","z":"faef2a18.0510d8","name":"","active":true,"console":"false","complete":"false","x":419,"y":229,"wires":[]},{"id":"80399396.7fc67","type":"debug","z":"faef2a18.0510d8","name":"Domoticz out","active":true,"console":"false","complete":"payload","x":289,"y":676,"wires":[]},{"id":"d994688d.266b98","type":"debug","z":"faef2a18.0510d8","name":"Domoticz in","active":true,"console":"false","complete":"payload","x":850,"y":406,"wires":[]}]
    

    You will need @tbowmo's mysensors node-red plugin for this flow. And be aware that the debug log management in this flow is NOT working as it is really supposed to.

    To create the socat pipes I use a number of shell scripts of this form executed as root:

    #!/bin/bash
    while sleep 1; do
            socat PTY,link=/dev/ttyVera,mode=666,group=dialout,raw TCP-LISTEN:5003,reuseaddr
    done
    

    Typically, you can invoke such a script using

    sudo ./socat_vera.sh &
    

    which would let the script execute in the background. The while loop make sure the pipe stays available even if there is nothing connected to it.

    For sure there are a lot of different things about this that can be improved and optimized, but that is what I am currently using in my testing environment.



  • Ditto on the "very very cool" I looking for a app I could actually see what my sensor builds were doing. Prefect!
    Thanks



  • hi again, I noticed that domoticz would lose connection to the Gateway when I would ask one of the nodes to restart. Is that expected behavior?
    For example when I want to introduce a new node/code to domoticz, the moment I hit reboot on some node domoticz would report that it has lost TCP connection with the gateway and it would wait 30s or something and then reconnect to the gateway, which is ok to restart but it will then miss the introduction/presentation data sent by the sensor. This is one of the coolest features of MysController, to update and reset remote nodes, without the need to reopen all the nodes and hitting reset or removing the battery etc.
    Anyone noticing this, is there some workaround for this?



  • @tekka

    Hi tekka,

    I have tested MYSController, and it was a massive success ! thanks a lot for your work.

    I have just one question, in the csv file there is a type.
    According to my reading this is to tag a node type, but where are the already known types ?
    Type 1 => only temperature
    Type 2 => only humidity
    Type 3 => temp & hum
    etc
    Is there another config file where to specify user types ?

    Type,Name,Version,File,Comments
    10,Blink,1,Blink.hex,blinking example
    20,TimeReporter,1,TimeReporter.hex,TimeReporter
    100,Sensebender Micro,1,SensebenderMicro.cpp.hex,Sensebender Micro
    110,Sensebender Blink,1,SensebenderBlink.cpp.hex,Sensebender Blink



  • @hek - would it be possible to get a subforum for MYSController stood up in the Controllers forum? This thread is getting pretty long and off topic (also, the RSS feed stops at the 27th post)


  • Admin

    I'll have a talk with @tekka about it. But you always have the optaion to start a new thread.


  • Admin

    @DomoJimbo No, you are free to choose the node types. This information is used for OTA FW updates.



  • Hello,

    for Linux, it works with wine, with TCP and serial.

    regards
    Thomas



  • @tekka

    I'Ve done the steps witch you describe but it doesn't show up in the ArduinoIDE.
    Step 1, added the lines to boards.txt
    Step 2, made a directory \MySensors under
    D:\Program Files\Arduino\hardware\arduino\avr\bootloaders
    Step 3, copied the .hex file into D:\Program Files\Arduino\hardware\arduino\avr\bootloaders\MySensors

    What did i do wrong???



  • @MarkV you might want to check your "AppData" folder, I noticed the same behaviour and had to change boards.txt in this location.

    C:\Users{{user}}\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.10

    GL



  • Guys,

    I'm trying to get this working with my nano clone but am having no luck.

    When I flash the boot loader the nano doesn't send the request (the light on the nano comes on red and stays on).

    I'm presuming it's because I haven't updated the fuse settings etc for the nano? Would someone be so kind as to offer some help with regards what I need to change?

    Edit: I'm up and running!



  • Did anyone figure out how to get MySensors debug messages to show? My sketch has debug uncommented and I can see them via serial, but not in the app?


  • Admin

    @Mark-Swift The MySensors debug tab only shows gateway debug messages (not sensor debug).



  • @tekka Yeah, I get that, that's what I'm struggling with. I have the debug line uncommented on my ESP8266 gateway, but see nothing in the mysensors debug tab? I'm using the latest beta build as I run 2.0.0.

    Also, I've asked a couple of times, is the default firmware pre release 1.3 bootloader (16mhz) suitable in its default state for both my Uno's and Nano's?

    Thanks in advance,

    Mark


  • Admin

    @Mark-Swift the ESP8266 GW is not sending debug msgs over TCP/IP - only over the serial console.
    And yes, MYSBootloader 1.3pre/16Mhz is suitable for Uno and Nano V3 (both share the same atmega328p mcu)



  • @tekka That explains it then 🙂 Thank you very much for the confirmations!



  • @Mark-Swift : If you're happy to modify the MySensors library in an unsupported way, I've added a logMessage function to transmit text/debug messages from remote nodes:
    https://github.com/peterdey/MySensors-Arduino/commit/f5f339b71620ec3cd896304a2ca6aba40ad40218

    Found it useful, particularly in conjunction with MYSController OTA firmware updates.



  • @pdey Let me get this straight, this allows me to see the serial debug messages from my nodes running the modified boot loader? That would be a dream come true, I really miss debug messages...

    Thank you!



  • @Mark-Swift: You'll need to replace Serial.Print with node.logMessage - but yes, I use it for transmitting debug messages, wirelessly, to the controller.

    No gateway modifications required (the gateway will just pass the message over to the controller). Old versions of MYSController (e.g. 0.1.2.276) would actually show the debug messages as a LOG_MESSAGE in the "Messages" tab; later versions hide it away in the "Debug" tab.

    0_1462266612982_MYSController_LogMessage.png



  • @pdey That's fantastic, the only thing I was missing with the modified boot loader was debug...

    @hek @tekka Any reason why we can't implement this into development, it seems a great feature.

    Now if I can only figure out how to apply @pdey 's fix to the current dev branch....



  • Hi @tekka ,
    Just starting testing beta version and it looks really nice. Thanks for sharing this great tool.
    I usually use it to debug mysensors network.

    I think I have found a little bug regarding message subtype.
    For example, when I choose to send a message using as subtype V_VAR1, it sends out as V_VAR4.
    To actually send it as V_VAR1 I have to choose as Subtype V_HVAC_FLOW_STATE.

    Can someone try this in their MYSController Beta 1.0.0beta so as to verify if it is only happening to me, or is a funny bug in the beta.

    Once againg, thank you very much.
    Regards.
    Gonzalo


  • Contest Winner

    @gonzalonal @tekka
    Yes I can confirm the exact same behaviour gonzalonal describes. Please say if you need any more details tekka (with the @ function).


  • Admin

    @Dirk_H @gonzalonal This has been fixed in the most recent build (3314). Thanks for reporting.
    => update pushed.


  • Admin

    @pdey Filtering I_LOG_MESSAGE from the main message tab can be (de)activated in the settings.



  • @tekka I've tried to apply @pdey 's change to the current dev branch; but due to the recent refactoring, wasn't successful - I'll keep trying.

    Would you happen to have any other suggestions how we can get debug messages back to the controller from remote nodes? Some of my nodes are running some fairly complex code and without debug it becomes a tedious task.

    Many thanks in advance,

    Mark



  • Was @pdey 's change applied to the dev branch?

    Any suggestions for debug messages to the controller from remote nodes?

    @Mark-Swift said:

    @tekka I've tried to apply @pdey 's change to the current dev branch; but due to the recent refactoring, wasn't successful - I'll keep trying.

    Would you happen to have any other suggestions how we can get debug messages back to the controller from remote nodes? Some of my nodes are running some fairly complex code and without debug it becomes a tedious task.

    Many thanks in advance,

    Mark



  • My current running setup is a Arduino via USB-Serial attached to a Arduino with my Controller Software. But i want to use this Windows Controller at the same time. Anyone a idea how i can do this (local serial and serial2net at the same time on the same serial device)? if i start the serial2net my raspberry controller is broken and can't connect to the arduino usb serial but the serial2net work.


  • Admin

    @Harrdy you can use the "GW mode" in the latest release and have your controller pointing to your PC's IP.



  • Thanks @ @tekka I saw the button "gw mode" but pimatic unfortunately only supports serial gateways. so if i use the "gw mode" i need a package like net2ser (instead of ser2net). But i think something like that does not exist

    edit:
    okay, it works with socat

    sudo socat -d -d pty,link=/dev/ttyPimaticGW,raw,echo=0,waitslave tcp:192.168.170.32:5003;


  • Admin

    @Harrdy cool, thanks for reporting 👍



  • @Harrdy I made the experience that a socat tcp tunnel is not stable all the time. I was trying to establish a connection between my ESP8266 gateway and a serial port (to be used with pimatic), but that tended to disconnect after few hours/days. This was also reported by other users in the pimatic forum. But maybe this is only a problem in relation with a ESP gateway.
    I would just recommend to check your connection regularly.
    If it is also unstable for you, I am testing node-red for that purpose at the moment and it looks promising. I will report when testing is finished.



  • Maybe this helps any one else:
    I run openHAB on a RPI3 and i have made a Mysensors serial GW on a arduino nano.
    I want to use openHAB for the interface and MySController for the managment. So i need to forward my serial communication to a TCP socket.

    ser2net is a nice tool works fast but it block the Serial connection for openHAB.
    socat works better for me by executing the following command:
    $ sudo socat tcp-l:5003,reuseaddr,fork file:/dev/mySensorsCOM,nonblock,waitlock=/var/run/mySensorsCOM.lock

    next step will be to put it in a script and sends the process to the background and restarts it if there went something go's wrong.



  • @Harrdy there is a ethernet branch of the mysensors plugin for pimatic now under development. You can have a look at the mysensors thread in the pimatic forum to find the instructions.



  • Does anyone know how to allow multiple TCP connections forwarded to one MYS tty port? This socat command blocks second TCP connection until first one disconnected.

    I just want to connect MYSController using TCP without disconnecting my custom MQTT<=>serial controller script. I'm using RPi with USB-serial gateway.

    P.S. @tekka is there any chances that MQTT access will be implemented in MYSController?

    @techRH said:

    $ sudo socat tcp-l:5003,reuseaddr,fork file:/dev/mySensorsCOM,nonblock,waitlock=/var/run/mySensorsCOM.lock



  • @tekka great work! thank you for sharing this.
    Your controller and great contribution had me quickly started with mysensors. I am interested in a way to do OTA updates using MYSController via api or a script call or even rewriting the logic in an outside code. I'll try to explain the need based on my setup below.

    Given that I am using jeedom right now as a controller, but sadly it doesn't seem to support yet OTA updates. I'd like to be able to reuse or even contribute to this feature and I'd appreciate pointers to start doing that.
    My setup has it that jeedom runs off a raspi and has a mysensors serial gateway attached. (1 to 2 Watts draw for this setup). MYSController can work as an ethernet relay gateway, but if I understand correctly I have to run it on windows (more moving parts), or a much hungrier box than my raspi.

    Is there a way I can make that work somehow? I am ready and appreciate any type of suggestions with the current setup I have or an evolution which goes into that direction.



  • @robosensor you could try nodered. It can connect multiple inputs (mqtt, tcp,...) and merge it to a single serial output and vice versa. You might have to add some logic, but that shouldn't be a problem.



  • @robosensor I wrote a bridge to use on the Linino side of the Arduino Yun for this:
    https://github.com/peterdey/Yun-Linino-NewBridge

    But there's no reason you couldn't use this on an rPi - you'll probably just need to turn the baud rate down to 115200.


  • Admin

    @jmkhael You can use "GW mode" (=proxy mode) in the tab bar



  • I thought the socat command is to slow in switching so i have created a python script which will readout the mysensors serial GW and sends the data to a virtual serial port to connect to openhab and a TCP socket for the MySensors controller.

    https://github.com/Rutger798/serial_to_serial_and_tcp/blob/master/serial_to_serial_and_tcp.py



  • How do i use MYSController with a Raspberry Pi ?
    I have a RPi2 with a NRF24 radio as a gateway and want to troubleshoot some communication issues i have been having. I usually log into the RPi2 via ssh to make adjustments.
    Can I just download the files and rund the .exe via command-line?

    Thanks



  • I think it's windows software only. If you want to use it this way you should make you gateway device accessible via ethernet, maybe socat or nodered is an option for you.



  • ok thanks for clarifying.

    gonna give the node-red a try



  • @pdey said:

    @Mark-Swift : If you're happy to modify the MySensors library in an unsupported way, I've added a logMessage function to transmit text/debug messages from remote nodes:
    https://github.com/peterdey/MySensors-Arduino/commit/f5f339b71620ec3cd896304a2ca6aba40ad40218

    Found it useful, particularly in conjunction with MYSController OTA firmware updates.

    is it possible to use with mysensor 2.0 API ?



  • Very cool. It also works on Ubuntu with Wine.
    You have to create a COM port like this:

    ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com1
    


  • How do I get MYSController to save info about each node?
    I always have to set "battery-powered" after each upload and it does not save sketch name etc.



  • Ok this might be a realy stupid question but im what you call a "nuub" 😉

    If i want to monitor my current setup (serial gateway on a pi3) on windows/mint. Do i build another gateway and plug it in the pc?

    Sorry if i missed the instructions on this


  • Admin

    @meanmrgreen no, you can only have one GW in your setup. You could connect your GW to the PC, configure it for serial input, enable GW mode and have your rpi controller pointing at it (IP).



  • @tekka
    How about I'f i replace my serial with a Ethernet gw?

    Do not want my pc running all the time. Just to debug


  • Hardware Contributor

    Hi @tekka - I'm currently running OpenHAB connected to mysensors by a GatewayW5100MQTTClient gateway and at the moment I have to manual upgrades to the nodes by disconnecting them and plugging them into the PC and recompiling all the software for each node. Would there be any way around this setup? I would like to keep OpenHAB as my controller and I really like the MQTT Client software too. Its simple and it just works for me. However, i would be open to change from MQTT if needed.

    What is your recommendation of implementing MYScontroller to use for OTA firmware updates only?



  • @tekka how do I initiate a reboot of a node from gateway side? I don't know how, but it's needed for updating OTA. Thanks in advance.



  • @Anduril said in Windows GUI/Controller for MySensors:

    itiate a reboot of a node from gateway side? I don't know how, but it's needed for updating OTA. Th

    Right click on the node and than "reboot"



  • @techRH that doesn't work for the new bootloader/MySensors 2.x


  • Admin

    @Anduril it does work, unless your node is sleeping and not able to process incoming messages



  • @tekka ok and whats the way to deal with sleeping nodes? Do I have to add a wait(xx) to receive reboot commands?


  • Admin

    @Anduril The solution is to use smart sleep. If you are on MySensors 2.1.x, use:

    sleep(xyz_MS, true);
    

    This will issue a heartbeat message followed by a short wait() interval to process incoming messages, and finally send the node to sleep. The heartbeat message triggers the release of pending messages (i.e. reboot request) in MYSController (node has to be defined as battery-powered / sleeping node).

    In the upcoming MySensors 2.2.0 release we will introduce a dedicated sleep intention message.



  • @tekka thanks for your hint. Is smartsleep supported if the controller (pimatic) does not? So do I get problems when using withoug MYSController for debug?

    And another thing is that this node tries to save power and only sends updates if values have changed. So using smartsleep and sending a messag every sleep cycle would be against that. Can I simply put a wait(50) after the first message sending is triggered? What would be the necessary time to do wait(x)?


  • Admin

    @Anduril Yes, smartsleep is just a sequence of events (sending heartbeat message, wait(default=500), sleep()) that gives the controller the possibility to react before the node is going to sleep.



  • I have problems using the OTA feature with MYSController.

    1. "undefined firmware/type" reported.
      My setup:
    • ESP8266 Gateway 2.1.1
    • MYSController Version 1.0.0beta (build 3314)
    • atmega328p chip with own pcb, internal osc 8MHz, and MYSBootloaderV13pre.hex (taken from the same zip file as MYSController.exe)

    The log file in MYSController shows "undefined firmware/type" :
    alt text

    Where can I find the latest software (exe and boot loader)?

    1. the "Reload repo" toolbar button is always greyed, but the "firmware_config" is available, has all entries and the hex files are in the same directory.

    2. is there a more detailed description available for the columns of the "firmware_config" file?

    thanks in advance


  • Admin

    @dirkc If you are using MYSBootloader there is no need to define MY_OTA_FIRMWARE_FEATURE since the FW update happens offline, see here for additional infos.

    See here for a firmware_config.csv example:

    Type,Name,Version,File,Comments
    1,DoorSensor_V1,1,DoorSensorV1.hex,Door sensor version 1
    1,DoorSensor_V2,2,DoorSensorV2.hex,Door sensor version 2
    1,DoorSensor_V3,3,DoorSensorV3.hex,Door sensor version 3
    10,TestSensor,1,TestSensor.hex,Test FW
    11,LightSensor,1,LightSensor.hex,Light sensor
    20,TempSensor Indoor V1,1,TempSensorIndoorV1.hex,Temp. Sensor indoor V1
    20,TempSensor Indoor V2,2,TempSensorIndoorV2.hex,Temp. Sensor indoor V2
    30,TempSensor Outdoor V1,1,TempSensorOutdoorV1.hex,Temp. Sensor outdoor V2
    

    Impotant: All defined files need to be present in the directory, only comma delimiters are allowed.



  • With MSController 1.0.0 & SerialGateway with 2.2.0 MySensor lib, 1 problem occurs.

    MSController crash at the presentation step by the node

    Below what the node send when reeboot. (Debug log via Serial)

    0 MCO:BGN:INIT NODE,CP=RNNNA---,VER=2.2.0-beta
    26 TSM:INIT
    27 TSF:WUR:MS=0
    34 TSM:INIT:TSP OK
    35 TSM:INIT:STATID=1
    37 TSF:SID:OK,ID=1
    39 TSM:FPAR
    75 TSF:MSG:SEND,1-1-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
    1051 TSF:MSG:READ,0-0-1,s=255,c=3,t=8,pt=1,l=1,sg=0:0
    1056 TSF:MSG:FPAR OK,ID=0,D=1
    2083 TSM:FPAR:OK
    2084 TSM:ID
    2085 TSM:ID:OK
    2087 TSM:UPL
    2091 TSF:MSG:SEND,1-1-0-0,s=255,c=3,t=24,pt=1,l=1,sg=0,ft=0,st=OK:1
    2101 TSF:MSG:READ,0-0-1,s=255,c=3,t=25,pt=1,l=1,sg=0:1
    2106 TSF:MSG:PONG RECV,HP=1
    2109 TSM:UPL:OK
    2110 TSM:READY:ID=1,PAR=0,DIS=1
    2115 TSF:MSG:SEND,1-1-0-0,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
    2122 TSF:MSG:READ,0-0-1,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
    2129 TSF:MSG:SEND,1-1-0-0,s=255,c=0,t=17,pt=0,l=10,sg=0,ft=0,st=OK:2.2.0-beta
    2139 TSF:MSG:SEND,1-1-0-0,s=255,c=3,t=6,pt=1,l=1,sg=0,ft=0,st=OK:0
    2155 TSF:MSG:READ,0-0-1,s=255,c=3,t=6,pt=0,l=1,sg=0:M
    2162 TSF:MSG:SEND,1-1-0-0,s=255,c=3,t=11,pt=0,l=10,sg=0,ft=0,st=OK:OTA Test 2
    2171 TSF:MSG:SEND,1-1-0-0,s=255,c=3,t=12,pt=0,l=3,sg=0,ft=0,st=OK:2.0
    2180 TSF:MSG:SEND,1-1-0-0,s=1,c=0,t=3,pt=0,l=8,sg=0,ft=0,st=OK:Sensor 1
    2187 MCO:REG:REQ
    2190 TSF:MSG:SEND,1-1-0-0,s=255,c=3,t=26,pt=1,l=1,sg=0,ft=0,st=OK:2
    2197 TSF:MSG:READ,0-0-1,s=255,c=3,t=27,pt=1,l=1,sg=0:1
    2202 MCO:PIM:NODE REG=1
    2204 MCO:BGN:STP
    2205 MCO:BGN:INIT OK,TSP=1
    

    Below is the log in MSController

    08/05/2017 18:12:26	RX	0;255;3;0;9;33925 TSF:MSG:READ,1-1-255,s=255,c=3,t=7,pt=1,l=1,sg=0:0
    08/05/2017 18:12:26	RX	0;255;3;0;9;33931 TSF:MSG:BC
    08/05/2017 18:12:26	RX	0;255;3;0;9;33933 TSF:MSG:FPAR REQ,ID=1
    08/05/2017 18:12:26	RX	0;255;3;0;9;33937 TSF:PNG:SEND,TO=0
    08/05/2017 18:12:26	RX	0;255;3;0;9;33940 TSF:CKU:OK
    08/05/2017 18:12:26	RX	0;255;3;0;9;33943 TSF:MSG:GWL OK
    08/05/2017 18:12:26	RX	0;255;3;0;9;34102 TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
    08/05/2017 18:12:29	RX	0;255;3;0;9;37248 TSF:MSG:READ,1-1-255,s=255,c=3,t=7,pt=1,l=1,sg=0:0
    08/05/2017 18:12:29	RX	0;255;3;0;9;37254 TSF:MSG:BC
    08/05/2017 18:12:29	RX	0;255;3;0;9;37257 TSF:MSG:FPAR REQ,ID=1
    08/05/2017 18:12:29	RX	0;255;3;0;9;37260 TSF:CKU:OK,FCTRL
    08/05/2017 18:12:29	RX	0;255;3;0;9;37263 TSF:MSG:GWL OK
    08/05/2017 18:12:30	RX	0;255;3;0;9;37669 TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
    08/05/2017 18:12:32	RX	0;255;3;0;9;40570 TSF:MSG:READ,1-1-0,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
    08/05/2017 18:12:32	RX	0;255;3;0;9;40579 TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
    08/05/2017 18:12:33	RX	0;255;3;0;9;40729 TSF:MSG:READ,1-1-0,s=255,c=4,t=0,pt=6,l=10,sg=0:28000100E803E5750103
    08/05/2017 18:12:33	RX	1;255;4;0;0;28000100E803E5750103
    08/05/2017 18:12:33	INFO	BL version=259
    08/05/2017 18:12:33	INFO	No FW assigned
    08/05/2017 18:12:36	RX	0;255;3;0;9;44053 TSF:MSG:READ,1-1-0,s=255,c=4,t=0,pt=6,l=10,sg=0:28000100E803E5750103
    08/05/2017 18:12:36	RX	1;255;4;0;0;28000100E803E5750103
    08/05/2017 18:12:36	INFO	BL version=259
    08/05/2017 18:12:36	INFO	No FW assigned
    08/05/2017 18:12:39	RX	0;255;3;0;9;47376 TSF:MSG:READ,1-1-0,s=255,c=4,t=0,pt=6,l=10,sg=0:28000100E803E5750103
    08/05/2017 18:12:39	RX	1;255;4;0;0;28000100E803E5750103
    08/05/2017 18:12:39	INFO	BL version=259
    08/05/2017 18:12:39	INFO	No FW assigned
    08/05/2017 18:12:43	RX	0;255;3;0;9;50700 TSF:MSG:READ,1-1-0,s=255,c=4,t=0,pt=6,l=10,sg=0:28000100E803E5750103
    08/05/2017 18:12:43	RX	1;255;4;0;0;28000100E803E5750103
    08/05/2017 18:12:43	INFO	BL version=259
    08/05/2017 18:12:43	INFO	No FW assigned
    08/05/2017 18:12:46	RX	0;255;3;0;9;54213 TSF:MSG:READ,1-1-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    08/05/2017 18:12:46	RX	0;255;3;0;9;54219 TSF:MSG:BC
    08/05/2017 18:12:46	RX	0;255;3;0;9;54222 TSF:MSG:FPAR REQ,ID=1
    08/05/2017 18:12:46	RX	0;255;3;0;9;54226 TSF:PNG:SEND,TO=0
    08/05/2017 18:12:46	RX	0;255;3;0;9;54230 TSF:CKU:OK
    08/05/2017 18:12:46	RX	0;255;3;0;9;54232 TSF:MSG:GWL OK
    08/05/2017 18:12:47	RX	0;255;3;0;9;55224 TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
    08/05/2017 18:12:48	RX	0;255;3;0;9;56261 TSF:MSG:READ,1-1-0,s=255,c=3,t=24,pt=1,l=1,sg=0:1
    08/05/2017 18:12:48	RX	0;255;3;0;9;56267 TSF:MSG:PINGED,ID=1,HP=1
    08/05/2017 18:12:48	RX	0;255;3;0;9;56273 TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=25,pt=1,l=1,sg=0,ft=0,st=OK:1
    08/05/2017 18:12:48	RX	0;255;3;0;9;56286 TSF:MSG:READ,1-1-0,s=255,c=3,t=15,pt=6,l=2,sg=0:0100
    08/05/2017 18:12:48	RX	0;255;3;0;9;56294 TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=15,pt=6,l=2,sg=0,ft=0,st=OK:0100
    08/05/2017 18:12:48	RX	0;255;3;0;9;56302 TSF:MSG:READ,1-1-0,s=255,c=0,t=17,pt=0,l=10,sg=0:2.2.0-beta
    08/05/2017 18:12:48	RX	1;255;0;0;17;2.2.0-beta
    08/05/2017 18:12:48	DEBUG	Update child id=255, type=S_ARDUINO_NODE
    08/05/2017 18:12:48	RX	0;255;3;0;9;56309 TSF:MSG:READ,1-1-0,s=255,c=3,t=6,pt=1,l=1,sg=0:0
    08/05/2017 18:12:48	RX	1;255;3;0;6;0
    08/05/2017 18:12:48	TX	1;255;3;0;6;M
    08/05/2017 18:12:48	RX	0;255;3;0;9;56328 TSF:MSG:SEND,0-0-1-1,s=255,c=3,t=6,pt=0,l=1,sg=0,ft=0,st=OK:M
    08/05/2017 18:12:48	RX	0;255;3;0;9;56335 TSF:MSG:READ,1-1-0,s=255,c=3,t=11,pt=0,l=10,sg=0:OTA Test 2
    08/05/2017 18:12:48	RX	1;255;3;0;11;OTA Test 2
    08/05/2017 18:12:48	RX	0;255;3;0;9;56343 TSF:MSG:READ,1-1-0,s=255,c=3,t=12,pt=0,l=3,sg=0:2.0
    08/05/2017 18:12:48	RX	1;255;3;0;12;2.0
    08/05/2017 18:12:48	RX	0;255;3;0;9;56351 TSF:MSG:READ,1-1-0,s=1,c=0,t=3,pt=0,l=8,sg=0:Sensor 1
    

    Here a screenshot when MSController crash.

    0_1494260885106_MSController.jpg

    When I click on "request presentation", same error.

    This error is only with SerialGateway & Library 2.2.0 beta
    With library 2.1.1that's ok


  • Admin

    @romeo01 Thanks for reporting, this is a known issue with build 3314 and lib 2.2.0: The msg parser requires some changes - build 3316 is in preparation (also supporting new 2.2.0 features).



  • Hi, I am trying your software but I only get "connection refused" though in the status bar it says Connected... what can I do?



  • @tekka hi, can we access the previous build if that is working for MySensors2.1.1?


  • Admin

    @siod Seems like something is wrong with your GW - either GW is not working or too many connections.


  • Admin

    @vikasjee What build are you looking for?



  • @tekka , I upgraded Arduino IDE from 1.6.0 to 1.8.2 recently. Burnt the gateway with the MySensors2.1.1 gateway sketch and the nodes bootloader with MysBootloader1.3.0beta3 from the master branch on github.

    As per my understanding the Node with MysBootloader should connect to the Gateway (checked with MysController 1.0beta b3314) where i can specify the Firmware for this new node. But i am not able to get the Node entry in the left hand side tree in MysController. Upon checking the MysController Debug, there are a stream of messages from the node but are being endlessly repeated:

    6/12/2017 19:24:59	RX	0;255;3;0;9;TSF:CKU:OK,FCTRL
    6/12/2017 19:24:59	RX	0;255;3;0;9;TSF:MSG:GWL OK
    6/12/2017 19:25:01	RX	0;255;3;0;9;TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
    6/12/2017 19:25:06	RX	0;255;3;0;9;TSF:MSG:READ,255-255-255,s=255,c=3,t=7,pt=1,l=1,sg=0:235
    6/12/2017 19:25:06	RX	0;255;3;0;9;TSF:MSG:BC
    6/12/2017 19:25:06	RX	0;255;3;0;9;TSF:MSG:FPAR REQ,ID=255
    6/12/2017 19:25:06	RX	0;255;3;0;9;TSF:CKU:OK,FCTRL
    6/12/2017 19:25:06	RX	0;255;3;0;9;TSF:MSG:GWL OK
    6/12/2017 19:25:08	RX	0;255;3;0;9;TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
    6/12/2017 19:25:09	RX	0;255;3;0;9;TSF:MSG:READ,255-255-255,s=255,c=3,t=7,pt=1,l=1,sg=0:235
    6/12/2017 19:25:09	RX	0;255;3;0;9;TSF:MSG:BC
    6/12/2017 19:25:09	RX	0;255;3;0;9;TSF:MSG:FPAR REQ,ID=255
    6/12/2017 19:25:09	RX	0;255;3;0;9;TSF:CKU:OK,FCTRL
    6/12/2017 19:25:09	RX	0;255;3;0;9;TSF:MSG:GWL OK
    

    I am unable to get to the root of the problem... and could not find any mention of a similar problem on this forum (searched far and wide 🙂 )

    Any pointers to a solution or hint of what may be wrong will definitely help me save time...



  • @tekka , there seems to be an issue with the build 3314 and MYSBootloader for MySensors 2.1.1,as noted above. Any good, working previous version should do...



  • @tekka please help with the MysController build 3312 if that one works with MYSBootloader for MySensors 2.1.1 master.


  • Admin

    @vikasjee Apologies for the late reply. This issue is not related to MYSController:
    The debug log hints to some issues with the radio (range, connection) and/or power supply (node does not receive the find_parent_response message), please double-check the wiring, power supply (appropriate caps on both, GW and node), change the distance between GW and node, or try with different radio modules.



  • @tekka No Issues. Thanks for the response.

    I have tried all of these with all my 35 radios (were all working before the upgrade) and equal number of nodes! 😞

    I will go through all this sequence once again though... Thanks for clearing the doubts on MYSController build. Indebted!



  • Newbie can't make it happen...

    I've been struggling for the last couple of days, trying to make the mysensors world to fly. But unfortunately i have no success so i will try to post one of my many trials, would be very glad if you could let me know what i'm missing...

    Hardware:

    • Aurduino Mini Pro
    • W5100 ETH interface
    • long-distance NRF24L01 (Gateway)
    • NRF24L01+ 2.4GHz Antenna Wireless Transceiver Module (Sensor)

    Software:

    All i did was to load both sketch to the according mini.
    Of course changing the IP of the gateway.

    I can ping the gateway using Windows terminal, but i can't access the gateway using the MYSController. As soon i try to dicover any node the connection is terminated by the remot side (entry in the debug window of MYSCtrl)

    If i did understand it correct i do not have to load the Bootloader as of now (as long i do not need OTA)

    Any help would be highly appriciated,
    matt


  • Mod

    Welcome to the MySensors community @swiss 🙂
    What does the debug output from the gateway say?
    How is the gateway powered?

    If you haven't already, take a look at https://forum.mysensors.org/topic/666/debug-faq-and-how-ask-for-help/ for the most common problems and how to fix them.



  • @mfalkvidd
    wow that was quick 🙂
    The gateway is powered thru a breadboard 3.3V psu.
    Here is teh log dump of the gateway:

    0;255;3;0;9;TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
    0;255;3;0;9;TSF:MSG:READ,255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    0;255;3;0;9;TSF:MSG:BC
    0;255;3;0;9;TSF:MSG:FPAR REQ,ID=255
    0;255;3;0;9;TSF:CKU:OK,FCTRL
    0;255;3;0;9;TSF:MSG:GWL OK
    0;255;3;0;9;TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
    0;255;3;0;9;TSF:MSG:READ,255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    0;255;3;0;9;TSF:MSG:BC
    0;255;3;0;9;TSF:MSG:FPAR REQ,ID=255
    0;255;3;0;9;TSF:CKU:OK,FCTRL

    Thank you so much!


  • Mod

    @swiss could you post the entire log?

    EDIT: How much current can the breadboard psu provide? Which capacitor(s) are you using?


  • Mod

    and yes, you are correct that bootloader is only needed for FOTA.



  • @mfalkvidd
    0;255;3;0;9;MCO:BGN:INIT GW,CP=RNNGA--,VER=2.1.1
    0;255;3;0;9;TSM:INIT
    0;255;3;0;9;TSF:WUR:MS=0
    0;255;3;0;9;TSM:INIT:TSP OK
    0;255;3;0;9;TSM:INIT:GW MODE
    0;255;3;0;9;TSM:READY:ID=0,PAR=0,DIS=0
    0;255;3;0;9;MCO:REG:NOT NEEDED
    IP: 192.168.8.155
    0;255;3;0;9;MCO:BGN:STP
    0;255;3;0;9;MCO:BGN:INIT OK,TSP=1
    0;255;3;0;9;TSF:MSG:READ,255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    0;255;3;0;9;TSF:MSG:BC
    0;255;3;0;9;TSF:MSG:FPAR REQ,ID=255
    0;255;3;0;9;TSF:PNG:SEND,TO=0
    0;255;3;0;9;TSF:CKU:OK
    0;255;3;0;9;TSF:MSG:GWL OK
    0;255;3;0;9;TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
    0;255;3;0;9;TSF:MSG:READ,255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    0;255;3;0;9;TSF:MSG:BC


  • Mod

    @swiss nothing at all happens after TSF:MSG:BC ?



  • its repeating

    0;255;3;0;9;TSF:MSG:FPAR REQ,ID=255
    0;255;3;0;9;TSF:CKU:OK,FCTRL
    0;255;3;0;9;TSF:MSG:GWL OK
    0;255;3;0;9;TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
    0;255;3;0;9;TSF:MSG:READ,255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    0;255;3;0;9;TSF:MSG:BC
    0;255;3;0;9;TSF:MSG:FPAR REQ,ID=255
    0;255;3;0;9;TSF:CKU:OK,FCTRL
    0;255;3;0;9;TSF:MSG:GWL OK
    0;255;3;0;9;TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
    0;255;3;0;9;TSF:MSG:READ,255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    0;255;3;0;9;TSF:MSG:BC
    0;255;3;0;9;TSF:MSG:FPAR REQ,ID=255
    0;255;3;0;9;TSF:CKU:OK,FCTRL
    0;255;3;0;9;TSF:MSG:GWL OK
    0;255;3;0;9;TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
    0;255;3;0;9;TSF:MSG:READ,255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    0;255;3;0;9;TSF:MSG:BC
    0;255;3;0;9;TSF:MSG:FPAR REQ,ID=255
    0;255;3;0;9;TSF:PNG:SEND,TO=0
    0;255;3;0;9;TSF:CKU:OK
    0;255;3;0;9;TSF:MSG:GWL OK
    0;255;3;0;9;TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
    0;255;3;0;9;TSF:MSG:READ,255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    0;255;3;0;9;TSF:MSG:BC
    0;255;3;0;9;TSF:MSG:FPAR REQ,ID=255
    0;255;3;0;9;TSF:CKU:OK,FCTRL
    0;255;3;0;9;TSF:MSG:GWL OK
    0;255;3;0;9;TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
    0;255;3;0;9;TSF:MSG:READ,255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    0;255;3;0;9;TSF:MSG:BC
    0;255;3;0;9;TSF:MSG:FPAR REQ,ID=255
    0;255;3;0;9;TSF:CKU:OK,FCTRL
    0;255;3;0;9;TSF:MSG:GWL OK
    0;255;3;0;9;TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
    0;255;3;0;9;TSF:MSG:READ,255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    0;255;3;0;9;TSF:MSG:BC
    0;255;3;0;9;TSF:MSG:FPAR REQ,ID=255
    0;255;3;0;9;TSF:CKU:OK,FCTRL
    0;255;3;0;9;TSF:MSG:GWL OK
    0;255;3;0;9;TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
    0;255;3;0;9;TSF:MSG:READ,255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    0;255;3;0;9;TSF:MSG:BC
    0;255;3;0;9;TSF:MSG:FPAR REQ,ID=255
    0;255;3;0;9;TSF:PNG:SEND,TO=0
    0;255;3;0;9;TSF:CKU:OK
    0;255;3;0;9;TSF:MSG:GWL OK
    0;255;3;0;9;TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
    0;255;3;0;9;TSF:MSG:READ,255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    0;255;3;0;9;TSF:MSG:BC
    0;255;3;0;9;TSF:MSG:FPAR REQ,ID=255
    0;255;3;0;9;TSF:CKU:OK,FCTRL
    0;255;3;0;9;TSF:MSG:GWL OK
    0;255;3;0;9;TSF:MSG:SEND,0-0-255-255,s=255,c=3,t=8,pt=1,l=1,sg=0,ft=0,st=OK:0
    0;255;3;0;9;TSF:MSG:READ,255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0:
    0;255;3;0;9;TSF:MSG:BC
    0;255;3;0;9;TSF:MSG:FPAR REQ,ID=255
    0;255;3;0;9;TSF:CKU:OK,FCTRL
    0;255;3;0;9;TSF:MSG:GWL OK


Log in to reply
 

Suggested Topics

  • 37
  • 2
  • 9
  • 3
  • 24
  • 2
  • 13
  • 6

22
Online

11.2k
Users

11.1k
Topics

112.5k
Posts