smithops
@tsmith · Joined January 2026
Plant manager · automotive · 6 years in the field
- Topics
- 4
- Replies
- 35
- Points
- 0
Forum Replies Created
There they are. The clinker cooler goes straight onto our kiln screen.
Are the cement symbols a new library? We bought Heavy industry in September.
Ran our first job last week, 38 routers, one value in the network section. We set our own wave sizes (5 and 25, then the rest). The two routers that had been offline longer than the wait setting were left out, which is what we wanted. Typing START felt silly the first time but I get why.
@Rachel they can’t, Hermetry never sees the data until it comes back. Same reason we keep local interlocks on the shop floor and use the cloud for notices and history. Your buzzer logic belongs on site.
Good timing, we have an auditor from our insurer coming in two weeks. Half of what they want is the camera on the boiler house. Does the viewer get live view?
Did exactly this on the roof lights over our paint shop canteen two years ago. What you want is the window maker’s KLF 200 interface (the io-homecontrol gateway with a LAN port). You pair each window into it like you would a new keypad, then it gives you a local API on the LAN. On the Pi there’s a Python library, pyvlx, that talks to it. Update the KLF 200 to the current firmware first, the old one has no API, and connect it by cable, not its own Wi-Fi.
Then the Pi does the rain logic locally, I would not run “close on rain” through the cloud, it has to work when the internet is down:
if rain_contact_closed() and any_open():
await pyvlx.nodes[n].close(wait_for_completion=False)
# every 30 s, and after each move:
payload = {f"win{n:02d}.pos": node.position.position_percent for n, node in enumerate(nodes)}
mqtt.publish("v1/telemetry", json.dumps(payload), qos=1)
Positions come back from the windows so you get real feedback, 0 = closed. For the open/close buttons on the dashboard, add commands like win.close with a window number parameter to the Pi’s device profile, handle them on v1/rpc/req/+ and answer on the same id. Board controls can only send Basic tier commands from the profile’s catalogue, which is fine for this. See Control cards.
The KLF 200 only takes a couple of API connections at a time, so keep one long-lived connection in your script.
Whatever you buy, make sure it is real 802.3af/at and not “passive PoE”. We cooked two boards at the plant with a 24 V passive injector somebody found in a drawer. Your switch will negotiate properly, cheap injectors won’t.
Two of us were customising the same shared board this morning and my save bounced back with a message that the dashboard had changed elsewhere and was reloaded. Expected, or did we break something?
And they cost a few dollars more per node, worth it only for the worst ones.
Daniel’s question is the right first step. No driver is needed on macOS, avrdude talks to the USBasp through libusb, which Homebrew installs with it. If System Information > USB doesn’t list “USBasp” at all, it’s the adapter, not avrdude. I had exactly this with two cheap USB-C adapters at our plant: the USBasp is a low-speed USB device with the firmware bit-banging USB, and some USB-C adapters and hubs don’t enumerate those reliably. A powered USB-A hub between the adapter and the USBasp fixed it for me, so did a different (Apple) adapter.
Once it’s found, the next error you’ll probably meet on fresh chips is this:
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: error: program enable: target does not answer (0x01)
A new 328P runs at 1 MHz from the internal oscillator, and the default ISP clock is too fast for it. Slow it down:
avrdude -c usbasp -p m328p -B 32 -U lfuse:w:0xFF:m -U hfuse:w:0xDE:m -U efuse:w:0xFD:m
avrdude -c usbasp -p m328p -B 4 -U flash:w:rs485node.hex:i
(those fuses are for an external 16 MHz crystal, check yours before you write them). The “cannot set sck period” warning is the old USBasp firmware talking, harmless as long as -B works; on older ones the slow-clock jumper does the same.
How many gateways did you need for a district that size?
Is this in every plan? I can see Dashboards but there is no Process Diagrams entry in our menu.
Watch battery life at SF12 too, each frame is well over a second on air.
Once it reads, put a 100 nF cap on the input next to the chip. 4-20 mA loops pick up a lot of noise on a breadboard.
Kevin’s right, and that’s the first thing I’d change. I run a plant and we’ve had two contractors bring in homemade boxes like this. Both went back.
Roughly how it works in the UK. Putting electrical equipment on the market falls under the Electrical Equipment (Safety) Regulations 2016, so it needs UKCA or CE marking with your technical file behind it. You’d be the manufacturer, which is not where you want to be for one box. If it’s hard-wired into the plant room, the installation is BS 7671 work for a competent electrician, usually off a fused connection unit.
So keep the only mains part off the shelf. A UKCA/CE-marked DIN-rail PSU (a Mean Well HDR-15-5 or similar) installed by their electrician, or even a marked plug-in adapter. Your box is then 5V only and you can build it however you like.
Gas is the bigger problem. An MQ-4 is not a gas detector in any safety sense. It drifts with humidity, needs burn-in, and no insurer will accept it. Use a certified fixed detector (for natural gas in a boiler room, look for EN 60079-29-1) and wire its volt-free alarm relay to an ESP32 input with a pull-up. The detector does the safety job and shuts the gas valve if it’s specified for that. Your ESP32 reports gas_alarm true/false and the room temperature, and an alarm rule on the profile handles notifications. The boiler lockout relay goes in the same way on a second input.

