Det här får du
Drainbee mäter vattennivån i pumpbrunnen med en hydrostatisk sänksond (0–1 m, ±1 cm). Den aktuella nivån kan du hämta direkt i hemnätverket och använda vidare i ditt smarta hem:
- Nivån som sensor i Home Assistant, ioBroker eller Node-RED – i hela centimeter.
- Egna instrumentpaneler och automationer, till exempel ett meddelande över en viss nivå eller ett diagram över veckan.
- Kombination med andra sensorer, som nederbördsdata eller ett mätande smart uttag vid pumpen.
Larmen ligger kvar i Drainbee-appen: tröskelvärde, strömavbrott och förlorat Wi-Fi. Den lokala avläsningen kompletterar appen, den ersätter den inte.
Förutsättningar
- Drainbee är installerad och ansluten till ditt Wi-Fi. Om inte: installationsguiden tar dig igenom det på 15 minuter.
- Enhetens IP-adress. Du hittar den i Drainbee-appen under enhetsinformationen. Din router visar den också i listan över anslutna enheter.
- Ditt smarta hem i samma nätverk. Home Assistant, ioBroker eller Node-RED måste kunna nå Drainbee direkt.
Tips: ge Drainbee en fast IP-adress i routern (DHCP-reservation). Annars kan adressen ändras efter en omstart och din avläsning slutar fungera.
Testa anslutningen
Öppna http://enhetens-ip/status i webbläsaren i samma nätverk, till exempel http://192.168.1.50/status. I terminalen går det med curl:
curl http://192.168.1.50/status Drainbee svarar med ett litet 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
}
} En ändpunkt, ett fält för vattennivån: measurement.cm. Kan vara null.
Avläsningsintervall: 30–60 s räcker. Anrop gör inte mätningen snabbare; använd measurement.ageMs för att upptäcka gamla värden.
Home Assistant
Home Assistant har allt du behöver i sin RESTful-integration. Lägg in blocket i din configuration.yaml, sätt in din IP-adress och starta om 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 Då får du entiteten sensor.sump_level. scan_interval: 30 frågar var 30:e sekund och state_class: measurement ger långtidsstatistik. I historiken syns pumpcyklerna som en sågtand: nivån stiger långsamt och faller tvärt så fort pumpen går. Har du redan en rest:-post lägger du bara till blocket som ytterligare en punkt i listan.
Meddelande vid hög nivå
Den här automationen hör av sig när nivån ligger över 60 cm i två minuter. Skapa en ny automation i Home Assistant, växla till YAML-vyn och klistra in den. Tröskelvärdet anpassar du till din brunn.
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 till din standardtjänst, oftast Home Assistant-appen. Automationen fungerar bara så länge Home Assistant körs och når Drainbee – låt därför larmen i Drainbee-appen vara påslagna.
Idéer att bygga vidare på
- En template- eller derivative-sensor som visar hur snabbt nivån stiger.
- Räkna pumpcykler per dygn – varje cykel är ett tvärt fall i nivån.
- Nivå och nederbörd i samma diagram, för att se hur mycket din brunn reagerar på regn.
Node-RED
I Node-RED räcker tre noder för att hämta nivån:
Ställ in en HTTP Request-nod med http://192.168.1.50/status och välj ett tolkat JSON-objekt som svar. Kör den med en Inject-nod var 60:e sekund och lägg sedan till denna Function-nod.
En ändpunkt, ett fält för vattennivån: measurement.cm. Kan vara 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; Därifrån går värdet vidare dit du behöver det: till en instrumentpanel (gauge eller diagram), via en mqtt out-nod till din broker eller in i en databas. Om Drainbee inte går att nå rapporterar http request-noden ett fel som du kan fånga med en catch-nod.
ioBroker
Snabbast är JavaScript-adaptern, där httpGet finns från version 7.9. Skapa ett nytt skript, sätt in din IP-adress och starta 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");
}
});
}); Skriptet skapar datapunkten 0_userdata.0.drainbee.level och skriver in den aktuella nivån var 30:e sekund. Därifrån kan du visa den i VIS, använda den i Blockly-regler eller spara den med History-adaptern. Utan JavaScript-adaptern går samma URL att läsa cykliskt med Parser-adaptern.
Säkerhet
Det lokala API:et är avsett för ditt betrodda hemnätverk. Det saknar autentisering och HTTPS. Alla som kan nå Drainbee i nätverket kan läsa status, men inget kan ändras via API:et.
Ställ inte in portvidarebefordran för port 80 till Drainbee i routern. Använd Drainbee-appen eller ett VPN till hemnätverket för fjärråtkomst.
Felsökning
Inget svar på anropet
- IP-adressen har ändrats: kontrollera aktuell adress i appen eller routern och lägg upp en DHCP-reservation.
- Annat nätverk: gäst-Wi-Fi, separata VLAN eller ett aktivt VPN på datorn blockerar åtkomsten. Båda enheterna måste nå varandra i samma nät.
- Drainbee är offline: visar appen ingen aktuell nivå, kontrollera först ström och Wi-Fi vid enheten.
Wi-Fi-anslutning
Drainbee sänder bara på 2,4 GHz-bandet. Se till att din router erbjuder ett 2,4 GHz-nät och att signalen är stabil där enheten sitter.
Hur ofta ska man fråga?
Var 30:e till 60:e sekund räcker gott – i praktiken ändras nivån sällan snabbare. Mycket korta intervall belastar enheten och nätverket i onödan. Enstaka bortfall vid svag signal är normalt; Home Assistant visar då sensorn som otillgänglig en kort stund.
Vanliga frågor
Har Drainbee ett lokalt API?
GET http://enhetens-ip/status med JSON som {"measurement":{"cm":37,"ageMs":3200}} – den aktuella nivån i hela centimeter. Gränssnittet är skrivskyddat, kräver ingen inloggning och går inte att nå från internet.