WilhelmSK is an IOS application for display and control of SignalK data in a marine environment This provides examples of templates used for contruction and display of various dash boards alng with details on setting up respective guage types and the underlying hardware along with software/plugins to make the data available to Signalk server and WilhelmSK application.
Details on WilhelmsK can be found at link
Details on Signalk can be found link
Signalk server contains all of the data that is ingested &/or generated by various plugins into "paths".
WilhelmSK iOS application requires the WilhelmSK plugin (via SignalK server application store) to be installed.
In addition there are various other skserver plugins that are optional &/or required for the operation of WilhelmSK ("WSK"), namely:
Server Shutdown (to enable this capability from WSK menu)
Notification Acker (to enable notifications to be acknowledged/silenced from WSK application)
Push Notifications (both when locally connected &/or if you wish to recieve push notifications when not connected to the boat LAN where signalK server is operating)
The Web guage type can be used for embedding a web page/URL - in this case from a local instance of a Grafana dashboard. the URL should commence with http:// The easiest method i find is to bring up the grafana dashboard and copy its URL, pasting it after the http:// Note that to get a "clean" display, put Grafana into "kiosk" mode before you copy the URL - so that all the headings etc are supressed. (unless of course you want those displayed... but they take up additional space across the top.) Also, inside WSK in the guage config items, untick "show controls" and turn off the "title" .. to make it display cleaner. In this example its using a "stat" visualisation in grafana, with queries to calculate the average wind speed and direction over "last 5 minutes" and also max wind over last 5 minutes.
If you have a Fusion stereo (connected to NMEA2000 bus) and have installed the Fusion Plugin in signalK, it can be controlled from WSK (volume, input etc) WSK has two different guage types ("mini" or "full") for display & control of a Fusion stereo.
This guage type is used for control of an external device (& display of its status) and uses a "PUT" handler in NodeRed (to recieve the communication from WSK) with some flow logic for control - in this case of an ESP32 running "WLED" that controls addressable LED strips. This "multi switch" has 4 buttons defined via metadata, then uses NodeRed to generate appropriate "POST" commands to control ESP32/WLED. The Multiswitch has to have Meta data setup in signalK (in this case via a once of initialisation in NodeRed) such that WSK will correctly display the number of switchs and the names - & be able to communicate with NodeRed "PUT" handler. (see flows.json file)
This guage type is used to display the status from mutiple SK paths - by using a common path structure. eg electrical.xxxxxx.state where the name of each device (xxxxx) differs, it will then generate the number of LED guages based on matching this pattern.
In this case, a number of Zigbee "door/window" switches are fitted to hatches, portholes and doors; & communicate through a Zigbee USB gateway ("coordinator") connected to RPI, with data imported into signalK paths using Signalk MQTT Plugin. These low cost magnetic proximity switches are very cheap, easily fitted, have quite a large "gap" tolerance between magnet and sensor - and to date are sticking well to aluminium door/ window frames and fiberglass/ plastic hatches.
This guage type uses the SignalK Shelly Plugin, to communicate with a Shelly 1 Plus AC mains switch. It controls the Shelly device (toggles on/off) and displays its current state. The switch and display paths are both configured in WSK, along with colors and a large number of options. In this case - its used to switch on/off a secondary Hot Water boiler (AC mains powered)
This guage is typically used with Victron charger/inverter & system components, however all paths for the displayed data are configurable and can thus use various sources as needed. In this case its a mix of Venus devices, Shelly EM power monitors and DC (sensESP) shunts.
A standard "digital" type guage - with a signalK path supplied with data from a Shelly EM power monitor (current sensor clamp). Whilst the Shelly Plugin could be used, it unfortunately cannot supply current (Amps) data (a known limitation of shelly API); in this case the Shelly EM has "Tasmota" firmware flashed into it, and uses Tasmota MQTT messages (via MQTT plugin) to supply volts, current, power and other information to signalk.