@tekka
Is there any changelog to it also or it was just made officially available again?
although last online status was 22 AUG 2020, so anyone else can confirm anything about it?
I'd just be cautious without confirmation.
Posts made by iguaan
-
RE: MYSBootloader 1.3 pre-release & MYSController 1.0.0beta
-
RE: MYSBootloader 1.3 pre-release & MYSController 1.0.0beta
If anyone is getting "Property 'bootloader.tool.' is undefined" error with arduino 2.x when trying to burn bootloader, then you just have to add another row in bold below to boards.txt file
MYSBL.upload.tool=avrdude
MYSBL.upload.protocol=arduino
MYSBL.upload.maximum_size=30720
MYSBL.upload.maximum_data_size=2048
MYSBL.bootloader.tool=avrdude
MYSBL.bootloader.tool.default=avrdude -
RE: MYSBootloader 1.3 pre-release & MYSController 1.0.0beta
Today I couldn't get it to work again unless I blocked all ports, ran program and then unblock again (to access GW).
Solution was to block myscontroller from accessing only that remote IP on all ports, letting me still connect to gateway without any fiddling in firewall settings on every program start.Hope this solution stays for good
-
RE: MYSBootloader 1.3 pre-release & MYSController 1.0.0beta
@iguaan said in MYSBootloader 1.3 pre-release & MYSController 1.0.0beta:
@nfj25 said in MYSBootloader 1.3 pre-release & MYSController 1.0.0beta:
om acessing the network in the Windows Firewall and... it works! Only block TCP port 80 if you are connecting to a MySensors TCP gateway.
Can't get it working that way, even if i block all the traffic on Myscontroller.
Got it working, I have program on onedrive and seemed that automatically generated path in rules didn't work:
"%USERPROFILE%\OneDrive\MYSController\MYSController.exe"
Had to change it to "C:\Users\user\OneDrive\MYSController" and it works now, great success. -
RE: MYSBootloader 1.3 pre-release & MYSController 1.0.0beta
@nfj25 said in MYSBootloader 1.3 pre-release & MYSController 1.0.0beta:
om acessing the network in the Windows Firewall and... it works! Only block TCP port 80 if you are connecting to a MySensors TCP gateway.
Can't get it working that way, even if i block all the traffic on Myscontroller.
-
RE: MYSBootloader 1.3 pre-release & MYSController 1.0.0beta
There's another somewhat way around:
you just need to open prog and then close when it gets stuck and then clik try to restore or wait button few times:
https://pasteboard.co/GQTHDnaQsawY.png
then you should get this screen at some point and then press ok/ignore and it works
(https://pasteboard.co/9iuz1LC7kgWC.pngneeds several tries.
-
RE: MYSBootloader 1.3 pre-release & MYSController 1.0.0beta
Anyone else experiencing crashing of the application after about 10seconds?
-
RE: Question with regards to NRF24 antenna folding
You might wanna try to wrap the module in plastic tape and then alu foil around it and then ground the foil.
Or set PA level to LOW -
RE: Best way to power nano and relay?
Is your relay coil connected directly to Arduino pin?
It draws too much current, this needs to be powered through transistor or use ready made module:
https://thesolaruniverse.files.wordpress.com/2020/10/079_relay_fig_01_96_dpi.png -
RE: How to get the bad status (red) for Temperature Node
Select temp sensor and click notifications, then:
-
RE: Removed childs not being recognised again
Restarting domoticz might help next time, when you have original code running on that node again.
Also some PIR cause radio interference, if i remember correctly, then hc sr501 should be ok. -
RE: 💬 Building a Raspberry Pi Gateway
In case someone has similar issue:
Running everything latest up to date.Raspberry pi zero w with nrf24 connected directly on GPIO and domoticz. Had to have startup delay on mysgw service since domoticz wouldn't or couldn't start automatically on boot.
So i added to:
sudo nano /etc/systemd/system/mysgw.service[Service]
ExecStartPre=/bin/sleep 10Maybe 10 seconds is overkill, but at least it works now.
With raspberry pi 3b+ there wasn't that issue.Also in domoticz had to use raspi ip address, when setting up mysensors LAN gateway address, instead of localhost 127.0.0.1
And myscontroller OTA updates are working too.
-
RE: PCB verification request for latching valve controller
Nrf is long range model?
PA/LNA module. -
RE: MYSBootloader 1.3.0-beta.3
@cabat said in MYSBootloader 1.3.0-beta.3:
@iguaan Try to set MY_RF24_PA_LEVEL to RF24_PA_MIN on gateway then use NRF24L01+PA+LNA module - in my case the OTA begin work perfect!
Well finally got time to try it out and it worked like a charm, thank you!
Also no problem with a node that is about 1,5m away from GW.
LOW also worked, but OTA was slow. -
RE: MYSBootloader 1.3.0-beta.3
Well found the problem.
I had also changed gw nrf module to NRF24L01+PA+LNA 2.4GHz:
and it seems to be the issue.
Although regular traffic monitoring etc is working ok.
Changed back to usual nrf24l01+ module and updates are working again.
Both variants are ali merchandise. -
RE: MYSBootloader 1.3.0-beta.3
That's the problem, i don't know what exactly happened/caused this. That's why i'm asking for working solutions/versions so i can try to trace back what might be wrong with my setup.
Also now i remembered that i had to renew gateway with esp8266 since previous broke down. I don't know for sure that i had previously ota feature for gateway enabled.
GW sketch:// Enable debug prints to serial monitor #define MY_DEBUG // kui lae peale ei jõua #define MY_SIGNING_WEAK_SECURITY //!< Nodes that present themselves as not requiring signing or whitelisting will be cleared of this requirement at the receiving end. //#define MY_DEBUG_VERBOSE_SIGNING //!< Enable signing related debug prints to serial monitor //#define MY_SIGNING_SOFT //!< Software signing //#define MY_SIGNING_REQUEST_SIGNATURES // Enable this if you want destination node to sign all messages sent to this node. //#define MY_SIGNING_SOFT_RANDOMSEED_PIN A0 //!< Unconnected analog pin for random seed #define MY_RADIO_RF24 #define MY_GATEWAY_ESP8266 #define MY_WIFI_SSID "hidden" #define MY_WIFI_PASSWORD "hidden" // Enable MY_IP_ADDRESS here if you want a static ip address (no DHCP) #define MY_IP_ADDRESS hidden //#define MY_CONTROLLER_URL_ADDRESS "my.controller.org" #define MY_HOSTNAME "hidden" // If using static ip you need to define Gateway and Subnet address as well #define MY_IP_GATEWAY_ADDRESS hidden #define MY_IP_SUBNET_ADDRESS hidden // The port to keep open on node server mode #define MY_PORT hidden // How many clients should be able to connect to this gateway (default 1) #define MY_GATEWAY_MAX_CLIENTS 2 #include <ArduinoOTA.h> #include <MySensors.h> void setup() { Serial.begin(115200); // Setup locally attached sensors ArduinoOTA.onStart([]() { Serial.println("ArduinoOTA start"); }); ArduinoOTA.onEnd([]() { Serial.println("\nArduinoOTA end"); }); ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) { Serial.printf("OTA Progress: %u%%\r", (progress / (total / 100))); }); ArduinoOTA.onError([](ota_error_t error) { Serial.printf("Error[%u]: ", error); if (error == OTA_AUTH_ERROR) { Serial.println("Auth Failed"); } else if (error == OTA_BEGIN_ERROR) { Serial.println("Begin Failed"); } else if (error == OTA_CONNECT_ERROR) { Serial.println("Connect Failed"); } else if (error == OTA_RECEIVE_ERROR) { Serial.println("Receive Failed"); } else if (error == OTA_END_ERROR) { Serial.println("End Failed"); } }); ArduinoOTA.begin(); } void presentation() { sendSketchInfo("GW", "1"); // Present locally attached sensors here } void loop() { // Send locally attached sensors data here ArduinoOTA.handle(); }
I remember when i got it first working year(s) ago i tried also different bootloaders, fiddled with fuse settings and eventually got it working perfectly, but now (since i've updated arduino) maybe my board settings are incorrect.
-
RE: MYSBootloader 1.3.0-beta.3
Hi, have been using myscontroller more than a year now and at some point i couldn't use OTA on devices, all the sensor data is coming in nicely. I don't know if it was due to updated arduino or i messed up something in my doards.txt or something else...
So question is if someone can give me versions/links to working solution?
https://github.com/mysensors/MySensorsBootloaderRF24/tree/development doesn't work.I'm using ProMini 16Mhz with external oscillator. Arduino is 1.8.13, MySensors 2.2.2,
Myscontroller 1.0.0beta:b3316. -
Domoticz weather sensor presentation
I have created a weather sensor which has hum, temp, baro, predicition and lux.
Aslo i have attached there another ds temp sensor (for node internal temp).
Problem is that when i update fw over ota or reboot node, it'll occasionally detect sensors all mixed up:
temp/hum, temp, baro/temp/hum etc... Also when it does that, not all the data will be updated on combined sensros.
Is there a way to present the sensors to domticz so, that it recognises 1 combined weather sensor and then others.
I have tried with all different Sensor ID's 1-4, lux id5 and internal temp id6.
Also tried with giving same sensor ID number to hum, temp, baro and predicition.
Domoticz detects it as a combined sensor, but it doesn't update all values after initial value has been sent.
If i monitor the data on myscontroller, all the variables are updating on the node. -
RE: Problem with dimmable LED actuator with encoder
Hi,
i have similar problem with domoticz and mysensors.
Firstly, i can't get current dim level from domoticz on startup.
Secondly if i start arduino and controll it over domoticz only, dimming and on/off works. If i turn the rotary knob, domoticz commands won't work.
In serial monitor i see that new dim value has been received:Serial.print("Fading level: "); Serial.println(dimValue);
but output doesn't change. If i turn knob on rotary, value in domoticz changes.
I removed eeprom writes and rotary button. Only dims to off/on or domoticz commands off/on.
Domoticz 4.10171, Mysensors 2.3.1, ide 1.8.10// Enable debug prints to serial monitor #define MY_DEBUG #define MY_RADIO_RF24 #define MY_NODE_ID 10 #define MY_REPEATER_FEATURE #define MY_TRANSPORT_WAIT_READY_MS 10 //ajaviide ms, kuni läheb tööle ilma serverita #include <MySensors.h> #include <Encoder.h> #define KNOB_ENC_PIN_1 5 // Rotary encoder input pin 1 #define KNOB_ENC_PIN_2 4 // Rotary encoder input pin 2 #define SEND_THROTTLE_DELAY 500 // Number of milliseconds before sending after user stops turning knob #define CHILD_ID_Light 1 #define SN "DimmableLED" #define SV "1.1" #define LED_PIN 3 // Arduino pin attached to MOSFET Gate pin #define FADE_DELAY 10 // Delay in ms for each percentage fade up/down (10ms = 1s full-range dim) int dimValue; int fadeTo; int fadeDelta; bool changedByKnob = false; bool sendDimValue = false; unsigned long lastFadeStep; unsigned long sendDimTimeout; //char convBuffer[10]; static int16_t currentLevel ; // Current dim level... MyMessage dimmerMsg(CHILD_ID_Light, V_DIMMER); MyMessage lightMsg(CHILD_ID_Light, V_LIGHT); Encoder knob(KNOB_ENC_PIN_1, KNOB_ENC_PIN_2); /*** Dimmable LED initialization method */ void setup() { // Pull the gateway's current dim level - restore light level upon node power-up request( CHILD_ID_Light, V_DIMMER); // wait(3000); } void presentation() { // Register the LED Dimmable Light with the gateway present(CHILD_ID_Light, S_DIMMER ); sendSketchInfo(SN, SV); } /*** Dimmable LED main processing loop */ void loop() { // Check if someone turned the rotary encode checkRotaryEncoder(); // Fade light to new dim value fadeStep(); } void receive(const MyMessage &message) { if (message.type == V_STATUS || message.type == V_PERCENTAGE) { // Retrieve the power or dim level from the incoming request message fadeTo = atoi( message.data ); // Adjust incoming level if this is a V_LIGHT variable update [0 == off, 1 == on] fadeTo *= ( message.type == V_LIGHT ? 100 : 1 ); // Clip incoming level to valid range of 0 to 100 fadeTo = fadeTo > 100 ? 100 : fadeTo; fadeTo = fadeTo < 0 ? 0 : fadeTo; //startFade(); Serial.print("New light level received: "); Serial.println(fadeTo); if (!changedByKnob) knob.write(fadeTo << 1); //### need to multiply by two (using Shift left) // Cancel send if user turns knob while message comes in changedByKnob = false; sendDimValue = false; // Stard fading to new light level startFade(); // // Inform the gateway of the current DimmableLED's SwitchPower1 and LoadLevelStatus value... // send(lightMsg.set(dimValue > 0)); // // // hek comment: Is this really nessesary? // send( dimmerMsg.set(dimValue) ); } } void checkRotaryEncoder() { long encoderValue = knob.read() >> 1 ; //### Divide by 2 (using shift right) if (encoderValue > 100) { encoderValue = 100; knob.write(200); //### max value now 200 due to divide by 2 } else if (encoderValue < 0) { encoderValue = 0; knob.write(0); } if (encoderValue != fadeTo) { fadeTo = encoderValue; changedByKnob = true; startFade(); } } void startFade() { fadeDelta = ( fadeTo - dimValue ) < 0 ? -1 : 1; lastFadeStep = millis(); } // This method provides a graceful none-blocking fade up/down effect void fadeStep() { unsigned long currentTime = millis(); if ( dimValue != fadeTo && currentTime > lastFadeStep + FADE_DELAY) { dimValue += fadeDelta; analogWrite( LED_PIN, (int)(dimValue / 100. * 255 ) ); lastFadeStep = currentTime; Serial.print("Fading level: "); Serial.println(dimValue); if (fadeTo == dimValue && changedByKnob) { sendDimValue = true; sendDimTimeout = currentTime; } } // Wait a few millisecs before sending in new value (if user still turns the knob) if (sendDimValue && currentTime > sendDimTimeout + SEND_THROTTLE_DELAY) { // We're done fading.. send in new dim-value to controller. // Send in new dim value with ack (will be picked up in incomingMessage) send(dimmerMsg.set(dimValue)); // Send new dimmer value and request ack back sendDimValue = false; } }```
-
RE: Presenting and controlling variables in domoticz
@pjr said in Presenting and controlling variables in domoticz:
Cannot get the point what you exactly mean but I think you should check for what child the message is for:
if(message.sensor == CHILD_ID_aeg2** && message.type == ...) { ..do suff.. }Thank you, message.sensor was the thing i needed. Browsed cpp and h files in mysensors library and googled, but couldn't find variables to use with message.*.
-
RE: Presenting and controlling variables in domoticz
I cannot use multiple V_PERCENTAGE values. Because if a change a value in domo, both are changing (dime delay(aeg2)) and RGB dimmer..
-
Presenting and controlling variables in domoticz
Hello,
having trouble controling multiple actuators in domoticz.
I have made arduino sketch with preloaded setpoints for outside light controlling, in case domoticz is offline or unreachable after power outage etc.
I have switch on/off setpoints and time delay for switch offWhen i activate present(RGB_RGBChild, S_RGB_LIGHT, "Ees RGB valik") then also time-delay is automatically adjusted by it.
MyMessage msgTe1(CHILD_ID_Te1, V_TEMP); MyMessage msgSp21(CHILD_ID_Sp21, V_HVAC_SETPOINT_HEAT); //seadearvu muutmine kaugelt MyMessage msgSp22(CHILD_ID_Sp22, V_HVAC_SETPOINT_COOL); MyMessage msgvalgus(CHILD_ID_valgus, V_LEVEL); MyMessage msgaeg2(CHILD_ID_aeg2, V_PERCENTAGE); void presentation() { sendSketchInfo("Valgus", "1.0"); // seadme nimi, versioon domoticzile present(CHILD_ID_Te1, S_TEMP, "Pooningul"); //anname anduri id, liigi, nime domoticzile present(CHILD_ID_valgus, S_LIGHT_LEVEL, "Valgustugevus"); //current level lux present(CHILD_ID_Sp21, S_LIGHT_LEVEL, "Valgus sisse"); // light on present(CHILD_ID_Sp22, S_LIGHT_LEVEL, "Valgus valja"); // light off present(CHILD_ID_aeg2, S_DIMMER, "Valguse viide valja"); // time delay off
When i added ws2812 RGB switch everything got mixed up, especially time delay feature, but also switching in domoticz activated CHILD_ID_Sp21 and CHILD_ID_Sp22(no values were changed)
MyMessage msgTe1(CHILD_ID_Te1, V_TEMP); MyMessage msgSp21(CHILD_ID_Sp21, V_HVAC_SETPOINT_HEAT); //seadearvu muutmine kaugelt MyMessage msgSp22(CHILD_ID_Sp22, V_HVAC_SETPOINT_COOL); MyMessage msgvalgus(CHILD_ID_valgus, V_LEVEL); MyMessage msgaeg2(CHILD_ID_aeg2, V_PERCENTAGE); MyMessage lightRGBMsg(RGB_LightChild, V_RGB); // standard messages, light MyMessage lightdimmerMsG(RGB_LightChild ,V_DIMMER); MyMessage lightOnOffMessage(RGB_LightChild, V_STATUS); void presentation() { sendSketchInfo("Valgus", "1.0"); // seadme nimi, versioon domoticzile present(CHILD_ID_Te1, S_TEMP, "Pooningul"); //anname anduri id, liigi, nime domoticzile present(CHILD_ID_valgus, S_LIGHT_LEVEL, "Valgustugevus"); //current level lux present(CHILD_ID_Sp21, S_LIGHT_LEVEL, "Valgus sisse"); // light on present(CHILD_ID_Sp22, S_LIGHT_LEVEL, "Valgus valja"); // light off present(CHILD_ID_aeg2, S_DIMMER, "Valguse viide valja"); // time delay off present(RGB_RGBChild, S_RGB_LIGHT, "Ees RGB valik");// present to controller present(RGB_LightChild, S_LIGHT, "Ees on/off/dim "); present(RGB_SolidColorChild, S_LIGHT, "Ees on/off värv" ); present(RGB_TextColorChild, S_INFO, "Ees värvi tekst" ); present(RGB_AlarmPatternChild, S_BINARY, "Ees vilkuv pu/va" ); present(RGB_NextPatternChild, S_DIMMER, "Ees RGB muster" );
Each child is presented in domoticz correctly with correct name.
Is there even a way to use multiple same type actuators in a sketch?To update preloaded setpoints from arduino to domoticz, i have this added (which might be the problem?)
void receive(const MyMessage &message) { if (message.type == V_HVAC_SETPOINT_HEAT) { Sp21 = message.getFloat(); } if (message.type == V_HVAC_SETPOINT_COOL) { Sp22 = message.getFloat(); } if (message.type == V_PERCENTAGE) { aeg2 = message.getFloat(); } sendNewStateToGateway();
and
void sendNewStateToGateway() { send(msgSp21.set(Sp21)); send(msgSp22.set(Sp22)); send(msgaeg2.set(aeg2)); }
Have googled and searched mysensors/domoticz forums but no results. I'm more like hobby programmer if that's the word and self somewhat learned by google for a few years now.