Jump to content

Båtautomasjon med batteriovervåking og Zigbee


Sjøbliss

Recommended Posts

Jeg ser at følgende linje viser min posisjon:  $GPRMC,115940.00,A,5950.15218,N,01028.58294,E,0.043,,120919,,,A*72

 

Testet den på https://rl.se/gprmc

 

Kanskje kan dette nesten være så enkelt at man kan bruke Node-Red direkte mot TCP socketen og så klippe ut LAT/LONG direkte fra linjen og sette GPS posisjon til båten utifra det. Burde ikke være noen heksekunst....

268674824_Screenshot2019-09-1214_22_44.png.9f8fab3024be3b941320d848b7842bf0.png

Hjemmeside: https://www.sbarmen.no/

 

"Sofia" Nor Star 350 HT, 2008 modell med D6-370

"Sobasa" Nidelv 300 Sport, 2007 modell med D6-350: Historisk Finn annonse

Link to post
Share on other sites

1496671133_Screenshot2019-09-1215_57_40.png.5dcbf91dfb2bcc05b2070c490f8ab8a1.png

 

Der fikk jeg det til! :) 

 

Node-Red henter data fra AIS via TCP porten på min AIS CTRX GRAPHENE Wifi. Denne sender hele tiden AIS data ut og nå fikk jeg hentet ut min egen posisjon. Node-Red sender så melding til device_tracker.see på Home Assistant som sier hvor enheten "Sofia" er for øyeblikket. Dette kan jeg nok igjen bruke videre for å definere en alarm om båten skulle starte å bevege seg når jeg ikke er der f.eks. Men det får bli en annen dag! 

 

1110248695_Screenshot2019-09-1216_00_32.png.728f22a4b4e2a8a4d15712d42890a6d8.png

 

Om noen er interessert: https://pastebin.com/WfyKk2jS

 

Hjemmeside: https://www.sbarmen.no/

 

"Sofia" Nor Star 350 HT, 2008 modell med D6-370

"Sobasa" Nidelv 300 Sport, 2007 modell med D6-350: Historisk Finn annonse

Link to post
Share on other sites

For meg så ser det ut som du er på riktig spor med å importere AIS data.

For å sjekke AIS så bruker jeg "Maptracker" på signalk. Da ser du at du får data, og riktig data inn.

Loggingen i signalk har jeg aldri fått til, så den stoler jeg ikke på.

Videre bruker jeg ofte "skwiz" på andre data for å se hva jeg har tilgjengelig.

Dashboard->skwiz->signalk->"play knapp øverst i høyre hjørne".

 

skjermbilde.JPG.a387197e7e433b489dc49c1d5d822236.JPG

 

Siden du har blitt så glad i node-red, så vil jeg anbefale å legge inn disse i Node-red: https://github.com/SignalK/node-red-embedded

Da har du enkel tilgang til alle verdiene i signalk.

 

_

 

Jeg har flyttet over hjemmet mitt til hassio siden jeg ble så imponert over backup mulighetene til google drive.

Her er en guide, var utrolig enkelt:

 

En dag med god tid så skal jeg flytte hassio i båten også over på docker igjen.

Link to post
Share on other sites

Etter du har lagt inn de signalk-nodene jeg linker til i posten over, så kan du hente ut fartøyets possisjon på denne måten:

 

[{"id":"c152c866.ed5448","type":"signalk-subscribe","z":"73a0b7d3.169228","name":"navigation.position","mode":"sendChanges","flatten":true,"context":"vessels.self","path":"navigation.position","source":"","period":"10000","x":110,"y":40,"wires":[["11c5f73b.d9ef89","72ca2766.aa88c8"]]}]

 

Den er satt til å oppdatere hvert 10. sek.

Link to post
Share on other sites

802784570_Screenshot2019-09-1312_51_37.png.fda2f8bdda81fc399ac19563997fc7a5.png

 

Gjorde en liten reboot av SignalK etter jeg la til NMEA kilden igjen og nå dukket alt opp. Magisk :) Måtte boote for å få inn Skwiz, men det var nok rebooten som var nøkkelen. :D 

Hjemmeside: https://www.sbarmen.no/

 

"Sofia" Nor Star 350 HT, 2008 modell med D6-370

"Sobasa" Nidelv 300 Sport, 2007 modell med D6-350: Historisk Finn annonse

Link to post
Share on other sites

Liten avsporing, men siden jeg har flere Raspberry som gjør litt forskjellig, og en del Xiaomi kamera med SD brikker så ble det Kina shopping. 90kr kortet inkludert frakt er genialt! 

 

 

IMG_20190913_143514.jpg

Hjemmeside: https://www.sbarmen.no/

 

"Sofia" Nor Star 350 HT, 2008 modell med D6-370

"Sobasa" Nidelv 300 Sport, 2007 modell med D6-350: Historisk Finn annonse

Link to post
Share on other sites

Har du koblet NMEA2k til signalk?

Isåfall bør du legge inn denne flow`en:

https://pastebin.com/WxJf6SY1

 

Det den gjør er at den prioriterer heading, gps etc fra NMEA2k og ikke fra AIS. Evnt om du skrur av plotter så vil den hente data fra AIS.

signalk er dum så den tar imot alle data den kan få uten å tenke seg om. Det gjør at COG på min server har hoppet litt frem og tilbake. Plotteren er mer riktig enn AIS.

Link to post
Share on other sites

Vet ikke om AIS sender nmea2k videre ut på denne TCP porten men skal sjekke når jeg får slått på utstyret i helgen.

 

Vet du om jeg er nødt å kjøre embedded node-red under signalk eller om jeg kan bruke den jeg har på Hass? Klarer ikke se noe brukernavn og passord e.l. på nodene etter jeg la inn signalk pakkene fra manage palette. 

Hjemmeside: https://www.sbarmen.no/

 

"Sofia" Nor Star 350 HT, 2008 modell med D6-370

"Sobasa" Nidelv 300 Sport, 2007 modell med D6-350: Historisk Finn annonse

Link to post
Share on other sites

Det er jeg usikker på, jeg kjører node-red via signalk.. 

Skal prøve å legge dem til på hjemmeserver for å se hva som skjer.

 

Men... nå fikk jeg ett problem, satte opp duckdns og har tydeligvis gjort en feil i config.yaml. (Kjørte sjekk før restart, den rapporterte ikke om feil).

Hvor finner jeg nå igjen config.yaml når den ligger inni en container?

Jeg har ssh tilgang til maskinen, men ikke dockeren..

Link to post
Share on other sites

https://flows.nodered.org/node/@signalk/node-red-embedded

 

Ser ut som SignalK nodene må kjøre i embedded modus i SignalK for å virke. Det var dumt, men innafor. Jeg tror jeg da må migrere fra Hass.IO sin Node-Red til embedded i SignalK. Enkel export / import så det går nok fint. 

 

Dette burde egentlig SignalK fikse. Ville ikke vært noe problem å lage en enkel auth modul her. 

Redigert av Sjøbliss (see edit history)

Hjemmeside: https://www.sbarmen.no/

 

"Sofia" Nor Star 350 HT, 2008 modell med D6-370

"Sobasa" Nidelv 300 Sport, 2007 modell med D6-350: Historisk Finn annonse

Link to post
Share on other sites

Jeg har endt opp med å kjøre mine vanlig automatiseringer i Hass.IO sin Node-Red og de som har med posisjon og overvåkning av dette fra SignalK foreløpig. Fikk problemer med serial-input på SignalK sin Node-Red så da var det enklest slik. Det har jo egentlig ikke noe å si, man må bare huske at det er slik :) 

 

I dag driver jeg å tester følgende:

  - Oppdater på forsiden posisjon til båten i kartet

  - Etablere et alarm panel som jeg kan slå av / på manuelt

  - Sende en alarm melding dersom båten er i bevegelse (over 0,1 knop) og alarmen er aktivert

 

Jeg opprettet et manuelt alarm panel i Home Assistant ved å legge til følgende i configuration.yaml:

 

Sitat

alarm_control_panel:
  platform: manual
  name: Sofia Alarm

 

Dette la jeg til på forsiden ved å bruke UI konfigurasjon og legge til et alarm panel med oppføringen som kom opp (etter omstart av HA!). 

 

1835734311_Screenshot2019-09-1510_18_10.png.8ad1550438092e04dfcda457091ddc78.png

 

Så lagde jeg denne logikken i Node-Red (den integrerte i SignalK). 

 

444036319_Screenshot2019-09-1510_30_14.png.51a3f669952b92a0ba92752cecaa31f1.png

 

 

Denne tar posisjon til båten og farten til båten samt status på alarmen og setter sammen til et array (join). I funksjonen "Track and Notify" sjekker formaterer jeg JSON output slik at Home Assistant kan ta det imot og oppdatere device_tracker for båten. Dersom det er slik at båten beveger seg mer enn 0,1 knop og alarmen er på (armed_away) så sender den melding på output 2 som fyrer alarmen. I øyeblikket er det bare en notify som sendes til mobilen min men denne kan trigge sending av epost eller sirene i båten. Det blir neste revisjon. Panelet i appen ser nå slik ut:

 

1625947682_Screenshot2019-09-1510_26_26.png.e94a7e7ebc8bacb898a743774a6009b3.png

 

For å teste om alarmen virker trykker du på firkanten til venstre på alarm test. :)

 

For å sette opp notify (for å få sendt meldinger til mobiler osv) se her:

https://www.home-assistant.io/components/html5/

eller her:

https://www.home-assistant.io/components/pushbullet/

 

Node-Red flow her: https://pastebin.com/uWhBXJwn

 

 

Redigert av Sjøbliss (see edit history)

Hjemmeside: https://www.sbarmen.no/

 

"Sofia" Nor Star 350 HT, 2008 modell med D6-370

"Sobasa" Nidelv 300 Sport, 2007 modell med D6-350: Historisk Finn annonse

Link to post
Share on other sites

Alarmpanelet var kult, driver å setter opp mitt også. (husk å legge til kode).

Kjører varsel om det skulle bli registrert vann i kjølen, eller om noen av dør/vindussensorene aktiveres.

Etter innbruddet tidligere i sommer så har jeg montert sensorer på alle luker som er store nok til å komme seg inn i båten, samt lasterommet i cockpit.

 

Jeg sliter fortsatt med "undervoltage". Prøvemonterte en UBEC og fortsatt så melder den om dette:

Skjermbilde.JPG.29af20173464615f795fb9e06a8eaa4f.JPG

 

Alle USB enheter er på en hub med egen strømforsyning.. Får meldingen selv uten noe tilkoblet.

Målte spenningen fra UBEC til 4.87V, har en annen strømforsyning som leverer 5,16V stabilt, og fortsatt får jeg beskjed om undervoltage.

Kanskje det er noe feil med pi`en min så den bør byttes til en RPI4 ;)

Redigert av Dreuf (see edit history)
Link to post
Share on other sites

Da må det være noe galt med den ja. Hører at deconz virker med 4ern også så da er det jo bare å kline til! 

 

Jeg har startet å leke litt med tensorflow. Det krever også litt CPU så jeg må nok oppgradere også! Tensorflow bruker ML (machine learning) for å analysere video for å se om det er mennesker eller andre ting som blir filmet. Helt genialt for å fjerne falsk alarm på bevegelsesdetektorer ute, eller i båt! 

 

Screenshot_20190917_200618.jpg.cf94df41e5570dec4da2b238a6c623e7.jpg

 

Objekter som detekteres tagges og kan brukes som sensorer eller andre ting. Fantasien er eneste hindring!

Hjemmeside: https://www.sbarmen.no/

 

"Sofia" Nor Star 350 HT, 2008 modell med D6-370

"Sobasa" Nidelv 300 Sport, 2007 modell med D6-350: Historisk Finn annonse

Link to post
Share on other sites

Her er bilde av Node-Red logikk for kamera. Kort fortalt fungerer dette slik:

 

1. Bevegelse merkes av kamera og sender en MQTT beskjed som trigger en sensor (f.eks. livingroom movement) 

2. Så sjekker vi om alarmen er av, hvis av stopper logikken (bortsett fra på hageboden, den kjører døgnet rundt i øyeblikket)

3. Vi fanger et bilde fra kamera og gjør analyse for å finne ut om det er menneske på bildet (person)

4. Hvis person settes sensor til 1 eller mer så vi sjekker om den er 0, hvis ikke 0 gå videre

5. Laster så ned bildet og sender på mail 

6. Motioneye trigges, da vil den ta opp video i 15 sekunder før den stopper. Får vi en ny bevegelse i perioden på 15 sekunder så utvides videoen med ytterligere 15 sekunder til bevegelsen stopper og videoen stoppes opp. Motioneye lagrer all video på et NAS hos oss. 

 

Se her: https://pastebin.com/s4UMkpPu

 

Merk, jeg har nå to home assistant installasjoner. En som kjører bildelogikken fordi min Raspberry Pi ikke har ressurser til å klare dette. Derfor har jeg i Node-Red en hoved HA og en "video-overvåknings-server" som kjører Motioneye og Tensorflow. Dette skal jeg prøve å få satt opp også for båten. Et kamera i salongen og et under dekk. Video må da lagres til en USB pinne eller på SD kortet. Det får vi fundere litt på.

 

Skjermbilde fra 2019-09-17 21-52-56.png

Redigert av Sjøbliss (see edit history)

Hjemmeside: https://www.sbarmen.no/

 

"Sofia" Nor Star 350 HT, 2008 modell med D6-370

"Sobasa" Nidelv 300 Sport, 2007 modell med D6-350: Historisk Finn annonse

Link to post
Share on other sites

Tensorflow må være genialt for kamera jeg har inne i båten.

Hver gang det kommer noen gode bølger så får jeg varsel om bevegelse, litt irriterende å våkne opp med 33 emailer med bilde av ingenting.

 

Jeg har lagt inn tensorflow på hjemmeserveren som kjører hassio og da også lagt inn tensorflow via docker.

Men jeg skjønner ikke hvor det blir av bildene..

 

Den ser ut til at den leser kamera og finner div ting.

Tensorflow.JPG.2265f1878db1c8b74289243b3664e1e1.JPG

 

Og sånn ser config.yaml ut:

Skjermbilde2.JPG.f96d6bc1b000438440d1c904f60ef124.JPG

 

Skulle tro at bildene blir lagret under /tmp/ men den mappen er tom.

Har ikke noen feilmelding i loggen på hassio.

Link to post
Share on other sites

Jeg har filene i www katalogen slik at jeg kan sende de pr mail og HTML5 varsel. Her er min kode i configuration.yaml:

 

 


# Delete all files older than 7 days
shell_command:
  delete_old_tensorflow_images: find /config/www/tensorflow/* -mtime +7 -exec rm {} \;

camera:
  - platform: mjpeg
    name: Stue
    mjpeg_url: http://10.0.0.20:8081
  - platform: mjpeg
    name: Hagebod Forside
    mjpeg_url: http://10.0.0.20:8082
  - platform: local_file
    name: Bevegelse Stue
    file_path: /config/www/tensorflow/stue_latest.jpg
  - platform: local_file
    name: Bevegelse Hagebod Forside
    file_path: /config/www/tensorflow/hagebod_forside_latest.jpg


image_processing:
  - platform: tensorflow
    confidence: 75
    scan_interval: 604800
    source:
      - entity_id: camera.stue
      - entity_id: camera.hagebod_forside
    file_out:
      - "/config/www/tensorflow/{{ camera_entity.split('.')[1] }}_latest.jpg"
      - "/config/www/tensorflow/{{ camera_entity.split('.')[1] }}_{{ now().strftime('%Y%m%d_%H%M%S') }}.jpg"
    model:
      graph: /config/tensorflow/frozen_inference_graph.pb
      categories:
        - person
 

Sitter på mobil så var litt vanskelig å formatere pasten... Sorry. 

 

Merk videre at den kun lagrer filen dersom den får match på det du leter etter. Ingen match, ingen jpg. Jeg har også sett at det noen ganger tar litt tid før filen lagres så jeg har lagt inn en liten delay i flowen min. 

 

Hjemmeside: https://www.sbarmen.no/

 

"Sofia" Nor Star 350 HT, 2008 modell med D6-370

"Sobasa" Nidelv 300 Sport, 2007 modell med D6-350: Historisk Finn annonse

Link to post
Share on other sites

Med denne lagringsplassen finner du filen på denne URL etterpå:

 

https://Hassio.hostname:8123/local/tensorflow/stue_latest.jpg

 

Og

 

https://Hassio.hostname:8123/local/tensorflow/hagebod_forside_latest.jpg

 

Lagde også en enkel cleanup rutine som jeg trigger en gang i døgnet. 

 

 

Hjemmeside: https://www.sbarmen.no/

 

"Sofia" Nor Star 350 HT, 2008 modell med D6-370

"Sobasa" Nidelv 300 Sport, 2007 modell med D6-350: Historisk Finn annonse

Link to post
Share on other sites

Delta i diskusjonen

Du kan skrive innlegget nå, det vil bli postet etter at du har registrert deg. Logg inn hvis du allerede er registrert.

Guest
Svar på dette emnet

×   Du har postet formatert tekst..   Fjern formattering

  Only 75 emoji are allowed.

×   Innholdet du linket til er satt inn i innlegget..   Klikk her for å vise kun linken.

×   Det du skrev har blitt lagret.   Slett lagret

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...