table of contents - signal ksignalk.org/specification/1.0.4/doc/signalk.pdf · position –...
TRANSCRIPT
1.1
1.2
1.2.1
1.2.2
1.3
1.3.1
1.3.2
1.3.3
1.3.4
1.4
1.4.1
1.4.2
1.4.3
1.4.4
1.4.5
1.4.6
1.5
1.6
1.7
1.8
1.9
TableofContentsSignalKSpecification
GettingStarted
UsingSK
DevelopingwithSK
DataModel
FullandDeltaModels
MultipleValues
Metadata
Sources
API
URLsandPorts
RESTAPI
StreamingWebSocketAPI
SubscriptionProtocol
Discovery&ConnectionEstablishment
Notifications
HowCanIHelp?
AppendixA:KeysReference(Vessel)
AppendixB:KeysReference(Others)
AppendixC:Changelog
AppendixD:Versioning
1
IntroductionThisisthedocumentationfortheSignalKSpecification1.0.4version,whichisavailableinthefollowingformats;
html(thisdocument)1.0.4pdfepubmobi
WhatisSignalK?
SignalKisamodernandopendataformatformarineuse.ItisanInternetfriendlystandardbuiltoncommonwebtechnologies,suchasJSONandWebSockets.SignalKisFreeandOpenSourcesoftware.ThisdocumentislicensedundertheCreativeCommonsCC-BY-SAlicense.AllSignalKsourcecodeislicensedundertheApacheLicense,Version2.0.SignalKisdevelopedintheopenwithhelpfromthemarinecommunity.Yourideasandfeedbackarevaluableandwelcome.
SignalKisdesignedtoworkinharmonywithaboat’sexistingnavigationequipmentwhichmayuseNMEA0183,NMEA2000orproprietarydataprotocols,convertingandenhancingthisinformationintoamodern“webfriendly”formatwhichcanbeshared,processedanddisplayedonthelatestwebapps,mobiledevicesandcloudservers.AtypicalNMEAbasedinstallationconsistsofanNMEAtoSignalKgatewayandanoptionalSignalKserver.ThegatewaytranslatesNMEAdataintoSignalKformatandtheservercanhostadditionalfunctionslikelogging,cloudintegrationanddataanalysis.
SignalKSpecification
2
OnemajoradvantageofSignalKistheabilitytorepresentdatafromheterogeneoussources.InadditiontotraditionalNMEAsources,datafromgenericsensorsaswellasmodernSignalKenabledsensorscanbefusedintoasingledatamodelandasingleprotocolforaccessingthedata.AnothertypicalconfigurationisaSignalKserverwithadaptersandconvertersforthedifferentsources.
SignalKSpecification
3
SignalKDataModel(A.K.A.TheSchema)
TheSignalKDataModelorschemadefinesauniversalmodelformarinerelatedinformationanditisspecifiedasaJSONschema.SeetheSignalKDataModelsectionfordetails.
Intraditionalmarinestandardstherearemanytightlydefinedmessages,eachwithaspecificpurpose,butthereisnodatamodeltorelatethem.Furthermore,anydevicewhichneedstodecodethosemessagesmusthaveacopyofthedatadictionaryinordertodoso.BydefiningadatamodelinJSONwecanmakethemessaginglayersimplerandeasilyextensible.Wedefineconsistentunitsandmetadataforeachdatapointinthemodel.Thismeansthataspecificdatapoint(e.g.COG)willalwaysbefoundatapredictableaddress.
ItalsomeansthatadisplaydevicesuchasachartplotterimplementingSignalKdoesnotneedtoknowaboutthedatamodelbeforehand.ItcanquerythecentralSignalKserverontheboattogetalltheinformationitneedstodisplayanydatapoint.Thismetadatamayincludeinformationsuchastheunitofmeasure,minimumandmaximumpermissiblevalues,alarmthresholdsandlocalizeddisplaynameforeverydatapointinthemodel.
SignalKMessageFormat
SignalKSpecification
4
SignalKdefinesmethodsforcombiningarbitrarydatafromtheDataModelintovalidmessages.ThesemessagesareinUTF-8JSONformat.
Ratherthandefinehundredsofspecificmessages,SignalKhasafewcommonmessageformatswhichcancontainanycombinationofdatafromtheDataModel.Thismeansthatthereisnoneedtodefinenewmessagesforeverynewdatapointorcommandwhichneedstobesupported,ratherthemessageformatremainsthesameandonlythedatatransmittedneedstochange.Itmeansthatanydevicecanreadanymessageandadevicecanintroduceanewdatapointwhichcanbeunderstoodbyexistingdeviceswithouttheneedforfirmwareupgrades.
SignalKTransportLayer
SignalKdoesnotdefinethetransportorwireprotocol.SignalKmessagesareJSONtextandcanbesentoveralmostanyphysicaltransportlayer.However,theSignalKstandarddoesprovideguidanceonhowtoestablishaninitialconnection,handlenegotiation,subscription,anddisconnectionforagiventransport(e.g.TCP/IPorserial).
WherepossibleSignalKuseswellestablishedstandardslikeHTTPS,REST,andWebSockets.However,theseshouldnotbeinterpretedasrequireddependenciesofSignalK.Itisentirelypossibleandpermissibletoimplementtheprotocoloveranytransportthatyourimplementationrequires.
Thegoalistotrytoestablishsensibleconventionsforeachtransportinordertomakedevelopmentandinterconnectionmorepredictable.
SignalKImplementations
TheSignalKprojecthasOpenSourcereferenceserverimplementationsinNodeandJava.TherearealsoseveralwebappsprovidedbytheprojectwhichcanbeinstalleddirectlyintheNodeandJavaserversordownloadedfromSignalKGitHub.TherearealsocommercialSignalKapplicationsandsolutions,includingmobileappsavailableontheAppleAppandAndroidPlayStores,aswellashardwareproductslikeiKommunicate.
SignalKSpecification
5
GettingStartedUsingSignalKYoucanstartusingSignalKby
connectingtothedemoserverontheInternetwithanywebbrowserinstallingeithertheNodeorJavaserveronanycomputergettingsomehardwareforyourboat,suchasaRaspberryPi,suitableUSBadaptersforyourboat’snetwork(NMEA0183,NMEA2000orrollyourownwithI2Csensors)andinstallingtheNodeorJavaserverpurchasingacommercialSignalKgatewaysuchasaniKommunicatebyDigitalYachtinstallingOpenPlotter,whichincludesaSignalKserver
Onceyouhaveaserverrunning(oryoustartbyusingthedemoserver)youcaninstallsomeSignalKsupportingmobileappssuchas
WilhelmSKbyScottBender(iOS)NMEARemotebyZapfware(iOS)OceanIX(Android)
UsingSK
6
GettingStartedinDevelopingwithSignalKExampleHTML5ApplicationsSignalKJavaScriptClientiKommunicateDeveloper’sGuide
DevelopingwithSK
7
SignalKDataModel
Formats
SignalKdefinestwodataformats—fullanddelta—forrepresentingandtransmittingdata.AllSignalKdataistransmittedasUTF-8JSON.
FullFormat
ThefullformatisconceptuallythesimplestrepresentationofdatainSignalK.ItcontainsallofthedatafromaSignalKnode,whichinthecaseofaSignalKservercouldmemanyhundredsofdatapoints.
{
"version":"1.0.0",
"self":"urn:mrn:signalk:uuid:705f5f1a-efaf-44aa-9cb8-a0fd6305567c",
"vessels":{
"urn:mrn:signalk:uuid:705f5f1a-efaf-44aa-9cb8-a0fd6305567c":{
"navigation":{
"speedOverGround":{
"value":4.32693662,
"$source":"ttyUSB0.GP",
"sentence":"RMC",
"timestamp":"2017-05-16T05:15:50.007Z"
},
"position":{
"value":{
"altitude":0.0,
"latitude":37.81479,
"longitude":-122.44880152
},
"$source":"ttyUSB0.GP",
"sentence":"RMC",
"timestamp":"2017-05-16T05:15:50.007Z"
},
"headingMagnetic":{
"value":5.55014702,
"$source":"ttyUSB0.II",
"sentence":"HDM",
"timestamp":"2017-05-16T05:15:54.006Z"
}
},
"name":"Motu",
"uuid":"urn:mrn:signalk:uuid:705f5f1a-efaf-44aa-9cb8-a0fd6305567c"
}
},
"sources":{
"ttyUSB0":{
"label":"ttyUSB0",
"type":"NMEA0183",
"GP":{
"talker":"GP",
"sentences":{
"RMC":"2017-04-03T06:14:04.451Z"
}
},
"II":{
"talker":"II",
"sentences":{
"HDM":"2017-05-16T05:15:54.006Z"
}
FullandDeltaModels
8
}
}
}
}
Thereareseveraltoplevelattributesorkeyswhicharealwayspresentandotherswhichareoptional.TheversionkeyspecifieswhichversionoftheSignalKspecificationisbeingusedandmustalwayspresentinafullSignalKmodel.Alsoalwayspresentinthefullmodelistheselfkey.Thevalueofselfisthekeywithinthevesselsobjectwhichisthelocalboat.Effectively,itisapointerintothevesselsobject.
Belowthevesselsobjectisalistofvessels,identifiedbytheirMMSInumberoragenerateduniqueID.TheremaybemanyvesselsifdatahasbeenreceivedfromAISorothersources.Theformatforeachvessel’sdatausesthesamestandardSignalKstructurebutmaynothavethesamecontent;likelyyouwillnothaveasmuchdataaboutothervesselsasyouhaveaboutyourown.
Atthesamelevelasvesselsissources.Thiscontainsalistofsourcesthedatawasobtainedfrom.Eachdataobjectwithinavesselmayhavea$sourcekeywhichpointtoasourcewithinsources.SeveraldataobjectsmayreferencethesamesourcesinceasingleNMEAsentenceorPGNmaymaptomultiplekeysinSignalK.
Alternativelythesourcedatamaybeembeddeddirectlyinplaceofthe$sourcebyusingthesourcekey:
{
"vessels":{
"urn:mrn:signalk:uuid:705f5f1a-efaf-44aa-9cb8-a0fd6305567c":{
"navigation":{
"position":{
"value":{
"altitude":0.0,
"latitude":37.81479,
"longitude":-122.44880152
},
"source":{
"label":"ttyUSB0",
"type":"NMEA0183",
"talker":"GP",
"sentence":"PRMC"
},
"timestamp":"2017-05-16T05:15:50.007Z"
}
}
}
}
}
Formoreinformationonsources,seethesourcessection.
DataobjectsinSignalKareorganizedhierarchically,forexampledatarelatedtonavigationsuchasposition,speedthroughwaterandheadingareallorganizedunderanavigationsub-topicwithinthevesselobject.Eachdataobjecthasavaluepropertywhichholdstheactualvalueforthatspecifickey.Thevaluepropertymaycontainanumber,astringoranotherobject.SignalKkeysthatareobjectvaluedareobjectvaluedbecausethevaluesdon‘thavemuchsemanticmeaningindividually.Forexampleposition–latitudedoesn‘thavemuchmeaningwithoutanassociatedlongitude.Therefore,these(andaltitude)aregroupedtogetherinasinglenavigation.positionkey.
ThevaluesarealwaysSIunits,andalwaysthesameunitsforthesamekey.Therefore,speedOverGroundisalwaysmeterspersecond,neverknots,km/hr,ormiles/hr.Thismeansyouneverhavetosendunitswithdata,theunitsarespecificforakey,anddefinedinthedataschema.AsimplifiedversionoftheJSONschemawiththeunitsisavailableinKeysReferenceinAppendixA.Theunitsarealsoalwaysspecifiedinthevalues’metadatawhichisavailableviatheRESTAPIinthemeta.unitsproperty.Besidestheunitsproperty,metaprovidesalotofotherusefulinformationforconsumersofthedata.
FullandDeltaModels
9
Finally,eachdataobjectalsohasatimestamppropertywhichrepresentsthetimethatthevaluewasmeasured.TimestampsareinISO8601format–specificallytheRFC3339extensionformat,whichisslightlymorestrictthantheISOspecification.Forinstance,itrequiresfourdigityearsandspecifiesthatTisusedasaseparatorbetweenthedataandtimeportionsofthetimestamp.
Theorderingofkeysisalsonotimportant,theycanoccurinanyorder.Infact,ifyouaredesigningadevicewhichconsumesSignalKdata,itisimportanttorememberthattheJSONstandarddoesnotguaranteetheorderofpropertiesinanobject.YouMUSTNOTrelyonthedatayoureceivetoalwaysbeinthesameorderwithinaSignalKmessage.
ThefullformatismostusefulforgettingtheinitialstateofaSignalKsystem,forexamplewhenadisplaydevicefirstconnectstothenetworkorforrefreshingadevice‘sstatewhenitlosesanetworkconnection.
HoweversendingthefulldatamodeliswastefulofbothbandwidthandCPU,especiallywhenthereisalargeamountofavailabledata,ortheconsumingdeviceisonlyinterestedinasmallportionofit.Inthemajorityofcases,itispreferabletoonlyexchangesmall,specificportionsofthedata.
DeltaFormat
Byfar,themostcommonlyproducedSignalKformatisthedeltaformat.Conceptually,thedeltaisanupdatetoanexistingSignalKdatamodel.AdeviceconsumingdeltascouldeitherbuildupaviewoftheSignalKfulltreebyconsumingandcombiningdeltasoritcouldrequestfromaSignalKserverthecurrentfulltreemodelandapplydeltastothatastheyarereceived.ItisalsoentirelypossibleforadevicetoremainessentiallystatelessandtreatSignalKdeltasasindependentpacketsofdata,muchthesamewayasitwouldhandleNMEAsentencesorPGNs.
Anexampledeltamessageispresentedbelow.
{
"context":"vessels.urn:mrn:imo:mmsi:234567890",
"updates":[
{
"source":{
"label":"N2000-01",
"type":"NMEA2000",
"src":"017",
"pgn":127488
},
"timestamp":"2010-01-07T07:18:44Z",
"values":[
{
"path":"propulsion.0.revolutions",
"value":16.341667
},
{
"path":"propulsion.0.boostPressure",
"value":45500
}
]
}
]
}
Thetoplevelofadeltamessagecontainsanupdatespropertyandanoptionalcontextproperty.
{
"context":"vessels.urn:mrn:imo:mmsi:234567890",
"updates":[...]
}
FullandDeltaModels
10
TheoptionalcontextpropertyrootstheupdatestoaparticularlocationintheSignalKtree.Ifcontextismissingitisassumedthatthedataisrelatedtotheselfcontext.Theselfcontextisthevesselobjectwhichtheselfpropertyofthefullmodelpointsto.
Contextisapathfromtherootofthefulltreetothecontainerobject,whichforvesselrelateddatamustrefertoavesseldirectlyundervessels.Thedelimiterinthecontextpathis.(period).Inthiscasethecontextisvessels.urn:mrn:imo:mmsi:234567890.Allsubsequentdataisrelativetothatlocation.
TheupdatespropertyholdsaJSONarrayofupdateobjects,eachofwhichmayhaveasourceproperty,atimestamppropertyandanarrayofvaluescontainingoneormorevalueobjects.
{
"source":{
"label":"N2000-01",
"type":"NMEA2000",
"src":"115",
"pgn":128267
},
"timestamp":"2014-08-15T16:00:00.081Z",
"values":[
{
"path":"navigation.courseOverGroundTrue",
"value":2.971
},
{
"path":"navigation.speedOverGround",
"value":3.85
}
]
}
Anupdatehasasinglesourcevalueanditappliestoeachofthevaluesitems.Incaseswheredatacanonlycomefromasinglesource,suchasanNMEA0183talkerconnectedtoaserialport,thenthesourcemaybeomitted.However,ifthedeltaisbeingpassedonbyaSignalKserverormultiplexerthensourcemustbefilledinbytheserversothatdownstreamconsumerscandiscernwheretheupdatecomesfrom.
IncaseswhereaSignalKproducerdoesnothaveaccesstoarealtimeclockorGPStimethentimestampshouldbeomitted.ElementsintheSignalKprocessingchain-suchasaserverreceivingdatafromaproducer-shouldfillintimestampifitismissingintheincomingdeltamessage.
Eachvalueitemisthensimplyapairofpathandvalue.Thepathmustbealeafpath:itmustbeapathtoaleaftheofthefullmodel.AleafiswheretheactualvalueoftheSignalKpropertyisandwheretimestamp,$sourceandvaluespropertiesareinthefullmodel.Thevalueisoftenascalar-asinglenumericvalue,asintheexampleabove-butitcanalsobeanobject.Forexampleanavigation.positionvaluewouldbeanobjectlike{"latitude":-41.2936935424,"longitude":173.2470855712}.
Therearesomestaticpropertiesinthefullmodelthatlackthesupportformultiplevaluesandmetadatasuchassourceandtimestamp.Anexampleisavessel‘sname,directlyunderthevessel‘sroot.Thisstaticdatamayappearinthedeltastream,forexamplewhenreceivedinAIStransmission.Inthiscasethevalueshouldbethesubtreeofthefullmodel,startingfromthevessel'sroot,withjusttherelevantparts,andthepathmustbeempty,indicatingthatthevalueshouldbemergedtothefullmodelmountedwherethedelta‘scontextpropertypoints:
{
"context":"vessels.urn:mrn:imo:mmsi:234567890",
"updates":[
{
"source":{...},
"timestamp":"2014-08-15T19:02:31.507Z",
"values":[
{
FullandDeltaModels
11
"path":"",
"value":{
"name":"WRANGO"
}
}
]
}
]
}
DataQualityDatatransmittedinSignalKformatisassumedtobecorrectedforknownsensorinaccuraciessuchaswindangleoffsetduetomisalignmentofamastheadunitonthemast,butthereisnoguaranteethatdataisaccurate,orwithincertainbounds.Differentsourceswillhavedifferentdataqualityandnormalvigilanceisalwaysrequired.
MissingorInvalidDataAsensororgateway/servermaywanttosendamessageindicatingknowninvaliddataorthefactthatthesensorisfunctioningbutcannotprovidedata,forexamplewhenadepthsensorhasnobottomfix.InthiscasethevaluemustbeJSONnullinthedeltamessageandtheservermustreturnthevalueasaJSONnullintheRESTAPI.
MessageIntegrityManymessagingsystemsspecifychecksumsorotherformsofmessageintegritychecking.SignalKassumesareliabletransportwillguaranteeavalidmessage.ThisistrueofTCP/IPandsomeothertransportsbutnotalwaysthecase.Forothertransports(e.g.RS-232serial)aspecificextendeddataformatwillapply,whichissuitedtothattransport.Henceatthemessagelevelnochecksumorothertestsneedtobemade.
Encoding/DecodingTheJSONmessageformatissupportedacrossmostprogrammingenvironmentsandcanbehandledwithanyconvenientlibrary.
Onmicro-controllerswithlimitedRAMitmaybenecessarytoreadandwriteSignalKdatausingastreamingprocessratherthanreadingtheentiremessageintoRAMbeforeprocessing.ThereisanimplementationofSignalKJSONstreamingonanArduinoMega(4KRAM)intherelatedFreeboardproject.
FullandDeltaModels
12
MultipleValuesforaKeyTherearetwousecasesformultiplevaluesforasingledatapoint
Multipleinstancesofacommondevice-e.g.twoenginesormultiplebatteries.Multipledevicesprovidingduplicatedata-multiplevaluesforthesameSignalKkeyfromdifferentsensors.Thisisfairlycommonasmostboatshavemultiplesensorscapableofgeneratingthesamedata(butnotnecessarilythesamevalue).Forexample,courseoverground(COG)maycomefrombothacompassandGPSoraboatmaybeequippedwithmultipledepthsounders.
MultipleInstancesofaCommonDevice
SomepartsoftheSignalKschemaaredeviceoriented.
Forexample,manyboatshavemultiplebatteries.Howevereachbatteryhasmultiple,commonquantitieslikevoltage,currentandtemperature.Inthiscase,itmakesmoresenseforthesevaluestobeorganizedbyinstance.Therefore,intheSignalKmodel,eachbatterybankisit’sowninstance:forexampleelectrical.batteries.starterandelectrical.batteries.house.Thenbeneaththatprefixtherearethevariouspropertiesforeachbattery.
ThisorganisationallowsauserinterfacetoorganisetheindividualreadingsinmeaningfulgroupsandallowsconsumerstoqueryallthevaluesrelatedtothatpieceofequipmentviatheRESTAPI.Furthermore,thisstructuremaintainstheprimaryrequirementthatagivendatavaluehaveafixedanduniqueURI,butgivesflexibilityinthestructureandcomplexitiesofdata.
Thesamedevicecentricorganisationisusedwithinthepropulsionsubschema,tosupportthecommonusecaseoftwoenginesviapropulsion.portandpropulsion.starboard.
Thevaluesstarter,house,portandstarboardareexamplesandnotspecifiedintheschema.YouarefreetouseapplicationspecificvalueswithintheregexpspecifiedintheJSONschema.
MultipleDevicesProvidingDuplicateData
Itisquitepossibleforakeyvaluetocomefrommorethanonedevice.ManymoderndeviceshaveabuiltinGPSreceiverandasaresultonanygivenboattheremaybeseveralsourcesofposition,speedoverground,andheading.Multipledepthsoundersarealsocommon,ofteninstalledtoportandstarboardonmonohullsailboatsorineachhullofacatamaran.
Giventhatthevalidityofthesevarioussourcesofdatamaychangeinacontext-specificway,SignalKprovidesamechanismforthesevaluestobegroupedtogethersothattheconsumerofthedatamaychoosewhichvalue(orvalues)todisplay .
Whendealingwithmultiplesourcesofdata,itbecomesimportanttoknowwherethedataiscomingfrom.SignalKprovidesamechanismforthatintheformofthesourcestoplevelobjectandreferencesintothatobjectviathe$sourceproperty.Seesourcesfordetailedinformationonthestructureofthesourcesobjectandhowitisreferencedbythe$sourceproperty.
ThefirstsourceofaparticulardatapointbecomesthedefaultsourceforthatdataandanormalSignalKobjectiscreated.
{
"self":"urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d",
"version":"0.9.0",
"vessels":{
"urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d":{
"uuid":"urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d",
"navigation":{
"courseOverGroundTrue":{
"value":3.61562407843144,
"$source":"ttyUSB0.GP",
1
MultipleValues
13
"timestamp":"2017-04-03T06:14:04.451Z"
}
}
}
}
}
Ithascomefromdevicesources.ttyUSB0.GP,wherefurtherdetailscanbefound.
Ifanothervaluewithdifferentsourcearrives,theSignalKserverwilladdthevaluesattributewithvaluesfromboththefirstandsecondsources.Theinitialsource‘sdatawillcontinuetopopulatethevaluepropertyinthekey.
{
"self":"urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d",
"version":"0.9.0",
"vessels":{
"urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d":{
"uuid":"urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d",
"navigation":{
"courseOverGroundTrue":{
"value":3.615624078431440,
"$source":"ttyUSB0.GP",
"timestamp":"2017-04-03T06:14:04.451Z",
"values":{
"ttyUSB0.GP.RMC":{
"value":3.615624078431440,
"timestamp":"2017-04-03T06:14:04.451Z"
},
"n2k.ikommunicate.128267":{
"value":3.615624078431453,
"timestamp":"2017-04-03T06:14:04.451Z"
}
}
}
}
}
},
"sources":{
"ttyUSB0":{
"GP":{
"sentences":{
"RMC":"2017-04-03T06:14:04.451Z"
}
}
},
"ikommunicate":{
"2":{
"n2k":{
"src":"2",
"pgns":{
"128267":"2017-04-03T06:14:05.221Z"
}
}
}
}
}
}
MultipleValuesinDeltaMessages
Whenaclientsubscribestonavigation.courseOverGroundTrue,theyreceiveallthevaluesheld.Theupdatemessagedoesnotincludethevaluespath,thecaseabovelookslike:
{
MultipleValues
14
"context":"vessels.urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d",
"updates":[
{
"source":{
"label":"GPS-1",
"type":"NMEA0183",
"talker":"GP",
"sentence":"RMC"
},
"timestamp":"2017-04-03T06:14:04.451Z",
"values":[
{
"path":"navigation.courseOverGroundTrue",
"value":3.615624078431440
}
]
},
{
"source":{
"label":"actisense",
"type":"NMEA2000",
"src":"115",
"pgn":128267
},
"timestamp":"2017-04-03T06:14:04.451Z",
"values":[
{
"path":"navigation.courseOverGroundTrue",
"value":3.615624078431453
}
]
}
]
}
Individualupdatescanbedistinguishedbytheirsource.
Ifaclientwantsonlythevaluesofaspecificsourceitshouldsubscribetoapaththatincludesthefullpathundervaluesincludingthesourcereferencekeyofthesource.Thesourcereferenceshouldbeenclosedinsquarebrackets:navigation.courseOverGroundTrue.values[n2k./dev/ikommunicate.128267].TheclientcanretrievetherelevantdataviaRESTAPI.
Note:Theexactformatoftheupdatemessageisaffectedbythesubscriptionpolicy.Apolicyofinstantwillresultinchangesbeingsentimmediately,sotypicallyoneiteminvaluesperupdate.Apolicyoffixedwillresultinperiodicupdateswhichmaycontainmanyitemsinvalues.
Theupdateallowsgroupingvaluesbysource.
[1]Specifyingpreferredsourcesisstillanunder-developmentenhancementtotheNodeserver.
MultipleValues
15
MetadataAkeypartofSignalKistheabilityfordataconsumerssuchasappsorMFDstoautomaticallyconfigurethemselvesbasedonsettingsretrievedfromtheserver.ThemetadatacomponentofSignalKfacilitatesthisthroughanoptionalmetaobjectattachedtoeachkeyintheSignalKdatamodel.
Rationale
Inanenvironmentwherevariouscriticalpiecesofinformationaredisplayedinmultiplelocationsitbecomesquitedifficulttoensurethatallofthesedevicesusethesamescaleandreactthesamewaytochangesinthedata.Thisisespeciallytrueinanenvironmentwherethesedevicesarenottiedtotheboat.AcrewmembermaybringapersonaltabletwiththemfortheirtacticianroleduringaWednesdayeveningraceoraharborpilotmaybringalaptoponboardloadedwithlocalcharts.Ifthesedevicescanloadcriticalconfigurationdatafromacentralserverontheboat,thissavestimeandpreventscostlyorevendisastrousmistakesfromoccurringduetomisconfigureddevices.
MetadataforaDataValue
Themetaobjectexistsatthesamelevelasvalueand$sourceineachkeyintheSignalKdatamodel.
{
"displayName":"PortTachometer",
"longName":"Engine2Tachometer(x60forRPM)",
"shortName":"Revs",
"description":"RevolutionsinHZ,measuredviatheWterminalonthealternator",
"gaugeType":"analog",
"units":"Hz",
"timeout":1,
"alertMethod":["visual"],
"warnMethod":["visual"],
"alarmMethod":["sound","visual"],
"emergencyMethod":["sound","visual"],
"zones":[
{"upper":50,"state":"alarm","message":"Stoppedorveryslow"},
{"lower":50,"upper":300,"state":"normal"},
{"lower":300,"upper":350,"state":"warn","message":"Approachingmaximum"},
{"lower":350,"state":"alarm","message":"Exceedingmaximum"}
]
}
Intheexamplemetaobjectabove,adefinitionisprovidedforananalogRPMgaugefortheportengine.Itprovidesafewdifferentoptionsfortheconsumertousetodisplaythenameofthemeasurementandexplicitlycallsouttheunitofmeasure.ItalsospecifiesarecommendeddisplayformatviagaugeType.
Thetimeoutpropertytellstheconsumerhowoftenitshouldexpecttowaitbeforeanewvaluearrives–oriftheconsumerispollingfordata,howlongitshouldwaitbeforerequestinganewvalue.Thisvalueisspecifiedinseconds,soforahighspeedGPSsensoritmay0.1oreven0.05.ThealertMethod,warnMethod,alarmMethodandemergencyMethodpropertiestelltheconsumerhowitshouldrespondtoanabnormaldatacondition.Presentlythevaluesforthesepropertiesaresoundandvisualandthemethodisspecifiedasanarraycontainingoneorbothoftheseoptions.Itisuptotheconsumertodecidehowtoconveythesealerts.
Thelastpropertyinthemetaobjectisthezonesarray.Thisprovidesaseriesofhintstotheconsumerwhichcanbeusedtoproperlysetarangeonadisplaygaugeandalsocolorsectorsofthegaugetoindicatenominalordangerousoperatingconditions.Italsotellstheconsumerwhichstatethedataisinforagivenrange.Combinedwiththealertmethodproperties,allSignalK
Metadata
16
consumerscanreactthesamewaytoagivenstate.
ItisalsopossibleforaSignalKservertousethisinformationtomonitoranydatawhichhasametaobjectandraiseagenericalarmevent.SeethesectiononAlarmHandlingformore.
ImplicitMetadata
AllkeysintheSignalKspecificationmusthaveunitsandadescription.IfaclientrequeststhemetapropertyforavalidSignalKkeyviatheHTTPRESTinterface,theservermustreturntheunitsanddescription,evenifnovaluehaseverbeengeneratedforthatkey.
//GET/signalk/v1/api/vessels/self/environment/depth/belowKeel/meta
{
"units":"m",
"description":"Depthbelowkeel"
}
Seekeyswithmetadata.json
DefaultConfiguration
SignalKdoesnotprovideadefaultsetofmetadata,itisuptotheownerortheirinstallertoconfiguretheirSignalKenvironmentappropriatelyfortheirvessel.However,bycentralizingthisconfigurationtheywillonlyneedtodoitonetimeandanyfutureconsumerswillautomaticallyusethisconfiguration.
AlarmManagement
Analarmwatchissetbysettingthemeta.zonesarrayappropriately.Abackgroundprocessontheserverchecksforalarmconditionsonanyattributewithameta.zonesarray.Ifthekeysvalueiswithinazonetheserversetsanalarmkeysimilartovessels.self.notifications.[original_key_suffix],e.g.analarmsetonvessels.self.navigation.courseOverGroundTruewillbecomevessels.self.notifications.navigation.courseOverGroundTrue.
Theobjectfoundatthiskeyshouldcontainthefollowing:
{
"message":"anytext",
"state":"[normal|alert|warn|alarm|emergency]"
}
OtherBenefitsWhilenotstrictlypartoftheSignalKspecification,metadataconfigurationcouldbesharedbetweenboatsorevenprovidedbymanufacturersofproductionboatsorbycomponentsupplierssuchasengineorrefrigeratormanufacturers.Also,anydevicewhichimplementsSignalKshouldprovideabaselinemetadataconfiguration.Asthisstandardbecomesmorewidespread,lessindividualconfigurationwillneedtobeperformed.
Metadata
17
Metadata
18
SignalKDataSourcesSignalKprovidesamethodtoidentifythespecificdeviceand—ifavailable—theNMEAsentenceorPGNwhichgeneratedaparticularvalue.Thisishandledintwoways.ThefirstiswithapointertoadeviceinthesourcessectionoftheSignalKdatamodel.WhenviewingafullSignalKdatamodel,thisisthemethodyouwillsee.EverySignalKdataobjectwillhavea$sourceproperty(notethedollarsignsigilwhichindicatesthevalueisapointer)whichcontainsadotseparatedpathtoanobjectrelativetothetop-levelsourcessection.WhenreceivingSignalKdataviadeltas,youmayalsoseesourcesreferencedthisway.However,allcurrentimplementationsofSignalKprovidesourcedatadirectlyembeddedinthedeltamessage.Thisisdoneusingthesourcepropertyofthedeltamessage.
PointerMethod
Anexampleofthepointermethodisshownbelow.
{
"version":"1.0.0",
"self":"vessels.urn:mrn:signalk:uuid:705f5f1a-efaf-44aa-9cb8-a0fd6305567c",
"vessels":{
"urn:mrn:signalk:uuid:705f5f1a-efaf-44aa-9cb8-a0fd6305567c":{
"uuid":"urn:mrn:signalk:uuid:705f5f1a-efaf-44aa-9cb8-a0fd6305567c",
"navigation":{
"speedOverGround":{
"value":4.32693662,
"$source":"ttyUSB0.GP",
"sentence":"RMC",
"timestamp":"2017-05-16T05:15:50.007Z"
}
}
}
},
"sources":{
"ttyUSB0":{
"label":"ttyUSB0",
"type":"NMEA0183",
"GP":{
"talker":"GP",
"sentences":{
"RMC":"2017-04-03T06:14:04.451Z"
}
}
}
}
}
ThisisafullSignalKmodelwithasingledatasourceandasingledataobject.Thenavigation.speedOverGroundobjectreferencesthettyUSB0.GPdeviceviathevalueofthe$sourceproperty.Inadditionto$source,thesentencepropertyisalsoincludedwhichidentifiesthespecificNMEA0183sentencerecievedfromthedatasourcewhichwasconvertedtoSignalK.
WithinthesourcessectiondevicesareconventionallyorganizedbythephysicalconnectiontotheSignalKdeviceandanidentifierforthespecificsourcedevice.Inthecaseabove,thefirstlevelofthehierarchyistheUNIXdeviceidentifierforaUSBserialportandthesecondlevelistheNMEA0183talkerIDofthepaddlewheelsensor.
DirectInclusionMethod
Thismethodisonlyimplementedindeltamessages.Anexampledeltawithaninlinesourceisshownbelow.
Sources
19
{
"updates":[
{
"source":{
"label":"ttyUSB0",
"type":"NMEA2000",
"pgn":127251,
"src":"204"
},
"timestamp":"2017-04-15T20:38:26.709Z",
"values":[
{
"path":"navigation.rateOfTurn",
"value":-0.000412469
}
]
}
],
"context":"vessels.urn:mrn:imo:mmsi:338184312"
}
ThisparticularsourceisanNMEA2000devicesoithasthepgnandsrcproperties,butNMEA0183orothersourcetypesaresimilarlysupported.AnNMEA0183sourcewouldbestructuredlikethis:
{
"label":"NMEA0183-0",
"type":"NMEA0183",
"sentence":"RMC",
"talker":"GP"
}
Afinalexampleusinganon-NMEAsource,inthiscaseanI²Csensor.
{
"type":"I2C",
"label":"I²CBus#0",
"src":"14"
}
Here,srcistheaddressofthedeviceontheI²Cbus.
SourcesGroup
ASignalKdevicecapableofgeneratingafulldatamodelwillhaveatoplevel(i.e.atthesamelevelasvessels,versionandself)groupcalledsources.ThisgroupprovidesdetailedinformationabouteachnetworkbusconnectedtotheSignalKgatewayorserver.Sourcesareorganizedhierarchically,followingabus-source-typestructure.
Anexampleofmultiplesourcesisshownbelow.
{
"vhf":{
"label":"AISReceiver",
"type":"VHF",
"112334556":{
"ais":{
"aisType":15
}
},
"394299113":{
"ais":{
Sources
20
"aisType":15
}
}
},
"ttyUSB0":{
"label":"NMEA0183",
"type":"NMEA0183",
"II":{
"talker":"II",
"sentences":{
"VHW":"2018-04-16T01:34:03.881Z"
}
}
},
"ttyUSB1":{
"label":"NMEA2000",
"type":"NMEA2000",
"3":{
"1":{},
"2":{},
"n2k":{
"src":"3",
"pgns":{
"126992":"2017-04-15T18:44:59.006Z"
}
}
}
}
}
YoumaynoticetwooddlinesintheNMEA2000source"3":"1":{}and"2":{}'.TheseareplaceholdersforNMEA2000"instance"values.TheseareheretoprovideavalidschemaforcertainNMEA2000PGNsrelatingtotemperature.BecausetemperaturepathsinthecurrentversioofSignalKdonothavetheinstanceinline,consumersmustlookattheinstancepartofthe$sourceorsourcepropertytodeterminewhichspecificsensorprovidedthedata.
Sources
21
URLsandPortsWhileSignalKisatransport-agnisticprotocol,therearecertainconventionsthathavebeenestablishedforuseontheWebandbyclientsandserversusingHTTPandWebSockets.
Ports
TheSignalKHTTPandWebSocketservicesSHOULDbefoundontheusualHTTP/Sports(80or443).TheservicesSHOULDbefoundonthesameport,butmaybeconfiguredforindependentportsandMAYbeconfiguredforportsotherthanHTTP/S.
ASignalKserverMAYofferSignalKoverTCPorUDP,theseservicesSHOULDbeonport8375 .
IfanalternateportisneededitSHOULDbeanarbitraryhighportintherange49152–65535 .
URLPrefixTheSignalKapplicationsstartfromthe/signalkroot.Thisprovidessomeprotectionagainstnamecollisionswithotherapplicationsonthesameserver.ThereforetheSignalKentrypointwillalwaysbefoundbyloadinghttp(s)://«host»:«port»/signalk.
[1]ThishasnotbeenregisteredwithIANAyet.ItistheASCIIdecimalcodeforSK.[2]ThisistheprivateusesectionofIPportsspecifiedasreservedbyIANA.
1
2
URLsandPorts
22
RESTAPISignalKproducersMAYimplementanHTTPAPIwhichconsumerscanusetoself-configure,pollforSignalKdataormakeconfigurationchanges.Asspecifiedintheprevioussection,allURLsforinteractingwithSignalKarerootedat/signalk.
GET/signalk
MakingaGETrequestto/signalkreturnsaJSONobjectwhichspecifiestheavailableSignalKendpointsandsomeinformationabouttheserver.Alsoseeversioningfordetailsaboutversionstrings.
{
"endpoints":{
"v1":{
"version":"1.0.0-alpha1",
"signalk-http":"http://localhost:3000/signalk/v1/api/",
"signalk-ws":"ws://localhost:3000/signalk/v1/stream"
},
"v3":{
"version":"3.0.0",
"signalk-http":"http://localhost/signalk/v3/api/",
"signalk-ws":"ws://localhost/signalk/v3/stream",
"signalk-tcp":"tcp://localhost:8367"
}
},
"server":{
"id":"signalk-server-node",
"version":"0.1.33"
}
}
Thisresponseisdefinedbythediscovery.jsonschema.Inthisexample,theserversupportstwoversionsofthespecification:1.alpha1and3.0.Foreachversion,theserverindicateswhichtransportprotocolsitsupportsandtheURLthatcanbeusedtoaccessthatprotocol‘sendpoint.Clientsshoulduseoneofthesepublishedendpointsbasedontheprotocolversiontheywishtouse.
TheservermustonlyreturnvalidURLsandshoulduseIANAstandardprotocolnamessuchashttp.However,aservermaysupportunofficialprotocolsandmayreturnadditionalprotocolnames;forexample,theresponseaboveindicatestheserversupportsasignalk-tcpstreamoverTCPatonport8367.
AservermayreturnrelativeURIsthattheclientmustresolveagainstthebaseoftheoriginalrequest.
Aservermayreturninformationaboutitselfintheserverproperty.Theidandversionschemeisnotdefinedaspartofthespecificationandthereisnoregistryforidvalues.
/signalk/«version»/api/Notethetrailingslashinthepath
ThebaseURLMUSTprovideaSignalKdocumentthatisvalidaccordingtothefullSignalKschemaspecification.ThecontentsSHOULDbeallthecurrentvaluesofthedataitemstheserverknowsintheSignalKfullformatasspecifiedinFullandDeltaModels.
/signalk/«version»/api/*
RESTAPI
23
TheSignalKdataSHOULDbeavailableviatheRESTAPI.Forexample,GET/signalk/v1/api/vesselsshouldreturnallofthedataunderthevesselscontainerinJSONformat.Likewise,GET/signalk/v1/api/vessels/urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021dshouldreturndataforonespecificvessel.Inotherwords,thefullSignalKdatamodelSHOULDbetraversablebyanyclientmakingGETrequeststoanarbitrarydepth.
RESTAPI
24
StreamingWebSocketAPI:/signalk/«version»/streamInitiatesaWebSocketconnectionthatwillstartstreamingtheserver’supdatesasSignalKdeltamessages.Youcanspecifythecontentsofthestreabyusingthesubscribequeryparameter.
ws://hostname/signalk/«version»/stream?subscribe=selfws://hostname/signalk/«version»/stream?subscribe=allws://hostname/signalk/«version»/stream?subscribe=none
Withnoqueryparameterthedefaultisself,whichwillstreamthedatarelatedtotheselfobject.allwillstreamalltheupdatestheserverseesandnonewillstreamonlytheheartbeat,untiltheclientissuessubscribemessagesintheWebSocketstream.
IfaserverdoesnotsupportsomestreamingoptionslistedinhereitmustrespondwithHTTPstatuscode501NotImplemented.
SeeSubscriptionProtocolformoredetails.
ConnectionHelloUponconnectiona'hello'messageissentasfollows:
{
"version":"1.1.2",
"timestamp":"2015-04-13T01:13:50.524Z",
"self":"123456789"
}
StreamingWebSocketAPI
25
SubscriptionProtocol
Introduction
BydefaultaSignalKserverwillprovideanewWebSocketclientwithadeltastreamofthevessels.selfrecord,asupdatesarereceivedfromsources.E.g./signalk/v1/streamwillprovidethefollowingdeltastream,everytimethelogvaluechanges.
{
"context":"vessels.urn:mrn:imo:mmsi:234567890",
"updates":[
{
"source":{
"label":"N2000-01",
"type":"NMEA2000",
"src":"115",
"pgn":128275
},
"values":[
{
"path":"navigation.trip.log",
"value":43374
},
{
"path":"navigation.log",
"value":17404540
}
]
}
]
}
BelowwerefertoWebSockets,butthesameprocessworksinthesamewayoveranytransport.E.g.forarawTCPconnectiontheconnectioncausestheabovemessagetobesent,andsendingthesubscribemessageswillhavethesameeffectasdescribedhere.
Thiscanbealotofmessages,manyyoumaynotneed,especiallyifyourboathasmanysensors,orotherdatasources.Oftenyouwillwanttosubscribetoamuchsmallerrangeofdata.Especiallyforsinglevaluedisplays,itdoesnotmakesensetogettheentiredatastreamwhenonlyasinglevalueiswanted.
Firstyouwillwanttounsubscribefromthecurrentdefault(oryoumayhavealreadyconnectedwithws://hostname/signalk/v1/stream?subscribe=none).TounsubscribeallcreateanunsubscribemessagewithwildcardsandsendthemessageovertheWebSocketconnection:
{
"context":"*",
"unsubscribe":[
{"path":"*"}
]
}
Tosubscribetotherequiredcriteriasendasuitablesubscribemessage:
{
"context":"vessels.self",
"subscribe":[
{
"path":"navigation.speedThroughWater",
SubscriptionProtocol
26
"period":1000,
"format":"delta",
"policy":"ideal",
"minPeriod":200
},
{
"path":"navigation.logTrip",
"period":10000
}
]
}
path=[path.to.key]isappendedtothecontexttospecifysubsetsofthecontext.Thepathvaluecanusethewildcard*.Awildcardinthemiddleofapath(propulsion/*/oilTemperature)allowsanyvalueforthatpartandawildcardattheend(propulsion/port/*)matchesallpathsbeginningwiththespecifiedprefix.
Thefollowingareoptional,includedaboveonlyforexampleasitusesdefaultsanyway:
period=[millisecs]becomesthetransmissionrate,e.g.everyperiod/1000seconds.Default:1000format=[delta|full]specifiesdeltaorfullformat.Default:deltapolicy=[instant|ideal|fixed].Default:ideal
instantmeanssendallchangesasfastastheyarereceived,butnofasterthanminPeriod.Withthispolicytheclienthasanimmediatecopyofthecurrentstateoftheserver.idealmeansuseinstantpolicy,butifnochangesarereceivedbeforeperiod,thenresendthelastknownvalues.fixedmeanssimplysendthelastknownvalueseveryperiod.
minPeriod=[millisecs]becomesthefastestmessagetransmissionrateallowed,e.g.everyminPeriod/1000seconds.Thisisonlyrelevantforpolicy='instant'toavoidswampingtheclientornetwork.
Youcansubscribetomultipledatakeysmultipletimes,frommultipleappsordevices.Eachappordevicesimplysubscribestothedataitrequires,andtheserverand/orclientimplementationmaycombinesubscriptionstoavoidduplicationasitprefersonaperconnectionbasis.Atthesametimeitisgoodpracticetoopentheminimumconnectionsnecessary,forinstanceoneWebSocketconnectionsharedbetweenaninstrumentpanelwithmanygauges,ratherthenoneWebSocketconnectionpergauge.
MultiplevaluehandlinginsubscriptionsAsubscriptiontoakeyisforalltheupdatestothatkey.Iftherearemultiplesourcesgeneratingdataforthatkeytheclientwillgetalltheirupdates.
Ifaclientwantsonlythevaluesofasinglesourceitshouldsubscribetoapaththatincludesthefullpathundervaluesincludingthesourcereferencekeyofthesource.Thesourcereferenceshouldbeenclosedinsquarebrackets:navigation.speedThroughWater.values[n2kFromFile.43].TheclientcanretrievetherelevantdataviaRESTAPI.SeeMultipleValuesformoreinformation.
Singleuse,orintermittentdata
Whendataisrequiredonceonly,oruponrequestthesubscribe/unsubscribemethodshouldnotbeused.IftheclientishttpcapabletheRESTAPIisagoodchoice,oruseget/list/putmessagesoverWebSocketsorTCP.
UseCasesandProposedSolutions
Localboatindividualinstruments
SubscriptionProtocol
27
Agauge-typedisplayforjustoneorafewdataitemsforthe'self'vesselshouldbeabletospecifythatitonlywantsthoseitemsfortheselfvessel.
ThiscanbeachievedbyadefaultWebSocketconnection/signalk/v1/stream?subcribe=none,thensendingaJSONmessage:
{
"context":"vessels.self",
"subscribe":[
{
"path":"environment.depth.belowTransducer"
},
{"path":"navigation.speedThroughWater"}
]
}
TheJSONformatisalsoviableoverasimpleTCPorserialtransport,andisthereforesupportedastheprimarysubscriptionmethod.
Mapdisplaywithallknownvesselpositions&directions,servedover3Gcellularconnection
{
"context":"vessels.*",
"subscribe":[
{
"path":"navigation.position",
"period":120000,
"policy":"fixed"
},
{
"path":"navigation.courseOverGround",
"period":120000,
"policy":"fixed"
}
]
}
TheresultisadeltamessageoftheSignalKdatawithjustpositionandcourseOverGroundbranchesforallknownvessels,sentevery2minutes(120seconds)evenifnodatahasbeenupdated.
Positionofacertainvessel,immediatelyitchanges,butonceperminuteatmost
{
"context":"vessels.230029970",
"subscribe":[
{
"path":"navigation.position",
"minPeriod":60000,
"policy":"instant"
}
]
}
Theresultwillbedeltapositionmessagesforvessel230029970,broadcastwheneveritchanges,butwithminimumintervalof60seconds.Messagesaredelayedtomeettheminimumintervalwithnewermessagesoverridingthepreviousmessageinthebuffer.
SubscriptionProtocol
28
SubscriptionProtocol
29
DiscoveryandConnectionEstablishment
ServiceDiscovery
ASignalKserverSHOULDadvertiseitsservicesusingDNSServiceDiscovery(DNS-SD)viaMulticastDNS(mDNS);alsoknownasBonjour.TheserverMUSTprovideDNSService(SRV)RecordsandText(TXT)RecordsdescribingtheSignalKinterfacesitprovides.Theseserviceidentifiersare:
_http._tcpfortheserver'swebinterface_signalk-http._tcpfortheSignalKRESTAPI_signalk-ws._tcpfortheWebSocketdatastream
IfaserverisprovidingSignalKviasecureversionsofHTTPorWebSocketsthentheyMUSTbeabletoprovidearedirectiontothesecureversionsoftheseprotocols.
IfaSignalKserverisusingDNS-SD,itMUSTprovidethefollowingparameters(key/valuepairs)intheTXTrecordportionoftheDNS-SDadvertisement:
txtversisaUS-ASCIIdecimalnumberidentifyingtheversionoftheDNS-SDrecord.Currently,thisMUSThaveavalueof1rolesspecifieswhichrolestheserveriscapableofproviding.SeeRolesbelowfordetails
TheserverMAYprovidethefollowingvalues:
selfistheuniqueidentifierofthevesselusingtheURNformatspecifiedfortheuuidfieldintheSignalKschema.ItmayalsousetheURNformatspecifiedforthemmsifieldintheSignalKschemaifitexists.swnameisthenameoftheSignalKserversoftware,e.g.signalk-server-nodeswversistheversionoftheSignalKserversoftware
AnexampleDNS-SDrecordsetisshownbelow.
Servicedataforservice'signalk-http'oftype'_signalk-http._tcp'indomain'local'on4.0:
Host10-1-1-40.local(10.1.1.40),
port80,
TXTdata:[
'txtvers=1',
'roles=master,main',
'self=urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d',
'swname=signalk-server',
'swvers=0.1.23'
]
Servicedataforservice'signalk-ws'oftype'_signalk-ws._tcp'indomain'local'on4.0:
Host10-1-1-40.local(10.1.1.40),
port3000,
TXTdata:[
'txtvers=1',
'roles=master,main',
'self=urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d',
'swname=signalk-server',
'swvers=0.1.23'
]
TheserecordsareadvertisingaSignalKserverwiththeHTTPRESTAPIonport80andtheWebSocketdatastreamonport
1. TheserveridentifiesashavingthemasterandmainrolesandprovidesaselfidentifierasaUUID.
Discovery&ConnectionEstablishment
30
Roles
Thefourpossiblevaluesforrolesaremaster,slave,main,andaux.Thesearedefinedbelow.
Master
masteristhecanonicalsourceforidentityandconfigurationinformationfortheentirevessel.
Ifthereisonlyonemasteronthevessel,thenitshouldalsoprovidethemainrole.Thecombinationofmasterandmaininformsaclientthatthisserverisactivelyprovidingidentifyinginformation.
MainandAux
Iftherearemorethanonemastersonthevessel,EXACTLYONEservershouldadvertisebothmasterandmain.Allothermastersshouldadvertisemasterandaux.Clientsshouldonlyusethemasterauxserversforidentifyinginformationifthemastermainisnotavailable.
AnyserveridentifyingasmasterMUSTbeabletoprovideataminimumtheuniqueidentifier(self)forthevessel.
Slave
Anyserverprovidingtheslaveroleshouldretrieveidentityandconfigurationinformationfromthemasterserver.SlaveserversMAYprovideconfigurationandidentityinformationforthemselves,butthisidentityMUSTNOTbeconsideredvalidfortheentirevesssel.
MainandAux
Theuseofmainandauxhavenotbeendefinedfortheslaveroleatthistime.
ConnectionEstablishment
UsingtheinformationaboveawebclientorHTTPcapabledevicecandiscoverandconnecttoaSignalKserverusingthefollowingprocess:
QueryforSignalKservicesusingmDNSConnecttothehostandportadvertisedas'signalk-http'viaHTTP(e.g.http://10.1.1.40:80)PerthePorts,UrlsandVersioningsection,makeaGETrequestfor/signalktoretrieveaJSONobjectcontaininganendpointsJSONobjectMakefurtherRESTcallsformorespecificdata,oropenawebsocketconnectiontostartstreamingupdates.
Discovery&ConnectionEstablishment
31
Discovery&ConnectionEstablishment
32
Discovery&ConnectionEstablishment
33
Alarm,Alert,andNotificationHandlingHandlingalarms,alerts,andnotificationsinSignalKisamulti-stageprocess.Alarms,alertsandnotificationsareallhandledthesameway,andareallreferredtoasalarmsbelow.
Weneedaflexiblemodeltodefinealarmconditions,andastandardwaytoannounceandrecordthem.
AlarmProcess
DefinealarmstatesaszonesinthemetaobjectattachedtoanySignalKvalue.See[[MetadataforDataValues]]Ifthevalueiswithinanalarmzoneraisethedefinedalarm.Ifthevaluegoesoutofthezone,removethealarmbysettingitsvaluetonullAlarmsareraisedbyplacinganalarmobjectinthevessels.self.notificationstree
Expectedimplementationbehaviour
Theserver(ordevice)shouldmonitorthecurrentvalueandcompareittothedefinedzones.Ifavalueentersanalarmzone,thenakeyiswrittentovessels.self.notifications..Ifavalueleavesanalarmzone,thenthekeyisremovedfromvessels.self.notifications..Alarmsraisedaremonitoredbyanalarmprocessontheserver,whichtakesappropriateaction,soundingalarms,ordisplayingmessages.Clientsinterestedinalarmscansubcribetothevessels.self.notifications...treeintheusualwayandbeinformedofalarmsinthesamewayasnormalsignalkkeys.Whenanalarmsisremoved,adeltashouldbesenttosubscriberswiththepathandanullvalue.
Example
egIfweexceedouranchoralarmradius:vessels.self.navigation.anchor.currentRadiusentersvessels.self.navigation.anchor.currentRadius.meta.zones[[50,500,"alarm","Dragginganchor!"]],
Thealarmis:vessels.self.notifications.navigation.anchor.currentRadius
Thealarmobjectis
{
"value":{
"method":["sound"],
"state":"alarm",
"message":"Dragginganchor!"
},
"timestamp":"...",
"$source":"..."
}
Theserveralarmmanagerwillseethisnewentryandturnonthealarm.Usingamanagerprocessallowsflexibilityinsituationswheremultiplealarmsaretriggeredandyourvesselisamassofflashingandbeeping.egAsingle'Pause'buttoncangiveyou5-10minutestotakeaction,stoppingannoyingnoise,andremovingpopupmessagesfromscreens.
Sincethevessels.self.notificationstreemirrorstheotherdatainthesignalkmodel,wecanselectivelywatchorreacttospecificbranchesorkeys.Whendisplayingmultiplealarmsascreencanalsosortandfilterthem.
Notifications
34
OtherAlarms
Abovewehavediscussedmonitoringexistingvaluesandraisingalarms.Thereareotheralarmsthatmustbeconsidered,egMOB,fire,sinkingetc,andmiscalerts"GPSsignallost".etc.
Thevessels.[uuid].notificationstreeisthesameasanyotherSignalkbranch.Keyscanbeaddedandremovedasrequiredintheusualway.Sincethebranchisbeingmonitoredweonlyneedtoaddakeyofanysorttocreateasuitablealarm.
Inthecaseofanemergency,createauniquekey:Thealarmis:vessels.[uuid].notifications.[alarm.key]
Thealarmobjectis
{
"value":{
"method":["visual","sound"],
"state":"emergency",
"message":"ManOverboard!"
},
...
}
Alarmobjectsthathavebeenraisedthiswaymustbeclearedmanually,orbytheprocessthatcreatedthem.Youcanuseanysuitablepath,keepinginmindthecontextofthealarm.
egInthecaseofanalert,createauniquekeybygeneratingapath:Thealarmis:vessels.[uuid].notifications.navigation.gnss
Thealarmobjectis
{
"value":{
"method":["visual"],
"state":"alert",
"message":"GPSsignallost!"
},
...
}
WellKnownNames
Somealarmsareespeciallyimportant,egMOB.Thisisalistofkeysforspecialalarms.
..notifications.mob.*
..notifications.fire.*
..notifications.sinking.*
..notifications.flooding.*
..notifications.collision.*
..notifications.grounding.*
..notifications.listing.*
..notifications.adrift.*
..notifications.piracy.*
..notifications.abandon.*
AnexampletosendanMOBalarmfromanN2Ksource,thegatewaywouldconvertandsendsomethinglike:
{
"context":"vessels.urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d",
"updates":[
{
Notifications
35
"source":{...},
"timestamp":"2017-08-15T16:00:05.200Z",
"values":[
{
"path":"notifications.mob",
"value":{
"message":"MOB",
"state":"emergency",
"method":["visual","sound"]
}
}
]
}
]
}
Theresultingfullsignalktreewouldbe:
{
"vessels":{
"urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d":{
"uuid":"...",
"notifications":{
"mob":{
"value":{
"method":["visual","sound"],
"state":"emergency",
"message":"ManOverboard!"
},
"timestamp":"2017-04-10T08:33:53Z",
"$source":"..."
}
}
}
},
...
}
Toclearthealarmcondition,send:
{
"context":"vessels.urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d",
"updates":[
{
"source":{...},
"timestamp":"2017-08-15T16:00:05.538Z",
"values":[
{
"path":"notifications.mob",
"value":null
}
]
}
]
}
Multiplecasesofthesamealarm
Shouldmultiplecasesofthesamealarmoccur(egagpslosessignal,thenasecondgpslosessignal)thealarmsarehandledthesameasanyothermultiplevaluesinsignalk.Howeveralarmswilltendtobere-issuedwhenevertheunderlyingdatachanges.
Notifications
36
Theserversalarmmonitoringprocessesareexpectedtobesmartenoughtoknowthattheanchoralarmistriggered,anditsnotnecessarytoraiseasecondcopyofthesamealarm,afterallthereisonlyoneboatdragging!
Thismaybehandleddifferentlyfornotifications.Itmaybeusefultoknowthatyourgps'sareallfailingintermittently,orthat.Hencethehandlingofmultiplecopiesofalarmsisanimplementationissue,andmayvary.
Thekeyshouldbeunique
Ifwehaveanalarmvessels.self.notifications.navigation.anchor.currentRadiusandweattempttowriteanotherhigherinthesametreeatvessels.self.notificationsitmustnotreplaceorremovetheexistingalarm.Sincethemeta.zonesstructureisonlyvalidonsignalkleafvaluesthisoccursnaturallyinmostcircumstances.Butitispossibletosetanalarmvaluearbitrarily(egMOB)andcareshouldbetakeninimplementationsthatkeysdonotoverwriteexistingpaths.
Notifications
37
Thisisaquickstartforany-onethatwouldliketocontribute.Itsroughlyfromtechnicallyunskilledtoskilled,toptobottom.Dontbeafraidtoaskforhelp.EachtaskwillprobablystartwithanewthreadformoredetailsontheGooglegroups(https://groups.google.com/forum/#!forum/signalk).Bepatient,civil,andpersistent:-)
Completelyunskilledatboatelectronics:
Joinhttps://groups.google.com/forum/#!forum/signalk-astheuserbasegrows,sodoesawareness.Tellothers,spreadthewordFlyaSignalKflagfromyourboatIfyouhavespecialskills(egmotors,batteries,navigation,etc)helpusextendtheSignalKprotocolbyidentifyingwhatweneedtocover.AskmanufacturersaboutSignalKsupportAskquestionsaboutwhatyoudontunderstand,andcollatetheanswersforustoputonthewebsite.
Candoowninstalls,handyman,butnotITskilled.
TryaninstallofRaspberryPiandWIFI,documentexactlyhowyoudidit,sootherscanfollow.
Websiteordocumentationskills
Helpusmaintainthewebsite,andimprovethedocuments
Goodcomputerskills,butnotprogramming
Downloadandtrythejavaserver(https://github.com/SignalK/signalk-server-java)andnodeserver(https://github.com/SignalK/signalk-server-node)andthevariousappsandclients.Helptestandidentifyissues,helpimprovedocumentssootherscanfolloweasier.HelpwithUsermanuals!
Systemsengineer
Helpotherusers,helpwithscripts,developandmaintaininstallprocesses,managingourwebsites,etc.Examples:
CreateDebianpackagesoftheSignalKsoftwareforeasyinstallationtoRaspbian
Softwaredeveloper
Downloadandtest/fixourstuff,addimprovements,jointheteamandhelpcode,developsupportinyourownsoftware.
Microprocessors
ImproveourArduinostuff,addyourown,incorporateSignalKintoyourproducts.
HowCanIHelp?
38
/vessels
Description:Awrapperobjectforvesselobjects,eachdescribingvesselsinrange,includingthisvessel.
/vessels/<RegExp>
Title:vessel
Description:ThisregexpatternisusedforvalidationofanMMSIorSignalKUUIDidentifierforthevessel.Examples:urn:mrn:imo:mmsi:230099999urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d
/vessels/<RegExp>/url
Description:URLbasedidentityofthevessel,ifavailable.
/vessels/<RegExp>/mmsi
Description:MMSInumberofthevessel,ifavailable.
/vessels/<RegExp>/mothershipMmsi
Description:MMSInumberofthemothershipofthisvessel,ifavailable.
/vessels/<RegExp>/uuid
Description:AuniqueSignalKflavouredmaritimeresourceidentifier,assignedbytheserver.
/vessels/<RegExp>/name
Description:Thecommonnameofthevessel
/vessels/<RegExp>/flag
Description:Thecountryofshipregistration,orflagstateofthevessel
/vessels/<RegExp>/port
Description:Thehomeportofthevessel
/vessels/<RegExp>/registrations
AppendixA:KeysReference(Vessel)
39
Description:Thevariousregistrationsofthevessel.
/vessels/<RegExp>/registrations/imo
Description:TheIMOnumberofthevessel.
/vessels/<RegExp>/registrations/national
Description:Thenationalregistrationnumberofthevessel.
/vessels/<RegExp>/registrations/national/<RegExp>
Description:Thisregexpatternisusedforvalidatingtheidentifierfortheregistration
/vessels/<RegExp>/registrations/national/<RegExp>/country
Description:TheISO3166-2countrycode.
/vessels/<RegExp>/registrations/national/<RegExp>/registration
Description:Theregistrationcode
/vessels/<RegExp>/registrations/national/<RegExp>/description
Description:Theregistrationdescription
/vessels/<RegExp>/registrations/local
Description:Alocalorstateregistrationnumberofthevessel.
/vessels/<RegExp>/registrations/local/<RegExp>
Description:Thisregexpatternisusedforvalidatingtheidentifierfortheregistration
/vessels/<RegExp>/registrations/local/<RegExp>/registration
Description:Theregistrationcode
/vessels/<RegExp>/registrations/local/<RegExp>/description
AppendixA:KeysReference(Vessel)
40
Description:Theregistrationdescription
/vessels/<RegExp>/registrations/other
Description:Otherregistrationorpermitsforthevessel.
/vessels/<RegExp>/registrations/other/<RegExp>
Description:Thisregexpatternisusedforvalidatingtheidentifierfortheregistration
/vessels/<RegExp>/registrations/other/<RegExp>/registration
Description:Theregistrationcode
/vessels/<RegExp>/registrations/other/<RegExp>/description
Description:Theregistrationdescription
/vessels/<RegExp>/communication
Title:communication
Description:CommunicationdataincludingRadio,Telephone,E-Mail,etc.
/vessels/<RegExp>/communication/callsignVhf
Description:CallsignforVHFcommunication
/vessels/<RegExp>/communication/callsignHf
Description:CallsignforHFcommunication
/vessels/<RegExp>/communication/phoneNumber
Description:Phonenumberofskipper
/vessels/<RegExp>/communication/emailHf
Description:EmailaddresstobeusedforHFemail(Winmail,Airmail,Sailmail)
AppendixA:KeysReference(Vessel)
41
/vessels/<RegExp>/communication/email
Description:Regularemailfortheskipper
/vessels/<RegExp>/communication/satPhoneNumber
Description:Satellitephonenumberforvessel.
/vessels/<RegExp>/communication/skipperName
Description:Fullnameoftheskipperofthevessel.
/vessels/<RegExp>/communication/crewNames
Description:Arraywiththenamesofthecrew
/vessels/<RegExp>/environment
Title:environment
Description:EnvironmentaldatameasuredlocallyincludingDepth,Wind,Temp,etc.
/vessels/<RegExp>/environment/outside
Description:Environmentalconditionsoutsideofthevessel'shull
/vessels/<RegExp>/environment/outside/temperature
Units:K(Kelvin)
Description:Currentoutsideairtemperature
/vessels/<RegExp>/environment/outside/dewPointTemperature
Units:K(Kelvin)
Description:Currentoutsidedewpointtemperature
/vessels/<RegExp>/environment/outside/apparentWindChillTemperature
Units:K(Kelvin)
Description:Currentoutsideapparentwindchilltemperature
AppendixA:KeysReference(Vessel)
42
/vessels/<RegExp>/environment/outside/theoreticalWindChillTemperature
Units:K(Kelvin)
Description:Currentoutsidetheoreticalwindchilltemperature
/vessels/<RegExp>/environment/outside/heatIndexTemperature
Units:K(Kelvin)
Description:Currentoutsideheatindextemperature
/vessels/<RegExp>/environment/outside/pressure
Units:Pa(Pascal)
Description:Currentoutsideairambientpressure
/vessels/<RegExp>/environment/outside/humidity
Units:ratio(Ratio)
Description:Currentoutsideairrelativehumidity
/vessels/<RegExp>/environment/outside/airDensity
Units:kg/m3(undefined)
Description:Currentoutsideairdensity
/vessels/<RegExp>/environment/outside/illuminance
Units:Lux(undefined)
Description:Currentoutsideambientlightflux.
/vessels/<RegExp>/environment/inside
Description:Environmentalconditionsinsidethevessel'shull
/vessels/<RegExp>/environment/inside/temperature
Units:K(Kelvin)
Description:Currentinsideairtemperature
AppendixA:KeysReference(Vessel)
43
/vessels/<RegExp>/environment/inside/humidity
Units:ratio(Ratio)
Description:Currentinsideairrelativehumidity
/vessels/<RegExp>/environment/inside/engineRoom
Description:Currentengineroomairtemperature
/vessels/<RegExp>/environment/inside/engineRoom/temperature
Units:K(Kelvin)
Description:Temperature
/vessels/<RegExp>/environment/inside/engineRoom/pressure
Units:Pa(Pascal)
Description:Pressureinzone
/vessels/<RegExp>/environment/inside/engineRoom/relativeHumidity
Units:ratio(Ratio)
Description:Relativehumidityinzone
/vessels/<RegExp>/environment/inside/engineRoom/dewPoint
Units:K(Kelvin)
Description:Dewpointinzone
/vessels/<RegExp>/environment/inside/engineRoom/airDensity
Units:kg/m3(undefined)
Description:Airdensityinzone
/vessels/<RegExp>/environment/inside/engineRoom/illuminance
Units:Lux(undefined)
Description:Illuminanceinzone
AppendixA:KeysReference(Vessel)
44
/vessels/<RegExp>/environment/inside/mainCabin
Description:Currentmaincabinairtemperature
/vessels/<RegExp>/environment/inside/mainCabin/temperature
Units:K(Kelvin)
Description:Temperature
/vessels/<RegExp>/environment/inside/mainCabin/pressure
Units:Pa(Pascal)
Description:Pressureinzone
/vessels/<RegExp>/environment/inside/mainCabin/relativeHumidity
Units:ratio(Ratio)
Description:Relativehumidityinzone
/vessels/<RegExp>/environment/inside/mainCabin/dewPoint
Units:K(Kelvin)
Description:Dewpointinzone
/vessels/<RegExp>/environment/inside/mainCabin/airDensity
Units:kg/m3(undefined)
Description:Airdensityinzone
/vessels/<RegExp>/environment/inside/mainCabin/illuminance
Units:Lux(undefined)
Description:Illuminanceinzone
/vessels/<RegExp>/environment/inside/refrigerator
Description:Currentrefrigeratortemperature
/vessels/<RegExp>/environment/inside/refrigerator/temperature
AppendixA:KeysReference(Vessel)
45
Units:K(Kelvin)
Description:Temperature
/vessels/<RegExp>/environment/inside/refrigerator/pressure
Units:Pa(Pascal)
Description:Pressureinzone
/vessels/<RegExp>/environment/inside/refrigerator/relativeHumidity
Units:ratio(Ratio)
Description:Relativehumidityinzone
/vessels/<RegExp>/environment/inside/refrigerator/dewPoint
Units:K(Kelvin)
Description:Dewpointinzone
/vessels/<RegExp>/environment/inside/refrigerator/airDensity
Units:kg/m3(undefined)
Description:Airdensityinzone
/vessels/<RegExp>/environment/inside/refrigerator/illuminance
Units:Lux(undefined)
Description:Illuminanceinzone
/vessels/<RegExp>/environment/inside/freezer
Description:Currentfreezertemperature
/vessels/<RegExp>/environment/inside/freezer/temperature
Units:K(Kelvin)
Description:Temperature
/vessels/<RegExp>/environment/inside/freezer/pressure
AppendixA:KeysReference(Vessel)
46
Units:Pa(Pascal)
Description:Pressureinzone
/vessels/<RegExp>/environment/inside/freezer/relativeHumidity
Units:ratio(Ratio)
Description:Relativehumidityinzone
/vessels/<RegExp>/environment/inside/freezer/dewPoint
Units:K(Kelvin)
Description:Dewpointinzone
/vessels/<RegExp>/environment/inside/freezer/airDensity
Units:kg/m3(undefined)
Description:Airdensityinzone
/vessels/<RegExp>/environment/inside/freezer/illuminance
Units:Lux(undefined)
Description:Illuminanceinzone
/vessels/<RegExp>/environment/inside/heating
Description:Currentheatingtemperature
/vessels/<RegExp>/environment/inside/heating/temperature
Units:K(Kelvin)
Description:Temperature
/vessels/<RegExp>/environment/inside/heating/pressure
Units:Pa(Pascal)
Description:Pressureinzone
/vessels/<RegExp>/environment/inside/heating/relativeHumidity
AppendixA:KeysReference(Vessel)
47
Units:ratio(Ratio)
Description:Relativehumidityinzone
/vessels/<RegExp>/environment/inside/heating/dewPoint
Units:K(Kelvin)
Description:Dewpointinzone
/vessels/<RegExp>/environment/inside/heating/airDensity
Units:kg/m3(undefined)
Description:Airdensityinzone
/vessels/<RegExp>/environment/inside/heating/illuminance
Units:Lux(undefined)
Description:Illuminanceinzone
/vessels/<RegExp>/environment/water
Description:Environmentalconditionsofthewaterthatthevesselissailingin
/vessels/<RegExp>/environment/water/temperature
Units:K(Kelvin)
Description:Currentwatertemperature
/vessels/<RegExp>/environment/water/salinity
Units:ratio(Ratio)
Description:Watersalinity
/vessels/<RegExp>/environment/depth
Title:depth
Description:Depthrelateddata
/vessels/<RegExp>/environment/depth/belowKeel
AppendixA:KeysReference(Vessel)
48
Units:m(Meter)
Description:Depthbelowkeel
/vessels/<RegExp>/environment/depth/belowTransducer
Units:m(Meter)
Description:DepthbelowTransducer
/vessels/<RegExp>/environment/depth/belowSurface
Units:m(Meter)
Description:Depthfromsurface
/vessels/<RegExp>/environment/depth/transducerToKeel
Units:m(Meter)
Description:Depthfromthetransducertothebottomofthekeel
/vessels/<RegExp>/environment/depth/surfaceToTransducer
Units:m(Meter)
Description:Depthtransducerisbelowthewatersurface
/vessels/<RegExp>/environment/current
Title:current
Description:Directionandstrengthofcurrentaffectingthevessel
Objectvaluewithproperties
drift(m/s)setTrue(rad)setMagnetic(rad)
/vessels/<RegExp>/environment/tide
Title:tide
Description:Tidedata
/vessels/<RegExp>/environment/tide/heightHigh
AppendixA:KeysReference(Vessel)
49
Units:m(Meter)
Description:Nexthightideheightrelativetolowestastronomicaltide(LAT/ChartDatum)
/vessels/<RegExp>/environment/tide/heightNow
Units:m(Meter)
Description:Thecurrenttideheightrelativetolowestastronomicaltide(LAT/ChartDatum)
/vessels/<RegExp>/environment/tide/heightLow
Units:m(Meter)
Description:Thenextlowtideheightrelativetolowestastronomicaltide(LAT/ChartDatum)
/vessels/<RegExp>/environment/tide/timeLow
Units:RFC3339(UTC)(undefined)
Description:TimeofthenextlowtideinUTC
/vessels/<RegExp>/environment/tide/timeHigh
Units:RFC3339(UTC)(undefined)
Description:TimeofnexthightideinUTC
/vessels/<RegExp>/environment/heave
Units:m(Meter)
Description:Verticalmovementofthevesselduetowaves
/vessels/<RegExp>/environment/wind
Title:wind
Description:Winddata.
/vessels/<RegExp>/environment/wind/angleApparent
Units:rad(Radian)
Description:Apparentwindangle,negativetoport
AppendixA:KeysReference(Vessel)
50
/vessels/<RegExp>/environment/wind/angleTrueGround
Units:rad(Radian)
Description:Truewindanglebasedonspeedoverground,negativetoport
/vessels/<RegExp>/environment/wind/angleTrueWater
Units:rad(Radian)
Description:Truewindanglebasedonspeedthroughwater,negativetoport
/vessels/<RegExp>/environment/wind/directionChangeAlarm
Units:rad(Radian)
Description:Theanglethewindneedstoshifttoraiseanalarm
/vessels/<RegExp>/environment/wind/directionTrue
Units:rad(Radian)
Description:Thewinddirectionrelativetotruenorth
/vessels/<RegExp>/environment/wind/directionMagnetic
Units:rad(Radian)
Description:Thewinddirectionrelativetomagneticnorth
/vessels/<RegExp>/environment/wind/speedTrue
Units:m/s(Meterspersecond)
Description:Windspeedoverwater(ascalculatedfromspeedApparentandvessel'sspeedthroughwater)
/vessels/<RegExp>/environment/wind/speedOverGround
Units:m/s(Meterspersecond)
Description:Windspeedoverground(ascalculatedfromspeedApparentandvessel'sspeedoverground)
/vessels/<RegExp>/environment/wind/speedApparent
Units:m/s(Meterspersecond)
Description:Apparentwindspeed
AppendixA:KeysReference(Vessel)
51
/vessels/<RegExp>/environment/time
Description:Atimereferenceforthevessel.Allclocksonthevesseldispayinglocaltimeshouldusethetimezoneoffsethere.IfatimezoneRegionissuppliedthetimezonemustalsobesupplied.IftimezoneRegionissuppliedthatshouldbedisplayedbyUIsinpreferencetosimplytimezone.ie12:05(Europe/London)shouldbedisplayedinpreferenceto12:05(UTC+01:00)
Fields:
millis(MillisecondssincetheUNIXepoch(1970-01-0100:00:00))timezoneOffset(OnboardtimezoneoffsetfromUTCinhoursandminutes(-)hhmm.+vemeanseastofGreenwich.ForusebyUIs)timezoneRegion(OnboardtimezoneoffsetaslistedintheIANAtimezonedatabase(tzdatabase))
/vessels/<RegExp>/environment/mode
Description:Modeofthevesselbasedonthecurrentconditions.Canbecombinedwithnavigation.statetocontrolvesselsignalsegswitchtonightmodeforinstrumentationandlights,ormakesoundsignalsforfog.
/vessels/<RegExp>/navigation
Title:navigation
Description:NavigationdataincludingPosition,CoursetonextWPinformation,etc.
/vessels/<RegExp>/navigation/lights
Title:Navigationlights
Description:Currentstateofthevesselsnavigationlights
/vessels/<RegExp>/navigation/courseOverGroundMagnetic
Units:rad(Radian)
Description:Courseoverground(magnetic)
/vessels/<RegExp>/navigation/courseOverGroundTrue
Units:rad(Radian)
Description:Courseoverground(true)
/vessels/<RegExp>/navigation/courseRhumbline
Title:Course
Description:CourseinformationcomputedwithRhumbline
AppendixA:KeysReference(Vessel)
52
/vessels/<RegExp>/navigation/courseRhumbline/crossTrackError
Units:m(Meter)
Description:Thedistancefromthevessel'spresentpositiontotheclosestpointonaline(track)betweenpreviousPointandnextPoint.Anegativenumberindicatesthatthevesseliscurrentlytotheleftofthisline(andthusmuststeerrighttocompensate),apositivenumbermeansthevesselistotherightoftheline(steerlefttocompensate).
/vessels/<RegExp>/navigation/courseRhumbline/bearingTrackTrue
Units:rad(Radian)
Description:ThebearingofalinebetweenpreviousPointandnextPoint,relativetotruenorth.
/vessels/<RegExp>/navigation/courseRhumbline/bearingTrackMagnetic
Units:rad(Radian)
Description:ThebearingofalinebetweenpreviousPointandnextPoint,relativetomagneticnorth.
/vessels/<RegExp>/navigation/courseRhumbline/activeRoute
Description:Datarequiredifsailingtoanactiveroute,definedinresources.
/vessels/<RegExp>/navigation/courseRhumbline/activeRoute/href
Description:Areference(URL)tothepresentlyactiveroute,inresources.
/vessels/<RegExp>/navigation/courseRhumbline/activeRoute/estimatedTimeOfArrival
Description:Theestimatedtimeofarrivalattheendofthecurrentroute
/vessels/<RegExp>/navigation/courseRhumbline/activeRoute/startTime
Description:Thetimethisroutewasactivated
/vessels/<RegExp>/navigation/courseRhumbline/nextPoint
Description:Thepointonearththevessel'spresentlynavigatingtowards
/vessels/<RegExp>/navigation/courseRhumbline/previousPoint
Description:Thepointonearththevessel'spresentlynavigatingfrom
AppendixA:KeysReference(Vessel)
53
Objectvaluewithproperties
typehref
/vessels/<RegExp>/navigation/courseRhumbline/previousPoint/distance
Units:m(Meter)
Description:ThedistanceinmetersbetweenpreviousPointandthevessel'spresentposition
/vessels/<RegExp>/navigation/courseRhumbline/previousPoint/position
Title:position
Description:ThepositionoflastPointintwodimensions
Objectvaluewithproperties
longitude(deg)latitude(deg)altitude(m)
/vessels/<RegExp>/navigation/courseGreatCircle
Title:Course
Description:CourseinformationcomputedwithGreatCircle
/vessels/<RegExp>/navigation/courseGreatCircle/crossTrackError
Units:m(Meter)
Description:Thedistancefromthevessel'spresentpositiontotheclosestpointonaline(track)betweenpreviousPointandnextPoint.Anegativenumberindicatesthatthevesseliscurrentlytotheleftofthisline(andthusmuststeerrighttocompensate),apositivenumbermeansthevesselistotherightoftheline(steerlefttocompensate).
/vessels/<RegExp>/navigation/courseGreatCircle/bearingTrackTrue
Units:rad(Radian)
Description:ThebearingofalinebetweenpreviousPointandnextPoint,relativetotruenorth.
/vessels/<RegExp>/navigation/courseGreatCircle/bearingTrackMagnetic
Units:rad(Radian)
Description:ThebearingofalinebetweenpreviousPointandnextPoint,relativetomagneticnorth.
AppendixA:KeysReference(Vessel)
54
/vessels/<RegExp>/navigation/courseGreatCircle/activeRoute
Description:Datarequiredifsailingtoanactiveroute,definedinresources.
/vessels/<RegExp>/navigation/courseGreatCircle/activeRoute/href
Description:Areference(URL)tothepresentlyactiveroute,inresources.
/vessels/<RegExp>/navigation/courseGreatCircle/activeRoute/estimatedTimeOfArrival
Description:Theestimatedtimeofarrivalattheendofthecurrentroute
/vessels/<RegExp>/navigation/courseGreatCircle/activeRoute/startTime
Description:Thetimethisroutewasactivated
/vessels/<RegExp>/navigation/courseGreatCircle/nextPoint
Description:Thepointonearththevessel'spresentlynavigatingtowards
/vessels/<RegExp>/navigation/courseGreatCircle/previousPoint
Description:Thepointonearththevessel'spresentlynavigatingfrom
Objectvaluewithproperties
typehref
/vessels/<RegExp>/navigation/courseGreatCircle/previousPoint/distance
Units:m(Meter)
Description:ThedistanceinmetersbetweenpreviousPointandthevessel'spresentposition
/vessels/<RegExp>/navigation/courseGreatCircle/previousPoint/position
Title:position
Description:ThepositionoflastPointintwodimensions
Objectvaluewithproperties
longitude(deg)
AppendixA:KeysReference(Vessel)
55
latitude(deg)altitude(m)
/vessels/<RegExp>/navigation/closestApproach
Description:Calculatedvaluesforothervessels,e.g.fromAIS
Objectvaluewithproperties
distance(m)timeTo(s)
/vessels/<RegExp>/navigation/racing
Description:Specificnavigationaldatarelatedtoyachtracing.
/vessels/<RegExp>/navigation/racing/startLineStb
Title:position
Description:Positionofstarboardstartmark
Objectvaluewithproperties
longitude(deg)latitude(deg)altitude(m)
/vessels/<RegExp>/navigation/racing/startLinePort
Title:position
Description:Positionofstarboardstartmark
Objectvaluewithproperties
longitude(deg)latitude(deg)altitude(m)
/vessels/<RegExp>/navigation/racing/distanceStartline
Units:m(Meter)
Description:Thecurrentdistancetothestartline
/vessels/<RegExp>/navigation/racing/timeToStart
Units:s(Second)
AppendixA:KeysReference(Vessel)
56
Description:Timeleftbeforestart
/vessels/<RegExp>/navigation/racing/timePortDown
Units:s(Second)
Description:Timetoarriveatthestartlineonport,turningdownwind
/vessels/<RegExp>/navigation/racing/timePortUp
Units:s(Second)
Description:Timetoarriveatthestartlineonport,turningupwind
/vessels/<RegExp>/navigation/racing/timeStbdDown
Units:s(Second)
Description:Timetoarriveatthestartlineonstarboard,turningdownwind
/vessels/<RegExp>/navigation/racing/timeStbdUp
Units:s(Second)
Description:Timetoarriveatthestartlineonstarboard,turningupwind
/vessels/<RegExp>/navigation/racing/distanceLayline
Units:m(Meter)
Description:Thecurrentdistancetothelayline
/vessels/<RegExp>/navigation/magneticVariation
Units:rad(Radian)
Description:Themagneticvariation(declination)atthecurrentpositionthatmustbeaddedtothemagneticheadingtoderivethetrueheading.EasterlyvariationsarepositiveandWesterlyvariationsarenegative(inRadians).
/vessels/<RegExp>/navigation/magneticVariationAgeOfService
Units:s(Second)
Description:Secondssincethe1stJan1970thatthevariationcalculationwasmade
AppendixA:KeysReference(Vessel)
57
/vessels/<RegExp>/navigation/destination
Title:destination
Description:Theintendeddestinationofthistrip
/vessels/<RegExp>/navigation/destination/commonName
Description:CommonnameoftheDestination,eg'Fiji',alsousedinaismessages
/vessels/<RegExp>/navigation/destination/eta
Description:Expectedtimeofarrivalatdestinationwaypoint
/vessels/<RegExp>/navigation/destination/waypoint
Description:UUIDofdestinationwaypoint
/vessels/<RegExp>/navigation/gnss
Title:gnss
Description:Globalsatellitenavigationmetainformation
/vessels/<RegExp>/navigation/gnss/type
Description:Fixtype
/vessels/<RegExp>/navigation/gnss/methodQuality
Description:Qualityofthesatellitefix
/vessels/<RegExp>/navigation/gnss/integrity
Description:Integrityofthesatellitefix
/vessels/<RegExp>/navigation/gnss/satellites
Description:Numberofsatellites
/vessels/<RegExp>/navigation/gnss/antennaAltitude
AppendixA:KeysReference(Vessel)
58
Units:m(Meter)
Description:Altitudeofantenna
/vessels/<RegExp>/navigation/gnss/horizontalDilution
Description:HorizontalDilutionofPrecision
/vessels/<RegExp>/navigation/gnss/positionDilution
Description:PositionalDilutionofPrecision
/vessels/<RegExp>/navigation/gnss/geoidalSeparation
Description:DifferencebetweenWGS84earthellipsoidandmeansealevel
/vessels/<RegExp>/navigation/gnss/differentialAge
Units:s(Second)
Description:AgeofDGPSdata
/vessels/<RegExp>/navigation/gnss/differentialReference
Description:IDofDGPSbasestation
/vessels/<RegExp>/navigation/headingMagnetic
Units:rad(Radian)
Description:Currentmagneticheadingofthevessel
/vessels/<RegExp>/navigation/headingTrue
Units:rad(Radian)
Description:Thecurrenttrueheadingofthevessel
/vessels/<RegExp>/navigation/position
Title:position
Description:Thepositionofthevesselin2or3dimensions(WGS84datum)
Objectvaluewithproperties
AppendixA:KeysReference(Vessel)
59
longitude(deg)latitude(deg)altitude(m)
/vessels/<RegExp>/navigation/attitude
Title:Attitude
Description:Vesselattitude:roll,pitchandyaw
Objectvaluewithproperties
roll(rad)pitch(rad)yaw(rad)
/vessels/<RegExp>/navigation/maneuver
Description:Specialmaneuversuchasregionalpassingarrangement.(fromais)
/vessels/<RegExp>/navigation/rateOfTurn
Units:rad/s(Radianpersecond)
Description:Rateofturn(+veischangetostarboard).IfthevalueisAISRIGHTorLEFT,setto+-0.0206radsandaddwarninginnotifications
/vessels/<RegExp>/navigation/speedOverGround
Units:m/s(Meterspersecond)
Description:Vesselspeedoverground.IfconvertingfromAIS'HIGH'value,setto102.2(Aismaxvalue)andaddwarninginnotifications
/vessels/<RegExp>/navigation/speedThroughWater
Units:m/s(Meterspersecond)
Description:Vesselspeedthroughthewater
/vessels/<RegExp>/navigation/speedThroughWaterTransverse
Units:m/s(Meterspersecond)
Description:Transversespeedthroughthewater(Leeway)
AppendixA:KeysReference(Vessel)
60
/vessels/<RegExp>/navigation/speedThroughWaterLongitudinal
Units:m/s(Meterspersecond)
Description:Longitudinalspeedthroughthewater
/vessels/<RegExp>/navigation/leewayAngle
Units:rad(Radian)
Description:LeewayAnglederivedfromthelongitudinalandtransversespeedsthroughthewater
/vessels/<RegExp>/navigation/log
Units:m(Meter)
Description:Totaldistancetraveled
/vessels/<RegExp>/navigation/trip
Description:Tripdata
/vessels/<RegExp>/navigation/trip/log
Units:m(Meter)
Description:Totaldistancetraveledonthistrip/sincetripreset
/vessels/<RegExp>/navigation/trip/lastReset
Description:Triplogresettime
/vessels/<RegExp>/navigation/state
Title:state
Description:Currentnavigationalstateofthevessel
/vessels/<RegExp>/navigation/anchor
Title:anchor
Description:Theanchordata,foranchorwatchetc
/vessels/<RegExp>/navigation/anchor/maxRadius
AppendixA:KeysReference(Vessel)
61
Units:m(Meter)
Description:Radiusofanchoralarmboundary.Thedistancefromanchortothecenteroftheboat
/vessels/<RegExp>/navigation/anchor/currentRadius
Units:m(Meter)
Description:Currentdistancetoanchor
/vessels/<RegExp>/navigation/anchor/position
Title:position
Description:Theactualanchorpositionofthevesselin3dimensions,probablyanestimateatbest
Objectvaluewithproperties
longitude(deg)latitude(deg)altitude(m)
/vessels/<RegExp>/navigation/datetime
Description:TimeandDatefromtheGNSSPositioningSystem
Fields:
gnssTimeSource(SourceofGNSSDateandTime),enum:
GPSGLONASSGalileoBeidouIRNSSRadioSignalInternetLocalclock
/vessels/<RegExp>/propulsion
Title:propulsion
Description:Enginedata,eachengineidentifiedbyauniquenamei.e.Port_Engine
/vessels/<RegExp>/propulsion/<RegExp>
Description:Thisregexpatternisusedforvalidationoftheidentifierforthepropulsionunit
AppendixA:KeysReference(Vessel)
62
/vessels/<RegExp>/propulsion/<RegExp>/label
Description:Humanreadablelabelforthepropulsionunit
/vessels/<RegExp>/propulsion/<RegExp>/state
Description:Thecurrentstateoftheengine
/vessels/<RegExp>/propulsion/<RegExp>/revolutions
Units:Hz(Hertz)
Description:Enginerevolutions(x60forRPM)
/vessels/<RegExp>/propulsion/<RegExp>/temperature
Units:K(Kelvin)
Description:Enginetemperature
/vessels/<RegExp>/propulsion/<RegExp>/oilTemperature
Units:K(Kelvin)
Description:Oiltemperature
/vessels/<RegExp>/propulsion/<RegExp>/oilPressure
Units:Pa(Pascal)
Description:Oilpressure
/vessels/<RegExp>/propulsion/<RegExp>/alternatorVoltage
Units:V(Volt)
Description:Alternatorvoltage
/vessels/<RegExp>/propulsion/<RegExp>/runTime
Units:s(Second)
Description:Totalrunningtimeforengine(EngineHoursinseconds)
/vessels/<RegExp>/propulsion/<RegExp>/coolantTemperature
AppendixA:KeysReference(Vessel)
63
Units:K(Kelvin)
Description:Coolanttemperature
/vessels/<RegExp>/propulsion/<RegExp>/coolantPressure
Units:Pa(Pascal)
Description:Coolantpressure
/vessels/<RegExp>/propulsion/<RegExp>/boostPressure
Units:Pa(Pascal)
Description:Engineboost(turbo,supercharger)pressure
/vessels/<RegExp>/propulsion/<RegExp>/intakeManifoldTemperature
Units:K(Kelvin)
Description:Intakemanifoldtemperature
/vessels/<RegExp>/propulsion/<RegExp>/engineLoad
Units:ratio(Ratio)
Description:Engineloadratio,0<=ratio<=1,1is100%
/vessels/<RegExp>/propulsion/<RegExp>/engineTorque
Units:ratio(Ratio)
Description:Enginetorqueratio,0<=ratio<=1,1is100%
/vessels/<RegExp>/propulsion/<RegExp>/transmission
Description:Thetransmission(gearbox)ofthenamedengine
/vessels/<RegExp>/propulsion/<RegExp>/transmission/gear
Description:Currentlyselectedgeartheengineisini.e.Forward,Reverse,etc.
/vessels/<RegExp>/propulsion/<RegExp>/transmission/gearRatio
Units:ratio(Ratio)
AppendixA:KeysReference(Vessel)
64
Description:Gearratio,enginerotationsperpropellershaftrotation
/vessels/<RegExp>/propulsion/<RegExp>/transmission/oilTemperature
Units:K(Kelvin)
Description:Oiltemperature
/vessels/<RegExp>/propulsion/<RegExp>/transmission/oilPressure
Units:Pa(Pascal)
Description:Oilpressure
/vessels/<RegExp>/propulsion/<RegExp>/drive
Description:Dataabouttheengine'sdrive.
/vessels/<RegExp>/propulsion/<RegExp>/drive/type
Description:Thetypeofdrivetheboathasi.eOutboard,shaft,jet,etc.
Enumvalues:
saildriveshaftoutboardjetpodother
/vessels/<RegExp>/propulsion/<RegExp>/drive/trimState
Units:ratio(Ratio)
Description:Trim/tiltstate,0<=ratio<=1,1is100%up
/vessels/<RegExp>/propulsion/<RegExp>/drive/thrustAngle
Units:rad(Radian)
Description:Currentthrustangleforsteerabledrives,+veisthrusttoStarboard
/vessels/<RegExp>/propulsion/<RegExp>/drive/propeller
Description:Dataaboutthedrive'spropeller(pitchandslip)
AppendixA:KeysReference(Vessel)
65
/vessels/<RegExp>/propulsion/<RegExp>/fuel
Description:Dataabouttheengine'sFuelSupply
/vessels/<RegExp>/propulsion/<RegExp>/fuel/type
Description:Fueltype
Enumvalues:
dieselpetrolelectriccoal/woodother
/vessels/<RegExp>/propulsion/<RegExp>/fuel/used
Units:m3(Cubicmeter)
Description:Usedfuelsincelastreset.Resettingisatuserdiscretion
/vessels/<RegExp>/propulsion/<RegExp>/fuel/pressure
Units:Pa(Pascal)
Description:Fuelpressure
/vessels/<RegExp>/propulsion/<RegExp>/fuel/rate
Units:m3/s(Cubicmeterpersecond)
Description:Fuelrateofconsumption
/vessels/<RegExp>/propulsion/<RegExp>/fuel/economyRate
Units:m3/s(Cubicmeterpersecond)
Description:Economyfuelrateofconsumption
/vessels/<RegExp>/propulsion/<RegExp>/fuel/averageRate
Units:m3/s(Cubicmeterpersecond)
Description:Averagefuelrateofconsumption
AppendixA:KeysReference(Vessel)
66
/vessels/<RegExp>/propulsion/<RegExp>/exhaustTemperature
Units:K(Kelvin)
Description:Exhausttemperature
/vessels/<RegExp>/electrical
Title:electrical
Description:Electricaldata,eachelectricaldeviceindentifiedbyauniquenamei.e.Battery_1
/vessels/<RegExp>/electrical/batteries
Description:Dataaboutthevessel'sbatteries
/vessels/<RegExp>/electrical/batteries/<RegExp>
Title:Batterykeyedbyinstanceid
Description:Batteries,oneormany,withinthevessel
/vessels/<RegExp>/electrical/batteries/<RegExp>/name
Description:UniqueIDofdevice(houseBattery,alternator,Generator,solar1,inverter,charger,combiner,etc.)
/vessels/<RegExp>/electrical/batteries/<RegExp>/location
Description:Installedlocationofdeviceonvessel
/vessels/<RegExp>/electrical/batteries/<RegExp>/dateInstalled
Units:RFC3339(UTC)(undefined)
Description:Datedevicewasinstalled
/vessels/<RegExp>/electrical/batteries/<RegExp>/manufacturer
Description:[missing]
/vessels/<RegExp>/electrical/batteries/<RegExp>/manufacturer/name
Description:Manufacturer'sname
AppendixA:KeysReference(Vessel)
67
/vessels/<RegExp>/electrical/batteries/<RegExp>/manufacturer/model
Description:Modelorpartnumber
/vessels/<RegExp>/electrical/batteries/<RegExp>/manufacturer/URL
Description:Webreferance/URL
/vessels/<RegExp>/electrical/batteries/<RegExp>/associatedBus
Description:NameofBUSdeviceisassociatedwith
/vessels/<RegExp>/electrical/batteries/<RegExp>/voltage
Units:V(Volt)
Description:Voltagemeasuredatorascloseaspossibletothedevice
/vessels/<RegExp>/electrical/batteries/<RegExp>/voltage/ripple
Units:V(Volt)
Description:DCRipplevoltage
/vessels/<RegExp>/electrical/batteries/<RegExp>/current
Units:A(Ampere)
Description:Currentflowingout(+ve)orin(-ve)tothedevice
/vessels/<RegExp>/electrical/batteries/<RegExp>/temperature
Title:temperature
Units:K(Kelvin)
Description:Temperaturemeasuredwithinoronthedevice
Fields:
warnUpper(Upperoperationaltemperaturelimit),units:K(Kelvin)warnLower(Loweroperationaltemperaturelimit),units:K(Kelvin)faultUpper(Upperfaulttemperaturelimit-devicemaydisable/disconnect),units:K(Kelvin)faultLower(Lowerfaulttemperaturelimit-devicemaydisable/disconnect),units:K(Kelvin)limitDischargeLower(Operationalminimumtemperaturelimitforbatterydischarge),units:K(Kelvin)limitDischargeUpper(Operationalmaximumtemperaturelimitforbatterydischarge),units:K(Kelvin)limitRechargeLower(Operationalminimumtemperaturelimitforbatteryrecharging),units:K(Kelvin)limitRechargeUpper(Operationalmaximumtemperaturelimitforbatteryrecharging),units:K(Kelvin)
AppendixA:KeysReference(Vessel)
68
/vessels/<RegExp>/electrical/batteries/<RegExp>/chemistry
Description:TypeofbatteryFLA,LiFePO4,etc.
/vessels/<RegExp>/electrical/batteries/<RegExp>/capacity
Title:capacity
Description:Dataaboutthebattery'scapacity
/vessels/<RegExp>/electrical/batteries/<RegExp>/capacity/nominal
Units:J(Joule)
Description:Thecapacityofbatteryasspecifiedbythemanufacturer
/vessels/<RegExp>/electrical/batteries/<RegExp>/capacity/actual
Units:J(Joule)
Description:Themeasuredcapacityofbattery.Thismaychangeovertimeandwilllikelydeviatefromthenominalcapacity.
/vessels/<RegExp>/electrical/batteries/<RegExp>/capacity/remaining
Units:J(Joule)
Description:Capacityremaininginbattery
/vessels/<RegExp>/electrical/batteries/<RegExp>/capacity/dischargeLimit
Units:J(Joule)
Description:Minimumcapacitytobeleftinthebatterywhiledischarging
/vessels/<RegExp>/electrical/batteries/<RegExp>/capacity/stateOfCharge
Units:ratio(Ratio)
Description:Stateofcharge,1=100%
/vessels/<RegExp>/electrical/batteries/<RegExp>/capacity/stateOfHealth
Units:ratio(Ratio)
Description:StateofHealth,1=100%
AppendixA:KeysReference(Vessel)
69
/vessels/<RegExp>/electrical/batteries/<RegExp>/capacity/dischargeSinceFull
Units:C(Coulomb)
Description:Cumulativedischargesincebatterywaslastfull
/vessels/<RegExp>/electrical/batteries/<RegExp>/capacity/timeRemaining
Units:s(Second)
Description:Timetodischargetodischargelimitatcurrentrate
/vessels/<RegExp>/electrical/batteries/<RegExp>/lifetimeDischarge
Units:C(Coulomb)
Description:Cumulativechargedischargedfrombatteryoveroperationallifetimeofbattery
/vessels/<RegExp>/electrical/batteries/<RegExp>/lifetimeRecharge
Units:C(Coulomb)
Description:Cumulativechargerechargedintobatteryoveroperationallifetimeofbattery
/vessels/<RegExp>/electrical/inverters
Description:DataabouttheInverterthathasbothDCandACqualities
/vessels/<RegExp>/electrical/inverters/<RegExp>
Title:Inverter
Description:DCtoACinverter,oneormany,withinthevessel
/vessels/<RegExp>/electrical/inverters/<RegExp>/name
Description:UniqueIDofdevice(houseBattery,alternator,Generator,solar1,inverter,charger,combiner,etc.)
/vessels/<RegExp>/electrical/inverters/<RegExp>/location
Description:Installedlocationofdeviceonvessel
/vessels/<RegExp>/electrical/inverters/<RegExp>/dateInstalled
AppendixA:KeysReference(Vessel)
70
Units:RFC3339(UTC)(undefined)
Description:Datedevicewasinstalled
/vessels/<RegExp>/electrical/inverters/<RegExp>/manufacturer
Description:[missing]
/vessels/<RegExp>/electrical/inverters/<RegExp>/manufacturer/name
Description:Manufacturer'sname
/vessels/<RegExp>/electrical/inverters/<RegExp>/manufacturer/model
Description:Modelorpartnumber
/vessels/<RegExp>/electrical/inverters/<RegExp>/manufacturer/URL
Description:Webreferance/URL
/vessels/<RegExp>/electrical/inverters/<RegExp>/dc
Title:DCQualities
Description:DCcommonqualities
/vessels/<RegExp>/electrical/inverters/<RegExp>/dc/associatedBus
Description:NameofBUSdeviceisassociatedwith
/vessels/<RegExp>/electrical/inverters/<RegExp>/dc/voltage
Units:V(Volt)
Description:Voltagemeasuredatorascloseaspossibletothedevice
/vessels/<RegExp>/electrical/inverters/<RegExp>/dc/voltage/ripple
Units:V(Volt)
Description:DCRipplevoltage
/vessels/<RegExp>/electrical/inverters/<RegExp>/dc/current
AppendixA:KeysReference(Vessel)
71
Units:A(Ampere)
Description:Currentflowingout(+ve)orin(-ve)tothedevice
/vessels/<RegExp>/electrical/inverters/<RegExp>/dc/temperature
Title:temperature
Units:K(Kelvin)
Description:Temperaturemeasuredwithinoronthedevice
Fields:
warnUpper(Upperoperationaltemperaturelimit),units:K(Kelvin)warnLower(Loweroperationaltemperaturelimit),units:K(Kelvin)faultUpper(Upperfaulttemperaturelimit-devicemaydisable/disconnect),units:K(Kelvin)faultLower(Lowerfaulttemperaturelimit-devicemaydisable/disconnect),units:K(Kelvin)
/vessels/<RegExp>/electrical/inverters/<RegExp>/ac
Title:ACQualities
Description:ACequipmentcommonqualities
/vessels/<RegExp>/electrical/inverters/<RegExp>/ac/associatedBus
Description:NameofBUSdeviceisassociatedwith
/vessels/<RegExp>/electrical/inverters/<RegExp>/ac/lineNeutralVoltage
Units:V(Volt)
Description:RMSvoltagemeasuredbetweenphaseandneutral
/vessels/<RegExp>/electrical/inverters/<RegExp>/ac/lineLineVoltage
Units:V(Volt)
Description:RMSvoltagemeasuredbetweenphases
/vessels/<RegExp>/electrical/inverters/<RegExp>/ac/current
Units:A(Ampere)
Description:RMScurrent
AppendixA:KeysReference(Vessel)
72
/vessels/<RegExp>/electrical/inverters/<RegExp>/ac/frequency
Units:Hz(Hertz)
Description:ACfrequency.
/vessels/<RegExp>/electrical/inverters/<RegExp>/ac/reactivePower
Units:W(Watt)
Description:Reactivepower
/vessels/<RegExp>/electrical/inverters/<RegExp>/ac/powerFactor
Description:Powerfactor
/vessels/<RegExp>/electrical/inverters/<RegExp>/ac/powerFactorLagging
Description:Lead/lagstatus.
Enumvalues:
leadinglaggingerrornotavailable
/vessels/<RegExp>/electrical/inverters/<RegExp>/ac/realPower
Units:W(Watt)
Description:Realpower.
/vessels/<RegExp>/electrical/inverters/<RegExp>/ac/apparentPower
Units:W(Watt)
Description:Apparentpower.
/vessels/<RegExp>/electrical/inverters/<RegExp>/inverterMode
Description:Modeofinverter
/vessels/<RegExp>/electrical/chargers
Description:DataaboutACsourcedbatterycharger
AppendixA:KeysReference(Vessel)
73
/vessels/<RegExp>/electrical/chargers/<RegExp>
Title:Charger
Description:Batterycharger
/vessels/<RegExp>/electrical/chargers/<RegExp>/name
Description:UniqueIDofdevice(houseBattery,alternator,Generator,solar1,inverter,charger,combiner,etc.)
/vessels/<RegExp>/electrical/chargers/<RegExp>/location
Description:Installedlocationofdeviceonvessel
/vessels/<RegExp>/electrical/chargers/<RegExp>/dateInstalled
Units:RFC3339(UTC)(undefined)
Description:Datedevicewasinstalled
/vessels/<RegExp>/electrical/chargers/<RegExp>/manufacturer
Description:[missing]
/vessels/<RegExp>/electrical/chargers/<RegExp>/manufacturer/name
Description:Manufacturer'sname
/vessels/<RegExp>/electrical/chargers/<RegExp>/manufacturer/model
Description:Modelorpartnumber
/vessels/<RegExp>/electrical/chargers/<RegExp>/manufacturer/URL
Description:Webreferance/URL
/vessels/<RegExp>/electrical/chargers/<RegExp>/associatedBus
Description:NameofBUSdeviceisassociatedwith
/vessels/<RegExp>/electrical/chargers/<RegExp>/voltage
AppendixA:KeysReference(Vessel)
74
Units:V(Volt)
Description:Voltagemeasuredatorascloseaspossibletothedevice
/vessels/<RegExp>/electrical/chargers/<RegExp>/voltage/ripple
Units:V(Volt)
Description:DCRipplevoltage
/vessels/<RegExp>/electrical/chargers/<RegExp>/current
Units:A(Ampere)
Description:Currentflowingout(+ve)orin(-ve)tothedevice
/vessels/<RegExp>/electrical/chargers/<RegExp>/temperature
Title:temperature
Units:K(Kelvin)
Description:Temperaturemeasuredwithinoronthedevice
Fields:
warnUpper(Upperoperationaltemperaturelimit),units:K(Kelvin)warnLower(Loweroperationaltemperaturelimit),units:K(Kelvin)faultUpper(Upperfaulttemperaturelimit-devicemaydisable/disconnect),units:K(Kelvin)faultLower(Lowerfaulttemperaturelimit-devicemaydisable/disconnect),units:K(Kelvin)
/vessels/<RegExp>/electrical/chargers/<RegExp>/chargingAlgorithm
Description:Algorithmbeingusedbythecharger
/vessels/<RegExp>/electrical/chargers/<RegExp>/chargerRole
Description:Howischargingsourceconfigured?Standalone,orinsyncwithanothercharger?
/vessels/<RegExp>/electrical/chargers/<RegExp>/chargingMode
Description:Chargingmodei.e.float,overcharge,etc.
/vessels/<RegExp>/electrical/chargers/<RegExp>/setpointVoltage
Units:V(Volt)
AppendixA:KeysReference(Vessel)
75
Description:Targetregulationvoltage
/vessels/<RegExp>/electrical/chargers/<RegExp>/setpointCurrent
Units:A(Ampere)
Description:Targetcurrentlimit
/vessels/<RegExp>/electrical/alternators
Description:DataaboutanAlternatorchargingdevice
/vessels/<RegExp>/electrical/alternators/<RegExp>
Title:Alternator
Description:Mechanicallydrivenalternator,includesdynamos
/vessels/<RegExp>/electrical/alternators/<RegExp>/name
Description:UniqueIDofdevice(houseBattery,alternator,Generator,solar1,inverter,charger,combiner,etc.)
/vessels/<RegExp>/electrical/alternators/<RegExp>/location
Description:Installedlocationofdeviceonvessel
/vessels/<RegExp>/electrical/alternators/<RegExp>/dateInstalled
Units:RFC3339(UTC)(undefined)
Description:Datedevicewasinstalled
/vessels/<RegExp>/electrical/alternators/<RegExp>/manufacturer
Description:[missing]
/vessels/<RegExp>/electrical/alternators/<RegExp>/manufacturer/name
Description:Manufacturer'sname
/vessels/<RegExp>/electrical/alternators/<RegExp>/manufacturer/model
Description:Modelorpartnumber
AppendixA:KeysReference(Vessel)
76
/vessels/<RegExp>/electrical/alternators/<RegExp>/manufacturer/URL
Description:Webreferance/URL
/vessels/<RegExp>/electrical/alternators/<RegExp>/associatedBus
Description:NameofBUSdeviceisassociatedwith
/vessels/<RegExp>/electrical/alternators/<RegExp>/voltage
Units:V(Volt)
Description:Voltagemeasuredatorascloseaspossibletothedevice
/vessels/<RegExp>/electrical/alternators/<RegExp>/voltage/ripple
Units:V(Volt)
Description:DCRipplevoltage
/vessels/<RegExp>/electrical/alternators/<RegExp>/current
Units:A(Ampere)
Description:Currentflowingout(+ve)orin(-ve)tothedevice
/vessels/<RegExp>/electrical/alternators/<RegExp>/temperature
Title:temperature
Units:K(Kelvin)
Description:Temperaturemeasuredwithinoronthedevice
Fields:
warnUpper(Upperoperationaltemperaturelimit),units:K(Kelvin)warnLower(Loweroperationaltemperaturelimit),units:K(Kelvin)faultUpper(Upperfaulttemperaturelimit-devicemaydisable/disconnect),units:K(Kelvin)faultLower(Lowerfaulttemperaturelimit-devicemaydisable/disconnect),units:K(Kelvin)
/vessels/<RegExp>/electrical/alternators/<RegExp>/chargingAlgorithm
Description:Algorithmbeingusedbythecharger
AppendixA:KeysReference(Vessel)
77
/vessels/<RegExp>/electrical/alternators/<RegExp>/chargerRole
Description:Howischargingsourceconfigured?Standalone,orinsyncwithanothercharger?
/vessels/<RegExp>/electrical/alternators/<RegExp>/chargingMode
Description:Chargingmodei.e.float,overcharge,etc.
/vessels/<RegExp>/electrical/alternators/<RegExp>/setpointVoltage
Units:V(Volt)
Description:Targetregulationvoltage
/vessels/<RegExp>/electrical/alternators/<RegExp>/setpointCurrent
Units:A(Ampere)
Description:Targetcurrentlimit
/vessels/<RegExp>/electrical/alternators/<RegExp>/revolutions
Units:Hz(Hertz)
Description:Alternatorrevolutionspersecond(x60forRPM)
/vessels/<RegExp>/electrical/alternators/<RegExp>/pulleyRatio
Units:ratio(Ratio)
Description:Mechanicalpulleyratioofdrivingsource(UsedtobackcalculateengineRPMs)
/vessels/<RegExp>/electrical/alternators/<RegExp>/fieldDrive
Units:%(undefined)
Description:%(0..100)offieldvoltageapplied
/vessels/<RegExp>/electrical/alternators/<RegExp>/regulatorTemperature
Units:K(Kelvin)
Description:Currenttemperatureofcriticalregulatorcomponents
/vessels/<RegExp>/electrical/solar
AppendixA:KeysReference(Vessel)
78
Description:DataaboutSolarchargingdevice(s)
/vessels/<RegExp>/electrical/solar/<RegExp>
Title:Solar
Description:Photovoltaicchargingdevices
/vessels/<RegExp>/electrical/solar/<RegExp>/name
Description:UniqueIDofdevice(houseBattery,alternator,Generator,solar1,inverter,charger,combiner,etc.)
/vessels/<RegExp>/electrical/solar/<RegExp>/location
Description:Installedlocationofdeviceonvessel
/vessels/<RegExp>/electrical/solar/<RegExp>/dateInstalled
Units:RFC3339(UTC)(undefined)
Description:Datedevicewasinstalled
/vessels/<RegExp>/electrical/solar/<RegExp>/manufacturer
Description:[missing]
/vessels/<RegExp>/electrical/solar/<RegExp>/manufacturer/name
Description:Manufacturer'sname
/vessels/<RegExp>/electrical/solar/<RegExp>/manufacturer/model
Description:Modelorpartnumber
/vessels/<RegExp>/electrical/solar/<RegExp>/manufacturer/URL
Description:Webreferance/URL
/vessels/<RegExp>/electrical/solar/<RegExp>/associatedBus
Description:NameofBUSdeviceisassociatedwith
AppendixA:KeysReference(Vessel)
79
/vessels/<RegExp>/electrical/solar/<RegExp>/voltage
Units:V(Volt)
Description:Voltagemeasuredatorascloseaspossibletothedevice
/vessels/<RegExp>/electrical/solar/<RegExp>/voltage/ripple
Units:V(Volt)
Description:DCRipplevoltage
/vessels/<RegExp>/electrical/solar/<RegExp>/current
Units:A(Ampere)
Description:Currentflowingout(+ve)orin(-ve)tothedevice
/vessels/<RegExp>/electrical/solar/<RegExp>/temperature
Title:temperature
Units:K(Kelvin)
Description:Temperaturemeasuredwithinoronthedevice
Fields:
warnUpper(Upperoperationaltemperaturelimit),units:K(Kelvin)warnLower(Loweroperationaltemperaturelimit),units:K(Kelvin)faultUpper(Upperfaulttemperaturelimit-devicemaydisable/disconnect),units:K(Kelvin)faultLower(Lowerfaulttemperaturelimit-devicemaydisable/disconnect),units:K(Kelvin)
/vessels/<RegExp>/electrical/solar/<RegExp>/chargingAlgorithm
Description:Algorithmbeingusedbythecharger
/vessels/<RegExp>/electrical/solar/<RegExp>/chargerRole
Description:Howischargingsourceconfigured?Standalone,orinsyncwithanothercharger?
/vessels/<RegExp>/electrical/solar/<RegExp>/chargingMode
Description:Chargingmodei.e.float,overcharge,etc.
/vessels/<RegExp>/electrical/solar/<RegExp>/setpointVoltage
AppendixA:KeysReference(Vessel)
80
Units:V(Volt)
Description:Targetregulationvoltage
/vessels/<RegExp>/electrical/solar/<RegExp>/setpointCurrent
Units:A(Ampere)
Description:Targetcurrentlimit
/vessels/<RegExp>/electrical/solar/<RegExp>/controllerMode
Description:Thecurrentstateoftheengine
/vessels/<RegExp>/electrical/solar/<RegExp>/panelVoltage
Units:V(Volt)
Description:VoltagebeingsuppliedfromSolarPanelstocontroller
/vessels/<RegExp>/electrical/solar/<RegExp>/panelCurrent
Units:A(Ampere)
Description:AmperagebeingsuppliedfromSolarPanelstocontroller
/vessels/<RegExp>/electrical/solar/<RegExp>/panelTemperature
Units:K(Kelvin)
Description:Temperatureofpanels
/vessels/<RegExp>/electrical/solar/<RegExp>/load
Description:Stateofloadportoncontroller(ifapplicable)
/vessels/<RegExp>/electrical/solar/<RegExp>/loadCurrent
Units:A(Ampere)
Description:Amperagebeingsuppliedtoloaddirectlyconnectedtocontroller
/vessels/<RegExp>/electrical/ac
Description:ACbuses
AppendixA:KeysReference(Vessel)
81
/vessels/<RegExp>/electrical/ac/<RegExp>
Title:ACBuskeyedbyinstanceid
Description:ACBus,oneormany,withinthevessel
/vessels/<RegExp>/electrical/ac/<RegExp>/name
Description:UniqueIDofdevice(houseBattery,alternator,Generator,solar1,inverter,charger,combiner,etc.)
/vessels/<RegExp>/electrical/ac/<RegExp>/location
Description:Installedlocationofdeviceonvessel
/vessels/<RegExp>/electrical/ac/<RegExp>/dateInstalled
Units:RFC3339(UTC)(undefined)
Description:Datedevicewasinstalled
/vessels/<RegExp>/electrical/ac/<RegExp>/manufacturer
Description:[missing]
/vessels/<RegExp>/electrical/ac/<RegExp>/manufacturer/name
Description:Manufacturer'sname
/vessels/<RegExp>/electrical/ac/<RegExp>/manufacturer/model
Description:Modelorpartnumber
/vessels/<RegExp>/electrical/ac/<RegExp>/manufacturer/URL
Description:Webreferance/URL
/vessels/<RegExp>/electrical/ac/<RegExp>/phase
Description:SingleorA,BorCin3Phasesystems
/vessels/<RegExp>/electrical/ac/<RegExp>/phase/(single)|([A-C])
AppendixA:KeysReference(Vessel)
82
Title:ACQualities
Description:ACequipmentcommonqualities
/vessels/<RegExp>/electrical/ac/<RegExp>/phase/(single)|([A-C])/associatedBus
Description:NameofBUSdeviceisassociatedwith
/vessels/<RegExp>/electrical/ac/<RegExp>/phase/(single)|([A-C])/lineNeutralVoltage
Units:V(Volt)
Description:RMSvoltagemeasuredbetweenphaseandneutral
/vessels/<RegExp>/electrical/ac/<RegExp>/phase/(single)|([A-C])/lineLineVoltage
Units:V(Volt)
Description:RMSvoltagemeasuredbetweenphases
/vessels/<RegExp>/electrical/ac/<RegExp>/phase/(single)|([A-C])/current
Units:A(Ampere)
Description:RMScurrent
/vessels/<RegExp>/electrical/ac/<RegExp>/phase/(single)|([A-C])/frequency
Units:Hz(Hertz)
Description:ACfrequency.
/vessels/<RegExp>/electrical/ac/<RegExp>/phase/(single)|([A-C])/reactivePower
Units:W(Watt)
Description:Reactivepower
/vessels/<RegExp>/electrical/ac/<RegExp>/phase/(single)|([A-C])/powerFactor
Description:Powerfactor
/vessels/<RegExp>/electrical/ac/<RegExp>/phase/(single)|([A-C])/powerFactorLagging
Description:Lead/lagstatus.
AppendixA:KeysReference(Vessel)
83
Enumvalues:
leadinglaggingerrornotavailable
/vessels/<RegExp>/electrical/ac/<RegExp>/phase/(single)|([A-C])/realPower
Units:W(Watt)
Description:Realpower.
/vessels/<RegExp>/electrical/ac/<RegExp>/phase/(single)|([A-C])/apparentPower
Units:W(Watt)
Description:Apparentpower.
/vessels/<RegExp>/notifications
Title:notifications
Description:Notificationscurrentlyraised.Majorcategorieshavewell-definednames,butthetreecanbeextendedbyanyhierarchicalstructure
/vessels/<RegExp>/notifications/mob
Description:Manoverboard
Objectvaluewithproperties
methodstatemessage
/vessels/<RegExp>/notifications/fire
Description:Fireonboard
Objectvaluewithproperties
methodstatemessage
/vessels/<RegExp>/notifications/sinking
AppendixA:KeysReference(Vessel)
84
Description:Vesselissinking
Objectvaluewithproperties
methodstatemessage
/vessels/<RegExp>/notifications/flooding
Description:Vesselisflooding
Objectvaluewithproperties
methodstatemessage
/vessels/<RegExp>/notifications/collision
Description:Incollisionwithanothervesselorobject
Objectvaluewithproperties
methodstatemessage
/vessels/<RegExp>/notifications/grounding
Description:Vesselgrounding
Objectvaluewithproperties
methodstatemessage
/vessels/<RegExp>/notifications/listing
Description:Vesselislisting
Objectvaluewithproperties
methodstatemessage
/vessels/<RegExp>/notifications/adrift
AppendixA:KeysReference(Vessel)
85
Description:Vesselisadrift
Objectvaluewithproperties
methodstatemessage
/vessels/<RegExp>/notifications/piracy
Description:Underattackordangerfrompirates
Objectvaluewithproperties
methodstatemessage
/vessels/<RegExp>/notifications/abandon
Description:Abandonship
Objectvaluewithproperties
methodstatemessage
/vessels/<RegExp>/notifications/<RegExp>
Description:Thisregexpatternisusedforvalidationofthepathofthealarm
/vessels/<RegExp>/steering
Title:steering
Description:Vesselsteeringdataforsteeringcontrols(notAutopilot'NavData')
/vessels/<RegExp>/steering/rudderAngle
Units:rad(Radian)
Description:Currentrudderangle,+veisruddertoStarboard
/vessels/<RegExp>/steering/rudderAngleTarget
Units:rad(Radian)
Description:Theangletheruddershouldmoveto,+veisruddertoStarboard
AppendixA:KeysReference(Vessel)
86
/vessels/<RegExp>/steering/autopilot
Title:autopilot
Description:Autopilotdata
/vessels/<RegExp>/steering/autopilot/state
Description:Autopilotstate
/vessels/<RegExp>/steering/autopilot/mode
Description:Operationalmode
/vessels/<RegExp>/steering/autopilot/target
Title:target
Description:Autopilottarget
/vessels/<RegExp>/steering/autopilot/target/windAngleApparent
Units:rad(Radian)
Description:Targetangletosteer,relativetoApparentwind+port-starboard
/vessels/<RegExp>/steering/autopilot/target/headingTrue
Units:rad(Radian)
Description:Targetheadingforautopilot,relativetoNorth
/vessels/<RegExp>/steering/autopilot/target/headingMagnetic
Units:rad(Radian)
Description:Targetheadingforautopilot,relativetoMagneticNorth
/vessels/<RegExp>/steering/autopilot/deadZone
Units:rad(Radian)
Description:Deadzonetoignoreforruddercorrections
AppendixA:KeysReference(Vessel)
87
/vessels/<RegExp>/steering/autopilot/backlash
Units:rad(Radian)
Description:Slackintherudderdrivemechanism
/vessels/<RegExp>/steering/autopilot/gain
Description:Auto-pilotgain,highernumberequalsmoreruddermovementforagiventurn
/vessels/<RegExp>/steering/autopilot/maxDriveCurrent
Units:A(Ampere)
Description:Maximumcurrenttousetodriveservo
/vessels/<RegExp>/steering/autopilot/maxDriveRate
Units:rad/s(Radianpersecond)
Description:Maximumrudderrotationspeed
/vessels/<RegExp>/steering/autopilot/portLock
Units:rad(Radian)
Description:Positionofservoonportlock
/vessels/<RegExp>/steering/autopilot/starboardLock
Units:rad(Radian)
Description:Positionofservoonstarboardlock
/vessels/<RegExp>/tanks
Title:tanks
Description:Tankdata,eachtankindentifiedbyauniquenamei.e.FreshWater_2
/vessels/<RegExp>/tanks/freshWater
Description:Freshwatertank(drinking)
/vessels/<RegExp>/tanks/freshWater/<RegExp>
AppendixA:KeysReference(Vessel)
88
Description:Tank,oneormany,withinthevessel
/vessels/<RegExp>/tanks/freshWater/<RegExp>/name
Description:Thenameofthetank.Usefulifmultipletanksofacertaintypeareonboard
/vessels/<RegExp>/tanks/freshWater/<RegExp>/type
Description:Thetypeoftank
Enumvalues:
petrolfreshwatergreywaterblackwaterholdinglpgdieselliveWellballastrum
/vessels/<RegExp>/tanks/freshWater/<RegExp>/capacity
Units:m3(Cubicmeter)
Description:Totalcapacity
/vessels/<RegExp>/tanks/freshWater/<RegExp>/currentLevel
Units:ratio(Ratio)
Description:Leveloffluidintank0-100%
/vessels/<RegExp>/tanks/freshWater/<RegExp>/currentVolume
Units:m3(Cubicmeter)
Description:Volumeoffluidintank
/vessels/<RegExp>/tanks/freshWater/<RegExp>/pressure
Units:Pa(Pascal)
Description:Pressureofcontentsintank,especiallyLPG/gas
AppendixA:KeysReference(Vessel)
89
/vessels/<RegExp>/tanks/freshWater/<RegExp>/temperature
Units:K(Kelvin)
Description:Temperatureoftank,especiallycryogenicorLPG/gas
/vessels/<RegExp>/tanks/freshWater/<RegExp>/viscosity
Units:Pa/s(undefined)
Description:Viscosityofthefluid,ifapplicable
/vessels/<RegExp>/tanks/freshWater/<RegExp>/extinguishant
Description:Thepreferredextinguishanttodouseafireinthistank
/vessels/<RegExp>/tanks/wasteWater
Description:Wastewatertank(greywater)
/vessels/<RegExp>/tanks/wasteWater/<RegExp>
Description:Tank,oneormany,withinthevessel
/vessels/<RegExp>/tanks/wasteWater/<RegExp>/name
Description:Thenameofthetank.Usefulifmultipletanksofacertaintypeareonboard
/vessels/<RegExp>/tanks/wasteWater/<RegExp>/type
Description:Thetypeoftank
Enumvalues:
petrolfreshwatergreywaterblackwaterholdinglpgdieselliveWellballastrum
AppendixA:KeysReference(Vessel)
90
/vessels/<RegExp>/tanks/wasteWater/<RegExp>/capacity
Units:m3(Cubicmeter)
Description:Totalcapacity
/vessels/<RegExp>/tanks/wasteWater/<RegExp>/currentLevel
Units:ratio(Ratio)
Description:Leveloffluidintank0-100%
/vessels/<RegExp>/tanks/wasteWater/<RegExp>/currentVolume
Units:m3(Cubicmeter)
Description:Volumeoffluidintank
/vessels/<RegExp>/tanks/wasteWater/<RegExp>/pressure
Units:Pa(Pascal)
Description:Pressureofcontentsintank,especiallyLPG/gas
/vessels/<RegExp>/tanks/wasteWater/<RegExp>/temperature
Units:K(Kelvin)
Description:Temperatureoftank,especiallycryogenicorLPG/gas
/vessels/<RegExp>/tanks/wasteWater/<RegExp>/viscosity
Units:Pa/s(undefined)
Description:Viscosityofthefluid,ifapplicable
/vessels/<RegExp>/tanks/wasteWater/<RegExp>/extinguishant
Description:Thepreferredextinguishanttodouseafireinthistank
/vessels/<RegExp>/tanks/blackWater
Description:Blackwatertank(sewage)
/vessels/<RegExp>/tanks/blackWater/<RegExp>
AppendixA:KeysReference(Vessel)
91
Description:Tank,oneormany,withinthevessel
/vessels/<RegExp>/tanks/blackWater/<RegExp>/name
Description:Thenameofthetank.Usefulifmultipletanksofacertaintypeareonboard
/vessels/<RegExp>/tanks/blackWater/<RegExp>/type
Description:Thetypeoftank
Enumvalues:
petrolfreshwatergreywaterblackwaterholdinglpgdieselliveWellballastrum
/vessels/<RegExp>/tanks/blackWater/<RegExp>/capacity
Units:m3(Cubicmeter)
Description:Totalcapacity
/vessels/<RegExp>/tanks/blackWater/<RegExp>/currentLevel
Units:ratio(Ratio)
Description:Leveloffluidintank0-100%
/vessels/<RegExp>/tanks/blackWater/<RegExp>/currentVolume
Units:m3(Cubicmeter)
Description:Volumeoffluidintank
/vessels/<RegExp>/tanks/blackWater/<RegExp>/pressure
Units:Pa(Pascal)
Description:Pressureofcontentsintank,especiallyLPG/gas
AppendixA:KeysReference(Vessel)
92
/vessels/<RegExp>/tanks/blackWater/<RegExp>/temperature
Units:K(Kelvin)
Description:Temperatureoftank,especiallycryogenicorLPG/gas
/vessels/<RegExp>/tanks/blackWater/<RegExp>/viscosity
Units:Pa/s(undefined)
Description:Viscosityofthefluid,ifapplicable
/vessels/<RegExp>/tanks/blackWater/<RegExp>/extinguishant
Description:Thepreferredextinguishanttodouseafireinthistank
/vessels/<RegExp>/tanks/fuel
Description:Fueltank(petrolordiesel)
/vessels/<RegExp>/tanks/fuel/<RegExp>
Description:Tank,oneormany,withinthevessel
/vessels/<RegExp>/tanks/fuel/<RegExp>/name
Description:Thenameofthetank.Usefulifmultipletanksofacertaintypeareonboard
/vessels/<RegExp>/tanks/fuel/<RegExp>/type
Description:Thetypeoftank
Enumvalues:
petrolfreshwatergreywaterblackwaterholdinglpgdieselliveWellballastrum
AppendixA:KeysReference(Vessel)
93
/vessels/<RegExp>/tanks/fuel/<RegExp>/capacity
Units:m3(Cubicmeter)
Description:Totalcapacity
/vessels/<RegExp>/tanks/fuel/<RegExp>/currentLevel
Units:ratio(Ratio)
Description:Leveloffluidintank0-100%
/vessels/<RegExp>/tanks/fuel/<RegExp>/currentVolume
Units:m3(Cubicmeter)
Description:Volumeoffluidintank
/vessels/<RegExp>/tanks/fuel/<RegExp>/pressure
Units:Pa(Pascal)
Description:Pressureofcontentsintank,especiallyLPG/gas
/vessels/<RegExp>/tanks/fuel/<RegExp>/temperature
Units:K(Kelvin)
Description:Temperatureoftank,especiallycryogenicorLPG/gas
/vessels/<RegExp>/tanks/fuel/<RegExp>/viscosity
Units:Pa/s(undefined)
Description:Viscosityofthefluid,ifapplicable
/vessels/<RegExp>/tanks/fuel/<RegExp>/extinguishant
Description:Thepreferredextinguishanttodouseafireinthistank
/vessels/<RegExp>/tanks/lubrication
Description:Lubricationtank(oilorgrease)
/vessels/<RegExp>/tanks/lubrication/<RegExp>
AppendixA:KeysReference(Vessel)
94
Description:Tank,oneormany,withinthevessel
/vessels/<RegExp>/tanks/lubrication/<RegExp>/name
Description:Thenameofthetank.Usefulifmultipletanksofacertaintypeareonboard
/vessels/<RegExp>/tanks/lubrication/<RegExp>/type
Description:Thetypeoftank
Enumvalues:
petrolfreshwatergreywaterblackwaterholdinglpgdieselliveWellballastrum
/vessels/<RegExp>/tanks/lubrication/<RegExp>/capacity
Units:m3(Cubicmeter)
Description:Totalcapacity
/vessels/<RegExp>/tanks/lubrication/<RegExp>/currentLevel
Units:ratio(Ratio)
Description:Leveloffluidintank0-100%
/vessels/<RegExp>/tanks/lubrication/<RegExp>/currentVolume
Units:m3(Cubicmeter)
Description:Volumeoffluidintank
/vessels/<RegExp>/tanks/lubrication/<RegExp>/pressure
Units:Pa(Pascal)
Description:Pressureofcontentsintank,especiallyLPG/gas
AppendixA:KeysReference(Vessel)
95
/vessels/<RegExp>/tanks/lubrication/<RegExp>/temperature
Units:K(Kelvin)
Description:Temperatureoftank,especiallycryogenicorLPG/gas
/vessels/<RegExp>/tanks/lubrication/<RegExp>/viscosity
Units:Pa/s(undefined)
Description:Viscosityofthefluid,ifapplicable
/vessels/<RegExp>/tanks/lubrication/<RegExp>/extinguishant
Description:Thepreferredextinguishanttodouseafireinthistank
/vessels/<RegExp>/tanks/liveWell
Description:Livetank(fish)
/vessels/<RegExp>/tanks/liveWell/<RegExp>
Description:Tank,oneormany,withinthevessel
/vessels/<RegExp>/tanks/liveWell/<RegExp>/name
Description:Thenameofthetank.Usefulifmultipletanksofacertaintypeareonboard
/vessels/<RegExp>/tanks/liveWell/<RegExp>/type
Description:Thetypeoftank
Enumvalues:
petrolfreshwatergreywaterblackwaterholdinglpgdieselliveWellballastrum
AppendixA:KeysReference(Vessel)
96
/vessels/<RegExp>/tanks/liveWell/<RegExp>/capacity
Units:m3(Cubicmeter)
Description:Totalcapacity
/vessels/<RegExp>/tanks/liveWell/<RegExp>/currentLevel
Units:ratio(Ratio)
Description:Leveloffluidintank0-100%
/vessels/<RegExp>/tanks/liveWell/<RegExp>/currentVolume
Units:m3(Cubicmeter)
Description:Volumeoffluidintank
/vessels/<RegExp>/tanks/liveWell/<RegExp>/pressure
Units:Pa(Pascal)
Description:Pressureofcontentsintank,especiallyLPG/gas
/vessels/<RegExp>/tanks/liveWell/<RegExp>/temperature
Units:K(Kelvin)
Description:Temperatureoftank,especiallycryogenicorLPG/gas
/vessels/<RegExp>/tanks/liveWell/<RegExp>/viscosity
Units:Pa/s(undefined)
Description:Viscosityofthefluid,ifapplicable
/vessels/<RegExp>/tanks/liveWell/<RegExp>/extinguishant
Description:Thepreferredextinguishanttodouseafireinthistank
/vessels/<RegExp>/tanks/gas
Description:Lpg/propaneandothergases
/vessels/<RegExp>/tanks/gas/<RegExp>
AppendixA:KeysReference(Vessel)
97
Description:Tank,oneormany,withinthevessel
/vessels/<RegExp>/tanks/gas/<RegExp>/name
Description:Thenameofthetank.Usefulifmultipletanksofacertaintypeareonboard
/vessels/<RegExp>/tanks/gas/<RegExp>/type
Description:Thetypeoftank
Enumvalues:
petrolfreshwatergreywaterblackwaterholdinglpgdieselliveWellballastrum
/vessels/<RegExp>/tanks/gas/<RegExp>/capacity
Units:m3(Cubicmeter)
Description:Totalcapacity
/vessels/<RegExp>/tanks/gas/<RegExp>/currentLevel
Units:ratio(Ratio)
Description:Leveloffluidintank0-100%
/vessels/<RegExp>/tanks/gas/<RegExp>/currentVolume
Units:m3(Cubicmeter)
Description:Volumeoffluidintank
/vessels/<RegExp>/tanks/gas/<RegExp>/pressure
Units:Pa(Pascal)
Description:Pressureofcontentsintank,especiallyLPG/gas
AppendixA:KeysReference(Vessel)
98
/vessels/<RegExp>/tanks/gas/<RegExp>/temperature
Units:K(Kelvin)
Description:Temperatureoftank,especiallycryogenicorLPG/gas
/vessels/<RegExp>/tanks/gas/<RegExp>/viscosity
Units:Pa/s(undefined)
Description:Viscosityofthefluid,ifapplicable
/vessels/<RegExp>/tanks/gas/<RegExp>/extinguishant
Description:Thepreferredextinguishanttodouseafireinthistank
/vessels/<RegExp>/tanks/ballast
Description:Ballasttanks
/vessels/<RegExp>/tanks/ballast/<RegExp>
Description:Tank,oneormany,withinthevessel
/vessels/<RegExp>/tanks/ballast/<RegExp>/name
Description:Thenameofthetank.Usefulifmultipletanksofacertaintypeareonboard
/vessels/<RegExp>/tanks/ballast/<RegExp>/type
Description:Thetypeoftank
Enumvalues:
petrolfreshwatergreywaterblackwaterholdinglpgdieselliveWellballastrum
AppendixA:KeysReference(Vessel)
99
/vessels/<RegExp>/tanks/ballast/<RegExp>/capacity
Units:m3(Cubicmeter)
Description:Totalcapacity
/vessels/<RegExp>/tanks/ballast/<RegExp>/currentLevel
Units:ratio(Ratio)
Description:Leveloffluidintank0-100%
/vessels/<RegExp>/tanks/ballast/<RegExp>/currentVolume
Units:m3(Cubicmeter)
Description:Volumeoffluidintank
/vessels/<RegExp>/tanks/ballast/<RegExp>/pressure
Units:Pa(Pascal)
Description:Pressureofcontentsintank,especiallyLPG/gas
/vessels/<RegExp>/tanks/ballast/<RegExp>/temperature
Units:K(Kelvin)
Description:Temperatureoftank,especiallycryogenicorLPG/gas
/vessels/<RegExp>/tanks/ballast/<RegExp>/viscosity
Units:Pa/s(undefined)
Description:Viscosityofthefluid,ifapplicable
/vessels/<RegExp>/tanks/ballast/<RegExp>/extinguishant
Description:Thepreferredextinguishanttodouseafireinthistank
/vessels/<RegExp>/design
Title:design
Description:Design/dimensionaldataofthisvessel
AppendixA:KeysReference(Vessel)
100
/vessels/<RegExp>/design/displacement
Units:kg(Kilogram)
Description:Thedisplacementofthevessel
/vessels/<RegExp>/design/aisShipType
Description:Theaisshiptypeseehttp://www.bosunsmate.org/ais/message5.php
Objectvaluewithproperties
idname
/vessels/<RegExp>/design/draft
Title:draft
Description:Thedraftofthevessel
Objectvaluewithproperties
minimum(m)maximum(m)current(m)canoe(m)
/vessels/<RegExp>/design/length
Title:length
Description:Thevariouslengthsofthevessel
Objectvaluewithproperties
overall(m)hull(m)waterline(m)
/vessels/<RegExp>/design/keel
Title:keel
Description:Informationaboutthevessel'skeel
Fields:
type(Thetypeofkeel.),enum:
longfinflare
AppendixA:KeysReference(Vessel)
101
bulbwingcenterboardkantingliftingdaggerboard
/vessels/<RegExp>/design/keel/angle
Units:rad(Radian)
Description:Anumberindicatingatwhichanglethekeelcurrentlyis(incaseofacantingkeel),negativetoport.
/vessels/<RegExp>/design/keel/lift
Units:ratio(Ratio)
Description:Inthecaseofaliftingkeel,centreboardordaggerboard,thepartofthekeelwhichisextended.0is'allthewayup'and1is'allthewaydown'.0.8wouldbe80%down.
/vessels/<RegExp>/design/beam
Units:m(Meter)
Description:Beamlength
/vessels/<RegExp>/design/airHeight
Units:m(Meter)
Description:Totalheightofthevessel
/vessels/<RegExp>/design/rigging
Title:rigging
Description:Informationaboutthevessel'srigging
Fields:
configuration(Theconfigurationoftherigging)masts(Thenumberofmastsonthevessel.)
/vessels/<RegExp>/sails
Title:sails
Description:Sailsdata
AppendixA:KeysReference(Vessel)
102
/vessels/<RegExp>/sails/inventory
Description:Anobjectcontainingadescriptionofeachsailavailabletothevesselcrew
/vessels/<RegExp>/sails/inventory/<RegExp>
Description:'sail'datatype.
Fields:
name(Anuniqueidentifierbywhichthecrewidentifiesasail)type(Thetypeofsail)material(Thematerialthesailismadefrom(optional))brand(Thebrandofthesail(optional))active(Indicateswetherthissailiscurrentlyinuseornot)area(Thetotalareaofthissailinsquaremeters),units:m2(Squaremeter)minimumWind(Theminimumwindspeedthissailcanbeusedwith),units:m/s(Meterspersecond)maximumWind(Themaximumwindspeedthissailcanbeusedwith),units:m/s(Meterspersecond)
/vessels/<RegExp>/sails/area
Description:Anobjectcontaininginformationaboutthevessels'sails.
/vessels/<RegExp>/sails/area/total
Units:m2(Squaremeter)
Description:Thetotalareaofallsailsonthevessel
/vessels/<RegExp>/sails/area/active
Units:m2(Squaremeter)
Description:Thetotalareaofthesailscurrentlyinuseonthevessel
/vessels/<RegExp>/sensors
Title:sensors
Description:Sensors,theirstate,anddata.
/vessels/<RegExp>/sensors/<RegExp>
Title:sensor
Description:ThisregexpatternisusedforvalidationUUIDidentifierforthesensor
AppendixA:KeysReference(Vessel)
103
/vessels/<RegExp>/sensors/<RegExp>/name
Description:Thecommonnameofthesensor
/vessels/<RegExp>/sensors/<RegExp>/sensorType
Description:Thedatamodeldefinitionofthesensordata.FIXME-needtocreateadefinitionslibofsensordatamodeltypes
/vessels/<RegExp>/sensors/<RegExp>/sensorData
Description:Thedataofthesensordata.FIXME-needtorefthedefinitionsofsensortypes
/vessels/<RegExp>/sensors/<RegExp>/fromBow
Description:Thedistancefromthebowtothesensorlocation
/vessels/<RegExp>/sensors/<RegExp>/fromCenter
Description:Thedistancefromthecenterlinetothesensorlocation,-vetostarboard,+vetoport
/vessels/<RegExp>/performance
Title:performance
Description:PerformanceSailingdataincludingVMG,PolarSpeed,tackangle,etc.
/vessels/<RegExp>/performance/polarSpeed
Units:m/s(Meterspersecond)
Description:Thecurrentpolarspeedbasedoncurrentpolardiagram,WindSpeedTrueandangleTrueWater.
/vessels/<RegExp>/performance/polarSpeedRatio
Units:ratio(Ratio)
Description:Theratioofcurrentspeedthroughwatertothepolarspeed.
/vessels/<RegExp>/performance/velocityMadeGood
Units:m/s(Meterspersecond)
AppendixA:KeysReference(Vessel)
104
Description:Thecurrentvelocitymadegoodderivedfromthespeedthroughwaterandappearantwindangle.Apositivevalueisheadingtoupwind,negativetodownwind.
/vessels/<RegExp>/performance/velocityMadeGoodToWaypoint
Units:m/s(Meterspersecond)
Description:ThecurrentvelocitymadegoodtothenextwaypointderivedfromthespeedOverGround,courseOverGround.
/vessels/<RegExp>/performance/beatAngle
Units:rad(Radian)
Description:ThetruewindbeatangleforthebestvelocitymadegoodbasedoncurrentcurrentpolardiagramandWindSpeedTrue.
/vessels/<RegExp>/performance/beatAngleVelocityMadeGood
Units:m/s(Meterspersecond)
Description:Thevelocitymadegoodforthebeatangle.
/vessels/<RegExp>/performance/beatAngleTargetSpeed
Units:m/s(Meterspersecond)
Description:Thetargetspeedforthebeatangle.
/vessels/<RegExp>/performance/gybeAngle
Units:rad(Radian)
Description:ThetruewindgybeangleforthebestvelocitymadegooddownwindbasedoncurrentpolardiagramandWindSpeedTrue.
/vessels/<RegExp>/performance/gybeAngleVelocityMadeGood
Units:m/s(Meterspersecond)
Description:Thevelocitymadegoodforthegybeangle
/vessels/<RegExp>/performance/gybeAngleTargetSpeed
Units:m/s(Meterspersecond)
Description:Thetargetspeedforthegybeangle.
AppendixA:KeysReference(Vessel)
105
/vessels/<RegExp>/performance/targetAngle
Units:rad(Radian)
Description:ThetruewindgybeorbeatangleforthebestvelocitymadegooddownwindorupwindbasedoncurrentpolardiagramandWindSpeedTrue.
/vessels/<RegExp>/performance/targetSpeed
Units:m/s(Meterspersecond)
Description:Thetargetspeedforthebeatangleorgybeangle,whicheverisapplicable.
/vessels/<RegExp>/performance/leeway
Units:rad(Radian)
Description:Currentleeway
/vessels/<RegExp>/performance/tackMagnetic
Units:rad(Radian)
Description:Magneticheadingonoppositetack.
/vessels/<RegExp>/performance/tackTrue
Units:rad(Radian)
Description:Trueheadingonoppositetack.
AppendixA:KeysReference(Vessel)
106
/self
Description:Thisholdsthecontext(prefix+UUID,MMSIorURLindotnotation)oftheserver'sselfobject.
/aircraft
Description:Awrapperobjectforaircraft,primarilyintendedforSARaircraftinrelationtomarinesearchandrescue.Forclarityaboutseaplanesetc,ifitCANfly,itsanaircraft.
/aircraft/<RegExp>
Title:aircraft
Description:ThisregexpatternisusedforvalidationofanMMSIorSignalKUUIDidentifierfortheaircraft.Examples:urn:mrn:imo:mmsi:111099999urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d
/aircraft/<RegExp>/url
Description:URLbasedidentityoftheaircraft,ifavailable.
/aircraft/<RegExp>/mmsi
Description:MMSInumberoftheaircraft,ifavailable.
/aircraft/<RegExp>/uuid
Description:AuniqueSignalKflavouredmaritimeresourceidentifier,assignedbytheserver.
/aircraft/<RegExp>/flag
Description:Thecountryofaircraftregistration,orflagstateoftheaircraft
/aircraft/<RegExp>/base
Description:Thehomebaseoftheaircraft
/aircraft/<RegExp>/registrations
Description:Thevariousregistrationsoftheaircraft.
AppendixB:KeysReference(Others)
107
/aircraft/<RegExp>/registrations/imo
Description:TheIMOnumberoftheaircraft.
/aircraft/<RegExp>/registrations/national
Description:Thenationalregistrationnumberoftheaircraft.
/aircraft/<RegExp>/registrations/national/<RegExp>
Description:Thisregexpatternisusedforvalidatingtheidentifierfortheregistration
/aircraft/<RegExp>/registrations/national/<RegExp>/country
Description:TheISO3166-2countrycode.
/aircraft/<RegExp>/registrations/national/<RegExp>/registration
Description:Theregistrationcode
/aircraft/<RegExp>/registrations/national/<RegExp>/description
Description:Theregistrationdescription
/aircraft/<RegExp>/registrations/other
Description:Otherregistrationorpermitsfortheaircraft.
/aircraft/<RegExp>/registrations/other/<RegExp>
Description:Thisregexpatternisusedforvalidatingtheidentifierfortheregistration
/aircraft/<RegExp>/registrations/other/<RegExp>/registration
Description:Theregistrationcode
/aircraft/<RegExp>/registrations/other/<RegExp>/description
Description:Theregistrationdescription
AppendixB:KeysReference(Others)
108
/aircraft/<RegExp>/communication
Title:communication
Description:CommunicationdataincludingRadio,Telephone,E-Mail,etc.
/aircraft/<RegExp>/communication/callsignVhf
Description:CallsignforVHFcommunication
/aircraft/<RegExp>/communication/callsignHf
Description:CallsignforHFcommunication
/aircraft/<RegExp>/communication/phoneNumber
Description:Phonenumberofskipper
/aircraft/<RegExp>/communication/emailHf
Description:EmailaddresstobeusedforHFemail(Winmail,Airmail,Sailmail)
/aircraft/<RegExp>/communication/email
Description:Regularemailfortheskipper
/aircraft/<RegExp>/communication/satPhoneNumber
Description:Satellitephonenumberforvessel.
/aircraft/<RegExp>/communication/skipperName
Description:Fullnameoftheskipperofthevessel.
/aircraft/<RegExp>/communication/crewNames
Description:Arraywiththenamesofthecrew
/aircraft/<RegExp>/environment
Title:environment
AppendixB:KeysReference(Others)
109
Description:EnvironmentaldatameasuredlocallyincludingDepth,Wind,Temp,etc.
/aircraft/<RegExp>/environment/outside
Description:Environmentalconditionsoutsideofthevessel'shull
/aircraft/<RegExp>/environment/outside/temperature
Units:K(Kelvin)
Description:Currentoutsideairtemperature
/aircraft/<RegExp>/environment/outside/dewPointTemperature
Units:K(Kelvin)
Description:Currentoutsidedewpointtemperature
/aircraft/<RegExp>/environment/outside/apparentWindChillTemperature
Units:K(Kelvin)
Description:Currentoutsideapparentwindchilltemperature
/aircraft/<RegExp>/environment/outside/theoreticalWindChillTemperature
Units:K(Kelvin)
Description:Currentoutsidetheoreticalwindchilltemperature
/aircraft/<RegExp>/environment/outside/heatIndexTemperature
Units:K(Kelvin)
Description:Currentoutsideheatindextemperature
/aircraft/<RegExp>/environment/outside/pressure
Units:Pa(Pascal)
Description:Currentoutsideairambientpressure
/aircraft/<RegExp>/environment/outside/humidity
Units:ratio(Ratio)
AppendixB:KeysReference(Others)
110
Description:Currentoutsideairrelativehumidity
/aircraft/<RegExp>/environment/outside/airDensity
Units:kg/m3(undefined)
Description:Currentoutsideairdensity
/aircraft/<RegExp>/environment/outside/illuminance
Units:Lux(undefined)
Description:Currentoutsideambientlightflux.
/aircraft/<RegExp>/environment/inside
Description:Environmentalconditionsinsidethevessel'shull
/aircraft/<RegExp>/environment/inside/temperature
Units:K(Kelvin)
Description:Currentinsideairtemperature
/aircraft/<RegExp>/environment/inside/humidity
Units:ratio(Ratio)
Description:Currentinsideairrelativehumidity
/aircraft/<RegExp>/environment/inside/engineRoom
Description:Currentengineroomairtemperature
/aircraft/<RegExp>/environment/inside/engineRoom/temperature
Units:K(Kelvin)
Description:Temperature
/aircraft/<RegExp>/environment/inside/engineRoom/pressure
Units:Pa(Pascal)
Description:Pressureinzone
AppendixB:KeysReference(Others)
111
/aircraft/<RegExp>/environment/inside/engineRoom/relativeHumidity
Units:ratio(Ratio)
Description:Relativehumidityinzone
/aircraft/<RegExp>/environment/inside/engineRoom/dewPoint
Units:K(Kelvin)
Description:Dewpointinzone
/aircraft/<RegExp>/environment/inside/engineRoom/airDensity
Units:kg/m3(undefined)
Description:Airdensityinzone
/aircraft/<RegExp>/environment/inside/engineRoom/illuminance
Units:Lux(undefined)
Description:Illuminanceinzone
/aircraft/<RegExp>/environment/inside/mainCabin
Description:Currentmaincabinairtemperature
/aircraft/<RegExp>/environment/inside/mainCabin/temperature
Units:K(Kelvin)
Description:Temperature
/aircraft/<RegExp>/environment/inside/mainCabin/pressure
Units:Pa(Pascal)
Description:Pressureinzone
/aircraft/<RegExp>/environment/inside/mainCabin/relativeHumidity
Units:ratio(Ratio)
Description:Relativehumidityinzone
AppendixB:KeysReference(Others)
112
/aircraft/<RegExp>/environment/inside/mainCabin/dewPoint
Units:K(Kelvin)
Description:Dewpointinzone
/aircraft/<RegExp>/environment/inside/mainCabin/airDensity
Units:kg/m3(undefined)
Description:Airdensityinzone
/aircraft/<RegExp>/environment/inside/mainCabin/illuminance
Units:Lux(undefined)
Description:Illuminanceinzone
/aircraft/<RegExp>/environment/inside/refrigerator
Description:Currentrefrigeratortemperature
/aircraft/<RegExp>/environment/inside/refrigerator/temperature
Units:K(Kelvin)
Description:Temperature
/aircraft/<RegExp>/environment/inside/refrigerator/pressure
Units:Pa(Pascal)
Description:Pressureinzone
/aircraft/<RegExp>/environment/inside/refrigerator/relativeHumidity
Units:ratio(Ratio)
Description:Relativehumidityinzone
/aircraft/<RegExp>/environment/inside/refrigerator/dewPoint
Units:K(Kelvin)
Description:Dewpointinzone
AppendixB:KeysReference(Others)
113
/aircraft/<RegExp>/environment/inside/refrigerator/airDensity
Units:kg/m3(undefined)
Description:Airdensityinzone
/aircraft/<RegExp>/environment/inside/refrigerator/illuminance
Units:Lux(undefined)
Description:Illuminanceinzone
/aircraft/<RegExp>/environment/inside/freezer
Description:Currentfreezertemperature
/aircraft/<RegExp>/environment/inside/freezer/temperature
Units:K(Kelvin)
Description:Temperature
/aircraft/<RegExp>/environment/inside/freezer/pressure
Units:Pa(Pascal)
Description:Pressureinzone
/aircraft/<RegExp>/environment/inside/freezer/relativeHumidity
Units:ratio(Ratio)
Description:Relativehumidityinzone
/aircraft/<RegExp>/environment/inside/freezer/dewPoint
Units:K(Kelvin)
Description:Dewpointinzone
/aircraft/<RegExp>/environment/inside/freezer/airDensity
Units:kg/m3(undefined)
Description:Airdensityinzone
AppendixB:KeysReference(Others)
114
/aircraft/<RegExp>/environment/inside/freezer/illuminance
Units:Lux(undefined)
Description:Illuminanceinzone
/aircraft/<RegExp>/environment/inside/heating
Description:Currentheatingtemperature
/aircraft/<RegExp>/environment/inside/heating/temperature
Units:K(Kelvin)
Description:Temperature
/aircraft/<RegExp>/environment/inside/heating/pressure
Units:Pa(Pascal)
Description:Pressureinzone
/aircraft/<RegExp>/environment/inside/heating/relativeHumidity
Units:ratio(Ratio)
Description:Relativehumidityinzone
/aircraft/<RegExp>/environment/inside/heating/dewPoint
Units:K(Kelvin)
Description:Dewpointinzone
/aircraft/<RegExp>/environment/inside/heating/airDensity
Units:kg/m3(undefined)
Description:Airdensityinzone
/aircraft/<RegExp>/environment/inside/heating/illuminance
Units:Lux(undefined)
Description:Illuminanceinzone
AppendixB:KeysReference(Others)
115
/aircraft/<RegExp>/environment/water
Description:Environmentalconditionsofthewaterthatthevesselissailingin
/aircraft/<RegExp>/environment/water/temperature
Units:K(Kelvin)
Description:Currentwatertemperature
/aircraft/<RegExp>/environment/water/salinity
Units:ratio(Ratio)
Description:Watersalinity
/aircraft/<RegExp>/environment/depth
Title:depth
Description:Depthrelateddata
/aircraft/<RegExp>/environment/depth/belowKeel
Units:m(Meter)
Description:Depthbelowkeel
/aircraft/<RegExp>/environment/depth/belowTransducer
Units:m(Meter)
Description:DepthbelowTransducer
/aircraft/<RegExp>/environment/depth/belowSurface
Units:m(Meter)
Description:Depthfromsurface
/aircraft/<RegExp>/environment/depth/transducerToKeel
Units:m(Meter)
Description:Depthfromthetransducertothebottomofthekeel
AppendixB:KeysReference(Others)
116
/aircraft/<RegExp>/environment/depth/surfaceToTransducer
Units:m(Meter)
Description:Depthtransducerisbelowthewatersurface
/aircraft/<RegExp>/environment/current
Title:current
Description:Directionandstrengthofcurrentaffectingthevessel
Objectvaluewithproperties
drift(m/s)setTrue(rad)setMagnetic(rad)
/aircraft/<RegExp>/environment/tide
Title:tide
Description:Tidedata
/aircraft/<RegExp>/environment/tide/heightHigh
Units:m(Meter)
Description:Nexthightideheightrelativetolowestastronomicaltide(LAT/ChartDatum)
/aircraft/<RegExp>/environment/tide/heightNow
Units:m(Meter)
Description:Thecurrenttideheightrelativetolowestastronomicaltide(LAT/ChartDatum)
/aircraft/<RegExp>/environment/tide/heightLow
Units:m(Meter)
Description:Thenextlowtideheightrelativetolowestastronomicaltide(LAT/ChartDatum)
/aircraft/<RegExp>/environment/tide/timeLow
Units:RFC3339(UTC)(undefined)
Description:TimeofthenextlowtideinUTC
AppendixB:KeysReference(Others)
117
/aircraft/<RegExp>/environment/tide/timeHigh
Units:RFC3339(UTC)(undefined)
Description:TimeofnexthightideinUTC
/aircraft/<RegExp>/environment/heave
Units:m(Meter)
Description:Verticalmovementofthevesselduetowaves
/aircraft/<RegExp>/environment/wind
Title:wind
Description:Winddata.
/aircraft/<RegExp>/environment/wind/angleApparent
Units:rad(Radian)
Description:Apparentwindangle,negativetoport
/aircraft/<RegExp>/environment/wind/angleTrueGround
Units:rad(Radian)
Description:Truewindanglebasedonspeedoverground,negativetoport
/aircraft/<RegExp>/environment/wind/angleTrueWater
Units:rad(Radian)
Description:Truewindanglebasedonspeedthroughwater,negativetoport
/aircraft/<RegExp>/environment/wind/directionChangeAlarm
Units:rad(Radian)
Description:Theanglethewindneedstoshifttoraiseanalarm
/aircraft/<RegExp>/environment/wind/directionTrue
Units:rad(Radian)
Description:Thewinddirectionrelativetotruenorth
AppendixB:KeysReference(Others)
118
/aircraft/<RegExp>/environment/wind/directionMagnetic
Units:rad(Radian)
Description:Thewinddirectionrelativetomagneticnorth
/aircraft/<RegExp>/environment/wind/speedTrue
Units:m/s(Meterspersecond)
Description:Windspeedoverwater(ascalculatedfromspeedApparentandvessel'sspeedthroughwater)
/aircraft/<RegExp>/environment/wind/speedOverGround
Units:m/s(Meterspersecond)
Description:Windspeedoverground(ascalculatedfromspeedApparentandvessel'sspeedoverground)
/aircraft/<RegExp>/environment/wind/speedApparent
Units:m/s(Meterspersecond)
Description:Apparentwindspeed
/aircraft/<RegExp>/environment/time
Description:Atimereferenceforthevessel.Allclocksonthevesseldispayinglocaltimeshouldusethetimezoneoffsethere.IfatimezoneRegionissuppliedthetimezonemustalsobesupplied.IftimezoneRegionissuppliedthatshouldbedisplayedbyUIsinpreferencetosimplytimezone.ie12:05(Europe/London)shouldbedisplayedinpreferenceto12:05(UTC+01:00)
Fields:
millis(MillisecondssincetheUNIXepoch(1970-01-0100:00:00))timezoneOffset(OnboardtimezoneoffsetfromUTCinhoursandminutes(-)hhmm.+vemeanseastofGreenwich.ForusebyUIs)timezoneRegion(OnboardtimezoneoffsetaslistedintheIANAtimezonedatabase(tzdatabase))
/aircraft/<RegExp>/environment/mode
Description:Modeofthevesselbasedonthecurrentconditions.Canbecombinedwithnavigation.statetocontrolvesselsignalsegswitchtonightmodeforinstrumentationandlights,ormakesoundsignalsforfog.
/aircraft/<RegExp>/navigation
Title:navigation
Description:NavigationdataincludingPosition,CoursetonextWPinformation,etc.
AppendixB:KeysReference(Others)
119
/aircraft/<RegExp>/navigation/lights
Title:Navigationlights
Description:Currentstateofthevesselsnavigationlights
/aircraft/<RegExp>/navigation/courseOverGroundMagnetic
Units:rad(Radian)
Description:Courseoverground(magnetic)
/aircraft/<RegExp>/navigation/courseOverGroundTrue
Units:rad(Radian)
Description:Courseoverground(true)
/aircraft/<RegExp>/navigation/courseRhumbline
Title:Course
Description:CourseinformationcomputedwithRhumbline
/aircraft/<RegExp>/navigation/courseRhumbline/crossTrackError
Units:m(Meter)
Description:Thedistancefromthevessel'spresentpositiontotheclosestpointonaline(track)betweenpreviousPointandnextPoint.Anegativenumberindicatesthatthevesseliscurrentlytotheleftofthisline(andthusmuststeerrighttocompensate),apositivenumbermeansthevesselistotherightoftheline(steerlefttocompensate).
/aircraft/<RegExp>/navigation/courseRhumbline/bearingTrackTrue
Units:rad(Radian)
Description:ThebearingofalinebetweenpreviousPointandnextPoint,relativetotruenorth.
/aircraft/<RegExp>/navigation/courseRhumbline/bearingTrackMagnetic
Units:rad(Radian)
Description:ThebearingofalinebetweenpreviousPointandnextPoint,relativetomagneticnorth.
/aircraft/<RegExp>/navigation/courseRhumbline/activeRoute
AppendixB:KeysReference(Others)
120
Description:Datarequiredifsailingtoanactiveroute,definedinresources.
/aircraft/<RegExp>/navigation/courseRhumbline/activeRoute/href
Description:Areference(URL)tothepresentlyactiveroute,inresources.
/aircraft/<RegExp>/navigation/courseRhumbline/activeRoute/estimatedTimeOfArrival
Description:Theestimatedtimeofarrivalattheendofthecurrentroute
/aircraft/<RegExp>/navigation/courseRhumbline/activeRoute/startTime
Description:Thetimethisroutewasactivated
/aircraft/<RegExp>/navigation/courseRhumbline/nextPoint
Description:Thepointonearththevessel'spresentlynavigatingtowards
/aircraft/<RegExp>/navigation/courseRhumbline/previousPoint
Description:Thepointonearththevessel'spresentlynavigatingfrom
Objectvaluewithproperties
typehref
/aircraft/<RegExp>/navigation/courseRhumbline/previousPoint/distance
Units:m(Meter)
Description:ThedistanceinmetersbetweenpreviousPointandthevessel'spresentposition
/aircraft/<RegExp>/navigation/courseRhumbline/previousPoint/position
Title:position
Description:ThepositionoflastPointintwodimensions
Objectvaluewithproperties
longitude(deg)latitude(deg)altitude(m)
AppendixB:KeysReference(Others)
121
/aircraft/<RegExp>/navigation/courseGreatCircle
Title:Course
Description:CourseinformationcomputedwithGreatCircle
/aircraft/<RegExp>/navigation/courseGreatCircle/crossTrackError
Units:m(Meter)
Description:Thedistancefromthevessel'spresentpositiontotheclosestpointonaline(track)betweenpreviousPointandnextPoint.Anegativenumberindicatesthatthevesseliscurrentlytotheleftofthisline(andthusmuststeerrighttocompensate),apositivenumbermeansthevesselistotherightoftheline(steerlefttocompensate).
/aircraft/<RegExp>/navigation/courseGreatCircle/bearingTrackTrue
Units:rad(Radian)
Description:ThebearingofalinebetweenpreviousPointandnextPoint,relativetotruenorth.
/aircraft/<RegExp>/navigation/courseGreatCircle/bearingTrackMagnetic
Units:rad(Radian)
Description:ThebearingofalinebetweenpreviousPointandnextPoint,relativetomagneticnorth.
/aircraft/<RegExp>/navigation/courseGreatCircle/activeRoute
Description:Datarequiredifsailingtoanactiveroute,definedinresources.
/aircraft/<RegExp>/navigation/courseGreatCircle/activeRoute/href
Description:Areference(URL)tothepresentlyactiveroute,inresources.
/aircraft/<RegExp>/navigation/courseGreatCircle/activeRoute/estimatedTimeOfArrival
Description:Theestimatedtimeofarrivalattheendofthecurrentroute
/aircraft/<RegExp>/navigation/courseGreatCircle/activeRoute/startTime
Description:Thetimethisroutewasactivated
/aircraft/<RegExp>/navigation/courseGreatCircle/nextPoint
AppendixB:KeysReference(Others)
122
Description:Thepointonearththevessel'spresentlynavigatingtowards
/aircraft/<RegExp>/navigation/courseGreatCircle/previousPoint
Description:Thepointonearththevessel'spresentlynavigatingfrom
Objectvaluewithproperties
typehref
/aircraft/<RegExp>/navigation/courseGreatCircle/previousPoint/distance
Units:m(Meter)
Description:ThedistanceinmetersbetweenpreviousPointandthevessel'spresentposition
/aircraft/<RegExp>/navigation/courseGreatCircle/previousPoint/position
Title:position
Description:ThepositionoflastPointintwodimensions
Objectvaluewithproperties
longitude(deg)latitude(deg)altitude(m)
/aircraft/<RegExp>/navigation/closestApproach
Description:Calculatedvaluesforothervessels,e.g.fromAIS
Objectvaluewithproperties
distance(m)timeTo(s)
/aircraft/<RegExp>/navigation/racing
Description:Specificnavigationaldatarelatedtoyachtracing.
/aircraft/<RegExp>/navigation/racing/startLineStb
Title:position
Description:Positionofstarboardstartmark
Objectvaluewithproperties
AppendixB:KeysReference(Others)
123
longitude(deg)latitude(deg)altitude(m)
/aircraft/<RegExp>/navigation/racing/startLinePort
Title:position
Description:Positionofstarboardstartmark
Objectvaluewithproperties
longitude(deg)latitude(deg)altitude(m)
/aircraft/<RegExp>/navigation/racing/distanceStartline
Units:m(Meter)
Description:Thecurrentdistancetothestartline
/aircraft/<RegExp>/navigation/racing/timeToStart
Units:s(Second)
Description:Timeleftbeforestart
/aircraft/<RegExp>/navigation/racing/timePortDown
Units:s(Second)
Description:Timetoarriveatthestartlineonport,turningdownwind
/aircraft/<RegExp>/navigation/racing/timePortUp
Units:s(Second)
Description:Timetoarriveatthestartlineonport,turningupwind
/aircraft/<RegExp>/navigation/racing/timeStbdDown
Units:s(Second)
Description:Timetoarriveatthestartlineonstarboard,turningdownwind
/aircraft/<RegExp>/navigation/racing/timeStbdUp
AppendixB:KeysReference(Others)
124
Units:s(Second)
Description:Timetoarriveatthestartlineonstarboard,turningupwind
/aircraft/<RegExp>/navigation/racing/distanceLayline
Units:m(Meter)
Description:Thecurrentdistancetothelayline
/aircraft/<RegExp>/navigation/magneticVariation
Units:rad(Radian)
Description:Themagneticvariation(declination)atthecurrentpositionthatmustbeaddedtothemagneticheadingtoderivethetrueheading.EasterlyvariationsarepositiveandWesterlyvariationsarenegative(inRadians).
/aircraft/<RegExp>/navigation/magneticVariationAgeOfService
Units:s(Second)
Description:Secondssincethe1stJan1970thatthevariationcalculationwasmade
/aircraft/<RegExp>/navigation/destination
Title:destination
Description:Theintendeddestinationofthistrip
/aircraft/<RegExp>/navigation/destination/commonName
Description:CommonnameoftheDestination,eg'Fiji',alsousedinaismessages
/aircraft/<RegExp>/navigation/destination/eta
Description:Expectedtimeofarrivalatdestinationwaypoint
/aircraft/<RegExp>/navigation/destination/waypoint
Description:UUIDofdestinationwaypoint
/aircraft/<RegExp>/navigation/gnss
Title:gnss
AppendixB:KeysReference(Others)
125
Description:Globalsatellitenavigationmetainformation
/aircraft/<RegExp>/navigation/gnss/type
Description:Fixtype
/aircraft/<RegExp>/navigation/gnss/methodQuality
Description:Qualityofthesatellitefix
/aircraft/<RegExp>/navigation/gnss/integrity
Description:Integrityofthesatellitefix
/aircraft/<RegExp>/navigation/gnss/satellites
Description:Numberofsatellites
/aircraft/<RegExp>/navigation/gnss/antennaAltitude
Units:m(Meter)
Description:Altitudeofantenna
/aircraft/<RegExp>/navigation/gnss/horizontalDilution
Description:HorizontalDilutionofPrecision
/aircraft/<RegExp>/navigation/gnss/positionDilution
Description:PositionalDilutionofPrecision
/aircraft/<RegExp>/navigation/gnss/geoidalSeparation
Description:DifferencebetweenWGS84earthellipsoidandmeansealevel
/aircraft/<RegExp>/navigation/gnss/differentialAge
Units:s(Second)
Description:AgeofDGPSdata
AppendixB:KeysReference(Others)
126
/aircraft/<RegExp>/navigation/gnss/differentialReference
Description:IDofDGPSbasestation
/aircraft/<RegExp>/navigation/headingMagnetic
Units:rad(Radian)
Description:Currentmagneticheadingofthevessel
/aircraft/<RegExp>/navigation/headingTrue
Units:rad(Radian)
Description:Thecurrenttrueheadingofthevessel
/aircraft/<RegExp>/navigation/position
Title:position
Description:Thepositionofthevesselin2or3dimensions(WGS84datum)
Objectvaluewithproperties
longitude(deg)latitude(deg)altitude(m)
/aircraft/<RegExp>/navigation/attitude
Title:Attitude
Description:Vesselattitude:roll,pitchandyaw
Objectvaluewithproperties
roll(rad)pitch(rad)yaw(rad)
/aircraft/<RegExp>/navigation/maneuver
Description:Specialmaneuversuchasregionalpassingarrangement.(fromais)
/aircraft/<RegExp>/navigation/rateOfTurn
Units:rad/s(Radianpersecond)
AppendixB:KeysReference(Others)
127
Description:Rateofturn(+veischangetostarboard).IfthevalueisAISRIGHTorLEFT,setto+-0.0206radsandaddwarninginnotifications
/aircraft/<RegExp>/navigation/speedOverGround
Units:m/s(Meterspersecond)
Description:Vesselspeedoverground.IfconvertingfromAIS'HIGH'value,setto102.2(Aismaxvalue)andaddwarninginnotifications
/aircraft/<RegExp>/navigation/speedThroughWater
Units:m/s(Meterspersecond)
Description:Vesselspeedthroughthewater
/aircraft/<RegExp>/navigation/speedThroughWaterTransverse
Units:m/s(Meterspersecond)
Description:Transversespeedthroughthewater(Leeway)
/aircraft/<RegExp>/navigation/speedThroughWaterLongitudinal
Units:m/s(Meterspersecond)
Description:Longitudinalspeedthroughthewater
/aircraft/<RegExp>/navigation/leewayAngle
Units:rad(Radian)
Description:LeewayAnglederivedfromthelongitudinalandtransversespeedsthroughthewater
/aircraft/<RegExp>/navigation/log
Units:m(Meter)
Description:Totaldistancetraveled
/aircraft/<RegExp>/navigation/trip
Description:Tripdata
/aircraft/<RegExp>/navigation/trip/log
AppendixB:KeysReference(Others)
128
Units:m(Meter)
Description:Totaldistancetraveledonthistrip/sincetripreset
/aircraft/<RegExp>/navigation/trip/lastReset
Description:Triplogresettime
/aircraft/<RegExp>/navigation/state
Title:state
Description:Currentnavigationalstateofthevessel
/aircraft/<RegExp>/navigation/anchor
Title:anchor
Description:Theanchordata,foranchorwatchetc
/aircraft/<RegExp>/navigation/anchor/maxRadius
Units:m(Meter)
Description:Radiusofanchoralarmboundary.Thedistancefromanchortothecenteroftheboat
/aircraft/<RegExp>/navigation/anchor/currentRadius
Units:m(Meter)
Description:Currentdistancetoanchor
/aircraft/<RegExp>/navigation/anchor/position
Title:position
Description:Theactualanchorpositionofthevesselin3dimensions,probablyanestimateatbest
Objectvaluewithproperties
longitude(deg)latitude(deg)altitude(m)
/aircraft/<RegExp>/navigation/datetime
Description:TimeandDatefromtheGNSSPositioningSystem
AppendixB:KeysReference(Others)
129
Fields:
gnssTimeSource(SourceofGNSSDateandTime),enum:
GPSGLONASSGalileoBeidouIRNSSRadioSignalInternetLocalclock
/aircraft/<RegExp>/notifications
Title:notifications
Description:Notificationscurrentlyraised.Majorcategorieshavewell-definednames,butthetreecanbeextendedbyanyhierarchicalstructure
/aircraft/<RegExp>/notifications/<RegExp>
Description:Thisregexpatternisusedforvalidationofthepathofthealarm
/aircraft/<RegExp>/design
Title:design
Description:Design/dimensionaldataofthisaircraft
/aircraft/<RegExp>/design/displacement
Units:kg(Kilogram)
Description:Thedisplacementofthevessel
/aircraft/<RegExp>/design/aisShipType
Description:Theaisshiptypeseehttp://www.bosunsmate.org/ais/message5.php
Objectvaluewithproperties
idname
/aircraft/<RegExp>/design/draft
Title:draft
AppendixB:KeysReference(Others)
130
Description:Thedraftofthevessel
Objectvaluewithproperties
minimum(m)maximum(m)current(m)canoe(m)
/aircraft/<RegExp>/design/length
Title:length
Description:Thevariouslengthsofthevessel
Objectvaluewithproperties
overall(m)hull(m)waterline(m)
/aircraft/<RegExp>/design/keel
Title:keel
Description:Informationaboutthevessel'skeel
Fields:
type(Thetypeofkeel.),enum:
longfinflarebulbwingcenterboardkantingliftingdaggerboard
/aircraft/<RegExp>/design/keel/angle
Units:rad(Radian)
Description:Anumberindicatingatwhichanglethekeelcurrentlyis(incaseofacantingkeel),negativetoport.
/aircraft/<RegExp>/design/keel/lift
Units:ratio(Ratio)
AppendixB:KeysReference(Others)
131
Description:Inthecaseofaliftingkeel,centreboardordaggerboard,thepartofthekeelwhichisextended.0is'allthewayup'and1is'allthewaydown'.0.8wouldbe80%down.
/aircraft/<RegExp>/design/beam
Units:m(Meter)
Description:Beamlength
/aircraft/<RegExp>/design/airHeight
Units:m(Meter)
Description:Totalheightofthevessel
/aircraft/<RegExp>/design/rigging
Title:rigging
Description:Informationaboutthevessel'srigging
Fields:
configuration(Theconfigurationoftherigging)masts(Thenumberofmastsonthevessel.)
/aircraft/<RegExp>/sensors
Title:sensors
Description:Sensors,theirstate,anddata.
/aircraft/<RegExp>/sensors/<RegExp>
Title:sensor
Description:ThisregexpatternisusedforvalidationUUIDidentifierforthesensor
/aircraft/<RegExp>/sensors/<RegExp>/name
Description:Thecommonnameofthesensor
/aircraft/<RegExp>/sensors/<RegExp>/sensorType
Description:Thedatamodeldefinitionofthesensordata.FIXME-needtocreateadefinitionslibofsensordatamodeltypes
AppendixB:KeysReference(Others)
132
/aircraft/<RegExp>/sensors/<RegExp>/sensorData
Description:Thedataofthesensordata.FIXME-needtorefthedefinitionsofsensortypes
/aircraft/<RegExp>/sensors/<RegExp>/fromBow
Description:Thedistancefromthebowtothesensorlocation
/aircraft/<RegExp>/sensors/<RegExp>/fromCenter
Description:Thedistancefromthecenterlinetothesensorlocation,-vetostarboard,+vetoport
/aton
Description:AwrapperobjectforAidstoNavigation(aton's)
/aton/<RegExp>
Title:aidtonavigation
Description:ThisregexpatternisusedforvalidationofanMMSIorSignalKUUIDidentifierfortheaidtonavigation.Examples:urn:mrn:imo:mmsi:991099999urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d
/aton/<RegExp>/url
Description:URLbasedidentityoftheaidtonavigation,ifavailable.
/aton/<RegExp>/mmsi
Description:MMSInumberoftheaidtonavigation,ifavailable.
/aton/<RegExp>/uuid
Description:AuniqueSignalKflavouredmaritimeresourceidentifier,assignedbytheserver.
/aton/<RegExp>/atonType
Description:Theatontype
Objectvaluewithproperties
idname
AppendixB:KeysReference(Others)
133
/aton/<RegExp>/name
Description:Theatonname
/aton/<RegExp>/communication
Title:communication
Description:CommunicationdataincludingRadio,Telephone,E-Mail,etc.
/aton/<RegExp>/communication/callsignVhf
Description:CallsignforVHFcommunication
/aton/<RegExp>/communication/callsignHf
Description:CallsignforHFcommunication
/aton/<RegExp>/communication/phoneNumber
Description:Phonenumberofskipper
/aton/<RegExp>/communication/emailHf
Description:EmailaddresstobeusedforHFemail(Winmail,Airmail,Sailmail)
/aton/<RegExp>/communication/email
Description:Regularemailfortheskipper
/aton/<RegExp>/communication/satPhoneNumber
Description:Satellitephonenumberforvessel.
/aton/<RegExp>/communication/skipperName
Description:Fullnameoftheskipperofthevessel.
/aton/<RegExp>/communication/crewNames
Description:Arraywiththenamesofthecrew
AppendixB:KeysReference(Others)
134
/aton/<RegExp>/environment
Title:environment
Description:EnvironmentaldatameasuredlocallyincludingDepth,Wind,Temp,etc.
/aton/<RegExp>/environment/outside
Description:Environmentalconditionsoutsideofthevessel'shull
/aton/<RegExp>/environment/outside/temperature
Units:K(Kelvin)
Description:Currentoutsideairtemperature
/aton/<RegExp>/environment/outside/dewPointTemperature
Units:K(Kelvin)
Description:Currentoutsidedewpointtemperature
/aton/<RegExp>/environment/outside/apparentWindChillTemperature
Units:K(Kelvin)
Description:Currentoutsideapparentwindchilltemperature
/aton/<RegExp>/environment/outside/theoreticalWindChillTemperature
Units:K(Kelvin)
Description:Currentoutsidetheoreticalwindchilltemperature
/aton/<RegExp>/environment/outside/heatIndexTemperature
Units:K(Kelvin)
Description:Currentoutsideheatindextemperature
/aton/<RegExp>/environment/outside/pressure
Units:Pa(Pascal)
Description:Currentoutsideairambientpressure
AppendixB:KeysReference(Others)
135
/aton/<RegExp>/environment/outside/humidity
Units:ratio(Ratio)
Description:Currentoutsideairrelativehumidity
/aton/<RegExp>/environment/outside/airDensity
Units:kg/m3(undefined)
Description:Currentoutsideairdensity
/aton/<RegExp>/environment/outside/illuminance
Units:Lux(undefined)
Description:Currentoutsideambientlightflux.
/aton/<RegExp>/environment/inside
Description:Environmentalconditionsinsidethevessel'shull
/aton/<RegExp>/environment/inside/temperature
Units:K(Kelvin)
Description:Currentinsideairtemperature
/aton/<RegExp>/environment/inside/humidity
Units:ratio(Ratio)
Description:Currentinsideairrelativehumidity
/aton/<RegExp>/environment/inside/engineRoom
Description:Currentengineroomairtemperature
/aton/<RegExp>/environment/inside/engineRoom/temperature
Units:K(Kelvin)
Description:Temperature
/aton/<RegExp>/environment/inside/engineRoom/pressure
AppendixB:KeysReference(Others)
136
Units:Pa(Pascal)
Description:Pressureinzone
/aton/<RegExp>/environment/inside/engineRoom/relativeHumidity
Units:ratio(Ratio)
Description:Relativehumidityinzone
/aton/<RegExp>/environment/inside/engineRoom/dewPoint
Units:K(Kelvin)
Description:Dewpointinzone
/aton/<RegExp>/environment/inside/engineRoom/airDensity
Units:kg/m3(undefined)
Description:Airdensityinzone
/aton/<RegExp>/environment/inside/engineRoom/illuminance
Units:Lux(undefined)
Description:Illuminanceinzone
/aton/<RegExp>/environment/inside/mainCabin
Description:Currentmaincabinairtemperature
/aton/<RegExp>/environment/inside/mainCabin/temperature
Units:K(Kelvin)
Description:Temperature
/aton/<RegExp>/environment/inside/mainCabin/pressure
Units:Pa(Pascal)
Description:Pressureinzone
/aton/<RegExp>/environment/inside/mainCabin/relativeHumidity
AppendixB:KeysReference(Others)
137
Units:ratio(Ratio)
Description:Relativehumidityinzone
/aton/<RegExp>/environment/inside/mainCabin/dewPoint
Units:K(Kelvin)
Description:Dewpointinzone
/aton/<RegExp>/environment/inside/mainCabin/airDensity
Units:kg/m3(undefined)
Description:Airdensityinzone
/aton/<RegExp>/environment/inside/mainCabin/illuminance
Units:Lux(undefined)
Description:Illuminanceinzone
/aton/<RegExp>/environment/inside/refrigerator
Description:Currentrefrigeratortemperature
/aton/<RegExp>/environment/inside/refrigerator/temperature
Units:K(Kelvin)
Description:Temperature
/aton/<RegExp>/environment/inside/refrigerator/pressure
Units:Pa(Pascal)
Description:Pressureinzone
/aton/<RegExp>/environment/inside/refrigerator/relativeHumidity
Units:ratio(Ratio)
Description:Relativehumidityinzone
/aton/<RegExp>/environment/inside/refrigerator/dewPoint
AppendixB:KeysReference(Others)
138
Units:K(Kelvin)
Description:Dewpointinzone
/aton/<RegExp>/environment/inside/refrigerator/airDensity
Units:kg/m3(undefined)
Description:Airdensityinzone
/aton/<RegExp>/environment/inside/refrigerator/illuminance
Units:Lux(undefined)
Description:Illuminanceinzone
/aton/<RegExp>/environment/inside/freezer
Description:Currentfreezertemperature
/aton/<RegExp>/environment/inside/freezer/temperature
Units:K(Kelvin)
Description:Temperature
/aton/<RegExp>/environment/inside/freezer/pressure
Units:Pa(Pascal)
Description:Pressureinzone
/aton/<RegExp>/environment/inside/freezer/relativeHumidity
Units:ratio(Ratio)
Description:Relativehumidityinzone
/aton/<RegExp>/environment/inside/freezer/dewPoint
Units:K(Kelvin)
Description:Dewpointinzone
/aton/<RegExp>/environment/inside/freezer/airDensity
AppendixB:KeysReference(Others)
139
Units:kg/m3(undefined)
Description:Airdensityinzone
/aton/<RegExp>/environment/inside/freezer/illuminance
Units:Lux(undefined)
Description:Illuminanceinzone
/aton/<RegExp>/environment/inside/heating
Description:Currentheatingtemperature
/aton/<RegExp>/environment/inside/heating/temperature
Units:K(Kelvin)
Description:Temperature
/aton/<RegExp>/environment/inside/heating/pressure
Units:Pa(Pascal)
Description:Pressureinzone
/aton/<RegExp>/environment/inside/heating/relativeHumidity
Units:ratio(Ratio)
Description:Relativehumidityinzone
/aton/<RegExp>/environment/inside/heating/dewPoint
Units:K(Kelvin)
Description:Dewpointinzone
/aton/<RegExp>/environment/inside/heating/airDensity
Units:kg/m3(undefined)
Description:Airdensityinzone
/aton/<RegExp>/environment/inside/heating/illuminance
AppendixB:KeysReference(Others)
140
Units:Lux(undefined)
Description:Illuminanceinzone
/aton/<RegExp>/environment/water
Description:Environmentalconditionsofthewaterthatthevesselissailingin
/aton/<RegExp>/environment/water/temperature
Units:K(Kelvin)
Description:Currentwatertemperature
/aton/<RegExp>/environment/water/salinity
Units:ratio(Ratio)
Description:Watersalinity
/aton/<RegExp>/environment/depth
Title:depth
Description:Depthrelateddata
/aton/<RegExp>/environment/depth/belowKeel
Units:m(Meter)
Description:Depthbelowkeel
/aton/<RegExp>/environment/depth/belowTransducer
Units:m(Meter)
Description:DepthbelowTransducer
/aton/<RegExp>/environment/depth/belowSurface
Units:m(Meter)
Description:Depthfromsurface
/aton/<RegExp>/environment/depth/transducerToKeel
AppendixB:KeysReference(Others)
141
Units:m(Meter)
Description:Depthfromthetransducertothebottomofthekeel
/aton/<RegExp>/environment/depth/surfaceToTransducer
Units:m(Meter)
Description:Depthtransducerisbelowthewatersurface
/aton/<RegExp>/environment/current
Title:current
Description:Directionandstrengthofcurrentaffectingthevessel
Objectvaluewithproperties
drift(m/s)setTrue(rad)setMagnetic(rad)
/aton/<RegExp>/environment/tide
Title:tide
Description:Tidedata
/aton/<RegExp>/environment/tide/heightHigh
Units:m(Meter)
Description:Nexthightideheightrelativetolowestastronomicaltide(LAT/ChartDatum)
/aton/<RegExp>/environment/tide/heightNow
Units:m(Meter)
Description:Thecurrenttideheightrelativetolowestastronomicaltide(LAT/ChartDatum)
/aton/<RegExp>/environment/tide/heightLow
Units:m(Meter)
Description:Thenextlowtideheightrelativetolowestastronomicaltide(LAT/ChartDatum)
/aton/<RegExp>/environment/tide/timeLow
AppendixB:KeysReference(Others)
142
Units:RFC3339(UTC)(undefined)
Description:TimeofthenextlowtideinUTC
/aton/<RegExp>/environment/tide/timeHigh
Units:RFC3339(UTC)(undefined)
Description:TimeofnexthightideinUTC
/aton/<RegExp>/environment/heave
Units:m(Meter)
Description:Verticalmovementofthevesselduetowaves
/aton/<RegExp>/environment/wind
Title:wind
Description:Winddata.
/aton/<RegExp>/environment/wind/angleApparent
Units:rad(Radian)
Description:Apparentwindangle,negativetoport
/aton/<RegExp>/environment/wind/angleTrueGround
Units:rad(Radian)
Description:Truewindanglebasedonspeedoverground,negativetoport
/aton/<RegExp>/environment/wind/angleTrueWater
Units:rad(Radian)
Description:Truewindanglebasedonspeedthroughwater,negativetoport
/aton/<RegExp>/environment/wind/directionChangeAlarm
Units:rad(Radian)
Description:Theanglethewindneedstoshifttoraiseanalarm
AppendixB:KeysReference(Others)
143
/aton/<RegExp>/environment/wind/directionTrue
Units:rad(Radian)
Description:Thewinddirectionrelativetotruenorth
/aton/<RegExp>/environment/wind/directionMagnetic
Units:rad(Radian)
Description:Thewinddirectionrelativetomagneticnorth
/aton/<RegExp>/environment/wind/speedTrue
Units:m/s(Meterspersecond)
Description:Windspeedoverwater(ascalculatedfromspeedApparentandvessel'sspeedthroughwater)
/aton/<RegExp>/environment/wind/speedOverGround
Units:m/s(Meterspersecond)
Description:Windspeedoverground(ascalculatedfromspeedApparentandvessel'sspeedoverground)
/aton/<RegExp>/environment/wind/speedApparent
Units:m/s(Meterspersecond)
Description:Apparentwindspeed
/aton/<RegExp>/environment/time
Description:Atimereferenceforthevessel.Allclocksonthevesseldispayinglocaltimeshouldusethetimezoneoffsethere.IfatimezoneRegionissuppliedthetimezonemustalsobesupplied.IftimezoneRegionissuppliedthatshouldbedisplayedbyUIsinpreferencetosimplytimezone.ie12:05(Europe/London)shouldbedisplayedinpreferenceto12:05(UTC+01:00)
Fields:
millis(MillisecondssincetheUNIXepoch(1970-01-0100:00:00))timezoneOffset(OnboardtimezoneoffsetfromUTCinhoursandminutes(-)hhmm.+vemeanseastofGreenwich.ForusebyUIs)timezoneRegion(OnboardtimezoneoffsetaslistedintheIANAtimezonedatabase(tzdatabase))
/aton/<RegExp>/environment/mode
Description:Modeofthevesselbasedonthecurrentconditions.Canbecombinedwithnavigation.statetocontrolvesselsignalsegswitchtonightmodeforinstrumentationandlights,ormakesoundsignalsforfog.
AppendixB:KeysReference(Others)
144
/aton/<RegExp>/navigation
Title:navigation
Description:NavigationdataincludingPosition,CoursetonextWPinformation,etc.
/aton/<RegExp>/navigation/lights
Title:Navigationlights
Description:Currentstateofthevesselsnavigationlights
/aton/<RegExp>/navigation/courseOverGroundMagnetic
Units:rad(Radian)
Description:Courseoverground(magnetic)
/aton/<RegExp>/navigation/courseOverGroundTrue
Units:rad(Radian)
Description:Courseoverground(true)
/aton/<RegExp>/navigation/courseRhumbline
Title:Course
Description:CourseinformationcomputedwithRhumbline
/aton/<RegExp>/navigation/courseRhumbline/crossTrackError
Units:m(Meter)
Description:Thedistancefromthevessel'spresentpositiontotheclosestpointonaline(track)betweenpreviousPointandnextPoint.Anegativenumberindicatesthatthevesseliscurrentlytotheleftofthisline(andthusmuststeerrighttocompensate),apositivenumbermeansthevesselistotherightoftheline(steerlefttocompensate).
/aton/<RegExp>/navigation/courseRhumbline/bearingTrackTrue
Units:rad(Radian)
Description:ThebearingofalinebetweenpreviousPointandnextPoint,relativetotruenorth.
/aton/<RegExp>/navigation/courseRhumbline/bearingTrackMagnetic
Units:rad(Radian)
AppendixB:KeysReference(Others)
145
Description:ThebearingofalinebetweenpreviousPointandnextPoint,relativetomagneticnorth.
/aton/<RegExp>/navigation/courseRhumbline/activeRoute
Description:Datarequiredifsailingtoanactiveroute,definedinresources.
/aton/<RegExp>/navigation/courseRhumbline/activeRoute/href
Description:Areference(URL)tothepresentlyactiveroute,inresources.
/aton/<RegExp>/navigation/courseRhumbline/activeRoute/estimatedTimeOfArrival
Description:Theestimatedtimeofarrivalattheendofthecurrentroute
/aton/<RegExp>/navigation/courseRhumbline/activeRoute/startTime
Description:Thetimethisroutewasactivated
/aton/<RegExp>/navigation/courseRhumbline/nextPoint
Description:Thepointonearththevessel'spresentlynavigatingtowards
/aton/<RegExp>/navigation/courseRhumbline/previousPoint
Description:Thepointonearththevessel'spresentlynavigatingfrom
Objectvaluewithproperties
typehref
/aton/<RegExp>/navigation/courseRhumbline/previousPoint/distance
Units:m(Meter)
Description:ThedistanceinmetersbetweenpreviousPointandthevessel'spresentposition
/aton/<RegExp>/navigation/courseRhumbline/previousPoint/position
Title:position
Description:ThepositionoflastPointintwodimensions
Objectvaluewithproperties
AppendixB:KeysReference(Others)
146
longitude(deg)latitude(deg)altitude(m)
/aton/<RegExp>/navigation/courseGreatCircle
Title:Course
Description:CourseinformationcomputedwithGreatCircle
/aton/<RegExp>/navigation/courseGreatCircle/crossTrackError
Units:m(Meter)
Description:Thedistancefromthevessel'spresentpositiontotheclosestpointonaline(track)betweenpreviousPointandnextPoint.Anegativenumberindicatesthatthevesseliscurrentlytotheleftofthisline(andthusmuststeerrighttocompensate),apositivenumbermeansthevesselistotherightoftheline(steerlefttocompensate).
/aton/<RegExp>/navigation/courseGreatCircle/bearingTrackTrue
Units:rad(Radian)
Description:ThebearingofalinebetweenpreviousPointandnextPoint,relativetotruenorth.
/aton/<RegExp>/navigation/courseGreatCircle/bearingTrackMagnetic
Units:rad(Radian)
Description:ThebearingofalinebetweenpreviousPointandnextPoint,relativetomagneticnorth.
/aton/<RegExp>/navigation/courseGreatCircle/activeRoute
Description:Datarequiredifsailingtoanactiveroute,definedinresources.
/aton/<RegExp>/navigation/courseGreatCircle/activeRoute/href
Description:Areference(URL)tothepresentlyactiveroute,inresources.
/aton/<RegExp>/navigation/courseGreatCircle/activeRoute/estimatedTimeOfArrival
Description:Theestimatedtimeofarrivalattheendofthecurrentroute
/aton/<RegExp>/navigation/courseGreatCircle/activeRoute/startTime
AppendixB:KeysReference(Others)
147
Description:Thetimethisroutewasactivated
/aton/<RegExp>/navigation/courseGreatCircle/nextPoint
Description:Thepointonearththevessel'spresentlynavigatingtowards
/aton/<RegExp>/navigation/courseGreatCircle/previousPoint
Description:Thepointonearththevessel'spresentlynavigatingfrom
Objectvaluewithproperties
typehref
/aton/<RegExp>/navigation/courseGreatCircle/previousPoint/distance
Units:m(Meter)
Description:ThedistanceinmetersbetweenpreviousPointandthevessel'spresentposition
/aton/<RegExp>/navigation/courseGreatCircle/previousPoint/position
Title:position
Description:ThepositionoflastPointintwodimensions
Objectvaluewithproperties
longitude(deg)latitude(deg)altitude(m)
/aton/<RegExp>/navigation/closestApproach
Description:Calculatedvaluesforothervessels,e.g.fromAIS
Objectvaluewithproperties
distance(m)timeTo(s)
/aton/<RegExp>/navigation/racing
Description:Specificnavigationaldatarelatedtoyachtracing.
/aton/<RegExp>/navigation/racing/startLineStb
AppendixB:KeysReference(Others)
148
Title:position
Description:Positionofstarboardstartmark
Objectvaluewithproperties
longitude(deg)latitude(deg)altitude(m)
/aton/<RegExp>/navigation/racing/startLinePort
Title:position
Description:Positionofstarboardstartmark
Objectvaluewithproperties
longitude(deg)latitude(deg)altitude(m)
/aton/<RegExp>/navigation/racing/distanceStartline
Units:m(Meter)
Description:Thecurrentdistancetothestartline
/aton/<RegExp>/navigation/racing/timeToStart
Units:s(Second)
Description:Timeleftbeforestart
/aton/<RegExp>/navigation/racing/timePortDown
Units:s(Second)
Description:Timetoarriveatthestartlineonport,turningdownwind
/aton/<RegExp>/navigation/racing/timePortUp
Units:s(Second)
Description:Timetoarriveatthestartlineonport,turningupwind
/aton/<RegExp>/navigation/racing/timeStbdDown
Units:s(Second)
AppendixB:KeysReference(Others)
149
Description:Timetoarriveatthestartlineonstarboard,turningdownwind
/aton/<RegExp>/navigation/racing/timeStbdUp
Units:s(Second)
Description:Timetoarriveatthestartlineonstarboard,turningupwind
/aton/<RegExp>/navigation/racing/distanceLayline
Units:m(Meter)
Description:Thecurrentdistancetothelayline
/aton/<RegExp>/navigation/magneticVariation
Units:rad(Radian)
Description:Themagneticvariation(declination)atthecurrentpositionthatmustbeaddedtothemagneticheadingtoderivethetrueheading.EasterlyvariationsarepositiveandWesterlyvariationsarenegative(inRadians).
/aton/<RegExp>/navigation/magneticVariationAgeOfService
Units:s(Second)
Description:Secondssincethe1stJan1970thatthevariationcalculationwasmade
/aton/<RegExp>/navigation/destination
Title:destination
Description:Theintendeddestinationofthistrip
/aton/<RegExp>/navigation/destination/commonName
Description:CommonnameoftheDestination,eg'Fiji',alsousedinaismessages
/aton/<RegExp>/navigation/destination/eta
Description:Expectedtimeofarrivalatdestinationwaypoint
/aton/<RegExp>/navigation/destination/waypoint
Description:UUIDofdestinationwaypoint
AppendixB:KeysReference(Others)
150
/aton/<RegExp>/navigation/gnss
Title:gnss
Description:Globalsatellitenavigationmetainformation
/aton/<RegExp>/navigation/gnss/type
Description:Fixtype
/aton/<RegExp>/navigation/gnss/methodQuality
Description:Qualityofthesatellitefix
/aton/<RegExp>/navigation/gnss/integrity
Description:Integrityofthesatellitefix
/aton/<RegExp>/navigation/gnss/satellites
Description:Numberofsatellites
/aton/<RegExp>/navigation/gnss/antennaAltitude
Units:m(Meter)
Description:Altitudeofantenna
/aton/<RegExp>/navigation/gnss/horizontalDilution
Description:HorizontalDilutionofPrecision
/aton/<RegExp>/navigation/gnss/positionDilution
Description:PositionalDilutionofPrecision
/aton/<RegExp>/navigation/gnss/geoidalSeparation
Description:DifferencebetweenWGS84earthellipsoidandmeansealevel
/aton/<RegExp>/navigation/gnss/differentialAge
AppendixB:KeysReference(Others)
151
Units:s(Second)
Description:AgeofDGPSdata
/aton/<RegExp>/navigation/gnss/differentialReference
Description:IDofDGPSbasestation
/aton/<RegExp>/navigation/headingMagnetic
Units:rad(Radian)
Description:Currentmagneticheadingofthevessel
/aton/<RegExp>/navigation/headingTrue
Units:rad(Radian)
Description:Thecurrenttrueheadingofthevessel
/aton/<RegExp>/navigation/position
Title:position
Description:Thepositionofthevesselin2or3dimensions(WGS84datum)
Objectvaluewithproperties
longitude(deg)latitude(deg)altitude(m)
/aton/<RegExp>/navigation/attitude
Title:Attitude
Description:Vesselattitude:roll,pitchandyaw
Objectvaluewithproperties
roll(rad)pitch(rad)yaw(rad)
/aton/<RegExp>/navigation/maneuver
Description:Specialmaneuversuchasregionalpassingarrangement.(fromais)
AppendixB:KeysReference(Others)
152
/aton/<RegExp>/navigation/rateOfTurn
Units:rad/s(Radianpersecond)
Description:Rateofturn(+veischangetostarboard).IfthevalueisAISRIGHTorLEFT,setto+-0.0206radsandaddwarninginnotifications
/aton/<RegExp>/navigation/speedOverGround
Units:m/s(Meterspersecond)
Description:Vesselspeedoverground.IfconvertingfromAIS'HIGH'value,setto102.2(Aismaxvalue)andaddwarninginnotifications
/aton/<RegExp>/navigation/speedThroughWater
Units:m/s(Meterspersecond)
Description:Vesselspeedthroughthewater
/aton/<RegExp>/navigation/speedThroughWaterTransverse
Units:m/s(Meterspersecond)
Description:Transversespeedthroughthewater(Leeway)
/aton/<RegExp>/navigation/speedThroughWaterLongitudinal
Units:m/s(Meterspersecond)
Description:Longitudinalspeedthroughthewater
/aton/<RegExp>/navigation/leewayAngle
Units:rad(Radian)
Description:LeewayAnglederivedfromthelongitudinalandtransversespeedsthroughthewater
/aton/<RegExp>/navigation/log
Units:m(Meter)
Description:Totaldistancetraveled
/aton/<RegExp>/navigation/trip
Description:Tripdata
AppendixB:KeysReference(Others)
153
/aton/<RegExp>/navigation/trip/log
Units:m(Meter)
Description:Totaldistancetraveledonthistrip/sincetripreset
/aton/<RegExp>/navigation/trip/lastReset
Description:Triplogresettime
/aton/<RegExp>/navigation/state
Title:state
Description:Currentnavigationalstateofthevessel
/aton/<RegExp>/navigation/anchor
Title:anchor
Description:Theanchordata,foranchorwatchetc
/aton/<RegExp>/navigation/anchor/maxRadius
Units:m(Meter)
Description:Radiusofanchoralarmboundary.Thedistancefromanchortothecenteroftheboat
/aton/<RegExp>/navigation/anchor/currentRadius
Units:m(Meter)
Description:Currentdistancetoanchor
/aton/<RegExp>/navigation/anchor/position
Title:position
Description:Theactualanchorpositionofthevesselin3dimensions,probablyanestimateatbest
Objectvaluewithproperties
longitude(deg)latitude(deg)altitude(m)
AppendixB:KeysReference(Others)
154
/aton/<RegExp>/navigation/datetime
Description:TimeandDatefromtheGNSSPositioningSystem
Fields:
gnssTimeSource(SourceofGNSSDateandTime),enum:
GPSGLONASSGalileoBeidouIRNSSRadioSignalInternetLocalclock
/aton/<RegExp>/notifications
Title:notifications
Description:Notificationscurrentlyraised.Majorcategorieshavewell-definednames,butthetreecanbeextendedbyanyhierarchicalstructure
/aton/<RegExp>/notifications/<RegExp>
Description:Thisregexpatternisusedforvalidationofthepathofthealarm
/aton/<RegExp>/design
Title:design
Description:Design/dimensionaldataofthis
/aton/<RegExp>/design/displacement
Units:kg(Kilogram)
Description:Thedisplacementofthevessel
/aton/<RegExp>/design/aisShipType
Description:Theaisshiptypeseehttp://www.bosunsmate.org/ais/message5.php
Objectvaluewithproperties
idname
AppendixB:KeysReference(Others)
155
/aton/<RegExp>/design/draft
Title:draft
Description:Thedraftofthevessel
Objectvaluewithproperties
minimum(m)maximum(m)current(m)canoe(m)
/aton/<RegExp>/design/length
Title:length
Description:Thevariouslengthsofthevessel
Objectvaluewithproperties
overall(m)hull(m)waterline(m)
/aton/<RegExp>/design/keel
Title:keel
Description:Informationaboutthevessel'skeel
Fields:
type(Thetypeofkeel.),enum:
longfinflarebulbwingcenterboardkantingliftingdaggerboard
/aton/<RegExp>/design/keel/angle
Units:rad(Radian)
Description:Anumberindicatingatwhichanglethekeelcurrentlyis(incaseofacantingkeel),negativetoport.
/aton/<RegExp>/design/keel/lift
AppendixB:KeysReference(Others)
156
Units:ratio(Ratio)
Description:Inthecaseofaliftingkeel,centreboardordaggerboard,thepartofthekeelwhichisextended.0is'allthewayup'and1is'allthewaydown'.0.8wouldbe80%down.
/aton/<RegExp>/design/beam
Units:m(Meter)
Description:Beamlength
/aton/<RegExp>/design/airHeight
Units:m(Meter)
Description:Totalheightofthevessel
/aton/<RegExp>/design/rigging
Title:rigging
Description:Informationaboutthevessel'srigging
Fields:
configuration(Theconfigurationoftherigging)masts(Thenumberofmastsonthevessel.)
/aton/<RegExp>/sensors
Title:sensors
Description:Sensors,theirstate,anddata.
/aton/<RegExp>/sensors/<RegExp>
Title:sensor
Description:ThisregexpatternisusedforvalidationUUIDidentifierforthesensor
/aton/<RegExp>/sensors/<RegExp>/name
Description:Thecommonnameofthesensor
/aton/<RegExp>/sensors/<RegExp>/sensorType
Description:Thedatamodeldefinitionofthesensordata.FIXME-needtocreateadefinitionslibofsensordatamodeltypes
AppendixB:KeysReference(Others)
157
/aton/<RegExp>/sensors/<RegExp>/sensorData
Description:Thedataofthesensordata.FIXME-needtorefthedefinitionsofsensortypes
/aton/<RegExp>/sensors/<RegExp>/fromBow
Description:Thedistancefromthebowtothesensorlocation
/aton/<RegExp>/sensors/<RegExp>/fromCenter
Description:Thedistancefromthecenterlinetothesensorlocation,-vetostarboard,+vetoport
/sar
Description:AwrapperobjectforSearchAndRescue(SAR)MMSI'susiedintransponders.MOB,EPIRBSetc
/sar/<RegExp>
Title:Searchandrescuebeacons
Description:ThisregexpatternisusedforvalidationofanMMSIorSignalKUUIDidentifierfortheaidtonavigation.Examples:urn:mrn:imo:mmsi:972099999urn:mrn:signalk:uuid:c0d79334-4e25-4245-8892-54e8ccc8021d
/sar/<RegExp>/url
Description:URLbasedidentityoftheaidtonavigation,ifavailable.
/sar/<RegExp>/mmsi
Description:MMSInumberoftheaidtonavigation,ifavailable.
/sar/<RegExp>/uuid
Description:AuniqueSignalKflavouredmaritimeresourceidentifier,assignedbytheserver.
/sar/<RegExp>/communication
Title:communication
Description:CommunicationdataincludingRadio,Telephone,E-Mail,etc.
AppendixB:KeysReference(Others)
158
/sar/<RegExp>/communication/callsignVhf
Description:CallsignforVHFcommunication
/sar/<RegExp>/communication/callsignHf
Description:CallsignforHFcommunication
/sar/<RegExp>/communication/phoneNumber
Description:Phonenumberofskipper
/sar/<RegExp>/communication/emailHf
Description:EmailaddresstobeusedforHFemail(Winmail,Airmail,Sailmail)
/sar/<RegExp>/communication/email
Description:Regularemailfortheskipper
/sar/<RegExp>/communication/satPhoneNumber
Description:Satellitephonenumberforvessel.
/sar/<RegExp>/communication/skipperName
Description:Fullnameoftheskipperofthevessel.
/sar/<RegExp>/communication/crewNames
Description:Arraywiththenamesofthecrew
/sar/<RegExp>/navigation
Title:navigation
Description:NavigationdataincludingPosition,CoursetonextWPinformation,etc.
/sar/<RegExp>/navigation/lights
Title:Navigationlights
AppendixB:KeysReference(Others)
159
Description:Currentstateofthevesselsnavigationlights
/sar/<RegExp>/navigation/courseOverGroundMagnetic
Units:rad(Radian)
Description:Courseoverground(magnetic)
/sar/<RegExp>/navigation/courseOverGroundTrue
Units:rad(Radian)
Description:Courseoverground(true)
/sar/<RegExp>/navigation/courseRhumbline
Title:Course
Description:CourseinformationcomputedwithRhumbline
/sar/<RegExp>/navigation/courseRhumbline/crossTrackError
Units:m(Meter)
Description:Thedistancefromthevessel'spresentpositiontotheclosestpointonaline(track)betweenpreviousPointandnextPoint.Anegativenumberindicatesthatthevesseliscurrentlytotheleftofthisline(andthusmuststeerrighttocompensate),apositivenumbermeansthevesselistotherightoftheline(steerlefttocompensate).
/sar/<RegExp>/navigation/courseRhumbline/bearingTrackTrue
Units:rad(Radian)
Description:ThebearingofalinebetweenpreviousPointandnextPoint,relativetotruenorth.
/sar/<RegExp>/navigation/courseRhumbline/bearingTrackMagnetic
Units:rad(Radian)
Description:ThebearingofalinebetweenpreviousPointandnextPoint,relativetomagneticnorth.
/sar/<RegExp>/navigation/courseRhumbline/activeRoute
Description:Datarequiredifsailingtoanactiveroute,definedinresources.
/sar/<RegExp>/navigation/courseRhumbline/activeRoute/href
AppendixB:KeysReference(Others)
160
Description:Areference(URL)tothepresentlyactiveroute,inresources.
/sar/<RegExp>/navigation/courseRhumbline/activeRoute/estimatedTimeOfArrival
Description:Theestimatedtimeofarrivalattheendofthecurrentroute
/sar/<RegExp>/navigation/courseRhumbline/activeRoute/startTime
Description:Thetimethisroutewasactivated
/sar/<RegExp>/navigation/courseRhumbline/nextPoint
Description:Thepointonearththevessel'spresentlynavigatingtowards
/sar/<RegExp>/navigation/courseRhumbline/previousPoint
Description:Thepointonearththevessel'spresentlynavigatingfrom
Objectvaluewithproperties
typehref
/sar/<RegExp>/navigation/courseRhumbline/previousPoint/distance
Units:m(Meter)
Description:ThedistanceinmetersbetweenpreviousPointandthevessel'spresentposition
/sar/<RegExp>/navigation/courseRhumbline/previousPoint/position
Title:position
Description:ThepositionoflastPointintwodimensions
Objectvaluewithproperties
longitude(deg)latitude(deg)altitude(m)
/sar/<RegExp>/navigation/courseGreatCircle
Title:Course
Description:CourseinformationcomputedwithGreatCircle
AppendixB:KeysReference(Others)
161
/sar/<RegExp>/navigation/courseGreatCircle/crossTrackError
Units:m(Meter)
Description:Thedistancefromthevessel'spresentpositiontotheclosestpointonaline(track)betweenpreviousPointandnextPoint.Anegativenumberindicatesthatthevesseliscurrentlytotheleftofthisline(andthusmuststeerrighttocompensate),apositivenumbermeansthevesselistotherightoftheline(steerlefttocompensate).
/sar/<RegExp>/navigation/courseGreatCircle/bearingTrackTrue
Units:rad(Radian)
Description:ThebearingofalinebetweenpreviousPointandnextPoint,relativetotruenorth.
/sar/<RegExp>/navigation/courseGreatCircle/bearingTrackMagnetic
Units:rad(Radian)
Description:ThebearingofalinebetweenpreviousPointandnextPoint,relativetomagneticnorth.
/sar/<RegExp>/navigation/courseGreatCircle/activeRoute
Description:Datarequiredifsailingtoanactiveroute,definedinresources.
/sar/<RegExp>/navigation/courseGreatCircle/activeRoute/href
Description:Areference(URL)tothepresentlyactiveroute,inresources.
/sar/<RegExp>/navigation/courseGreatCircle/activeRoute/estimatedTimeOfArrival
Description:Theestimatedtimeofarrivalattheendofthecurrentroute
/sar/<RegExp>/navigation/courseGreatCircle/activeRoute/startTime
Description:Thetimethisroutewasactivated
/sar/<RegExp>/navigation/courseGreatCircle/nextPoint
Description:Thepointonearththevessel'spresentlynavigatingtowards
/sar/<RegExp>/navigation/courseGreatCircle/previousPoint
Description:Thepointonearththevessel'spresentlynavigatingfrom
AppendixB:KeysReference(Others)
162
Objectvaluewithproperties
typehref
/sar/<RegExp>/navigation/courseGreatCircle/previousPoint/distance
Units:m(Meter)
Description:ThedistanceinmetersbetweenpreviousPointandthevessel'spresentposition
/sar/<RegExp>/navigation/courseGreatCircle/previousPoint/position
Title:position
Description:ThepositionoflastPointintwodimensions
Objectvaluewithproperties
longitude(deg)latitude(deg)altitude(m)
/sar/<RegExp>/navigation/closestApproach
Description:Calculatedvaluesforothervessels,e.g.fromAIS
Objectvaluewithproperties
distance(m)timeTo(s)
/sar/<RegExp>/navigation/racing
Description:Specificnavigationaldatarelatedtoyachtracing.
/sar/<RegExp>/navigation/racing/startLineStb
Title:position
Description:Positionofstarboardstartmark
Objectvaluewithproperties
longitude(deg)latitude(deg)altitude(m)
/sar/<RegExp>/navigation/racing/startLinePort
AppendixB:KeysReference(Others)
163
Title:position
Description:Positionofstarboardstartmark
Objectvaluewithproperties
longitude(deg)latitude(deg)altitude(m)
/sar/<RegExp>/navigation/racing/distanceStartline
Units:m(Meter)
Description:Thecurrentdistancetothestartline
/sar/<RegExp>/navigation/racing/timeToStart
Units:s(Second)
Description:Timeleftbeforestart
/sar/<RegExp>/navigation/racing/timePortDown
Units:s(Second)
Description:Timetoarriveatthestartlineonport,turningdownwind
/sar/<RegExp>/navigation/racing/timePortUp
Units:s(Second)
Description:Timetoarriveatthestartlineonport,turningupwind
/sar/<RegExp>/navigation/racing/timeStbdDown
Units:s(Second)
Description:Timetoarriveatthestartlineonstarboard,turningdownwind
/sar/<RegExp>/navigation/racing/timeStbdUp
Units:s(Second)
Description:Timetoarriveatthestartlineonstarboard,turningupwind
/sar/<RegExp>/navigation/racing/distanceLayline
AppendixB:KeysReference(Others)
164
Units:m(Meter)
Description:Thecurrentdistancetothelayline
/sar/<RegExp>/navigation/magneticVariation
Units:rad(Radian)
Description:Themagneticvariation(declination)atthecurrentpositionthatmustbeaddedtothemagneticheadingtoderivethetrueheading.EasterlyvariationsarepositiveandWesterlyvariationsarenegative(inRadians).
/sar/<RegExp>/navigation/magneticVariationAgeOfService
Units:s(Second)
Description:Secondssincethe1stJan1970thatthevariationcalculationwasmade
/sar/<RegExp>/navigation/destination
Title:destination
Description:Theintendeddestinationofthistrip
/sar/<RegExp>/navigation/destination/commonName
Description:CommonnameoftheDestination,eg'Fiji',alsousedinaismessages
/sar/<RegExp>/navigation/destination/eta
Description:Expectedtimeofarrivalatdestinationwaypoint
/sar/<RegExp>/navigation/destination/waypoint
Description:UUIDofdestinationwaypoint
/sar/<RegExp>/navigation/gnss
Title:gnss
Description:Globalsatellitenavigationmetainformation
/sar/<RegExp>/navigation/gnss/type
Description:Fixtype
AppendixB:KeysReference(Others)
165
/sar/<RegExp>/navigation/gnss/methodQuality
Description:Qualityofthesatellitefix
/sar/<RegExp>/navigation/gnss/integrity
Description:Integrityofthesatellitefix
/sar/<RegExp>/navigation/gnss/satellites
Description:Numberofsatellites
/sar/<RegExp>/navigation/gnss/antennaAltitude
Units:m(Meter)
Description:Altitudeofantenna
/sar/<RegExp>/navigation/gnss/horizontalDilution
Description:HorizontalDilutionofPrecision
/sar/<RegExp>/navigation/gnss/positionDilution
Description:PositionalDilutionofPrecision
/sar/<RegExp>/navigation/gnss/geoidalSeparation
Description:DifferencebetweenWGS84earthellipsoidandmeansealevel
/sar/<RegExp>/navigation/gnss/differentialAge
Units:s(Second)
Description:AgeofDGPSdata
/sar/<RegExp>/navigation/gnss/differentialReference
Description:IDofDGPSbasestation
/sar/<RegExp>/navigation/headingMagnetic
AppendixB:KeysReference(Others)
166
Units:rad(Radian)
Description:Currentmagneticheadingofthevessel
/sar/<RegExp>/navigation/headingTrue
Units:rad(Radian)
Description:Thecurrenttrueheadingofthevessel
/sar/<RegExp>/navigation/position
Title:position
Description:Thepositionofthevesselin2or3dimensions(WGS84datum)
Objectvaluewithproperties
longitude(deg)latitude(deg)altitude(m)
/sar/<RegExp>/navigation/attitude
Title:Attitude
Description:Vesselattitude:roll,pitchandyaw
Objectvaluewithproperties
roll(rad)pitch(rad)yaw(rad)
/sar/<RegExp>/navigation/maneuver
Description:Specialmaneuversuchasregionalpassingarrangement.(fromais)
/sar/<RegExp>/navigation/rateOfTurn
Units:rad/s(Radianpersecond)
Description:Rateofturn(+veischangetostarboard).IfthevalueisAISRIGHTorLEFT,setto+-0.0206radsandaddwarninginnotifications
/sar/<RegExp>/navigation/speedOverGround
Units:m/s(Meterspersecond)
AppendixB:KeysReference(Others)
167
Description:Vesselspeedoverground.IfconvertingfromAIS'HIGH'value,setto102.2(Aismaxvalue)andaddwarninginnotifications
/sar/<RegExp>/navigation/speedThroughWater
Units:m/s(Meterspersecond)
Description:Vesselspeedthroughthewater
/sar/<RegExp>/navigation/speedThroughWaterTransverse
Units:m/s(Meterspersecond)
Description:Transversespeedthroughthewater(Leeway)
/sar/<RegExp>/navigation/speedThroughWaterLongitudinal
Units:m/s(Meterspersecond)
Description:Longitudinalspeedthroughthewater
/sar/<RegExp>/navigation/leewayAngle
Units:rad(Radian)
Description:LeewayAnglederivedfromthelongitudinalandtransversespeedsthroughthewater
/sar/<RegExp>/navigation/log
Units:m(Meter)
Description:Totaldistancetraveled
/sar/<RegExp>/navigation/trip
Description:Tripdata
/sar/<RegExp>/navigation/trip/log
Units:m(Meter)
Description:Totaldistancetraveledonthistrip/sincetripreset
/sar/<RegExp>/navigation/trip/lastReset
AppendixB:KeysReference(Others)
168
Description:Triplogresettime
/sar/<RegExp>/navigation/state
Title:state
Description:Currentnavigationalstateofthevessel
/sar/<RegExp>/navigation/anchor
Title:anchor
Description:Theanchordata,foranchorwatchetc
/sar/<RegExp>/navigation/anchor/maxRadius
Units:m(Meter)
Description:Radiusofanchoralarmboundary.Thedistancefromanchortothecenteroftheboat
/sar/<RegExp>/navigation/anchor/currentRadius
Units:m(Meter)
Description:Currentdistancetoanchor
/sar/<RegExp>/navigation/anchor/position
Title:position
Description:Theactualanchorpositionofthevesselin3dimensions,probablyanestimateatbest
Objectvaluewithproperties
longitude(deg)latitude(deg)altitude(m)
/sar/<RegExp>/navigation/datetime
Description:TimeandDatefromtheGNSSPositioningSystem
Fields:
gnssTimeSource(SourceofGNSSDateandTime),enum:
GPSGLONASSGalileo
AppendixB:KeysReference(Others)
169
BeidouIRNSSRadioSignalInternetLocalclock
/sar/<RegExp>/notifications
Title:notifications
Description:Notificationscurrentlyraised.Majorcategorieshavewell-definednames,butthetreecanbeextendedbyanyhierarchicalstructure
/sar/<RegExp>/notifications/mob
Description:Manoverboard
Objectvaluewithproperties
methodstatemessage
/sar/<RegExp>/notifications/fire
Description:Fireonboard
Objectvaluewithproperties
methodstatemessage
/sar/<RegExp>/notifications/sinking
Description:Vesselissinking
Objectvaluewithproperties
methodstatemessage
/sar/<RegExp>/notifications/flooding
Description:Vesselisflooding
Objectvaluewithproperties
method
AppendixB:KeysReference(Others)
170
statemessage
/sar/<RegExp>/notifications/collision
Description:Incollisionwithanothervesselorobject
Objectvaluewithproperties
methodstatemessage
/sar/<RegExp>/notifications/grounding
Description:Vesselgrounding
Objectvaluewithproperties
methodstatemessage
/sar/<RegExp>/notifications/listing
Description:Vesselislisting
Objectvaluewithproperties
methodstatemessage
/sar/<RegExp>/notifications/adrift
Description:Vesselisadrift
Objectvaluewithproperties
methodstatemessage
/sar/<RegExp>/notifications/piracy
Description:Underattackordangerfrompirates
Objectvaluewithproperties
method
AppendixB:KeysReference(Others)
171
statemessage
/sar/<RegExp>/notifications/abandon
Description:Abandonship
Objectvaluewithproperties
methodstatemessage
/sar/<RegExp>/notifications/<RegExp>
Description:Thisregexpatternisusedforvalidationofthepathofthealarm
/resources
Title:resources
Description:Resourcestoaidinnavigationandoperationofthevesselincludingwaypoints,routes,notes,etc.
/resources/charts
Title:chart
Description:Aholderforcharts,eachnamedwiththeirchartcode
/resources/charts/<RegExp>
Description:Achart
Fields:
name(Chartcommonname)identifier(Chartnumber)description(Adescriptionofthechart)tilemapUrl(AurltothetilemapofthechartforuseinTMSchartplottingapps)region(Regionrelatedtonote.ApointertoaregionUUID.Alternativetogeohash)geohash(Positionrelatedtochart.Alternativetoregion)chartUrl(Aurltothechartfile'sstoragelocation)scale(Thescaleofthechart,thelargernumberfrom1:200000)chartLayers(IfthechartformatisWMS,thelayersenabledforthechart.)bounds(Theboundsofthechart.Anarraycontainingthepositionoftheupperleftcorner,andthelowerrightcorner.Usefulwhenthechartisn'tinherentlygeo-referenced.)chartFormat(Theformatofthechart),enum:
gif
AppendixB:KeysReference(Others)
172
geotiffkappngjpgkmlwkttopojsongeojsongpxtmswmsS-57S-63svgother
/resources/routes
Title:route
Description:Aholderforroutes,eachnamedwithaUUID
/resources/routes/<RegExp>
Description:Aroute,namedwithaUUID
Fields:
name(Route'scommonname)description(Adescriptionoftheroute)distance(Totaldistancefromstarttoend),units:m(Meter)start(ThewaypointUUIDatthestartoftheroute)end(ThewaypointUUIDattheendoftheroute)feature(AGeoJSONfeatureobjectwhichdescribestheroutebetweenthewaypoints)
type,enum:
Featuregeometry
type,enum:
LineStringcoordinates(Anarrayoftwoormorepositions)
properties(Additionaldataofanytype)id
/resources/notes
Title:notes
AppendixB:KeysReference(Others)
173
Description:Aholderfornotesaboutregions,eachnamedwithaUUID.Notesmightincludenavigationorcruisinginfo,images,oranything
/resources/notes/<RegExp>
Description:Anoteaboutaregion,namedwithaUUID.Notesmightincludenavigationorcruisinginfo,images,oranything
Fields:
title(Note'scommonname)description(Atextualdescriptionofthenote)region(Regionrelatedtonote.ApointertoaregionUUID.Alternativetopositionorgeohash)geohash(Positionrelatedtonote.Alternativetoregionorposition)mimeType(MIMEtypeofthenote)url(Locationofthenote)
/resources/notes/<RegExp>/position
Title:position
Description:Positionrelatedtonote.Alternativetoregionorgeohash
Objectvaluewithproperties
longitude(deg)latitude(deg)altitude(m)
/resources/regions
Title:region
Description:Aholderforregions,eachnamedwithUUID
/resources/regions/<RegExp>
Description:Aregionofinterest,eachnamedwithaUUID
Fields:
geohash(geohashoftheapproximateboundaryofthisregion)feature(AGeoJSONfeatureobjectwhichdescribestheregionsboundary)
type,enum:
Featuregeometry
properties(Additionaldataofanytype)id
AppendixB:KeysReference(Others)
174
/resources/waypoints
Title:waypoints
Description:Aholderforwaypoints,eachnamedwithaUUID
/resources/waypoints/<RegExp>
Description:Awaypoint,namedwithaUUID
/resources/waypoints/<RegExp>/position
Title:position
Description:Thepositionin3dimensions
Objectvaluewithproperties
longitude(deg)latitude(deg)altitude(m)
/resources/waypoints/<RegExp>/feature
Title:Feature
Description:AGeoJSONfeatureobject
/resources/waypoints/<RegExp>/feature/type
Description:[missing]
Enumvalues:
Feature
/resources/waypoints/<RegExp>/feature/geometry
Title:Point
Description:[missing]
/resources/waypoints/<RegExp>/feature/geometry/type
Description:[missing]
Enumvalues:
Point
AppendixB:KeysReference(Others)
175
/resources/waypoints/<RegExp>/feature/geometry/coordinates
Description:Asingleposition,inx,yorder(Lon,Lat)
/resources/waypoints/<RegExp>/feature/properties
Description:Additionaldataofanytype
/resources/waypoints/<RegExp>/feature/id
Description:[missing]
/version
Description:VersionoftheschemaandAPIsthatthisdataisusinginCanonicalformati.e.V1.0.0.
AppendixB:KeysReference(Others)
176
ChangeLog
v1.0.4(2018/04/2212:55+00:00)
#432AddDocumentationforSources(@timmathews)#458Putdescriptivesourcepropertieswheretheybelong(@timmathews)#451WIP:docs:addnotescoveringnamingconventionsforpullrequests(@bkp7)#449Removedspacesfromfilenames.(@bkp7)#433Convertdocstouseverifiedjsonsamples(@bkp7)#448ModifydescriptionofMagneticVariation(@bkp7)#438fix:invalidelectricalschema(@bkp7)#419fix:modifypackage.jsontomakeitcrossplatformcompatible.(@bkp7)#422refactor:improveusabilityofjsonvalidationtests(@bkp7)#429chore:usenodeltsversion(@tkurki)#424polish:improvementstodocumentation:versioning.md(@bkp7)#421UpdateTravisteststouselatestnode-jsv8.x.xrelease(@bkp7)#415Additionalunitswithcorrections(@bkp7)#414Addthesamplestotestscripts(@bkp7)
v1.0.3(2018/01/0819:40+00:00)
#416fix:makeselfrelativetorootinfull(@tkurki)#413Fixed:buginmessagestests(@bkp7)#412fixnpminstallfailingonwindowsplatforms(@bkp7)
v1.0.0(2018/01/0108:58+00:00)
#396Rootrelativeself(@tkurki)#358Documentationandschemafixes(@rob42)#403Fixtypoinconnection.md(@gilesvangruisen)
v0.0.1-12(2017/11/0419:48+00:00)
#315Objectvaluedpropertiesundervalueinfullmodel(@tkurki)#395feature:specifyWGS84forcoordinates(@tkurki)#392spec:removesparseformat(@tkurki)#393feature:specifyWGS84forcoordinates(@tkurki)#372Improve,removelogicerrorinpropslipdescription(@joabakk)#366AddCPAandTCPA(@joabakk)#390feature:Addserverinformationtodiscovery(@tkurki)#385Feature:make/selfrequired(@tkurki)
v0.0.1-11(2017/10/1718:46+00:00)
#388feature:addschemaapitogetshipandatontypenamesfromtheid(@sbender9)#386fix:betteraisShipTypeandatonType(@sbender9)
v0.0.1-9(2017/10/0714:29+00:00)
#383fix:don'tcreateundefinedmetaproperties(@tkurki)
AppendixC:Changelog
177
v0.0.1-7(2017/09/2717:42+00:00)
#332feature:addmetadatahandlingtojslib(@tkurki)#382feature:includeenumsinkeyswithmetadata(@tkurki)#381Addoutsideairdensity(@joabakk)
v0.0.1-6(2017/08/0920:02+00:00)
#368TranspiledistributednpmmoduletoES2015(@tkurki)
v0.0.1-5(2017/08/0919:24+00:00)
#375AddAlternatorandSolardevices,createchargerQualitiies+cleanups(@thomasonw)
v0.0.1-4(2017/08/0917:16+00:00)
#374AddcommonValueFieldstonotifications(@sbender9)#369Minorfixes(@parsley72)#365AddintakeManifoldTemperaturetopropulsionschema(@anajavi)#364Changefromschemas/versiontoversion/schemas(@rob42)#361Fixdescriptiontyposinperformance(@joabakk)#355[WIP]Convertjsonidfromhttps://signalk.github.io/specification/schemas…(@rob42)#357Splitgitbookdockeyslist(@tkurki)#353Fixedtyposandtextformatting(@aplathan)#342Rewritemultiplesources/valuesdocumentation(@tkurki)
v0.0.1-3(2017/04/1904:41+00:00)
#350AddpagespecifyingversioninginSignalK(@rob42)#337Aisadditions(@rob42)#351Addnoteondataaccuracy(@rob42)#349fix:fixdollarsourcereferencesinfulltree(@tkurki)#347Multiplevaluesubscriptionsdocumentation(@tkurki)#344AddedSARaircraft,updatesteststohandleaircraft,addvessel.mmsi…(@rob42)#346Tanks(@rob42)
v0.0.1-1(2017/03/1916:07+00:00)
#348Addnotethatmeta.unitsMUSTbereturnedforvalidkeys(@rob42)#345Addedtrip.log,andtrip.lastReset(@rob42)#340Addslackbadge(@bkp7)#336Patternforversion(@bkp7)#328AddedtimezoneRegiontoenvironment.time(@bkp7)#321Fixnotificationsschema(@bkp7)#335Addedilluminance(@rob42)#325Improvementstothechartmodel(@emilecantin)#319Addchangeloggeneration(@tkurki)#327UpdatedSchemasothatdate-timemustbeinUTC(@bkp7)#324DefinetimestampasJSONSchemadate-time(@bkp7)#320Fixschemafilestobevalidagainsthttp://json-schema.org/draft-04/schema#(@bkp7)#299Generatedocumentationforobjecttypesfromlocalfiles(@joux3)#312Specifyvesselcontextandleafpathfordelta(@tkurki)
AppendixC:Changelog
178
#313Itemizecourseproperties(@tkurki)
v0.0.1-0(2016/12/2719:54+00:00)
#309ImproveToplevelsignalkoverview(@sumps)#272Updatemultiplevaluesdocumentation(@tkurki)#301AddsupportfordollarpathinFullSignalK(@tkurki)#306RemovedrefererencetoBoundaryLayer(@sumps)#283AddTransverseWaterSpeedandLeewayAngle(@sumps)#300ExpandontheDiscoverySection(@timmathews)#290MakeprocessSchemaFilesproducekeyswithmetadata.json(@tkurki)#284Steeringgroupinlinewithautopilotcommunication(@joabakk)#278Validatemissingschemareferences&fixmissingreferences(@joux3)#270Usewildcardcontextinexample,mentionwildcard(@tkurki)#265AddChangelog(@tkurki)#274Resolverelativereferencesinthesamefile(@joux3)#269RFC0004:ReplaceJsonPathwithwildcardinsubscriptionpaths(@tkurki)#225Adddefaultsoverlay(@timmathews)#257Reorganizedsteeringgroup,addedtest(@joabakk)#266Cleanupofsourcesschema(@thomasonw)#260Clarifygitbook-docs/README.md(@timmathews)#261Cleanups(@thomasonw)#255GitbookDocumentationmvp(@tkurki)#245MaketankcapacitynumberValue(@tkurki)#238SourcehandlingforNMEAandnon-NMEAsources(@tkurki)#232Addedmissingmessagetypes(@rob42)#233Addedchartscale,andsomenewchartstypes(@rob42)#230Addedexamples,andtidieddescriptions(@rob42)#231adddescriptiontoenumvalues(@sailoog)#228Includeenumsinkeyswithmetadata.json(@tkurki)#221AddGC/RLdistinction(@tkurki)#223ConsistentUseofJSON-schemadraft04Format(@timmathews)#222TankSendersonlyprovidetanklevelvalue(@sumps)#211Alternativeproposalfor"course"objectinnavigation(@fabdrol)#217Reorganisetemperaturesabit(@tkurki)#202Addgeneral&n2kspecificinfotosources(@tkurki)#193Addedracingparameters(@joabakk)#204Renamedrefridgerationtorefrigerator(@joabakk)#201Fixkeyswithmetadata(@tkurki)#200AddedStateofHealthtoBatteries(@sumps)#185Reorganiseelectrical:removeac/dcdistinction,branchesforequipmenttypes(@tkurki)#186Temp,humidity,pressurereorganisation(@tkurki)#195Refactortanks(@tkurki)#194Unitcleanupandaddedpropslipdependancies(@tkurki)#190Improvedescriptions(@joabakk)#182ReplacemaxRevolutionswithzonesusage(@tkurki)#175Addedagnostictargetspeedandtargetangle(@joabakk)#176RemovelegacyAlarmobjectsfromEnvironmentTree(@sumps)#165Addengineload&torque(@tkurki)#118Multiplevalues(take2)(@tkurki)#161Convertzoneinmetatoanobject(@rob42)
AppendixC:Changelog
179
#162Renamealarmsbranchtonotifications(@rob42)#142Masterwaypointsref(@rob42)#160Removealarmuuidfrompathasitsnotneeded.(@rob42)#159Updatevessel.json(@joabakk)#152Improvealarms-addalertandemergency(@rob42)#120Improvepropulsion(@tkurki)#119Reworkelectricaldc:batteries(@tkurki)#151UseSPDXabbreviationofthelicense(@tkurki)#148Addschemaandtestsforendpointdiscovery(@jboynes)#149Removeunneededreferencestolodash(@jboynes)#145Addedregistrationstructure(@rob42)#139Addedlightstonavigation(@rob42)#143Addenv.mode-take2-Addsource/timestampandtest(@rob42)#141Addedenvironment.mode(@rob42)#140AddedIMO,flag,port,andregnumber(@rob42)#136AdddatetimewithsourceinformationtotheSignalKmodel(@tkurki)#137Masteraddsystime(@rob42)#132Expressairpressurechangerateasarate(@jboynes)#129ReplacelastuseoffloatValuewithnumberValue(@jboynes)#128RemovedCallsignDsc(@sumps)#121AddHeavetoenvironment.json(@sumps)#117AdditionalGNSSfieldadded(@sumps)#114Changeallunitsto(derived)SIunits(fixissue#30)(@keesverruijt)#113Implementmyownsuggestioninissue#112(@keesverruijt)#110Identities,taketwo(@fabdrol)#109AddNMEA0183sentenceandtalkertosource(@tkurki)#107Fixschemareferencesandaddallsubschemasforvalidation(@tkurki)#105Housekeeping:cleanupofallschemas(@fabdrol)#103Relocatecurrentfromnavigationtoenvironment(@timmathews)#101SplitangleTrue(@tkurki)#87Improvevalidation(@tkurki)#88Changepgntypetonumber(@tkurki)#81Formatthedesigngroup(@MariusVolkhart)#78Formatthepropulsiongroup(@MariusVolkhart)#79Formattheelectrical_dcgroup(@MariusVolkhart)#77Formattheresourcesgroup(@MariusVolkhart)#80Formatthenavigationgroup(@MariusVolkhart)#82Formatthealarmsgroup(@MariusVolkhart)#83AddedanUUIDpropertytovessel.json(@fabdrol)#75Formatallenumstothesamestyle(@MariusVolkhart)#70Formatvessel.json(@MariusVolkhart)#54PullofrestructuredELECTRICALJSONschema(@thomasonw)#52Electrical,AC(@timmathews)#64Messageschemas(@rob42)#51Grouprollpitchandyaw(@timmathews)#65Updatestothe"design"group,inordertoaccommodatevesselswithavariablekeelorcenterboardandsomeotherchanges(@fabdrol)#67Separategroupforsails(@fabdrol)#55LabelsforSignalKdataitems(@tkurki)#63Morelenientdeltaschema(@tkurki)#62Changesubschemaloading(@tkurki)
AppendixC:Changelog
180
#61Addedn2kMappings(@tkurki)#59Addedperformancegrouptovessel.json(@zapfware)#57DefinespecificationforPerformancedata(@zapfware)#58Addwaypoint.distanceActual,correctunitsforlog&logTrip(@zapfware)#50Fixpropulsionandsensorsandsomecleanup(@rob42)#44Reorganizecurrentgroup(@timmathews)#43AddssourceandtimestamptoactiveRoute(@timmathews)#42Renamenavigation.currentRoute(@timmathews)#34Updatelayout(@timmathews)#29Deltaschema&validation(@tkurki)#31StandardizeformattinginschemaJSONfiles(@timmathews)#27Changesrelatedton2kintegration(@tkurki)#26Movesource/timestampsoitonlyoccursonleafnodes(@rob42)#24Indentwith4spaces(@tkurki)#23Windangle&direction(@tkurki)#21Addedsensors,designdata,andanchordata(@rob42)#17AddeddefinitionforGNSSobject(@fabdrol)#15Resources-addheadersetc(@rob42)#14Trytoaddheaders(@rob42)#12Addsignalkheadertodocsunpage(@rob42)#11ReplaceexperimentalJavaScriptcalls(@timmathews)#9Resources(@rob42)#5Addedalarmsgroup(@rob42)#6Addedbasicprinciples(@rob42)#4Fixtodocson.js(@timmathews)#3Separatedschemas(@fabdrol)#1AddedinstructionsforpublishingspectoGHPages(@timmathews)
AppendixC:Changelog
181
VersioninginSignalKspecificationOurversioningisbasedonhttp://snowplowanalytics.com/blog/2014/05/13/introducing-schemaver-for-semantic-versioning-of-schemas/
Mostofthisdocumentisreproducedfromthere.
Whenversioningadataschema,weareconcernedwiththebackwards-compatibilitybetweenthenewschemaandexistingdatarepresentedinearlierversionsoftheschema.ThisisthefundamentalbuildingblockofSchemaVer,andexplainsthedivergencefromSemanticVersioning.
HeresasimpleformulaforourSchemaVer:
GivenaversionnumberMODEL.REVISION.ADDITION-SUFFIX,incrementthe:
MODEL-whenyoumakeabreakingschemachangewhichwillpreventinteractionwithanyhistoricaldataREVISION-whenyoumakeaschemachangewhichmaypreventinteractionwithsomehistoricaldataADDITION-whenyoumakeaschemachangethatiscompatiblewithallhistoricaldataSUFFIX-optional-denotesspecialversionsoractivedevelopmentegalpha-1,SNAPSHOT
ThefirstreleasedversionofSignalKwillbe1.0.0.
Thecurrentdevelopmentversionwillthenmovetobe1.0.1-SNAPSHOTThenextreleasecandidatemightthenbe1.0.1-alpha-1Thecurrentdevelopmentversionwillthenmovetobe1.0.2-SNAPSHOT
SNAPSHOTdenotesaversionunderactivechange.IfyoudependontheSNAPSHOTversiontheneverytimeyoubuildyourprojectitwillhavechangedwithwhat-everwascommittedsincelasttimeyouchecked.
Let’smakeSchemaVermoreconcretewithsomeexamplesusingsome(truncatedandcontrived)SignalKSchemas,inreverseorder:
AdditionWehaveanexistingJSONSchema,let’scallthis1.0.0:
{
"type":"object",
"$schema":"http://json-schema.org/draft-04/schema#",
"id":"https://signalk.org/demospecification/1.0.0/schemas/groups/communication.json#",
"description":"Schemadescribingthecommunicationchild-objectofaVessel.",
"title":"communication",
"properties":{
"dscAddress":{
"type":"string",
"description":"MMSICallsignforVHFcommunication"
}
},
"required":["dscAddress"],
"additionalProperties":false
}
Nowwewanttoaddanadditionalfieldtoourschema:
{
"type":"object",
"$schema":"http://json-schema.org/draft-04/schema#",
AppendixD:Versioning
182
"id":"https://signalk.org/demospecification/1.0.1/schemas/groups/communication.json#",
"description":"Schemadescribingthecommunicationchild-objectofaVessel.",
"title":"communication",
"properties":{
"dscAddress":{
"type":"string",
"description":"MMSICallsignforVHFcommunication"
},
"phoneNumber":{
"type":"string",
"description":"Phonenumberofskipper",
"example":"+64xxxxxx"
}
},
"required":["dscAddress"],
"additionalProperties":false
}
BecauseournewphoneNumberfieldisnotarequiredfield,andbecauseversion1.0.0hadadditionalPropertiessettofalse,weknowthatallhistoricaldatawillworkwiththisnewschema,ie.anyjsonwhichvalidatesagainst1.0.0willalsobevalidagainst1.0.1.
ThereforewearelookingatanADDITION,andsowebumptheschemaversionto1.0.1.
RevisionLet’snowmakeourJSONSchemasupportadditionalProperties-thisconstitutesanotherADDITION,sowearenowon1.0.2:
{
"type":"object",
"$schema":"http://json-schema.org/draft-04/schema#",
"id":"https://signalk.org/demospecification/1.0.2/schemas/groups/communication.json#",
"description":"Schemadescribingthecommunicationchild-objectofaVessel.",
"title":"communication",
"properties":{
"dscAddress":{
"type":"string",
"description":"MMSICallsignforVHFcommunication"
},
"phoneNumber":{
"type":"string",
"description":"Phonenumberofskipper",
"example":"+64xxxxxx"
}
},
"required":["dscAddress"],
"additionalProperties":true
}
Afterawhile,weaddanewfield,callsignHf:
{
"type":"object",
"$schema":"http://json-schema.org/draft-04/schema#",
"id":"https://signalk.org/demospecification/1.1.0/schemas/groups/communication.json#",
"description":"Schemadescribingthecommunicationchild-objectofaVessel.",
"title":"communication",
"properties":{
"dscAddress":{
"type":"string",
"description":"MMSICallsignforVHFcommunication"
},
"phoneNumber":{
AppendixD:Versioning
183
"type":"string",
"description":"Phonenumberofskipper",
"example":"+64xxxxxx"
},
"callsignHf":{
"type":"string",
"description":"CallsignforHFcommunication",
"example":"ZL3RTH"
}
},
"required":["dscAddress"],
"additionalProperties":true
}
Willthisnewschemavalidateallhistoricaldata?Unfortunatelywecan’tbecertain,becausetherecouldbehistoricalJSONswheretheanalystaddedtheirowncallsignHffieldwhichwasnotastring.
SoweareeffectivelymakingaREVISIONtothedataschema-sowebumptheversionto1.1.0(resettingADDITIONto0).
ModelOhdear-wehavejustrealizedthatnotevery-onehasDSC!ItshouldhavebeenaVHFcallsign.HereisournewJSONSchema:
{
"type":"object",
"$schema":"http://json-schema.org/draft-04/schema#",
"id":"https://signalk.org/demospecification/2.0.0/schemas/groups/communication.json#",
"description":"Schemadescribingthecommunicationchild-objectofaVessel.",
"title":"communication",
"properties":{
"callsignVhf":{
"type":"string",
"description":"CallsignforVHFcommunication",
"example":"ZL1234"
},
"phoneNumber":{
"type":"string",
"description":"Phonenumberofskipper",
"example":"+64xxxxxx"
},
"callsignHf":{
"type":"string",
"description":"CallsignforHFcommunication",
"example":"ZL3RTH"
}
},
"required":["callsignVhf"],
"additionalProperties":false
}
WehavechangedourMODEL-becausewecanhavenoreasonableexpectationthatanyofthehistoricaldatacaninteractwiththisschema.Thatmeansournewversionis2.0.0
Notethatwealsodecidedtousethis“reboot”oftheMODELtochangeadditionalPropertiesbacktofalse,because(aswehavelearnt)itwillhelpustoavoidunnecessaryREVISIONsinthefuture.
Note:https://signalk.org/demospecification/...isnotreal,itisjustusedhereforillustration.Therealschemasarelocatedat:https://signalk.org/specification/...
Supplementaryrules
AppendixD:Versioning
184
InSignalKwehaveafewvariationsfromSchemaVer:
Weusedots(.)toseparatetheversionparts,nothyphens(-s)asinSchemaVerWeuseasuffixtodenotein-progressorspecialreleases,ascommonlyseeninMaven
AppendixD:Versioning
185