Boards
Jedes ESP32-S3-Board mit SX1262 (Heltec WiFi LoRa 32 V3, LilyGo T3-S3 und ähnliche). Flashe die Kachel ESP32-S3 + LoRa im Web-Flasher. Die Firmware erkennt das Funkmodul beim Start; ohne eines erscheinen die LoRa-Bildschirme einfach nicht.


1. Emergency-Modus (kostenlos, in beide Richtungen)
Wenn der Node seinen Uplink verliert (Wi-Fi tot, ISP ausgefallen), parkt er auf dem Heimkanal und sendet alle paar Minuten bis zu vier Messwerte deiner Wahl: Temperatur, einen Ventilzustand, einen Textstatus — alles, was der Node als Entität hat. Werte sind kompakt (ASCII, 8 Zeichen).
Wer es hört, liefert es. Ein anderer Node oder ein LoRaWAN-Gateway mit dem Sensmos-Agent leitet den Frame über sein eigenes Internet weiter. Du bekommst einen Push und ein Emergency-Panel in der App: die Messwerte mit ihrem Alter, wer sie gehört hat, und ein Befehlsfeld.
Befehle zurück. Aus dem Panel kannst du einen kurzen Befehl senden (bis zu 8 Zeichen, z. B. water_off) — signiert mit deinem Wallet, begrenzt auf 4 pro Stunde. Das Netzwerk wählt einen Node in Reichweite deines Nodes, der ihn sendet; dein Node führt ihn lokal aus (Webhook, MQTT, eine Skript-Aktion) und bestätigt in seiner nächsten Aussendung. Die Latenz ist ein Sendezyklus, ein paar Minuten.
Einschalten: Node → Einstellungen → LoRa → Emergency: bis zu vier Entitäten wählen, optional einen Webhook, den der Node beim Eintreffen eines Befehls aufrufen soll (POST JSON oder GET, z. B. eine UniFi- oder Shelly-URL). Das Emergency-Panel erscheint automatisch auf der Node-Karte, wenn der Node verstummt.
2. Deine eigenen LoRa-Sensoren (Frames)
Jeder LoRa-Sender — ein ESPHome-Board, ein selbstgebauter Sensor — kann einen kleinen Frame an deinen Node adressieren. Der Frame trägt die ID des Nodes und eine Sub-Adresse (1–255), sodass ein Node viele Sensoren bedienen kann.
- Verschlüsselt (empfohlen): Sensor und Node teilen sich eine Schlüsselphrase. Der Node entschlüsselt; der Server sieht nur „ein Frame für Node X" und leitet ihn weiter. Die Entschlüsselung passiert auf deinem Node, in offener Firmware, die du lesen kannst — oder, wenn der Sensor an deinen gekoppelten LoRaWAN-Gateway sendet, in deinem eigenen Home Assistant (unten).
- Klartext (Opt-in): wird nur akzeptiert, wenn du es einschaltest, denn jeder, der deine Node-ID kennt, könnte einen senden. Gut für Spielereien und reine Telemetrie; nie für Aktoren.
Frames landen in der LoRa-Inbox des Nodes (App: Node → Einstellungen → LoRa → Inbox), auf MQTT (lora_frame, lora_frame.N pro Sensor) und in Home Assistant als Sensoren und Events. Eine Zustellbestätigung (nur Metadaten) sagt dem Netzwerk, dass der Frame angekommen ist.
Von irgendwem gehört, an dich geliefert. Ist dein Sensor außerhalb der Reichweite deines eigenen Nodes, aber ein anderer Node oder Gateway hört ihn, erreicht der Frame deinen Node über das Internet. Dein Node muss seine Sensoren nicht selbst hören.
Einschalten: Node → Einstellungen → LoRa → Frame-Empfang: Schlüsselphrase setzen, optional Klartext-Frames erlauben.
3. An einen Sensor senden
lorasend auf dem Node (App: Einstellungen → LoRa → Senden, oder der HA-Dienst sensmos.lora_send) sendet einen Frame an einen deiner eigenen Sensoren: Ziel = dein Node, Sub = der Sensor. Nur der eigene Node des Sensors sendet an ihn — es gibt kein Weiterleiten über fremde Funkmodule. Senden an einen anderen Node läuft über das Internet, und das Funkmodul dieses Nodes macht den letzten Hop.
Ein Beispiel aus der Praxis: das Auto vor dem Haus
Dein Auto steht sechzig Meter und zwei Wände entfernt, ohne Internet und ohne Strom zum Verschwenden. Genau dafür ist Abschnitt 2 da: das Auto bekommt einen Sensor, keinen Node. Der Node bleibt in der Wohnung.
Im Auto. Ein ESP32 mit SX1262-Funk an einem kleinen Akku, ein Erschütterungssensor und ein Reedkontakt an der Tür. Er schläft, wacht bei Bewegung auf, sendet einen verschlüsselten Frame an eine Subadresse deines Nodes und schläft weiter. Ein Frame sind wenige Bytes, ein Akku hält Monate.
Zu Hause. Node → Einstellungen → LoRa → Frame-Empfang: Schlüsselphrase setzen, dem Auto Subadresse 1 geben. Das ist die ganze Einrichtung.
Was du bekommst. Der Frame landet im LoRa-Posteingang, auf MQTT und in Home Assistant. Ein Skript auf dem Node macht daraus eine Push-Nachricht: Bewegung 02:14, Tür geöffnet, Batterie 11,6 V.
Hört dein eigener Node ihn nicht, hört ihn vielleicht der Node eines Nachbarn oder ein Gateway - der Frame erreicht dich über deren Internet, verschlüsselt, sodass unterwegs niemand mitlesen kann.
Sei ehrlich, was das ist. Eine Benachrichtigung, kein Alarm und kein Tracker. Funk garantiert nie die Zustellung, es gibt einen Hop und kein Mesh, und ein Wohnblock frisst Reichweite. Dasselbe Rezept gilt für Garage, Fahrradkeller, Wohnwagen oder Boot.
Frame-Format (für Sensorbauer)
plain: [0xE0][0x02][flags][dst 4B][sub 1B][payload ≤128 B][CRC32 LE]
encrypted: [0xE0][0x02][flags][dst 4B][sub 1B][nonce 4B][AES-256-CTR(payload+CRC32)]
flags Bit0 = AES, Bit1 = „letzter Hop" (nur vom Node gesetzt, wenn er an einen Sensor sendet). Schlüssel = SHA-256 der Schlüsselphrase. Funk: 868.1 MHz (EU) / 903.9 MHz (US), BW 125 kHz, SF11, CR 4/5, Sync 0x34. Vollständige Spezifikation inkl. Duty-Cycle-Pflichten und Regeln auf Sensorseite: API & Protokolle.
Gateways
Ein LoRaWAN-Gateway, das du schon betreibst, hört auf zwei Wegen für das ganze Netzwerk. Direkt: sein Packet Forwarder sendet zusätzlich an sensmos.com:1700, und du koppelst das Gateway in der App mit deiner Wallet — es bekommt eine eigene Karte, sendet alle 5 Minuten einen Beacon und verdient wie ein Node mit Gewicht 0,3. Passiv: ein Skript auf dem Gateway meldet, was der Forwarder empfängt, verbürgt von einem Sensmos-Node im selben LAN; am Gateway ändert sich nichts. So oder so wird jeder gehörte Sensmos-Frame seinem Besitzer zugestellt. Einrichtung: LoRaWAN-Gateway.
Rollen: Point und Scanner
Das Netzwerk weist jedem Funk-Node eine Rolle zu. Ein Point bleibt rund um die Uhr auf dem Heimkanal — das verlässliche Ohr für Notfälle und Sensoren. Ein Scanner durchläuft Kanäle und tastet das Spektrum ab (Rauschen, Belegung, fremder LoRa-Verkehr) und springt auf den Heimkanal, wenn er etwas zu senden hat. Beide melden, was sie hören; die Funkkarte siehst du auf der Live-Karte.

Preis
| GALU / Nutzungstag | Wohin es geht | |
|---|---|---|
| Emergency-Modus, Befehle, Panel | 0 — immer | — |
| Verschlüsselte Frames empfangen | 0,7 | 70% an den Besitzer des ersten fremden Nodes, der deinen Sensor an diesem Tag gehört hat, 30% Reward-Pool |
| Klartext-Frames empfangen (Opt-in) | 0,5 | ebenso |
| Vom Funkmodul deines Nodes senden | 0,8 | Reward-Pool |
Einmal berechnet an einem Tag, an dem du die Funktion nutzt; bei leerem Guthaben wird nichts blockiert. Siehe Wallet & Gebühren.