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