Hopp til innhold
Drainbee
Kjøp
Smarthus · Lokalt API

Koble Drainbee til Home Assistant, ioBroker & Node-RED

Drainbee gir ut det aktuelle nivået som JSON i hjemmenettet. Slik henter du verdien inn som sensor i smarthuset ditt – med noen få linjer konfigurasjon, uten omveien om skyen.

Se API-dokumentasjonen → Fra firmware 1.2.5
Forespørsel
GET /status
Svar
nivå i cm
Tilgang
kun lokalt

Dette får du

Drainbee måler vannstanden i pumpesumpen med en hydrostatisk nedsenkbar sonde (0–1 m, ±1 cm). Det aktuelle nivået kan du hente direkte i hjemmenettet og bruke videre i smarthuset:

  • Nivået som sensor i Home Assistant, ioBroker eller Node-RED – i hele centimeter.
  • Egne dashbord og automasjoner, for eksempel en melding over et gitt nivå eller en graf over uken.
  • Kombinasjon med andre sensorer, som nedbørsdata eller et målende smartuttak ved pumpen.

Varslene blir liggende i Drainbee-appen: terskelverdi, strømbrudd og tapt Wi-Fi. Den lokale avlesningen utfyller appen, den erstatter den ikke.

Forutsetninger

  • Drainbee er satt opp og koblet til Wi-Fi-et ditt. Hvis ikke: installasjonsguiden tar deg gjennom det på 15 minutter.
  • IP-adressen til enheten. Du finner den i Drainbee-appen under enhetsinformasjonen. Ruteren din viser den også i listen over tilkoblede enheter.
  • Smarthuset ditt i samme nettverk. Home Assistant, ioBroker eller Node-RED må nå Drainbee direkte.

Tips: gi Drainbee en fast IP-adresse i ruteren (DHCP-reservasjon). Ellers kan adressen endre seg etter en omstart, og avlesningen din slutter å virke.

Test forbindelsen

Åpne http://ip-til-enheten/status i nettleseren i samme nettverk, for eksempel http://192.168.1.50/status. I terminalen går det med curl:

Terminal
curl http://192.168.1.50/status

Drainbee svarer med et lite 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
  }
}

Ett endepunkt, ett felt for vannstanden: measurement.cm. Kan være null.

Avlesningsintervall: 30–60 s er tilstrekkelig. Forespørsler gjør ikke målingen raskere; bruk measurement.ageMs for å oppdage gamle verdier.

Home Assistant

Home Assistant har alt du trenger i RESTful-integrasjonen. Legg blokken inn i configuration.yaml, sett inn IP-adressen din og start Home Assistant på nytt:

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

Da får du entiteten sensor.sump_level. scan_interval: 30 spør hvert 30. sekund, og state_class: measurement gir langtidsstatistikk. I historikken ser du pumpesyklusene som en sagtann: nivået stiger sakte og faller brått så snart pumpen går. Har du allerede en rest:-oppføring, legger du bare blokken til som et nytt punkt i listen.

Melding ved høyt nivå

Denne automasjonen sier fra når nivået ligger over 60 cm i to minutter. Opprett en ny automasjon i Home Assistant, bytt til YAML-visningen og lim den inn. Terskelen tilpasser du til din sump.

Automasjon · 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 til standardtjenesten din, som regel Home Assistant-appen. Automasjonen virker bare så lenge Home Assistant kjører og når Drainbee – la derfor varslene i Drainbee-appen være på.

Ideer å bygge videre på

  • En template- eller derivative-sensor som viser hvor raskt nivået stiger.
  • Tell pumpesykluser per døgn – hver syklus er et bratt fall i nivået.
  • Nivå og nedbør i samme diagram, for å se hvor sterkt sumpen reagerer på regn.

Node-RED

I Node-RED holder det med tre noder for å hente nivået:

Sett en HTTP Request-node til http://192.168.1.50/status og velg et tolket JSON-objekt som svar. Utløs den med en Inject-node hvert 60. sekund og legg deretter til denne Function-noden.

Ett endepunkt, ett felt for vannstanden: measurement.cm. Kan være null.

function-node
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 verdien videre dit du trenger den: til et dashbord (gauge eller graf), via en mqtt out-node til broker-en din, eller inn i en database. Er ikke Drainbee tilgjengelig, melder http request-noden en feil som du kan fange opp med en catch-node.

ioBroker

Raskest går det med JavaScript-adapteren, der httpGet er tilgjengelig fra versjon 7.9. Opprett et nytt skript, sett inn IP-adressen din og start 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 oppretter datapunktet 0_userdata.0.drainbee.level og skriver det aktuelle nivået inn i det hvert 30. sekund. Derfra kan du vise det i VIS, bruke det i Blockly-regler eller logge det med History-adapteren. Uten JavaScript-adapteren kan samme URL leses syklisk med Parser-adapteren.

Sikkerhet

Det lokale API-et er laget for ditt betrodde hjemmenettverk. Det har ingen autentisering eller HTTPS. Alle som kan nå Drainbee i nettverket, kan lese status, men ingenting kan endres via API-et.

Ikke videresend port 80 til Drainbee i ruteren. Bruk Drainbee-appen eller et VPN til hjemmenettet for ekstern tilgang.

Feilsøking

Ingen svar på forespørselen

  • IP-adressen er endret: sjekk gjeldende adresse i appen eller ruteren og sett opp en DHCP-reservasjon.
  • Annet nettverk: gjeste-Wi-Fi, separate VLAN eller et aktivt VPN på maskinen blokkerer tilgangen. Begge enhetene må nå hverandre i samme nett.
  • Drainbee er offline: viser appen ikke noe aktuelt nivå, sjekk først strøm og Wi-Fi ved enheten.

Wi-Fi-tilkobling

Drainbee sender kun på 2,4 GHz-båndet. Sørg for at ruteren tilbyr et 2,4 GHz-nett og at signalet er stabilt der enheten er montert.

Hvor ofte bør du spørre?

Hvert 30. til 60. sekund er rikelig – i praksis endrer nivået seg sjelden raskere. Svært korte intervaller belaster enheten og nettet unødig. Enkelte utfall ved svakt signal er normalt; Home Assistant viser da sensoren som utilgjengelig en kort stund.

Vanlige spørsmål

Har Drainbee et lokalt API?
Ja. I hjemmenettet svarer Drainbee på GET http://ip-til-enheten/status med JSON som {"measurement":{"cm":37,"ageMs":3200}} – det aktuelle nivået i hele centimeter. Grensesnittet er kun lesbart, krever ingen innlogging og kan ikke nås fra internett.
Fungerer Drainbee med Home Assistant?
Ja, via RESTful-integrasjonen i Home Assistant. Noen få linjer YAML gjør nivået til en sensor du kan bruke i dashbord, historikk og automasjoner. Noen egen Drainbee-integrasjon finnes ikke – og trengs heller ikke.
Trenger jeg skyen til dette?
Ikke til den lokale avlesningen: Home Assistant, ioBroker eller Node-RED henter verdien direkte fra enheten i nettverket. Oppsett, app og varsler går derimot via Drainbee-skyen, så Drainbee trenger fortsatt Wi-Fi med internett for at du skal bli varslet når du er borte.
Fungerer Drainbee med HomeKit?
Ikke direkte: Drainbee har ingen innebygd støtte for HomeKit, Matter, Bosch Smart Home eller FRITZ!Box. Home Assistant kan derimot sende entiteter videre til Apple Home via HomeKit-broen sin. Hvilke sensortyper som kommer frem der, bestemmes av HomeKit; en farbar vei er en binærsensor avledet av nivået, for eksempel «nivå for høyt».
Kan jeg gi Drainbee en fast IP-adresse?
Ja, i ruteren. De fleste rutere tilbyr en DHCP-reservasjon i innstillingene for den enkelte nettverksenheten. Da beholder Drainbee adressen sin også etter omstart, og avlesningen din fortsetter å virke.

Har du ingen Drainbee ennå?

Sonde, app og lokal avlesning for 298 € én gang – uten abonnement.