ProbeHarbor nimmt Messwerte auf zwei Wegen an: Deine Hardware sendet (Push) JSON an eine Ingest-URL, oder wir holen (Pull) HTTPS-JSON nach Zeitplan von einem öffentlichen Feed ab. Beides richtest du unter Dashboard → Devices ein. Neue ESP- oder Akku-Knoten sollten Push nutzen. Pull ist für dauerhaft laufende LAN-Server oder Relays gedacht, die bereits HTTPS-JSON bereitstellen.
Ein kostenloses Konto (ohne Kreditkarte) verknüpft deinen Ingest-Schlüssel mit deinem Haushalt, damit Verlauf und Alarme privat bleiben. Wenn du Messwerte ohne Anmeldung sehen willst, schau dir zuerst die Live-Demo an.
Push oder Pull wählen
| Push-Ingest | Pull-Feed | |
|---|---|---|
| Wer startet | Dein Gerät | ProbeHarbor |
| Netzwerk | Gerät braucht ausgehendes HTTPS (Uno Ethernet: HTTP an ein TLS-Relay im LAN) | Feed-URL muss öffentlich erreichbar sein |
| Authentifizierung | Geräteschlüssel in der URL; Flash-Hinweis + Reveal ingest key | Öffentliche HTTPS-URL (TLS) |
| JSON-Format | Flache Schlüssel, temp-Objekt, sensors[], SenML oder HA REST | Verschachtelter temp-Stamm (Standard); SenML oder HA REST werden automatisch erkannt |
| Ideal für | ESP32, Pico W, STM32 Nucleo (Ethernet + HTTPS-Relay im LAN), Arduino Uno + Ethernet | Ethernet-Server, FastAPI-Relays |
Push-Gerät (empfohlen)
- Melde dich an und öffne Devices.
- Klicke unter Push devices auf Create push device (standardmäßig „Workshop probe“ genannt, jederzeit umbenennbar).
- Im Ingest-Hinweis: Scanne den QR-Code oder nutze Download Arduino .ino / MicroPython .py / CircuitPython code.py / Zephyr main.c / CH32V main.c / AVR main.S / Teensy 4.1 .ino / PIC18 main.c / Particle Boron .ino / ESPHome snippet (Ingest-URL bzw. -Pfad vorausgefüllt). Der Schlüssel bleibt 30 Minuten auf der Seite und übersteht ein Neuladen, bis du ihn schließt.
- Schlüssel später verloren? Nutze auf der Gerätekarte Reveal ingest key (wenn die Schlüsselwiederherstellung auf dem Server aktiviert ist) oder Rotate key, um einen neuen auszustellen. Geräte, die vor Aktivierung der Schlüsselwiederherstellung angelegt wurden, brauchen einmal eine Rotation, damit eine wiederherstellbare verschlüsselte Kopie gespeichert wird.
- Flashe einen ESP32 (siehe Flash-Optionen: Arduino IDE, PlatformIO, MicroPython oder das Web-esptool von Espressif), einen Pico W (CircuitPython / MicroPython / Arduino-Pico), ein STM32 Nucleo (Zephyr C + Ethernet), einen CH32V307 (WCHNET C + Ethernet), einen Uno in GNU-AVR-Assembler (ATmega328P + W5100), einen Teensy 4.1 (QNEthernet), einen PIC18F67J60 (MLA TCP/IP) oder ein Particle Boron (LTE-Webhook). Brauchst du erst die Teile? Stückliste für das ESP32-Frost-Kit, Pico W, STM32 Zephyr, CH32V RISC-V, AVR-Assembler, Teensy 4.1, PIC18 Ethernet oder Mobilfunk (wasserdichter DS18B20). Der serielle Monitor mit 115200 sollte
POST 200zeigen (bzw.publish okbeim Boron). Sensorschlüssel werden automatisch importiert (flache Schlüssel,temp-Objekt, SenML oder Home Assistant REST). Benenne die Sensoren danach auf der Devices-Seite um. Die manuelle Zuordnung unter Advanced ist optional, um Schlüssel vorab zuzuordnen. - Weitere Beispiele (Uno Ethernet + DHT22, MAX31855, MAX6675 usw.): sketches/. Der W5100 kann kein TLS. Sende per HTTP-POST an ein Relay im LAN (Python-Feeds /
push_https_forward.py). - Mach einen kurzen Test mit curl und öffne dann angemeldet Live. Kommt etwa 30 Minuten lang kein Post, warnt Live, dass ein Fühler offline sein könnte.
curl-Beispiel (Push)
Hol dir einen aktuellen Beispiel-Body aus dem Beispiel-Ingest-Feed (wetterbasiert) und sende ihn per POST an deinen Geräteschlüssel.
curl -X POST "https://probeharbor.dev/api/ingest/YOUR_DEVICE_KEY" \
-H "Content-Type: application/json" \
-d '{"temp1": 42.5, "door1": false, "battery": 87, "rssi": -62}' Payload-Formate: flache Schlüssel, klassisches temp-Objekt, typisiertes sensors[], SenML (RFC 8428) oder state-JSON von Home Assistant REST. Dokumentiert sind sie unter Ingest & Webhooks und in der Entwicklerreferenz zu Push-Ingest. Probier Live-Beispiele aus: nativ, SenML, HA REST.
Pull-Feed
- Prüfe, dass dein Feed HTTPS-JSON liefert. Klassisches Format (Standard-Stammschlüssel
temp):
{
"temp": {
"0": { "c": 18.5, "f": 65.3, "h": 42 },
"1": { "c": 19.0, "f": 66.2, "h": 40 },
"avg": { "f": 65.75, "c": 18.75, "h": 41 }
},
"battery_pct": 87,
"rssi": -62
} - Öffne Devices → Pull feeds.
- Füge einen Feed hinzu: Name, HTTPS-URL und JSON root key (Standard
temp). Nutze vor dem Speichern Test feed URL. - Klicke auf Save pull setup: Die Fühlerschlüssel werden automatisch aus dem Live-Feed importiert. Benenne die Bezeichnungen auf derselben Seite um oder klicke auf Accept suggested names.
- Klicke auf Fetch now, um sofort Messwerte abzurufen, oder warte auf die nächste geplante Abfrage und prüfe die Karten unter Live.
Pull-Feeds erwarten standardmäßig verschachtelte Fühlerobjekte unter dem konfigurierten Stamm (keine flachen Schlüssel wie bei Push). SenML-JSON-Arrays und Antworten von Home Assistant REST werden automatisch erkannt, wenn dieser Stamm fehlt: Füge die URL unverändert ein und ordne die Fühlerschlüssel zu, die SenML oder HA liefern (z. B. 0, state). Kann der Mikrocontroller kein TLS (Uno + W5100-Ethernet-Shield), nutze ein lokales HTTPS-Relay (siehe Python-Feeds oder den HTTP→HTTPS-Forwarder aus der Standardbibliothek für Push-Ingest).
Schon auf MQTT?
Behalte Mosquitto oder Home-Assistant-MQTT in deinem LAN und spiegle die Messwerte per HTTPS. ProbeHarbor ist kein MQTT-Broker. Komplettes Rezept (curl, HA-rest_command, Node-RED): Anleitung zur MQTT-Bridge. Siehe auch ProbeHarbor vs. Eigenbau-MQTT.
Prüfen, ob alles läuft
- Live: Die Karten aktualisieren sich live; säumige Fühler zeigen nach etwa 30 Minuten eine gelbe Offline-Warnung.
- Devices → Status: zuletzt gesehen, Akku und RSSI, sofern der Payload sie enthält (nach dem ersten Live-Messwert).
- Frost-Grundeinstellungen: Lege nach dem ersten POST auf Devices oder unter Alerts → When to alert Frostschwelle und E-Mail fest und sende einen Test (schaltet nach der Ersteinrichtung die vollständige Overview frei).
- Overview: Status des Raums; nach den Grundeinstellungen Status-Kennzahlen (Froststunden, kältester Abstand, ΔT innen−außen, Streuung zwischen Fühlern) und Insights (Risikonächte, Tür/Strom/Bewegung, Luftqualität). Wochendiagramme können Luftfeuchte und Taupunkt einblenden, wenn rel. Luftfeuchte vorliegt.
Verwandte Themen
- Ingest-API und Alarm-Webhooks
- Einrichtung per Kit-QR-Code
- Temperatur-Feeds konfigurieren (Pull im Detail)
- Veraltete Messwerte debuggen
- MQTT-Bridge-Rezept · vs. Eigenbau-MQTT · MQTT-Doku für Entwickler
- Entwickler: Push-Ingest · Pull-Feeds
Häufige Fragen
Soll ich Push oder Pull verwenden?
Nutze Push für ESP/Arduino-Knoten, die ausgehend per HTTPS-POST senden können. Nutze Pull, wenn du bereits einen öffentlichen HTTPS-JSON-Feed (oder ein TLS-Relay) hast, den ProbeHarbor nach Zeitplan abrufen kann.
Warum erscheinen nach erfolgreichem Ingest keine Messwerte auf Home?
Sende zuerst JSON per POST: Die Sensorschlüssel werden unter Devices automatisch übernommen. Ist Home immer noch leer, prüfe, ob das Gerät einen POST empfangen hat, und sieh unter Devices → Device health nach. Bei Pull-Feeds: richtiger JSON-Wurzelknoten (Standard temp), es sei denn, die URL liefert SenML oder REST-JSON von Home Assistant – das wird automatisch erkannt.