|
|
Subscribe / Log in / New account

The OpenSprinkler controller

By Jonathan Corbet
August 25, 2023
The more one pays attention to the Internet of Things (IoT), the more one learns to appreciate simple, unconnected devices. Your editor long ago acquired an aversion to products that advertise themselves as "smart" or "WiFi-enabled". There can be advantages, though, to devices that contain microprocessors, are Internet connected, and are remotely accessible, if they are implemented well. The OpenSprinkler sprinkler timer would appear to be a case in point.

This article is being written in a part of the world with limited rainfall — a near-desert environment. That notwithstanding, the local humans have reached the conclusion that it would be a good idea to surround their homes with lush, green vegetation that evolved to thrive in a rather more humid environment, and which requires fairly intensive life support — and water pumped from the other side of the continental divide — to survive here. Western civilization, it seems, depends on us continuing to do this; otherwise we would surely not continue to put so many resources into it.

Providing life support to vegetation by dragging a hose around quickly loses any charm it may have once had, so the installation of automated sprinkler systems is common in these parts. The control system takes the form of a timer that, traditionally, has been programmed through a painful combination of dial turns and button pushes; anybody who has tried to figure out how to configure a bicycle computer (speedometer) will understand. More recently, of course, we have seen the advent of smart controllers that are said to make this process easier and to enable control of the system while vacationing in a distant location. The allure of being able to soak a Colorado front yard while lounging on a South-Pacific beach is, seemingly, irresistible.

These "smart" controllers have all of the afflictions of other IoT products. Their security is questionable at best, as is the security of the cloud-based systems they connect to — and store their data on. The cloud service itself exists at the whim of the vendor and can vanish at any time, turning a smart controller into a remarkably dumb brick. Any data collected by these devices is centrally stored and routinely exploited by unknown third parties. Occasionally, the device will cease functioning until an "upgrade" is applied (assuming the owner is asked about the upgrade at all) that adds new behaviors that the owner never asked for or wanted. An Internet failure can lead to a sprinkler failure, turning one's bit of American paradise into a forlorn dustscape.

All of this can make the old way of knobs and buttons look appealing.

[OpenSprinkler controller] OpenSprinkler appears to be an attempt to do things better. The device itself is based on an ESP8266 controller, and the hardware design is freely available (though with an unspecified license). The firmware that runs the device is available under GPLv3, and the mobile app carries the AGPLv3 license. There is a version of the software that can run on a Raspberry Pi for those who want to put together their own controller.

The hardware, as shipped, can manage up to eight zones; expansion modules (one is shown in the photo) can bring that number up to 72 — far more than your typical hardware-store sprinkler timer. The device has inputs for two sensors, either for rainfall or ground moisture. It has a built-in WiFi interface, and a version with a wired Ethernet port is also available.

The device lacks a display that is usable for more than the most basic of tasks, though; in an era when we all carry interaction devices in our pockets, that is seemingly unnecessary. Initially, the controller comes up in access-point mode; the owner can put their device onto that network and configure the controller. It is, indeed, possible to keep it in the access-point mode forever, at which point it can function with no supporting systems other than the device used to communicate with it.

More likely, though, one will want to put it onto the local WiFi network, which is easily accomplished; after that, the access point is shut down. The controller can display the IP address it was assigned on its tiny display; any web browser that can reach that address can be used to configure it. The Android app (which is not available via F-Droid despite being free software; it can be had via the Play Store) can scan the local net and find the controller automatically; after that it presents a screen that is essentially identical to the web interface.

[OpenSprinkler dashboard] The first configuration step, naturally, is to set a password on the device; a good password, after all, is the only thing preventing your jealous neighbors from learning your top-secret watering strategy or programming the device to turn the flower garden into a swamp. The dashboard screen shows the state of all zones (or as many as will fit on the screen) and allows individual zones to be run with a couple of clicks.

The programming interface is flexible, allowing the creation of multiple, named programs, each of which has its own zone list and watering schedule. Both day-of-week and every-Nth-day programs are supported — an important feature in locations where watering restrictions (imposed on those rare occasions where, say, the ability to put out fires is deemed to be even more important than green grass) require one or the other. There is an overall scaling feature for seasonal adjustments, and watering can be deferred based on input from either sensor (if any are connected).

The device will, by default, use NTP to keep its clock adjusted, sparing one from the shame of sprinklers that start five minutes too late. It is also able to connect to Weather Underground, download weather data, and adjust watering according to a number of different algorithms. There are options for connecting to remote logging servers to enable, for example, a sprinkler-status window in one's home automation dashboard. Assuming one has such a thing, of course.

It is, in other words, a capable and fully featured sprinkler timer. But that is not really the point here; this is not the Lawn Watering News. The real point is that OpenSprinkler is a device that one can buy or build independently, with open-source firmware that can be modified and updated at will, with an entirely optional, open-source app, that can be operated entirely without the use of any sort of cloud service whatsoever. That seems like a good demonstration of how the Internet of Things could work, at least for certain classes of devices.

One does not often need to control sprinkler systems from far away, in your editor's experience; it is more of an on-the-scene job. Should the need arise, though, there are a couple of options. One is to expose the built-in web server to the Internet, perhaps by poking a hole through the router firewall. Given the (presumably) low level of security auditing this device has received and the complete lack of any sort of security update mechanism, that may not be the wisest of ideas.

As an alternative, the OpenThings Cloud (OTC) service can be used as an intermediary. This service runs a simple proxy server, licensed under GPLv3. Unless one exposes the painfully long token assigned by this service, that will effectively block all unwanted access to the device (which will still require a password from anybody who gets through, of course). One can simply trust the OTC server to actually be running the posted software and not secretly monitoring whether your are watering your roses sufficiently; alternatively, setting up an independent server on a low-end cloud instance would be a straightforward task.

The end result is a device that uses open hardware and software to do a useful job in a way that respects its owner. OpenSprinkler is capable enough at its core task to stand out, even for users who do not care about the other aspects. But for those of us who prefer our computers (and our homes) to be under our control and serving our interests — rather than those of one or more random corporations — OpenSprinkler is truly a breath of fresh air. We do not actually need to embed computers in everything around us but, when that is a useful thing to do, this is an example of how it should be done.


to post comments

The OpenSprinkler controller

Posted Aug 25, 2023 20:19 UTC (Fri) by michaelkjohnson (subscriber, #41438) [Link]

I switched to an OpenSprinkler controller a few years ago and I've been delighted with it. I stuck it inside the exterior box that had previously held the knob-based proprietary sprinkler controller, and it's great.

The OpenSprinkler controller

Posted Aug 25, 2023 20:27 UTC (Fri) by calumapplepie (guest, #143655) [Link] (6 responses)

The main downside of the device appears to be that it isn't plug-and-play: you can't just press a button in the app and get the remote access working, and the competition does things like let you specify what plants and soil are watered by a zone and it handles building the watering program for you.

Some of those improvements aren't trivial to make, but ease-of-use is a big priority for a lot of the market; so things such as making the OTC setup easier would pay off.

The OpenSprinkler controller

Posted Aug 26, 2023 1:30 UTC (Sat) by dfc (subscriber, #87081) [Link] (3 responses)

The article mentions that it supports 8 zones by default and can support up to 72. Is there something special about your concept of zones that OpenSprinkler does not do?

The OpenSprinkler controller

Posted Aug 26, 2023 22:01 UTC (Sat) by anselm (subscriber, #2796) [Link] (2 responses)

Is there something special about your concept of zones that OpenSprinkler does not do?

Presumably it's not the availability of zones as such – it's that you can tell the competition that zone 1 is the cactus zone and zone 2 is the mangrove zone and it will use that information to automatically figure out how to water each of them appropriately. With OpenSprinkler you tell the device that there are two zones, and then use a gardening book or web site to set up your own explicit plans for either of them.

Automatically figuring watering times

Posted Aug 27, 2023 18:08 UTC (Sun) by corbet (editor, #1) [Link] (1 responses)

I have a hard time seeing that working well. You need to know more than that a zone is the sinsemilla farm...you need to know about the prevailing weather conditions, soil type, sprinkler distribution, water pressure, and more. Probably, using such a system is a recipe for overwatering. It sure seems easier and better to say "water it for ten minutes" then adjust as you learn how well it works.

Automatically figuring watering times

Posted Aug 28, 2023 14:55 UTC (Mon) by Wol (subscriber, #4433) [Link]

But surely an overarching "this is the local area" setting (as in typical rain-fall, soil-type etc etc), and then sensemilla farm / zone on top, would give you a pretty good initial approximation?

Especially if you have four or five zones, just setting up "local conditions, this zone is this type of plant" is a lot quicker, easier, and no less accurate than trying to set up those four or five zones individually?

Cheers,
Wol

The OpenSprinkler controller

Posted Aug 27, 2023 10:06 UTC (Sun) by Sesse (subscriber, #53779) [Link] (1 responses)

Also, I suppose it's just a controller and they don't sell the actual watery stuff? I'm a bit confused, because it seems to be implied by everyone (including the article) that this part is trivial and/or already solved for you :-)

I have a non-smart system for my plants that is essentially a pump and a timer (I don't have tap water on my balcony, so it pumps from a 20L bottle), but it's not clear to me at all how I could replicate a similar system using this. But from the pictures, it looks like it's more geared towards industrial-scale farming.

The OpenSprinkler controller

Posted Aug 29, 2023 4:35 UTC (Tue) by ianmcc (subscriber, #88379) [Link]

I think it mostly is a solved problem. At least where I live, the gardening section at pretty much any hardware store has small gauge irrigation pipe and electronic valves that you can use to set up such a watering system that you could run off a tap.

The OpenSprinkler controller

Posted Aug 25, 2023 20:37 UTC (Fri) by josh (subscriber, #17465) [Link] (11 responses)

This is impressive!

I find myself wishing for something similar in the area of HVAC, which is an incredibly proprietary space and becoming more so as time goes on.

Thermostats used to use, and simple thermostats still use, a low-voltage direct control protocol with different wires controlling different components. That protocol is well understood (despite the exact set of wires varying between installations), and you can purchase a wide range of thermostats speaking that protocol.

However, many current HVAC systems instead use "communicating thermostats", which use a serial communications protocol, almost universally a proprietary one specific to one vendor's HVAC system, requiring that vendor's thermostat. The underlying technology is decent, insofar as having active two-way communication and smarts deciding when to run which component (and at what level, for multi-stage/multi-speed systems), but the net effect is the system becoming more proprietary. And you then have to live with that one brand of thermostat, and be locked in for the life of your HVAC system (generally a decade or more, which is not necessarily a reasonable timeline for the turnover of "smart" devices), and deal with whatever updates or lack thereof the vendor provides, and whatever features or lack thereof they provide.

The OpenSprinkler controller

Posted Aug 26, 2023 0:30 UTC (Sat) by Cyberax (✭ supporter ✭, #52523) [Link] (8 responses)

I'm designing my new house, and I've looked into the variable speed HVACs. It's depressing. Literally everything there is complete crap, with proprietary standards that sometimes require Internet connectivity to even get set up. For now, my plan is to install hydronic units with a large cold water tank to buffer the demand.

The main advantage of variable-speed units is that they can work constantly at low speed, maintaining the exact set temperature. The classic HVAC units instead turn on, overcool the house past the temperature setpoint, and then turn off. This is less efficient and also less comfortable for people.

Hydronic systems work around this by having a tank of water, that provides plenty of buffering capacity and the indoor units support variable speed. It's also easier to do zoning, you can have as many units as you need, without the need to use clunky air dampeners.

The OpenSprinkler controller

Posted Aug 27, 2023 18:01 UTC (Sun) by pwfxq (subscriber, #84695) [Link]

You might be interested in the work RevK's done with Daikin Air-Con units.

https://www.revk.uk/search/label/DAIKIN

https://www.aa.net.uk/etc/circuit-boards/pcb-faikin/

The OpenSprinkler controller

Posted Aug 31, 2023 13:27 UTC (Thu) by kpfleming (subscriber, #23250) [Link] (6 responses)

ESPHome has 'climate' components which can communicate with a number of modern HVAC systems, including Mitsubishi systems with CN105 connectors (which many have).

The OpenSprinkler controller

Posted Aug 31, 2023 16:40 UTC (Thu) by Cyberax (✭ supporter ✭, #52523) [Link] (5 responses)

I got excited, went to check it, and then got un-excited. It doesn't appear to support the variable speed units.

There are many projects that work using IR blasters, but it's not really something I'd want for an installation that should last 10-15 years.

ESPHome + Mitsubishi HVAV

Posted Sep 2, 2023 12:03 UTC (Sat) by kpfleming (subscriber, #23250) [Link] (2 responses)

The in-tree CN105-based integration is in the works: https://github.com/esphome/esphome/pull/5265

There's also an out-of-tree integration available: https://github.com/geoffdavis/esphome-mitsubishiheatpump

ESPHome + Mitsubishi HVAV

Posted Sep 2, 2023 17:13 UTC (Sat) by Cyberax (✭ supporter ✭, #52523) [Link] (1 responses)

It doesn't support multi-speed central units. These types of ACs don't have individual split units that are located in individual rooms, instead there's a large unit typically outside, and it delivers cold/hot air through air ducts.

These units used to have only one (or maybe two) speeds, so they could just be controlled by a simple dry contacts interface. Thermostats simply need to short a couple of contacts to call for heat/cold.

But new units can have more than 1024 speed settings, and they use proprietary protocols to communicate with thermostats. Thermostats are also pretty advanced, and they "learn" the behavior of the room they're in, so they request just enough cooling/heating to keep the room at a constant temperature. It works pretty well, but everything is proprietary.

ESPHome + Mitsubishi HVAC

Posted Sep 2, 2023 18:55 UTC (Sat) by kpfleming (subscriber, #23250) [Link]

If you're referring to the products from Mitsubishi Electric (which are the targets of the links I posted previously), they don't make systems like the ones you are referring to, where the air leaves the building and returns to it.

What they do offer, in addition to the mini-split style systems, are indoor air handlers which are connected to outdoor units which are similar to the ones used for mini-splits. Our home has two of these systems: an air handler in the attic and one in the basement, and two outdoor units handling the energy transfer with the outdoor air.

These systems do indeed use proprietary wireless thermostats, but the receiver unit for those thermostats plugs into the same CN105 connector in the air handler as it would plug into a mini-split indoor unit. The bulk of the protocol spoken over the CN105 connector has been reverse-engineered, and these ESPHome (and other) implementations can be used in place of a Mitsubishi thermostat with no loss of functionality.

As it turns out, the manufacturer's thermostats are not that intelligent (at least in the case of the MHK2), they defer all of the decision-making about fan speeds and inverter speeds to the air handler/outdoor unit combination. Many people, including me, have used ESP32s running ESPHome instead. I'm going to be experimenting with connecting both ESPHome and the MHK2 simultaneously, with the MHK2 having control but with the ability to monitor with Home Assistant (and obtain power delivery information which is not made available otherwise). Even the Mitsubishi 'cloud connection' unit also plugs into CN105.

The OpenSprinkler controller

Posted Nov 11, 2023 4:19 UTC (Sat) by Rudd-O (guest, #61155) [Link] (1 responses)

I wrote an ESPHome integration for my own variable speed AC unit via IR (ESP_01m) then puppet the AC using a PID controller. Total compatibility with Home Assistant and .3 degree accuracy — remarkable for a project which cost me $10 in parts including the wall wart to power the ESP.

The OpenSprinkler controller

Posted Nov 11, 2023 5:03 UTC (Sat) by Cyberax (✭ supporter ✭, #52523) [Link]

Is your unit using a variable frequency driver with analog inputs?

The OpenSprinkler controller

Posted Aug 28, 2023 9:44 UTC (Mon) by ppisa (subscriber, #67307) [Link]

We have designed open wired (RS-485) based system for laboratory instruments control which has been used later in agriculture (pigs feeding, cow miking) and for complete home automation. It is complete multi-master (what is the today correct equivalent for the term), in the case of home automation or other uses allows to setup process data exchange between nodes without need of central point after setup, so if you PC or some Raspberry Pi hardware gets coughing you can switch the lights, your temperature, recuperation and all other is controlled. The protocol base has been ha been laid in 1991/1992 and some instruments served for multiple decades. The protocol supports full devices properties introspection from the start. Even actual delivered instruments can be connected to the network with the first produced piece and actual version of the control software can be used with the first one... Drivers are available from original PC DOS and i8051 up to current Linux kernel (1.3.x - 6.5.x), Windows from NT to 11 and NuttX. Design many devices is open-source and open hardware. The mechanism for media arbitration precedes CAN FD by 15 years. Switch from dominant-recessive to push-pull in data-phase precedes CAN XL by at least 25 years...

The project website: https://ulan.sourceforge.net/

See documentation for presentation in home automation etc...

Our instruments: http://pikron.com/pages/products/hplc.html

In the past, two our students implemented system to control temperature, irrigation and sensing for plant growing based on this design...

Because we could not afford own chip design at the start and it would be expensive for many use cases today, we have reused i8051 serial port with multi-drop (9-bit) addressing. It is obstacle for implementation to on MCUs without 9-bit or stick parity support. But we have managed rivers for PC serial ports from ISA to PCIe cards, USB converters etc...

It is shame that community has minimal interest to cooperate when we have packaged, documented and offered all 20 years ago. Some have referenced the project, took some ideas and implemented something self/made with much more limitations which has not survived more years... Yes, the complete system is little more complex than some Arduino hack, but proven to be usable for 30 years already and implemented even in full multi-master form on some devices with 256 bytes of RAM only. That was really extremely optimized assembly version. Actual C-based code version used for all operating systems and even system less devices requires something like 2, better 4 kB of RAM...

If there is real interest in such project then contact me directly or reply there. We plan to add SAMV7 (Cortex-M7 based MCU) support in the next development round. imxRT would be easy as well and we have hardware too https://gitlab.com/pikron/projects/imxrt-devel/-/wikis/te... but actually SAM is choice of more https://www.elektroline.cz/ for which I do consultations, so SAM with NuttX is our actual chip of choice for small distributed CAN and RS-485 devices. For sure GNU/Linux on iMX and Sitara or even PC for upper level devices...

The OpenSprinkler controller

Posted Aug 31, 2023 16:36 UTC (Thu) by bracher (subscriber, #4039) [Link]

I have two Venstar 8750 thermostats that integrate nicely with HomeAssistant over local wifi.

https://www.home-assistant.io/integrations/venstar/

Their glossy website emphasizes the "Control your thermostat from across the couch, or across the world" angle,

https://venstar.com/thermostats/colortouch/

but the cloud aspect isn't required. Mine are blocked by the vlan from accessing the internet.

The OpenSprinkler controller

Posted Aug 27, 2023 7:09 UTC (Sun) by steffen (subscriber, #23586) [Link] (3 responses)

If you already have a home automation system (Home Assistant, ioBroker, ...) for other stuff (heat pump, solar, blinds, ...) that already supports automations and has a nice browser + smartphone interface then I think it could make sense to use that as a starting point and just attach some valve interface. No need to configure/manage/update yet another component in your home network.

The OpenSprinkler controller

Posted Aug 27, 2023 14:36 UTC (Sun) by Paf (subscriber, #91811) [Link] (1 responses)

“Some valve interface” seems like it’s assuming a lot of what this sort of device provides? What does the valve interface look like and what is the endpoint computing device?

The OpenSprinkler controller

Posted Aug 28, 2023 12:40 UTC (Mon) by nicolas@jungers (subscriber, #7579) [Link]

For the valve interface, I do use a Raspberry Pi that control some Schneider Electric 70S2 Series Solid State Relay that control 24 Vdc Honeywell valves. The same Raspberry Pi control a few 0..10V lines through a LucidControl interface and a eBus interface for my Vaillant heating/heat pump. The system is not cheap, but totally independent of any cloud or indeed internet connection.

The OpenSprinkler controller

Posted Aug 31, 2023 13:26 UTC (Thu) by kpfleming (subscriber, #23250) [Link]

This can be done today using ESPHome plus one of many ESP32-based boards that have groups of relays (and the 'sprinkler' component in ESPHome). I use ESP32R4s, but there are also boards with 8 (and 16) relays available should you need more zones.

In fact, I'd be happy to collaborate with our grumpy editor on a followup article comparing the HA+ESPHome+relay board combination to OpenSprinkler, as I used to be an OpenSprinkler user

The OpenSprinkler controller

Posted Aug 29, 2023 20:13 UTC (Tue) by Kamilion (subscriber, #42576) [Link] (6 responses)

Ugh, as someone who works in this space, I am appalled at their decision to go with an end of life ESP8266 instead of ANY of the ESP32 variations... Including the ESP32-C3, which is almost pin compatible with the 8266's footprint.

The 8266 should *NOT* be talking to the internet, it has no hardware cryptography system, and a very limited amount of memory, which limits it to communicating with *specially configured* TLS endpoints using buffers below the 16KiB defaults, or plaintext endpoints. Hearing that this device uses NTP and can talk to wunderground, already has me kind of terrified for it's lifetime.

The bigger problem is that the esp8266's development environment is completely different to the ESP-IDF framework provided by the ESP32 series. And while ESP-IDF can do codegen for the 8266, somehow I'm doubting that is the case here, as this appears to be platformio+arduino_core based.

Even more terrifying, they tout support for "OpenThings Cloud (OTC)", described as
"this allows remote access without the need of setting up port forwarding."

I wouldn't touch this thing with a 30 foot pole until they adopt hardware that can deal with modern internet security. Anybody wanna take bets that somehow in the next few years we'll see a news article about how undermaintained OpenThings Cloud proxy endpoints were being used to export stolen data somehow. The fact that their proxy requires node.js and uses mysql for authentication makes me worry about their ability to tolerate SQL injection, and how robust it is against the websocket transport.

It's sort of clear to me that this project really had no security considerations whatsoever, just a hobbyist that moved on to trying to sell extremely overpriced hardware. *Why* is this $150? When it's a $2 microcontroller, some 74HC logic and some fets? Is it the casing? The casing molds? Is it some certification? Are they trying to recuperate their research and development costs? If so, they should be disclosing that as part of the pricetag. Is this not something you can have JLCPCB assemble the surface mount components for you? I understand through hole soldering of the screw terminals is a manual process, but unless you're charging $35/hr for that labor, the pricing is still completely off the wall to me.

"Oh, it has to cost that much, otherwise rich people won't even look at us" -- fair enough, Shelly had that problem for a while, but has mostly gotten over it with better multipack deals.

I may sound very grumpy in all of this, but don't get me wrong -- I love the idea of the project, I love the community aspect, and I love the thought of decentralization -- but that still doesn't stop me from going "hold on guys, this isn't OSHA compliant, that "railing" clearly won't hold your weight." Both of us already know it won't, but some people still choose to take the risk anyway. "It's fine, I've done this a hundred times..."

The OpenSprinkler controller

Posted Aug 29, 2023 21:11 UTC (Tue) by mb (subscriber, #50428) [Link] (5 responses)

> The 8266 should *NOT* be talking to the internet

Well, then. Don't connect it to the internet, if you don't like that. No problem.

>*Why* is this $150? When it's a $2 microcontroller, some 74HC logic and some fets? Is it the casing? The casing molds? Is it some certification?

At the end you maybe almost realized that the cost of a product is much more than the sum of the cost of its components.

>but unless you're charging $35/hr for that labor, the pricing is still completely off the wall to me.

Ok, well. Feel free do build it yourself.
That's how it works. If it's too expensive for you and you think you can do it cheaper, then just do it.

The OpenSprinkler controller

Posted Aug 30, 2023 11:29 UTC (Wed) by Wol (subscriber, #4433) [Link] (3 responses)

> > The 8266 should *NOT* be talking to the internet

> Well, then. Don't connect it to the internet, if you don't like that. No problem.

PLEASE read the grand-parent post. The problem isn't you realising the danger and not connecting it. The problem is all those other folks who DON'T realise the danger and hand the bad guys a loaded gun!

The risk isn't to the owner of the device. There's not much a bad guy can do other than kill your plants or flood your house, and that's no fun to them. (Although they might be able to piggyback on your wifi and break into your home network!) The risk is the device becomes part of a DDOS botnet or worse, and is used as a weapon against third parties that are nothing to do with the device owner.

Insecure IoT is a botnet-in-waiting...

Cheers,
Wol

The OpenSprinkler controller

Posted Aug 30, 2023 14:21 UTC (Wed) by mb (subscriber, #50428) [Link] (2 responses)

This device can't connect to any network without the user entering credentials.
It's the users responsibility to not do stupid things.

The OpenSprinkler controller

Posted Aug 30, 2023 15:00 UTC (Wed) by Wol (subscriber, #4433) [Link] (1 responses)

You're assuming users are intelligent. Not a wise move ...

Cheers,
Wol

The OpenSprinkler controller

Posted Aug 30, 2023 15:17 UTC (Wed) by mb (subscriber, #50428) [Link]

>You're assuming users are intelligent.

No, I'm not. Quite contrary.
Users do stupid things all the time.

And while I agree that things should be secure by default in an ideal world, I don't think "insecure" things are bad per se.
If I don't expose this to the internet, I don't see why I would strictly need authentication or anything like that. Plain old unencrypted and unauthenticated HTTP is just fine for many use cases. I do actually run such things (not this one, but similar things) inside of my secured network. And I really don't see the problem.

If a user connects something to the internet, it's their responsibility to check if it's safe and secure. Just like it's their responsibility to check if it's safe and secure to leave the car doors open.
But that doesn't affect all other use cases and doesn't make the product any worse.

The OpenSprinkler controller

Posted Sep 5, 2023 22:25 UTC (Tue) by Kamilion (subscriber, #42576) [Link]

> Well, then. Don't connect it to the internet, if you don't like that. No problem.

So, one of the big deals this year has been Matter; a method of message passing between physical transport types.
There are already a number of "hub" devices out there that can provide secondary connectivity to these classes of devices, and if they lack the ability to do proper cryptography, they (ESP8266/EX) are a hazard. Unlike their modern siblings, which should be preferred both on pricing, development ease, and *basic security abilities*.

> >*Why* is this $150? When it's a $2 microcontroller, some 74HC logic and some fets? Is it the casing? The casing molds? Is it some certification?
> At the end you maybe almost realized that the cost of a product is much more than the sum of the cost of its components.

Almost realized? I've worked in the space for nearly thirty years now, starting with the 68HC11s.
I've had to deal with a lot of the issues I mentioned; and you happen to cut off the most relevant one in your quoting... (labor)
There's also the less relevant ones such as legal council, warranty compliance, and trademarks...

The cost is not just the up front pricetag with these. It's the fact that they have long service lives. While I don't expect *OpenSprinkler* to last thirty years in an installation, I've encountered *MANY* devices that have exceeded that figure. Most of them required no updates, typically because they either did not communicate externally, or used such simple signaling like contact closures as to not require code updates. Even a lot of access control systems still using weigand are exceedingly simple, "and more importantly, well defined through specification."

>> I understand through hole soldering of the screw terminals is a manual process, but unless you're charging $35/hr for that labor, the pricing is still completely off the wall to me.

The labor costs in china, vietnam, and singapore are far below what one would charge should they slap "proudly made in the USA" on the device -- and I see no indication of the sort that would tell me "oh, labor costs were high on this because it was produced in the european union or the united states, I can understand the high pricetag, and find value in supporting this business."

> Ok, well. Feel free do build it yourself.
> That's how it works. If it's too expensive for you and you think you can do it cheaper, then just do it.

Why would I bother when I could just purchase a UL listed Shelly Plus 2PM for less than $40?
Or four for a little less than $100? The sadder thing there, is that the UL listing is for the electrical safety, and doesn't take into account the firmware running on the device. Tasmota, and a large variety of other projects exist in this space to make device configuration essentially painless.

That's sort of the reason I was bringing the *unexplained* pricetag up. Someone who's already browsing around for a relay controller is going to be comparing opensprinkler against a commercial relay controller. I used to work with irrigation valves in the SF bay area back in the 90s before I accumulated more useful skills. Home improvements of this sort are often not cheap at all; and suffer from some of the highest BOM markups I've ever seen. Some of it's due to the scale of production; others are due simply to greed, and applying themselves to the notion that "expensive things are better", or "Rich people have a lot of money and refuse to buy the lowball option because the hassle is not worth the expense", "when they could just buy apple and sonos and ignore the rest of the tech landscape". It's sort of difficult for me to see where OpenSprinkler fits in to this puzzle of human pricewar mechanics.

Anyway -- I'd really love to see OpenSprinkler move away from ESP8266, but now that they have so many in the field, they're stuck supporting them. And boy, that is going to suck as time goes on. I certainly hope they adopt the C3 sooner than later. Electrically, it's almost pin-for-pin compatible, and should fit the existing footprint on their board, with only a few twiddles in their platformio build config to set the gpio matrix to the 8266 compatible mode.

Their interface looks fantastic, and it's clear they spent most of their time on the frontend to make it friendlier... Most of that should translate across the ESP hardware gap pretty seamlessly.


Copyright © 2023, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds