Hoppa till innehållet
Drainbee
Köp
Smarta hem · Lokalt API

Anslut Drainbee till Home Assistant, ioBroker & Node-RED

Drainbee lämnar ut den aktuella nivån som JSON i hemnätverket. Så här hämtar du in värdet som en sensor i ditt smarta hem – med några rader konfiguration, utan omvägen via molnet.

Visa API-dokumentationen → Från firmware 1.2.5
Anrop
GET /status
Svar
nivå i cm
Åtkomst
endast lokalt

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:

Terminal
curl http://192.168.1.50/status

Drainbee svarar med ett litet JSON-objekt:

Svar
{
  "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:

configuration.yaml
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.

Automation · YAML
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.

function-nod
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:

ioBroker · JavaScript
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?
Ja. I hemnätverket svarar Drainbee på 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.
Fungerar Drainbee med Home Assistant?
Ja, via Home Assistants RESTful-integration. Några rader YAML gör nivån till en sensor som du kan använda i instrumentpaneler, historik och automationer. Någon egen Drainbee-integration finns inte – och behövs inte heller.
Behöver jag molnet för det här?
Inte för den lokala avläsningen: Home Assistant, ioBroker eller Node-RED hämtar värdet direkt från enheten i nätverket. Installation, app och larm går däremot via Drainbee-molnet, så Drainbee behöver fortfarande Wi-Fi med internet för att du ska larmas när du är borta.
Fungerar Drainbee med HomeKit?
Inte direkt: Drainbee har inget inbyggt stöd för HomeKit, Matter, Bosch Smart Home eller FRITZ!Box. Home Assistant kan däremot skicka vidare entiteter till Apple Home via sin HomeKit-brygga. Vilka sensortyper som kommer fram där bestäms av HomeKit; en framkomlig väg är en binärsensor som härleds ur nivån, till exempel ”nivån för hög”.
Kan jag ge Drainbee en fast IP-adress?
Ja, i routern. De flesta routrar erbjuder en DHCP-reservation i inställningarna för den enskilda nätverksenheten. Då behåller Drainbee sin adress även efter omstart och din avläsning fortsätter fungera.

Har du ingen Drainbee än?

Sond, app och lokal avläsning för 298 € en gång – utan abonnemang.