Chat freely about anything...

User avatar
By Narfel
#71517 Hi phil,
many thanks for all that hard work, that project is awesome. I have little input on the subject matter itself because, well, you lay pretty much out what you are going for and what it does. Thus my input are more general (and highly subjective) thoughts, if that's what you're looking for:

1- From the outside in, the scope is a bit unclear. Your prime target are Sonoff users that want to tinker and do more with those boxes. Wouldn't that make them fall out of the "Just buy a Sonoff" demographic in the first place?
2- The blogposts and explanations are comprehensive, yet you assume a lot of background. Is that a decision you made intentionally to limit the audience up to a certain level? To what extend do you want users have a black box design where they just punch in some numbers vs. (ideally) having them use Esparto as a jump start.
3- In terms of feature set i would welcome a build-in timing component (something like a sleep timer). Maybe even some basic scheduling from the base interface (Monday to Friday morning switch this and that etc.).
4- Will it run Doom? :mrgreen:
User avatar
By McChubby007
#71521 Wow, that's very comprehensive, and includes a huge amount of features, obviously bringing into play some of your other libraries, which in themselves are fully featured but easy to use.
I don't know how appealing it would be to use for novices, but I will certainly look to using it when I upgrade one of my IoT projects. I wouldn't be able to comment on specifics until I try it out.

When I say 'appealing to novices', I mean appealing to those who like to copy/paste a bit of code and everything works without them having to think or learn I.e. A lazy novice. I'm not sure they would be undertaking an IoT project on any scale that your library is intended to support in any case, so my point is probably moot.

I think the biggest advantage of your scheme is that it is not coupled to a 3rd party server, something I refuse to use. I quickly looked through your examples and they made absolute sense to me, and were as simple as they could be, given the subject matter. So good job.
User avatar
By McChubby007
#71558
philbowles wrote:Gents:

I am seriously grateful for you taking the time to look at "my baby" and provide some very useful comments / questions.

1) not Alexa compatible. I may well look into that for V3.0
2) I'm also thinking about a http:// REST interface
3) "Pitching it" Is a problem, because yes, you need to be fairly handy with MQTT etc before using it, so is it any good for newbies? (thinking aloud here)

Maybe I should ignore Sonoffs and provide a precompiled binary for those - I mean after all - there isn't much else you can / want to do with one.

Then perhaps the "simplest" example should be a "blinky" which flashes in the background. mqtt/flash/on mqtt/flash/off and an "Advanced" example mqtt/flash/rate [payload] to vary the speed...

All I know is this: Unless you use asynchronous callbacks and a proper structure, the ESP will bite yr ass. There are so many newbies here who have the same problems over and over again. Also many experienced programmers (e.g. ME!) coming from AVR etc who suddenly have to cope with forregorund/ background threads etc which again will bite you till you understand them.

The whole thing came out of my attempts to "tame the beast" by having a "one-liner" that "just works", freeing me to do "the tricky bits" for each different project.

TBH, I think it's probably more of a "quick and dirty" tool for experienced programmers than it is for newbires, but the thing is, if you use is as a simple blinky etc, its great that newbies can get involved with pretty much zero problems (as lon as my code holds!)

I've even given some thought to creating "Esparto Lite", i.e. without the MQTT part for REAL newbies. It would just do the connect / autoconnect and pin management on top of the async timer/scheduler functions - I say "just", I reckon that alone would prevent 80% of the "common problems".

Hmmmmmmmmmmmmmm

Just worried about tinkering for so long I never actually release anything :)

You continued thoughts are welcomed.

I find your thoughts comforting; as I have similar thoughts about how to pitch/advertise and encourage less advanced users to get to grips with something that will enhance their experience... I may as well tell you here, as 'til now it has been totally private : I have a library I have been working on for a year on-and-off which will allow high resolution tracing/logging/profiling either on-board or have the analysis performed off-board by sending the compressed analysis data over a udp/usb connection. It is highly efficient and usable by ISRs too, works on Unos and esp82266s (and linux!). An esp8266 can log an isr event in 1uSec using my library. All the tracing is timestamped and the analysis provides accurate profiling (similar to gprof). I thought I would 'advertise' it here, in case you have any thoughts.

Back to Phil's baby : I wonder how/if there's a 'standard' way to advertise and encourage users to adopt something... Obviously this forum, but how else, for a wider audience? How does one get digital media and journalists interested in these kinds of things? I wonder what you all think on this. I agree Phil, that there is a danger to tinkering for too long before release, but I imagine you might be concerned it will be a damp squib if it is not 'perfect' which might discourage potential users, and that would be a shame. Perhaps if a few of us more advanced folks were 'selected' to give it a trial and then give feedback (including review of docs) that might help. I'm interested in forming a better partnership like this since I have similar issues to deal with in the next few months.