Det får du
Drainbee måler vandstanden i pumpebrønden med en hydrostatisk dyksonde (0–1 m, ±1 cm). Det aktuelle niveau kan du hente direkte i hjemmenetværket og bruge videre i dit smart home:
- Niveauet som sensor i Home Assistant, ioBroker eller Node-RED – i hele centimeter.
- Dine egne dashboards og automatiseringer, for eksempel en besked over et bestemt niveau eller en graf over ugen.
- Kombination med andre sensorer, som nedbørsdata eller en målende smart stikkontakt ved pumpen.
Alarmerne bliver i Drainbee-appen: tærskelværdi, strømafbrydelse og mistet Wi-Fi. Den lokale aflæsning supplerer appen, den erstatter den ikke.
Forudsætninger
- Drainbee er sat op og forbundet til dit Wi-Fi. Hvis ikke: installationsguiden fører dig igennem på 15 minutter.
- Enhedens IP-adresse. Du finder den i Drainbee-appen under enhedsoplysningerne. Din router viser den også på listen over tilsluttede enheder.
- Dit smart home på samme netværk. Home Assistant, ioBroker eller Node-RED skal kunne nå Drainbee direkte.
Tip: giv Drainbee en fast IP-adresse i routeren (DHCP-reservation). Ellers kan adressen ændre sig efter en genstart, og din aflæsning holder op med at virke.
Test forbindelsen
Åbn http://enhedens-ip/status i browseren på samme netværk, for eksempel http://192.168.1.50/status. I terminalen går det med curl:
curl http://192.168.1.50/status Drainbee svarer med et lille JSON-objekt:
{
"deviceId": "drainbee",
"firmwareVersion": "1.2.5",
"uptimeMs": 86400000,
"measurement": {
"cm": 42,
"ageMs": 3200
},
"wifi": {
"isConnected": true,
"localIp": "192.168.1.50",
"rssiDbm": -61
},
"mqtt": {
"isConnected": false
},
"memory": {
"freeHeapBytes": 142000,
"minFreeHeapBytes": 98000,
"largestFreeBlockBytes": 86000
}
} Ét endpoint, ét felt til vandstanden: measurement.cm. Kan være null.
Aflæsningsinterval: 30–60 s er tilstrækkeligt. Forespørgsler gør ikke målingen hurtigere; brug measurement.ageMs til at opdage gamle værdier.
Home Assistant
Home Assistant har alt, hvad du skal bruge, i sin RESTful-integration. Læg blokken ind i din configuration.yaml, indsæt din IP-adresse og genstart Home Assistant:
rest:
- resource: http://192.168.1.50/status
scan_interval: 30
sensor:
- name: "Sump level"
unique_id: drainbee_level
availability: "{{ value_json.measurement.cm is number }}"
value_template: "{{ value_json.measurement.cm }}"
unit_of_measurement: "cm"
device_class: distance
state_class: measurement Så har du entiteten sensor.sump_level. scan_interval: 30 spørger hvert 30. sekund, og state_class: measurement giver langtidsstatistik. I historikken ser du pumpecyklusserne som en savtak: niveauet stiger langsomt og falder brat, så snart pumpen kører. Har du allerede en rest:-post, tilføjer du bare blokken som endnu et punkt på listen.
Besked ved højt niveau
Denne automatisering melder fra, når niveauet ligger over 60 cm i to minutter. Opret en ny automatisering i Home Assistant, skift til YAML-visningen og indsæt den. Tærsklen tilpasser du til din brønd.
alias: "Sump: level too high"
triggers:
- trigger: numeric_state
entity_id: sensor.sump_level
above: 60
for:
minutes: 2
actions:
- action: notify.notify
data:
title: "Pump sump"
message: "Level at {{ states('sensor.sump_level') }} cm - please check the pump."
mode: single notify.notify går til din standardtjeneste, oftest Home Assistant-appen. Automatiseringen virker kun, så længe Home Assistant kører og kan nå Drainbee – lad derfor alarmerne i Drainbee-appen være slået til.
Idéer at bygge videre på
- En template- eller derivative-sensor, der viser, hvor hurtigt niveauet stiger.
- Tæl pumpecyklusser pr. døgn – hver cyklus er et brat fald i niveauet.
- Niveau og nedbør i samme diagram, så du kan se, hvor kraftigt din brønd reagerer på regn.
Node-RED
I Node-RED er tre noder nok til at hente niveauet:
Indstil en HTTP Request-node til http://192.168.1.50/status, og vælg et fortolket JSON-objekt som svar. Udløs den med en Inject-node hvert 60. sekund, og tilføj derefter denne Function-node.
Ét endpoint, ét felt til vandstanden: measurement.cm. Kan være null.
const measurement = msg.payload?.measurement;
const cm = measurement?.cm;
if (typeof cm !== "number") return null;
msg.ageMs = measurement.ageMs;
msg.payload = cm;
return msg; Derfra går værdien videre derhen, hvor du skal bruge den: til et dashboard (gauge eller graf), via en mqtt out-node til din broker eller ind i en database. Kan Drainbee ikke nås, melder http request-noden en fejl, som du kan fange med en catch-node.
ioBroker
Hurtigst går det med JavaScript-adapteren, hvor httpGet er til rådighed fra version 7.9. Opret et nyt script, indsæt din IP-adresse og start det:
const DRAINBEE_URL = "http://192.168.1.50/status";
const STATE_ID = "0_userdata.0.drainbee.level";
createState(STATE_ID, null, {
name: "Sump level",
type: "number",
role: "value",
unit: "cm",
read: true,
write: false
});
schedule("*/30 * * * * *", () => {
httpGet(DRAINBEE_URL, { timeout: 5000 }, (err, response) => {
if (err || response.statusCode !== 200) {
setState(STATE_ID, null, true);
log("Drainbee not reachable: " + (err || response.statusCode), "warn");
return;
}
try {
const cm = JSON.parse(response.data).measurement?.cm;
setState(STATE_ID, typeof cm === "number" ? cm : null, true);
} catch (e) {
setState(STATE_ID, null, true);
log("Drainbee: " + e, "warn");
}
});
}); Scriptet opretter datapunktet 0_userdata.0.drainbee.level og skriver det aktuelle niveau ind i det hvert 30. sekund. Derfra kan du vise det i VIS, bruge det i Blockly-regler eller gemme det med History-adapteren. Uden JavaScript-adapteren kan den samme URL læses cyklisk med Parser-adapteren.
Sikkerhed
Det lokale API er beregnet til dit betroede hjemmenetværk. Det har ingen godkendelse eller HTTPS. Alle, der kan nå Drainbee på netværket, kan læse status, men intet kan ændres via API'et.
Opret ikke portvideresendelse for port 80 til Drainbee i routeren. Brug Drainbee-appen eller en VPN til hjemmenetværket til fjernadgang.
Fejlfinding
Intet svar på forespørgslen
- IP-adressen er ændret: tjek den aktuelle adresse i appen eller routeren, og opret en DHCP-reservation.
- Andet netværk: gæste-Wi-Fi, adskilte VLAN'er eller et aktivt VPN på computeren blokerer adgangen. Begge enheder skal kunne nå hinanden på samme netværk.
- Drainbee er offline: viser appen intet aktuelt niveau, så tjek først strøm og Wi-Fi ved enheden.
Wi-Fi-forbindelse
Drainbee sender kun på 2,4 GHz-båndet. Sørg for, at din router tilbyder et 2,4 GHz-netværk, og at signalet er stabilt, hvor enheden sidder.
Hvor ofte skal man spørge?
Hvert 30. til 60. sekund er rigeligt – i praksis ændrer niveauet sig sjældent hurtigere. Meget korte intervaller belaster enheden og netværket unødigt. Enkelte udfald ved svagt signal er normalt; Home Assistant viser så kortvarigt sensoren som utilgængelig.
Ofte stillede spørgsmål
Har Drainbee et lokalt API?
GET http://enhedens-ip/status med JSON som {"measurement":{"cm":37,"ageMs":3200}} – det aktuelle niveau i hele centimeter. Grænsefladen er skrivebeskyttet, kræver ingen login og kan ikke nås fra internettet.