Jump to content

Båtautomasjon med batteriovervåking og Zigbee


Sjøbliss

Recommended Posts

Det vet jeg ikke, men jeg vet at ZigBee har vært utviklet fra dag 1 å være batterivennlig. Jeg har prøvd sensorer på begge to plattformer. Bevegelsesensor på zwave var tom for strøm etter ca 2 mnd, zigbee sensor over ett år, og den hadde halvparten så store batterier installert. 

Link to post
8 hours ago, Sjøbliss said:

Kan du si noe mer om hvordan du har satt opp victron og mqtt? Jeg benyttet jo avlesning fra USB rett til json fil lokalt. Bruker du USB eller Bluetooth? Hvordan f du data inn? 

 

Avlesning gjøres fra USB (egentlig kan man koble BMV rett inn på RPI GPIO), og behandles i Node-RED for filtrering etc før de publiseres med MQTT;

2094645137_Screenshot2019-01-20at01_49_38.png.3c8637792a766cd40203359432ef1be7.png

 

Her er flow export;

 

[{"id":"77e843b2.fc9994","type":"tab","label":"Read Victron BMV","disabled":false,"info":""},{"id":"d4fd2933.e06dd8","type":"serial in","z":"77e843b2.fc9994","name":"Victron","serial":"63b50c1b.ff9cb4","x":50,"y":20,"wires":[["f9f16282.01ce08","81c37da8.b872e"]]},{"id":"f9f16282.01ce08","type":"debug","z":"77e843b2.fc9994","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":850,"y":20,"wires":[]},{"id":"5924983c.c4ca2","type":"debug","z":"77e843b2.fc9994","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","x":850,"y":60,"wires":[]},{"id":"81c37da8.b872e","type":"function","z":"77e843b2.fc9994","name":"Convert_obj","func":"// 'msg' is the message object the Function node receives\nvar myVars = msg.payload.split(\"\\r\\n\");\nvar result = {};\nmyVars.forEach(function(v) {\n   // The following split uses ' = ' - because your example output appears to\n   // have spaces around the equals sign.\n   var parts = v.split(\"\\t\");\n   result[parts[0]] = parts[1];\n});\nmsg.payload = result;\n// The Function node returns the message to be sent to the next node(s) in the flow\nreturn msg;","outputs":1,"noerr":0,"x":210,"y":60,"wires":[["5924983c.c4ca2","63cc8f6b.e659c"]]},{"id":"bff90b59.bb807","type":"debug","z":"77e843b2.fc9994","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":830,"y":120,"wires":[]},{"id":"63cc8f6b.e659c","type":"split","z":"77e843b2.fc9994","name":"","splt":"\\n","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":true,"addname":"topic","x":190,"y":120,"wires":[["bff90b59.bb807","64cf12e7.8c868c"]]},{"id":"64cf12e7.8c868c","type":"switch","z":"77e843b2.fc9994","name":"Route","property":"parts.key","propertyType":"msg","rules":[{"t":"eq","v":"V","vt":"str"},{"t":"eq","v":"I","vt":"str"},{"t":"eq","v":"SOC","vt":"str"}],"checkall":"true","repair":false,"outputs":3,"x":190,"y":256,"wires":[["a455d9af.c38848"],["81fb9023.d4ba58"],["14cf0ca0.7b5deb"]]},{"id":"43a985f8.417f8c","type":"debug","z":"77e843b2.fc9994","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":850,"y":176,"wires":[]},{"id":"607dcb07.18623c","type":"debug","z":"77e843b2.fc9994","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":851,"y":257,"wires":[]},{"id":"a455d9af.c38848","type":"change","z":"77e843b2.fc9994","name":"V to num","rules":[{"t":"set","p":"payload","pt":"msg","to":"$number(msg.payload)/1000","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":176,"wires":[["43a985f8.417f8c","ff38d766.3bdc2"]]},{"id":"81fb9023.d4ba58","type":"change","z":"77e843b2.fc9994","name":"I to num","rules":[{"t":"set","p":"payload","pt":"msg","to":"$number(msg.payload)/1000","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":256,"wires":[["607dcb07.18623c","31ed5524.2e4bd2"]]},{"id":"961c7695.5c0b5","type":"debug","z":"77e843b2.fc9994","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":850,"y":354,"wires":[]},{"id":"6835efd8.2dc18","type":"mqtt out","z":"77e843b2.fc9994","name":"Volt","topic":"Hvalborg/Victron/Volt","qos":"1","retain":"","broker":"dbff360b.75ffc8","x":770,"y":220,"wires":[]},{"id":"14cf0ca0.7b5deb","type":"change","z":"77e843b2.fc9994","name":"SoC to num","rules":[{"t":"set","p":"payload","pt":"msg","to":"$number(msg.payload)/10","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":370,"y":356,"wires":[["961c7695.5c0b5","82736f0a.59375"]]},{"id":"e4da7985.536e48","type":"mqtt out","z":"77e843b2.fc9994","name":"Current","topic":"Hvalborg/Victron/Current","qos":"","retain":"","broker":"dbff360b.75ffc8","x":780,"y":300,"wires":[]},{"id":"473a432e.b17a4c","type":"mqtt out","z":"77e843b2.fc9994","name":"SOC","topic":"Hvalborg/Victron/SOC","qos":"","retain":"","broker":"dbff360b.75ffc8","x":770,"y":400,"wires":[]},{"id":"cebc43f5.3b1fa","type":"delay","z":"77e843b2.fc9994","name":"Rate","pauseType":"timed","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"5","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"x":650,"y":220,"wires":[["6835efd8.2dc18"]]},{"id":"a88f064e.adb2e8","type":"delay","z":"77e843b2.fc9994","name":"Rate","pauseType":"timed","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"5","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"x":650,"y":300,"wires":[["e4da7985.536e48"]]},{"id":"a016e25d.2061d8","type":"delay","z":"77e843b2.fc9994","name":"Rate","pauseType":"timed","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"5","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"x":650,"y":400,"wires":[["473a432e.b17a4c"]]},{"id":"ff38d766.3bdc2","type":"smooth","z":"77e843b2.fc9994","name":"Two dec","property":"payload","action":"mean","count":"5","round":"2","mult":"multi","x":520,"y":220,"wires":[["cebc43f5.3b1fa"]]},{"id":"31ed5524.2e4bd2","type":"smooth","z":"77e843b2.fc9994","name":"Two dec","property":"payload","action":"mean","count":"5","round":"2","mult":"multi","x":520,"y":300,"wires":[["a88f064e.adb2e8"]]},{"id":"82736f0a.59375","type":"smooth","z":"77e843b2.fc9994","name":"No dec","property":"payload","action":"mean","count":"5","round":"0","mult":"multi","x":520,"y":400,"wires":[["a016e25d.2061d8"]]},{"id":"63b50c1b.ff9cb4","type":"serial-port","z":"","serialport":"/dev/ttyUSB0","serialbaud":"19200","databits":"8","parity":"none","stopbits":"1","newline":"\\n","bin":"false","out":"char","addchar":false,"responsetimeout":"600"},{"id":"dbff360b.75ffc8","type":"mqtt-broker","z":"","name":"Hvalborg","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"","closeTopic":"","closeQos":"0","closeRetain":"false","closePayload":"","willTopic":"","willQos":"0","willRetain":"false","willPayload":""}]

 

Link to post

En annen litt fiffig sak jeg kom over er Webhookrelay.com. Siden det kan være nokså kronglete å få kontakt med Home Assistant i båten "utenfra" via mobilnett, dynamisk dns etc, er denne tjenesten bare helt genial. Liten add-on modul til HASS.io, som oppretter tunnel man enkelt kobler seg til;

 

hassio-addon.jpeg.c57e6ca5e4d12c819a106866fbae1da4.jpeg

 

Enkelt å sette opp, glimrende support og veldig stabilt så langt.

Link to post

Den så fin ut. Jeg bruker duckdns, den er også superenkel. Har mitt eget domene med cname peker til duckdns. Fungert i et år nå ? 

 

Node-red skal jeg titte litt mer på. Er ikke så "gui" av meg men dette så veldig kult ut. Sjekka intro videoen til IBM, ganske nifty. Lurer på om jeg kan benytte dette også til AIS data. Har slått av transponderen nå for vinteren men kanskje jeg slår den på neste gang jeg er i båten for å forske litt mer. 

Link to post

Vil absolutt anbefale dere å lese dere opp / teste signalk, er ikke noe poeng i å finne opp kruttet på nytt :)

Det samler alt NMEA, AIS, Victron og sikkert mye mer inn i en server også kan man hente ut igjen data derifra, f.eks via Node-red.

 

Vedr ekstern tilgang så har jeg installert Cayenne fra myDevices.

Det finnes en Node-red plugin som sender data til Cayenne og man har tilgang via en app.

 

Kan legge til mye mer enn hva jeg har gjort her. Dette er mer "vitale vinterdata".

 

Screenshot_20190120-135229_Cayenne.jpg.b751abe8fbced585843606d99b441cc8.jpg 

 

Node-red er ett genialt verktøy for meg som ikke kan så mye programmering.

 

Her er uthenting av informasjon fra signalk som presenteres på infoskjermen i båten:

Skjermbilde1.JPG.01c0a6c2f5c9ecf2011c5cceb6b3966a.JPG

 

Her er landstrøm delen: (kommer nok til å prøve zigbee i sommer på landstrømmen).

 

Skjermbilde2.JPG.3d197a856513753f4aedabb4f319ae7d.JPG

 

Edit:

 

Her er skjermbildet på Rpien som er montert inni båten:

Skjermbilde3.JPG.b39637f317d703ca58755aecfe9483f8.JPG

 

Med signalk så kan man også sende temperaturer, tanksensorer etc via NMEA2k, så du kan hente opp igjen informasjonen på plotteren.

 

 

Edited by Dreuf
Link to post

I alle dager, som om man ikke hadde nok å sette seg inn i. :giggle:

Dette så jo virkelig interessant ut. Signal K har jeg aldri vært borti før, men det ser veldig interessant ut. Utfordringen er rett og slett å få tid til alt :giggle:

 

Ser virkelig ut til at du har både interesse og kontroll på tingene. Du som labber så mye ville jeg absolutt anbefale å se litt mere på esp8266  og esp32. Esp8266 får du for ca 25-30kr men vil du også ha blietooth, flere gpio, både analoge og digitale, så er esp32 veldig fin. Koster 45-50kr. Sonoff kjører på esp8266 og basic utgaven koster rundt en 50 lapp. Litt modding så får du tilgang til en masse snacks :giggle:

 

Esp sakene har veldig fin flyt mot LoRa og når 5G kommer så vil en helt ny verden åpne seg med tanke på IoT. 

Edited by Kjellg
Link to post

SignalK ser perfekt ut :) Takk for tips! Jeg får data fra AIS transponderen min over nettverket og jeg er ganske sikker på at formatet er NMEA0183 uten at jeg har sjekket det. Jeg klarer å fange disse dataene til en virtuell device på Raspberry og dersom SignalK aksepterer denne som en tty enhet (virtuell seriell port) så burde det fungere. Jeg drodler videre, men det ser ut som jeg må en tur i båten i nærmeste fremtid!

Link to post

Hvordan henter du ut AIS data på nettverket? Er det en NMEA strøm, da kan du legge den direkte inn i signalk.

Ellers kan du bruke node-red:

Skjermbilde4.JPG.552ba32e6a0c8b8b8174cfcabdfa5870.JPG

 

Det som her skjer er at jeg henter temp og fuktighet fra domoticz / http api, konverterer det og sender den inn i signalk. 

Den nederste linjen henter data fra en arduino og sender det inn til signalk.

 

signalk har da en plugin som gjør at du kan hente ut igjen data fra signalk og sende det ut som nmea0183 eller nmea2000.

Den multiplexer også mellom nmea0183 og nmea2000. Så jeg henter inn AIS fra nmea0183 og sender det ut igjen på nmes2k (seatalkng) nettverket mitt.

 

Vedr ESP8266 så er det en genial dings, bruker en sånn med ESPeasy software og 1-wire for å holde kontroll på temperaturene på den vannbårnevarmen hjemme.

 

Har også lekt litt med en ESP8266 med ESPeasy sammen med en Nextion skjerm som jeg vurderer å montere i forpiggen som jeg tenker å kjøre informasjon om batteri, ankeralarm, vind og dybde.

 

Må bare passe seg for at man ikke trenger ett kraftverk for å drifte båten. :blush:

Link to post

Dette er hvor man henter inn nmea inn i signalk:

Skjermbilde5.JPG.aa2994b0bbaaa5e8aacd89b996e36148.JPG

 

Under select source så kan man velge mellom TCP Server, TCP Client, UDP eller serial device.

 

(beklager spamming av tråden, synes dette er over snittet gøy..)

Link to post

Perfekt @Dreuf!! Keep on spamming! :D :D :D 

 

Jeg har en Seapilot Graphene + som sender NMEA data ut på port 10110, mener det er TCP. Det kan jeg dra rett inn i SignalK. Dette skal sjekkes. 

 

Ellers har jeg fått satt opp Node-RED (i natt!). Fikk ikke sove så lekte meg litt med det og så langt ser det ut å virke!

 

image.png.a2c039f84c11e64ebb772b52a883e517.png

 

Satt opp debug på ampere-trekk og får riktige tall ut med en gang! Dette er perfekt. Jeg skal bare legge til en egen flow til startbatteriet og så MQTT broker til HA så blir det nye tider. Digger denne tråden! 

Link to post

Det er en arduino som er koblet til pi`en via usb.

Til arduinoen så er det koblet 4stk kapasitive sensorer som er limt på utsiden av tanken.

https://www.ebay.com/itm/Non-contact-Pipe-Tube-Liquid-Water-Level-Detection-Sensor-Switch-DC-12V-24V/332356908562?hash=item4d6203f612:g:Uv4AAOSwVRpZoB5w

WS-03B heter vel den sensoren jeg bruker (5v).

 

De virker som en bryter og skrur seg på når nivået stiger over der sensoren er limt fast.

 

De angir da tom, 1/4, 1/2 , 3/4 og full. (vil man ha bedre oppløsning så kan man putte inn flere sensorer).

 

Men ila våren som kommer jeg til å bytte ut arduinoen med en esp8266 som kjører espeasy programvare, blir trådløst så jeg sparer en kabel også sender den via mqtt.

 

Var en lang tråd inne her i fjor høst med en ultralydsensor som kunne angitt reelt nivå i tanken, men den fikk jeg ikke til å virke med min tank (plast).

Edited by Dreuf
Link to post
Dreuf skrev for 1 time siden:

 

Men ila våren som kommer jeg til å bytte ut arduinoen med en esp8266 som kjører espeasy programvare, blir trådløst så jeg sparer en kabel også sender den via mqtt.

 

Har du prøvd Tasmota? Jeg kjører bare Tasmota men har ikke prøvd espeasy og lurte på hvem du hadde best erfaring med. Du vet at sonoff også bruker ESP8266? Da får du med både rele og sensorer til under en hundrings. 

Link to post

@Sjøbliss Jepp, kommer til å fortsette å bruke samme sensorer.

 

@Kjellg Har ikke prøvd Tasmota/Sonoff, må lese meg litt opp på det. Fordelen i forhold til å bruke en ESP er at de kommer i en plastboks.

En ESP8266 og en DS18B20 tempsensor kommer på 30-40kr så er ikke så ille det heller ;)

Fant en liten sammenligning av Tasmota, ESPeasy og ESPurna her:

https://lobradov.github.io/FOSS-Firmware-comparison-overview/

 

Bestilte meg nettopp en Gledopto Zigbee dimmer 12v for å se om jeg kan styre taklyset i båten.

Vært kjekt å kunne skru på/av alt med en bryter, samt å ha dimmefunksjon. 

Link to post

Har også tenkt på å kjøpe en ZigBee RGB dimmer på 12v for å teste, setter meg litt i ventefjord for å se dine erfaringer! Har også tenkt på å plugge noe slikt inn på styringen til Eberen min. Så deilig å kunne fyre opp varmeren fra under dyna om morgenen!! :O 

Link to post
2 hours ago, Dreuf said:

Om man bare skal skru av/på så kan man bruke en arduino om man vil trekke ledning, eller en esp8266 med ett rele om man vil kjøre trådløst:

 

Har slik styring nå, men det er kun av/på. Var ute etter om noen hadde forsket på effektregulering av Eber. Kan vel ikke være så vanskelig.. Hadde vært kult å brukt termostat funksjonen i HA.

Link to post

Det kunne jeg også tenkt meg, men det er av/på som er første målet. Det skulle være ganske lett å fikse bak bryteren etter det jeg leste et annet sted. Har ikke prøvd meg på noe enda men det skal gjøres, helt klart! Om noen finner full styring av eber så veldig gjerne! 

Link to post

Da har jeg også fått satt opp Node-RED med MQTT. Dette fungerte overmåtelig bra! 

 

Konfig for Node-RED er her: https://pastebin.com/9xAwL3hs

 

Merk, jeg la til fire "konfig" JSON inputs til MQTT som definerer sensorene slik at man får MDI informasjon og autodiscovery til å virke. Jeg brukte litt tid på å skjønne dette da MQTT ikke er mitt kompetanseområde. Men om noen har lyst å få til noe likt så kan jeg anbefale å lese her: https://community.home-assistant.io/t/mqtt-discovery-and-node-red/93525/24. Her er alle stegene mine i hele ettermiddag og kveld godt dokumentert. Digger MQTT, det gir mye mer responsiv oppdatering av sensorene samt slipper man å skrive til en fil og lese opp igjen hele tiden, nå går det direkte i minnet hele veien. Helt klart en fordel! 

 

Da er dafang i nattmodus og enda en dag med home-assistant er ferdig, knallbra! 

image

 

Link to post

Obs, du må manuelt "trigge" MQTT config en gang for å få satt configen. Den er ikke automatisk, men etter du har gjort det en gang så lagres den. Dersom du endrer på noe i JSON oppsettet så bare trigger du den igjen. 

 

image.png.343420c99e06f1866d34584e8238352d.png

 

Du bare klikker på den lyseblå firkanten til venstre for *json boksene for å sette config inn i MQTT brokeren din. Jeg skal se om jeg får ånden over meg til å forklare hvordan jeg satte opp alt litt senere... Takk for i dag!

Link to post

Husker jeg har lest en del om regulering av Eber, og fant igjen noen gamle artikler; https://www.letonkinoisvarnish.co.uk/eberspacher_control_1.html 

 

Essensen er;

"The 430 ohm variable resistor with the 1750 ohm fixed resistor set the target temperature. Eberspacher specification for the controller is it should adjust from 1750 to 2180 ohms." Denne motstanden er mellom brun/hvit (gnd) og grå/rød (set temp) ledning på Eber'n.

 

Da trenger vi en smarting som kan fikse noe med GPIO. Anyone?

Link to post

Create an account or sign in to comment

For Norwegians: Hvis du leser dette så er engelsk forumspråk aktivt, du kan endre dette til norsk med "System Language" knappen nederst på alle sider

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...