@nicomedia I stumbled on this doing a google search. Just wondering if you are still trying to get your Sonoff's working with your Vera controller? If so, I have written a blog post on the subject. It uses a different firmware called ESP Easy and an HTTP Switch plugin on the Vera rather than MySensors. but it works rather well for me. Here is the link to the blog post:
https://dan.bemowski.info/2017/07/04/using-a-sonoff-with-espeasy-and-vera/
I use this in conjunction with some MySensors wall switches that I built.
https://dan.bemowski.info/2017/06/11/my-start-into-open-source-hardware/
@KevinT
yes in general subghz radios have better range than 2.4ghz.
I might have farther nodes but for example, I have one rfm69cw at 55m from the GW and it's ok, with many obstacles on the path (7x rock walls, a part of the roof is metallic, metallic doors etc).
This depends on many factors of course
Hi,
nice projet. I am very interested in it.
But why you are using 5 V and not 3.3 V? The ATmea328 works with 3.3 V too and the NRF have to use 3.3 V.
The only restriction on 3.3 V is the clock limitation for the Atmega (8 MHz). But with no crystal it don't care.
For example you could use an HLK-PM03 instead of HLK-PM01 and remove the linear voltage regulator. So you get more space an everything have the same voltage level.
And another point is, it is recommended to use a capacitor (0.1 ยตF) to ground for each voltage pin (Vcc, Avcc, Aref).
@krisztian
Hi krisztian,
the singleLED board - as its name suggests - features only one LED output. If you want to have a setup with multiple LED strips you need to design a board with multiple outputs. I have already designed a board with 4 outputs, but I haven't built it.
In terms of software you need to register multiple sensors in your program like this:
#define numCh 4 //the number of outputs
const byte ledPins[] = {9,6,5,3};
byte ledLevel[numCh];
boolean ledDimWay[numCh];
//in the setup function request the dim levels from the gateway
for(byte i=0; i<numCh; i++) request(i, V_DIMMER);
//in the presentation function register multiple lights
for(byte i=0; i<numCh; i++) present(i, S_DIMMER);
//if you receive a signal, you need to check for the sensor id
setLED(message.sensor, requestedLevel);
//to set the LED level (function: setLED) you need to use the sensor id to determine brightness and pin
//Fade LED to set level
int delta = (level - ledLevel[child]) < 0 ? -1 : 1;
//Write to LED
analogWrite(ledPins[child], map(ledLevel[child],0,100,0,255));
I will probably publish the whole code once I have built and tested the 4LED controller (i call it "MySensors rainbowLED")
Hope I could help you
ThetaDev