Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spec for intermittent motors and pumps #634

Open
bobhy opened this issue Dec 25, 2021 · 2 comments
Open

Spec for intermittent motors and pumps #634

bobhy opened this issue Dec 25, 2021 · 2 comments

Comments

@bobhy
Copy link

bobhy commented Dec 25, 2021

Motivated by a desire to monitor my bilge pump in SignalK. But a standard should be applicable to other kinds of pumps (think domestic water, hydraulic, macerators) and to intermittent motors of all kinds (think fans, compressors).

For pumps, we will also want to measure flow, or proxies for flow like pressure, rpm, amperage. Please add your thoughts!

Core stats:

  • status: (string) RUNNING, STOPPED or UNKNOWN (means sensor isn't reporting anything)
  • last_edge: (UTC timestamp) date/time of the transition into the currently-reported status.
  • history_start: (UTC timestamp) date/time the following stats were zeroed.
  • cycle_count: (integer) cumulative number of duty cycles. (I propose a duty cycle is counted on the transition from RUNNING to STOPPED, but that's arguable.)
  • run_time: (seconds) cumulative RUNNING time in the current epoch of history

This should be able to appear under a path called "motor" or "pump", e.g "electrical.motor.N...." or "hydraulic.pump.N...."

@preeve9534
Copy link

In some ways #600 may relate to this. It seems to me that we need to be clear about what classification principle is at play - are we structuring things around their application or their power type?

I would suggest the former is generally preferable and then the power type would become an attribute - after all, motors do something, they don't operate in isolation. That does however tend to demote motors to a secondary level of importance from which the perhaps should be rescued. Given the ubiquity of pumps on a vessel, then I can certainly see these standing as a top-level entity and this would yield

pumps
id

and the rescue strategy might give

motors
id

If a pump is operated by a motor (as would usually be the case), then it would be useful to be able to associate a pump with its power source and I'm not sure if there is an emerging mechanism in Signal K for this cross association.

As an aside, the Signal K standard seems to adopt plurals for collection of things (think tanks and switches) and the status of something is mostly reported as state (rather than status). Also, camelCase is used rather than '_'.

@bobhy
Copy link
Author

bobhy commented Jan 19, 2022 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants