This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Semi-automatic digital logbook for Signal K
#1
So, here’s something I’ve been building for the upcoming cruising season:
https://bergie.iki.fi/blog/electronic-logbook/

This is a Signal K plugin that provides both the backend and user interface for maintaining a digital logbook. Automation includes hourly entries, as well as entries for trip start/end, motor on/off, etc.
Log entries can be added and viewed from any web-capable device on the boat network, and the system adds all relevant telemetry from Signal K to the entries (things like coordinates, wind, barometer, …)

[Image: logbook-logbook.png]

The entries are kept as simple human and machine readable YAML files on disk for easy backup and analysis with other software. The system also has a REST API to support custom integrations.

Source code at https://github.com/meri-imperiumi/signalk-logbook
Lille Ø - S.C. Gothia, Berlin
https://lille-oe.de/
Reply
#2
I am fairly excited about this! Logbook has been a missing feature on the SK side.

There's also more to this than just the logbook plugin: bergie has pushed the SK sailsconfiguration plugin forward, so that it is actually usable: you can enter your sails inventory in the plugin configuration and record your sail changes in the logbook UI. So it is actually two plugins working together, with open and documented APIs.

So instead of "each plugin doing its own thing" Signal K supports creating modular APIs that can be used between the different components / user interfaces.
Reply
#3
Likewise excited; never managed to get into a proper logging routine myself. I like the modular and extensible setup. Thx for sharing - and building!
Reply
#4
Nice plugin indeed!
Just one question, would it be possible to display the log time in local time instead of UTC?
Reply
#5
(2023-03-08, 06:14 PM)MigGat Wrote: Nice plugin indeed!
Just one question, would it be possible to display the log time in local time instead of UTC?

We could make that configurable. The question is, which local: the timezone of the current user, the ship's timezone now, or the timezone of the location of the log entry? That's why UTC was easier to start with  Wink
Lille Ø - S.C. Gothia, Berlin
https://lille-oe.de/
Reply
#6
A dropdown to select between all timezones it would be awesome, but to start easy, I would add something like a checkbox "Display local time" using system's timezone. Just and idea! Big Grin

I'm far from an expert in React (actually i've never worked with it) but I see you use {entry.date.toLocaleString('en-GB', { timeZone: 'UTC' })} to display the date. I assume it's possible to configure the 'UTC' constant as a global variable. It can even be a setting on the SignalK's plugin config page, where user manually specifies "UTC", "UTC+1", or something like that. Just trying to find out the easiest way to solve this. I would write it myself and make a pull request, but i don't think I'm skilled enough :S
In any case, i have nothing to do tomorrow, so I'll try.
Reply
#7
I would like to support "Display local time". I tried the app as is, its otherwise great, but after a few days the date being out by half a day for me became too frustrating. Thanks.
Reply
#8
So I wrote this very simple setting with all the available time zones for the user to configure:

   

Is far from optimal, because it's only really useful for sailors that doesn't change timezone frequently, but at least for me does the trick Tongue

Let me know if you want me to make a PR for this change.

(Obviously i have replaced all entry.date.toLocaleString('en-GB', {timeZone:'UTC'}) by entry.date.toLocaleString('en-GB', {timeZone: props.displayTimeZone}))
Reply
#9
(2023-03-09, 09:57 AM)MigGat Wrote: So I wrote this very simple setting with all the available time zones for the user to configure:



Is far from optimal, because it's only really useful for sailors that doesn't change timezone frequently, but at least for me does the trick Tongue

Let me know if you want me to make a PR for this change.

(Obviously i have replaced all entry.date.toLocaleString('en-GB', {timeZone:'UTC'}) by entry.date.toLocaleString('en-GB', {timeZone: props.displayTimeZone}))

That would be great, thanks!
Lille Ø - S.C. Gothia, Berlin
https://lille-oe.de/
Reply
#10
It's done, but please review it carefully. As I said it's the firt time i put my hands on a React app :S
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)