Mitä saat
Drainbee mittaa pumppukaivon vedenpintaa hydrostaattisella upotettavalla anturilla (0–1 m, ±1 cm). Nykyisen pinnankorkeuden voit hakea suoraan kotiverkossa ja käyttää sitä älykodissasi:
- Pinnankorkeus anturina Home Assistantissa, ioBrokerissa tai Node-REDissä – tasasenttimetreinä.
- Omat näkymät ja automaatiot, esimerkiksi viesti tietyn rajan ylittyessä tai viikon kuvaaja.
- Yhdistäminen muihin antureihin, kuten sademääriin tai pumpun kulutusta mittaavaan älypistorasiaan.
Hälytykset pysyvät Drainbee-sovelluksessa: raja-arvo, sähkökatko ja Wi-Fi-yhteyden katkeaminen. Paikallinen kysely täydentää sovellusta, ei korvaa sitä.
Edellytykset
- Drainbee on käyttöönotettu ja yhdistetty Wi-Fi-verkkoosi. Jos ei vielä ole: asennusopas vie sinut läpi 15 minuutissa.
- Laitteen IP-osoite. Löydät sen Drainbee-sovelluksesta laitetiedoista. Myös reitittimesi näyttää sen liitettyjen laitteiden listassa.
- Älykotijärjestelmäsi samassa verkossa. Home Assistantin, ioBrokerin tai Node-REDin on tavoitettava Drainbee suoraan.
Vinkki: anna Drainbeelle kiinteä IP-osoite reitittimessä (DHCP-varaus). Muuten osoite voi vaihtua uudelleenkäynnistyksen jälkeen eikä kysely enää osu kohteeseen.
Testaa yhteys
Avaa samassa verkossa selaimeen http://laitteen-ip/status, esimerkiksi http://192.168.1.50/status. Päätteessä onnistuu curlilla:
curl http://192.168.1.50/status Drainbee vastaa pienellä JSON-objektilla:
{
"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
}
} Yksi päätepiste ja yksi vedenpinnan kenttä: measurement.cm. Arvo voi olla null.
Kyselyväli: 30–60 s riittää. Pyynnöt eivät nopeuta mittausta. Tunnista vanhentuneet arvot measurement.ageMs-kentän avulla.
Home Assistant
Home Assistantissa on kaikki tarvittava RESTful-integraatiossa. Lisää tämä lohko tiedostoon configuration.yaml, vaihda IP-osoite ja käynnistä Home Assistant uudelleen:
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 Sen jälkeen käytössäsi on entiteetti sensor.sump_level. scan_interval: 30 kysyy 30 sekunnin välein ja state_class: measurement tallentaa pitkän aikavälin tilastot. Historiassa näet pumppausjaksot sahalaitana: pinta nousee hitaasti ja laskee jyrkästi heti kun pumppu käy. Jos sinulla on jo rest:-osio, lisää lohko siihen uutena listakohtana.
Ilmoitus korkeasta pinnasta
Tämä automaatio ilmoittaa, kun pinta pysyy yli 60 cm:ssä kahden minuutin ajan. Luo Home Assistantissa uusi automaatio, vaihda YAML-näkymään ja liitä se. Säädä raja oman kaivosi mukaan.
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 menee oletuspalveluusi, yleensä Home Assistant -sovellukseen. Automaatio toimii vain niin kauan kuin Home Assistant on käynnissä ja tavoittaa Drainbeen – pidä siksi Drainbee-sovelluksen hälytykset päällä.
Ideoita jatkoon
- Template- tai derivative-anturi, joka näyttää kuinka nopeasti pinta nousee.
- Laske pumppausjaksot vuorokaudessa – jokainen jakso näkyy jyrkkänä pudotuksena.
- Pinnankorkeus ja sademäärä samassa kuvaajassa, jotta näet kuinka voimakkaasti kaivo reagoi sateeseen.
Node-RED
Node-REDissä pinnan hakemiseen riittää kolme solmua:
Aseta HTTP Request -solmun osoitteeksi http://192.168.1.50/status ja vastaukseksi jäsennetty JSON-objekti. Käynnistä pyyntö Inject-solmulla 60 sekunnin välein ja lisää sen jälkeen tämä Function-solmu.
Yksi päätepiste ja yksi vedenpinnan kenttä: measurement.cm. Arvo voi olla 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; Sieltä arvo jatkaa minne tarvitset: näkymään (mittari tai kuvaaja), mqtt out -solmun kautta brokeriin tai tietokantaan. Jos Drainbee ei vastaa, http request -solmu tuottaa virheen, jonka voit napata catch-solmulla.
ioBroker
Nopeinta on käyttää JavaScript-adapteria, jossa httpGet on käytettävissä versiosta 7.9 alkaen. Luo uusi skripti, vaihda IP-osoite ja käynnistä se:
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");
}
});
}); Skripti luo tietopisteen 0_userdata.0.drainbee.level ja kirjoittaa siihen nykyisen pinnankorkeuden 30 sekunnin välein. Sieltä voit näyttää sen VIS-näkymässä, käyttää sitä Blockly-säännöissä tai tallentaa History-adapterilla. Ilman JavaScript-adapteria saman osoitteen voi lukea säännöllisesti Parser-adapterilla.
Tietoturva
Paikallinen API on tarkoitettu luotettuun kotiverkkoosi. Siinä ei ole tunnistautumista eikä HTTPS-salausta. Kuka tahansa, joka saa yhteyden Drainbeehen verkossa, voi lukea tilan, mutta API:n kautta ei voi muuttaa mitään.
Älä tee portinohjausta portista 80 Drainbeehen reitittimessäsi. Käytä etäyhteyteen Drainbee-sovellusta tai VPN-yhteyttä kotiverkkoosi.
Vianetsintä
Kysely ei vastaa
- IP-osoite on vaihtunut: tarkista nykyinen osoite sovelluksesta tai reitittimestä ja tee DHCP-varaus.
- Eri verkko: vierasverkko, erilliset VLANit tai tietokoneella päällä oleva VPN estävät yhteyden. Molempien laitteiden on tavoitettava toisensa samassa verkossa.
- Drainbee on offline: jos sovellus ei näytä ajantasaista pintaa, tarkista ensin laitteen virta ja Wi-Fi.
Wi-Fi-yhteys
Drainbee toimii vain 2,4 GHz:n taajuudella. Varmista, että reitittimessäsi on 2,4 GHz:n verkko ja että signaali on vakaa asennuspaikalla.
Kuinka usein kysyä?
30–60 sekunnin väli riittää hyvin – käytännössä pinta muuttuu harvoin nopeammin. Hyvin lyhyet välit kuormittavat laitetta ja verkkoa turhaan. Yksittäiset katkokset heikolla signaalilla ovat normaaleja; Home Assistant näyttää anturin silloin hetken ei-saatavilla olevana.
Usein kysytyt kysymykset
Onko Drainbeessä paikallinen API?
GET http://laitteen-ip/status JSONilla, esimerkiksi {"measurement":{"cm":37,"ageMs":3200}} – nykyinen pinnankorkeus tasasenttimetreinä. Rajapinta on vain luettava, se ei vaadi kirjautumista eikä siihen pääse internetistä.