ciaran55
@ciaranwalsh55 · Mitglied seit Juni 2025
Smart-city engineer · energy
- Themen
- 9
- Antworten
- 68
- Punkte
- 0
Erstellte Forenantworten
Von English mit KI übersetzt ·
Falls Sie das Kabel jemals länger als ein paar Meter verlegen und die Messwerte unzuverlässig werden, verringern Sie den Widerstand auf 2,2k.
If you ever run the cable longer than a few metres and readings get flaky, drop the resistor to 2.2k.
That works but there’s a built-in way. Also, the Hermetry part changes the question a bit.
Seven near-identical rules is a lot to keep in sync. I’d consider making each site its own child device of the Pi (gateway topics) so one rule on up covers all of them. Fine either way for 7.
Von English mit KI übersetzt ·
+1 zum Aufkleber. Falls in einigen dieser Labore nur ein Enterprise-WLAN mit benutzerspezifischer Anmeldung verfügbar ist, reicht ein einfaches Captive Portal nicht aus; dann bräuchte man Felder für Identität/Benutzername und WPA2-Enterprise in der Firmware. Bitten Sie die IT stattdessen um ein PSK-IoT-Netz, das ist deutlich weniger Aufwand.
+1 to the sticker. Also if any of those labs only has enterprise Wi-Fi with a per-user login, a plain captive portal can’t do it, you’d need identity/username fields and WPA2-Enterprise in the firmware. Ask IT for a PSK IoT network instead, much less pain.
Von English mit KI übersetzt ·
Ich habe Z-Wave in einem Pilotprojekt in einem Rathausgebäude eingesetzt, deshalb beschreibe ich, wie ich es aufteilen würde.“Verpflichtend“ bezieht sich auf die Zertifizierung: Seit April 2017 muss jedes neue Gerät, das eine Z-Wave-Zertifizierung erhält, S2 unterstützen, und Controller ebenfalls. Dein Stick tut das. Das zwingt dich aber nicht, jeden Knoten mit S2 einzubinden.Die Klassen sind S2 Access Control (Schlösser, Garagentore, alles, was eine Tür öffnet), S2 Authenticated (benötigt die PIN, das sind die ersten 5 Stellen des DSK auf dem Geräteetikett oder QR-Code) und S2 Unauthenticated (verschlüsselt, aber ohne Nachweis, dass es das Gerät ist, für das du es hältst).
- Türschlösser: S2 Access Control, keine Diskussion. Die meisten Schlösser akzeptieren Verriegelungs- und Entriegelungsbefehle ohne sichere Einbindung gar nicht.
- Türsensoren: Wenn sie nur S0 oder gar nichts unterstützen, bekommen sie genau das. S0 ist geschwätzig (drei Frames pro Befehl), deshalb würde ich alte Sensoren lieber unverschlüsselt betreiben als mit S0, sofern sie nicht sicherheitsrelevant sind.
- Steckdosen: S2 Authenticated. S2 fügt pro Frame nur wenige Bytes hinzu, nichts im Vergleich zum Overhead von S0. Das Verkehrsproblem ist das Meldeintervall: Stelle die Steckdosen so ein, dass sie bei 5 % Änderung oder alle 60 s melden, statt alle paar Sekunden.
Bewahre das PIN-Blatt zusammen mit den Etiketten auf, du brauchst es erneut, falls du jemals neu einbinden musst.
I ran Z-Wave in a council building pilot, so here’s how I’d split it.
„Mandatory“ is about certification: since April 2017 every new device that gets Z-Wave certified has to support S2, and controllers too. Your stick does. That doesn’t force you to include every node with S2.
The classes are S2 Access Control (locks, garage doors, anything that opens a door), S2 Authenticated (needs the PIN, which is the first 5 digits of the DSK on the device label or QR code) and S2 Unauthenticated (encrypted, but no proof it’s the device you think).
- Door locks: S2 Access Control, no discussion. Most locks won’t even accept lock/unlock commands without secure inclusion.
- Door sensors: if they only support S0 or nothing, that’s what they get. S0 is chatty (three frames per command), so I’d rather run old sensors non-secure than S0, unless they’re security-relevant.
- Plugs: S2 Authenticated. S2 adds a few bytes per frame, nothing like S0’s overhead. The traffic problem is the reporting interval, set the plugs to report on a 5 % change or every 60 s instead of every few seconds.
Keep the PIN sheet with the labels, you need it again if you ever re-include.
Von English mit KI übersetzt ·
Wenn du dir später PSM oder eDRX am Modem ansiehst, prüfe vorher, ob dein Netzbetreiber das mit dieser SIM unterstützt. Unserer tat es nicht, und ich habe ein ganzes Wochenende verloren.
If you look at PSM or eDRX on the modem later, check your operator supports it on that SIM first. Ours didn’t and I lost a weekend.
Von English mit KI übersetzt ·
Hm, wenn rfkill ihn nicht einmal auflistet, hat der Kernel den Controller nie hochgefahren.
Hm, if rfkill doesn’t even list it, the kernel never brought the controller up.
Von English mit KI übersetzt ·
Und der Zero selbst zieht im Leerlauf bei eingeschaltetem Wi-Fi, BT und HDMI etwa 100 mA. Das ist ein Drittel Ihres Budgets, noch bevor das HAT irgendetwas tut.
And the Zero itself idles around 100 mA with Wi-Fi, BT and HDMI on. That’s a third of your budget before the HAT does anything.
Yes, it’s the GPIO timing, and the missing bias doesn’t help. I had almost the same line on six pump controllers.
Driving DE/RE from Python is too slow and too jittery. After the write, your code switches back to receive only when Linux gets round to it. At 38400 a slave can start answering within a couple of milliseconds, so the start of the reply is lost or you’re still driving the line while the slave talks. Fix it in hardware: a USB-RS485 adapter with automatic direction control (FTDI-based ones are good), or let the kernel do it on the UART with rs485 mode. The adapter is the five-minute fix.
Then the line itself:
- Bias: one pull-up on A and one pull-down on B, only once on the bus (560 R to 1 k is typical), so the idle line is defined.
- Common ground wire between all nodes.
- Give pymodbus a sane timeout and a pause between slaves, some old firmware needs a breather.
client = ModbusSerialClient(port="/dev/ttyUSB0", baudrate=38400, parity="N",
stopbits=1, bytesize=8, timeout=0.3, retries=2)
for unit in range(11, 17):
rr = client.read_holding_registers(0, count=4, slave=unit)
time.sleep(0.02)
Then report all six as children of the Pi on v1/gw/telemetry, keyed by name („mixer-11“ and so on). Each one gets its own device in Hermetry, and you can put a Device offline rule on their profile.
Von English mit KI übersetzt ·
Der FS90R ist die Dauerlauf-Version des SG90, gleiche Baugröße.
The FS90R is the continuous version of the SG90, same size.
CRC order is right, Modbus sends the low byte first and 0x71 0xCB is correct for that frame. The problem is print.
Serial.print(0x01) sends the text „1“, the byte 0x31. Serial.print(0x71) sends „113“, three bytes. So the meter receives something like „1400021137…“ in ASCII, which isn’t a Modbus frame at all, and it stays quiet. Serial.write sends the raw byte, which is what Modbus RTU needs.
Second problem: you drop DE the moment the loop ends, but at 2400 baud the bytes are still going out of the UART for another ~30 ms. Switching to receive cuts the end of the frame. Wait for the transmit to finish:
digitalWrite(2, HIGH);
Serial.write(frame, sizeof frame);
Serial.flush(); // returns when the last byte has left the UART
digitalWrite(2, LOW);
The answer is 9 bytes: address, 0x04, byte count 0x04, four data bytes, CRC. The SDM120 voltage is a 32-bit float, big-endian, high word first:
union { uint32_t u; float f; } v;
v.u = ((uint32_t)r[3] << 24) | ((uint32_t)r[4] << 16) | (r[5] << 8) | r[6];
// v.f is the voltage
Since the Nano’s only hardware UART is now on the RS485 side, debug through a SoftwareSerial pin or a blink, not the USB serial monitor. When you send it on, send {"voltage": 231.4} as a number so the chart works.
Torque mode is for pressing or holding tension, a gate would just drift. And the late stop is the real lesson: never close a fast loop through the cloud.
A command from a symbol can arrive late, the operator can click twice, and a command that gets no answer within 30 s is shown as unknown, not as failed. Only one command runs per diagram card at a time. All fine for „go to open“, dangerous for „start moving and wait for stop“.
Put the drive in position mode (or let a small PLC next to it do the motion). The cloud only sends targets: one catalog command gate.move with a parameter to of open or closed. The drive does the ramp, the speed limit and the end positions itself, so a late or repeated command still ends in the same place. Make the device ignore a request id it has already run.
On the symbol: Run a command, Basic tier (symbols can’t send anything else), and the confirmation is always asked. Bind the gate symbol’s state to the position the drive reports, so the picture shows where the gate is, not what someone asked for. See Commands on symbols.
Von English mit KI übersetzt ·
Die Trennung gestern durchgeführt, lief gut. Der Betreiber konnte uns für die alte 12 ein privates APN einrichten, ein Anruf und ein Formular haben gereicht. Erlaubte Netze sind jetzt nur noch dessen /24 und sonst nichts. Die 12 Tokens rotiert und die neuen über den SMS-Konfigurationskanal des Herstellers übertragen; zwei Schaltschränke haben sie nicht übernommen, daher muss ich ohnehin dorthin fahren.Die IT hat die Aussage „abgeschottet bis zum Austausch“ mit einem Austauschtermin akzeptiert. Der Tester hat seinen Van-Aufbau an einem TLS-Gerät erneut ausgeführt und nichts Lesbares erhalten.
Did the split yesterday and it went fine. The operator could give us a private APN for the old 12, took one call and a form. Allowed networks is now their /24 and nothing else. Rotated the 12 tokens and pushed the new ones through the vendor’s SMS config channel, two cabinets didn’t take it so I’ll have to visit those anyway.
IT accepted the „fenced in until replaced“ line, with a replacement date. The tester re-ran his van thing on a TLS unit and got nothing readable.
Von English mit KI übersetzt ·
Danke Laura, genau das habe ich befürchtet. Die SIM800-Geräte laufen mit einer Firmware, die man theoretisch aus der Ferne aktualisieren könnte, doch der Hersteller antwortet seit 2024 nicht mehr auf E-Mails.
Thanks Laura, that’s roughly what I feared. The SIM800 units are on firmware we can update remotely in theory, but the vendor stopped answering emails in 2024.
Constant current driver. Resistors and power LEDs don’t mix.

