Verkaufe meine Monitoring-Box an Poolfirmen: Flow-Logik und Firmware bleiben bei mir
Von English mit KI übersetzt ·
Eine etwas geschäftliche Frage von einem Bastler, der unbeabsichtigt Kunden hat.Ich habe eine Pool-Monitoring-Box gebaut (ESP32-S3, pH, ORP, Temperatur, Durchflussschalter) für meinen eigenen Pool. Ein Freund, der eine Poolservice-Firma betreibt, hat sie gesehen, und jetzt wollen 4 Poolservice-Firmen sie für die Pools ihrer Kunden. Insgesamt sind bisher etwa 60 Boxen zusammengekommen.Alles läuft in meiner einen Hermetry-Organisation. Der nützliche Teil ist ein Flow mit einem Script-Block, der pH, ORP und Temperatur in eine Dosierempfehlung umwandelt („300 g X hinzufügen“). Das hat mich monatelanges Feintuning gekostet und ist im Grunde das Produkt. Die Firmware enthält außerdem meine Kalibrierroutine.Jetzt möchte jede Firma sich einloggen und ihre Pools sehen. Fragen:- eine Organisation für alle oder eine pro Firma?- wie lasse ich sie Dashboards und Alarme sehen, ohne dass sie den Flow sehen (und kopieren) können?- gibt es etwas, um die Firmware zu schützen, wenn die Boxen physisch in ihren Händen sind?Ich will gegenüber Kunden nicht geheimnisvoll sein, ich will nur nicht, dass ein Wettbewerber sich als „Kunde“ anmeldet und die Logik bekommt.
Bit of a business question from a maker who accidentally has customers.
I built a pool monitoring box (ESP32-S3, pH, ORP, temp, flow switch) for my own pool, a friend who runs a pool service company saw it, and now 4 pool service companies want them for their client pools. About 60 boxes in total so far.
All of it runs in my one Hermetry organisation. The useful part is a flow with a Script block that turns pH, ORP and temperature into a dosing suggestion („add 300 g of X“). That took me months of tuning and it’s basically the product. The firmware also has my calibration routine in it.
Now each company wants to log in and see their pools. Questions:
– one organisation for everyone, or one per company?
– how do I let them see dashboards and alarms without them seeing (and copying) the flow?
– anything to protect the firmware when the boxes are physically in their hands?
I’m not trying to be secretive with customers, I just don’t want a competitor to get the logic by signing up as a „customer“.
Von English mit KI übersetzt ·
Eine Organisation pro Unternehmen. Sie würden niemals akzeptieren, die Pools eines anderen Unternehmens zu sehen, und Organisationen sind auf Datenbankebene voneinander isoliert.
One org per company. They’d never accept seeing another company’s pools, and organisations are isolated at the database level.
Von English mit KI übersetzt ·
Zur Firmware: Hermetry signiert niemals Firmware, Sie signieren die Images in Ihrem eigenen Build und registrieren nur den öffentlichen Schlüssel. Tun Sie das und aktivieren Sie Secure Boot sowie Flash-Verschlüsselung auf dem S3, das deckt die Box-Seite ab.
On firmware: Hermetry never signs firmware, you sign images in your own build and register only the public key. Do that, and turn on secure boot plus flash encryption on the S3, that covers the box side.
Von English mit KI übersetzt ·
Wenn es pro Firma eine eigene Organisation gibt, muss ich dann den Flow und die Dashboards 4 Mal neu aufbauen? Und jedes Mal, wenn ich die Dosierlogik ändere?
If it’s one org per company, do I rebuild the flow and dashboards 4 times? And every time I change the dosing logic?
Von English mit KI übersetzt ·
Aus Kundensicht: Ich hätte gern meine eigene Organisation, ja. Und ehrlich gesagt ist mir dein Skript egal, mir geht es darum, dass die Zahl stimmt.
From the customer side: I’d want my own org, yes. And honestly I don’t care about your script, I care that the number is right.
Von English mit KI übersetzt ·
Ich betreue die Anlagenüberwachung für sechs Kunden so, und hier ist das Setup, das sich bewährt hat.Eine Organisation pro Kundenfirma. Sie behalten ein Konto und sind Mitglied in jeder Organisation, mit Admin, und wechseln über die Organisationsauswahl zwischen ihnen. Die Mitarbeiter des Kunden werden als User eingeladen. Ein User kann Geräte, Profile, Dashboards und Alarme sehen, Alarme quittieren, einfache Befehle senden und persönliche Boards erstellen. Das Ansehen von Flows erfordert Admin (die Berechtigung ist automation.read), daher bleibt Ihr Script-Block außerhalb ihres Blickfelds. Geben Sie einem Kunden niemals Admin-Rechte „nur für einen Moment“.Dashboards: Bauen Sie sie einmal in einer Vorlagen-Organisation, laden Sie das Board als Datei herunter und importieren Sie es in jede Kundenorganisation. Flows werden nicht mit der Board-Datei übertragen, daher bringen Sie den Flow separat hinüber: Über das Zeilenmenü der Flow-Liste exportieren (Export) und in jeder Kundenorganisation importieren (Import). Geheimnisse müssen erneut eingegeben werden, und importierte Flows sind zunächst deaktiviert. Bei 4 Organisationen halte ich den Script-Block-Code zusätzlich in git; jede Änderung ist eine Aufgabe von 10 Minuten. Wenn das lästig wird, sollten Sie überlegen, die Dosierberechnung in die Firmware zu verlagern und dose_g als Telemetrie zu senden; dann liegt die Logik in einem signierten Image.Firmware: Was Laura gesagt hat, Signierung mit Ed25519 in Ihrer Pipeline, den öffentlichen Schlüssel auf der Firmware-Seite registrieren und die Option Allow unsigned images deaktiviert lassen. Unsignierte oder neu signierte Images werden dann von der Upload-Prüfung abgelehnt.Die Rollentabelle finden Sie unter Users and roles. Branding mit Ihrem Logo wird ebenfalls pro Organisation festgelegt, falls Sie es so aussehen lassen möchten, als wäre es Ihr eigenes Produkt.
I run plant monitoring for six customers this way, so here’s the setup that’s held up.
One organisation per customer company. You keep one account and are a member of each, with Admin, and switch between them from the organisation picker. The customer’s people are invited as User. A User can see devices, profiles, dashboards and alarms, acknowledge alarms, send basic commands and build personal boards. Viewing flows needs Admin (the permission is automation.read), so your Script block stays out of their sight. Never give a customer Admin „just for a minute“.
Dashboards: build them once in a template org, download the board as a file and import it into each customer org. Flows don’t travel in the board file, so you bring the flow over separately: Export it from the row menu on the flow list and Import it in each customer org (secrets have to be typed in again, and imported flows arrive switched off). With 4 orgs I keep the Script block code in git as well, it’s a 10-minute job per change. If that gets painful, think about moving the dosing calculation into the firmware and sending dose_g as telemetry; then the logic lives in one signed image.
Firmware: what Laura said, sign with Ed25519 in your pipeline, register the public key on the Firmware page, and leave Allow unsigned images off. Unsigned or re-signed images are then refused by the upload check.
The role table is on Users and roles. Branding with your logo is per organisation too, if you want it to look like your product.
Von English mit KI übersetzt ·
Ich habe mich dafür entschieden. Eine Template-Organisation angelegt, 4 Kunden-Organisationen, Kunden als User. Ich habe mit einem Dummy-User-Account getestet, und das Menü Flows fehlt, gut. Der Import der Board-Datei hat beim ersten Versuch funktioniert. Ich denke, ich verschiebe die Dosierung in der nächsten Version in die Firmware, der ständige Reimport des Flows viermal ist schon nervig.
Went with this. Made a template org, 4 customer orgs, customers as User. I tested with a dummy User account and the Flows menu isn’t there, good. Board file import worked first time. I think I’ll move the dosing into firmware next version, re-importing the flow four times is already annoying.
Von English mit KI übersetzt ·
Behalten Sie für diese Prüfung in jeder Organisation einen Dummy-User, Sie werden ihn nach Rollenänderungen wieder brauchen.
Keep a dummy User in each org for that check, you’ll want it again after role changes.
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.
Mitdiskutieren
Melde dich an, um Fragen zu stellen und zu beantworten, hilfreiche Beiträge mit „Gefällt mir“ zu markieren und die Antwort zu kennzeichnen, die dein Problem gelöst hat. Jeder Beitrag bringt Punkte und Stufen.

