User Tools

Site Tools


ve.can:nmea-2000:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ve.can:nmea-2000:start [2025-01-21 21:20] – [3.6 Further reading on Victron and NMEA 2000] mvaderve.can:nmea-2000:start [2025-02-06 21:54] (current) – [1.2 MFD Integration] mvader
Line 1: Line 1:
-====== NMEA 2000 & MFD integration guide ======+====== Marine Integration Guide ======
  
 ===== 1. Introduction ===== ===== 1. Introduction =====
  
 ==== 1.1 Summary ==== ==== 1.1 Summary ====
-This document explains how to integrate a Victron system onto a marine MFD also known as a chart plotter. Compatible brands include Garmin, Raymarine, the Navico brands B&G, Simrad and Lowrance as well as Furuno. 
  
-There are multiple options, and how to best integrate depends on the customer requirements, preferred MFD brand and model as well as used Victron components.+This guide provides an overview of integrating Victron systems with marine networksThese features include:
  
-Make sure to closely read this full document to find the best method for your type of system.+  * **MFD (Chart Plotter) Monitoring**: Compatible with Garmin, Raymarine, Furuno, and the Navico brands B&G, Simrad, and Lowrance. 
 +  * **Tank Level Monitoring**: Seamlessly integrate tank level data between the NMEA 2000 network, Victron GX devices and the VRM Portal. 
 +  * **NMEA2000-out feature**: Share tank data, as well as other data such as Battery, DC & AC system data from GX devices to the NMEA 2000 network. 
 +  * **GPS Integration**: GX devices can read GPS data (e.g., location, speed) from NMEA 2000 but do not output GPS data to the network. 
 +  * **Advanced features powered by Signal K**: Includes wireless AIS, anchor alarms, and automatic trip logging.
  
-This document provides a high level overview, as well as points out the various Marine integration specific details in the various Victron product manuals.+This document serves as a high-level overview with links to relevant manuals for detailed setup instructions.
  
-{{:ve.can:nmea-2000:image_hml5_nmea2k_arrows.png?direct&500 |}}//Picture showing the two integration options, NMEA2000 and HTML5 App. Click to see full size and see the difference between the two.// +==== 1.2 MFD Integration ====
-==== 1.2 What is NMEA 2000? ==== +
-NMEA 2000 is a communications standard used for connecting marine sensors and display units within ships and boats.+
  
-Victron Energy is a member of the NMEA 2000 organisation, and we have several of our products certified by NMEA 2000.+Integration with MFDs depends on customer requirements and equipment usedA GX device (e.g., Cerbo GX or Ekrano GX) is typically involved, with two main options:
  
-NMEA 2000 is sometimes also refered to as N2K, for brevitiy.+  - **NMEA 2000 Integration**: Connect the GX device directly to the NMEA 2000 network. 
 +  - **HTML5 App Integration**: Connect the GX device and MFD via Ethernet to enable Garmin OneHelm or Raymarine LightHouse Apps.
  
-==== 1.3 What is the MFD HTML5 App? ==== +**Comparison of Options:**
-The MFD HTML5 App is a simple to install and setup integration into all main marine MFD brands, including Raymarine, Garmin, Navico and Furuno. Truly plug-and-play: once the Victron GX Device and the MFD are connected via ethernet, a Victron logo will appear in the App menu of the MFD. Behind that button, there is a page to monitor and control the Victron Energy system. The information on screen automatically adapts to the installed Victron system.+
  
-==== 1.4 Other integration options ==== +  - **NMEA 2000**: Offers customizable data pages on the MFD but requires more configuration
-This document only covers integration via NMEA2000 as well as the MFD HTML5 App. There are two other alternatives, commonly used to integrate Victron equipment in a Marine applications.+  - **HTML5 App**: Plug-and-play with an auto-configured system overview but less customizable.
  
-First of all Modbus-TCP. Typically used on larger vessels, Modbus-TCP is a protocol commonly used for (custom) designed SCADA systems. The Victron GX devices all support the Modbus-TCP protocol. More information in the [[ccgx:modbustcp_faq|]].+**Illustration**:
  
-The other alternative is SignalKMore information about that in the [[venus-os:large|Venus OS Large manual]]. Do take note of the contents of the Support chapter.+{{ :ve.can:nmea-2000:garmin_mfd_complex_system_horisontal_split.png?direct&800 |}}
  
-===== 2Integration details =====+  * Right bar: NMEA 2000 data. 
 +  * Bottom: HTML5 App integration.
  
-==== 2.1 Systems with a GX Device ====+=== Further reading by brand ===
  
-For most installations and integrations, it will be best to use one of our [[venus-os:start|GX Products]]. It acts as a hub, collecting information from connected equipment, such as Inverters, Battery Monitors and Chargers; and then making them available to the MFD.+  * [[https://www.victronenergy.com/media/pg/Cerbo_GX/en/marine-mfd-integration-by-app.html#UUID-d5fa693e-1c4b-ec20-be20-e0baf8803e6e|Garmin integration details]] 
 +  * [[https://www.victronenergy.com/media/pg/Cerbo_GX/en/marine-mfd-integration-by-app.html#UUID-906e773b-f29c-2b77-56a8-d9ade87cc418|Raymarine integration details]] 
 +  * [[https://www.victronenergy.com/media/pg/Cerbo_GX/en/marine-mfd-integration-by-app.html#UUID-0e93850d-da2f-8bd9-9ce6-cc2546605459|Furuno integration details]] 
 +  * [[https://www.victronenergy.com/media/pg/Cerbo_GX/en/marine-mfd-integration-by-app.html#UUID-d5fa693e-1c4b-ec20-be20-e0baf8803e6e|Navico integration details]]
  
-The GX devices offer both above introduced integration options: NMEA2000 as well as the Victron HTML5 App.+==== 1.3 Tank monitoring ====
  
-The HTML5 integration is available for  [[https://www.victronenergy.com/panel-systems-remote-monitoring/marine%20mfd%20gx%20integration%20-%20raymarine|Raymarine]], [[https://www.victronenergy.com/panel-systems-remote-monitoring/marine%20mfd%20gx%20integration%20-%20garmin|Garmin]], [[https://www.victronenergy.com/panel-systems-remote-monitoring/furuno |Furuno]] and Navico brands: [[https://www.victronenergy.com/panel-systems-remote-monitoring/marine%20mfd%20gx%20integration|B&GLowrance and Simrad]]. Click those links to go straight to all information, videos and manuals.+The Victron GX devices offer a user-friendly **Tank Level Page** to centralize and visualize dataas well as integration with MFDs and the NMEA 2000 network.
  
-When connected to the onboard NMEA2000 network, the GX Device can read data from the network (tank level and GPS information)Also it can make data from Victron devices connected to the GX Device available on the NMEA2000 networkThat latter feature is called NMEA2000-outmore information in the [[https://www.victronenergy.com/media/pg/Cerbo_GX/en/marine-mfd-integration-by-nmea2000.html|NMEA 2000-out chapter in the Cerbo GX manual]].+**Key Features:** 
 +  * Monitor tank levels on the GX device and VRM Portal. 
 +  * Access NMEA 2000 tank data or share GX tank data with NMEA 2000. 
 +  * Customize tank namingshapes, and damping for accurate readings. 
 +  * Expand capabilities with the [[https://www.victronenergy.com/accessories/gx-tank-140|GX Tank 140]] module for voltage (0-10V) or current (4-20mA) inputs.
  
-Both the NMEA2000 and HTML5 App/Ethernet connections can be made and used at the same time.+**Visual Examples:**
  
-Each has its advantages and disadvantages, and together they complement each other:+{{ :ve.can:nmea-2000:brief_page_tanks.png?direct |}}
  
-The MFD HTML5 App is the simpler one to setup as its plug and playIt presents an easy to use system overview without requiring any configuration. The system overview shown will automatically adapt to the type of Victron system installed. The (only) available configuration is defining the batteries as well as giving them names.+{{ :ve.can:nmea-2000:tank_grouping.png?direct |}}
  
-The NMEA 2000 integration is more complex, and allows more customisation on the MFDthe data will show up in the data-tree of the MFD, and most MFDs then allow the user to configure various pages and combinations of information.+{{ :ve.can:nmea-2000:vrm_tanks.png?direct&800 |}}
  
-As mentioned above, a GX Device can also read tank level data from NMEA 2000. More information in the [[https://www.victronenergy.com/media/pg/Cerbo_GX/en/installation.html#UUID-9813aef4-8178-293b-12ef-0048b064271f|the Installation chapter of the GX manual]].+** Video that demonstrates the tank page on the GX** 
  
-==== 2.2 Products with a VE.Can port ====+ {{youtube>lwFUtSZFEz4?large}}
  
-All Victron products that feature a VE.Can port can be directly connected to the NMEA 2000 network, using the [[https://nocache.victronenergy.com/accessories/ve-can-to-nmea2000-micro-c-male|VE.Can to NMEA2000 cable]]. 
  
-  * Skylla-i 24V Battery Chargers +=== Further details === 
-  * Skylla IP65 Battery Chargers +  * **Resistive tank level inputs built-in to the Cerbo GX and Ekrano GX:** See [[https://www.victronenergy.com/live/venus-os:start:the GX product page]] for details on the built-in tank inputs
-  Lynx Shunt VE.Can Battery Monitor +  * **Reading data from NMEA 2000 Tank senders into the GX Device and VRM Portal:** The GX device can read tank level data from compatible sensors on the NMEA 2000 network. This information is then displayed on the GX interface, including the dedicated tank level page, and synced with the VRM Portal. For compatibility details, see [[https://www.victronenergy.com/media/pg/Cerbo_GX/en/connecting-supported-non-victron-products.html#UUID-9f759229-3e91-5a02-891c-2206c9625753|the 3rd party NMEA 2000 tank sender section in a GX manual]]. 
-  * Lynx Smart BMS +  * **Transmitting GX tank levels to the NMEA 2000 network:** For vessels with advanced monitoring setups, the GX device can also send tank data back to the NMEA 2000 network, enabling MFDs and other connected devices to access and display the information. For further information, see the [[https://www.victronenergy.com/media/pg/Cerbo_GX/en/marine-mfd-integration-by-nmea-2000.html|MFD integration by NMEA 2000 chapter in the GX manual]]. Note that the manual includes specifics steps for Garmin, Raymarine, Furuno and Navico systems.
-  * SmartSolar MPPT Solar Chargers with VE.Can communications port+
  
-{{ :ve.can:nmea-2000:schema_nmea2000-vecan_mppt-skylla_nov_2016.png?nolink&500 |}}+==== 1.4 NMEA2000-out feature ====
  
-==== 2.3 Tank monitoring integration ====+Victron Energy GX devices feature an NMEA 2000-out function: when enabled, the GX device acts as a bridge: it makes the data of all connected Battery monitors, Inverter/chargers, as well as other products connected to the GX device, available on the NMEA 2000 network.
  
-The GX devices can measure tank levels, and make the resulting data available on the NMEA2000 network. Alsothey can read tank level data from the N2K network.+Using that feature, and having the GX device connected a NMEA 2000 network, Marine MFDs can read this data and visualise it to the user. Often in a highly configurable manner.
  
-Below sections explain the details of each integration type. 
  
-=== Integration A) GX Device to MFD and NMEA2000 ===+==== 1.5 Advanced features powered by Signal K ====
  
-Some of Victron GX monitoring products feature built-in tank level inputsFor example the [[https://www.victronenergy.com/panel-systems-remote-monitoring/cerbo-gx|Cerbo GX]], which is the most common GX device, has four inputs that can take a resistive tank level sender.+Signal K unlocks powerful features: 
 +  * **Wireless AIS & Navigation Data**: Share NMEA 2000 data via WiFi for apps like Navionics. 
 +  * **Anchor Alarm**Reliable and easy-to-use alarm. 
 +  * **Automatic Logbook**: Track journeys effortlessly.
  
-Also, all GX devices can also have their number and types of tank level inputs expanded by adding one or multiple [[https://www.victronenergy.com/accessories/gx-tank-140|GX Tank 140]] modulesIt has four inputs, of which each can be configured to measure either voltage (0-10V) or current (4-20mA).+More details: 
 +  - [[https://www.victronenergy.com/live/venus-os:large#signal_k|Venus OS Large manual]]. 
 +  [[https://svrenaissance.com/victron-cerbo-gx-on-steroids/|Victron Cerbo GX on steroids blog post]].
  
-All tank level inputs feature customisable namingsetting a type (fresh water, fuel, black water and more), configurable filtering and damping settings as well as setting up a custom tank shape for non-square tanks. +==== 1.5 Modbus-TCPmostly for SCADA systems ====
  
-The GX Device can transmit the resulting tank levels to the NMEA2000 networkSee the [[https://www.victronenergy.com/media/pg/Cerbo_GX/en/marine-mfd-integration-by-nmea2000.html|NMEA2000-out chapter in the GX manual]] for information on how to set that up. Note that the MFD HTML5 App does not include showing tank levels.+Ideal for larger vessels, the GX built-in Modbus-TCP server enables SCADA system integrationFor more details, see the [[https://www.victronenergy.com/live/ccgx:modbustcp_faq|Modbus-TCP FAQ]].
  
-=== Integration B) NMEA2000 to GX Device and VRM Portal ===+===== 2. Integration details by Victron product =====
  
-The other way around is possible as well: the Victron system reading tank level data from NMEA2000.+==== 2.1 Systems with a GX Device ====
  
-The tank data will be shown in the GX device user interface as well as on the VRM Portal. Screenshots below.+For most installations and integrations, it will be best to use one of our [[venus-os:start|GX Products]]. It acts as a hub, collecting information from connected equipment, such as Inverters, Battery Monitors and Chargers; and then making them available to the MFD.
  
-Compatible tank senders are listed in the [[https://www.victronenergy.com/media/pg/Cerbo_GX/en/installation.html#UUID-9813aef4-8178-293b-12ef-0048b064271f|GX manual, installation chapter]].+==== 2.2 Other products featuring a VE.Can port ====
  
-{{ :ve.can:nmea-2000:gx_touch_tanks_overview.png?direct&400 |}}+All Victron products that feature a VE.Can port can be directly connected to the NMEA 2000 network, using the [[https://nocache.victronenergy.com/accessories/ve-can-to-nmea2000-micro-c-male|VE.Can to NMEA 2000 cable]].
  
-//Above picture: GX Touch 50, showing multiple tank levelsComing from either the NMEA2000 network, directly connected resistive tank senders or via the GX Tank 140 accessory.//+  * Skylla-i 24V Battery Chargers 
 +  * Skylla IP65 Battery Chargers 
 +  * Lynx Shunt VE.Can Battery Monitor 
 +  * Lynx Smart BMS 
 +  * SmartSolar MPPT Solar Chargers with VE.Can communications port 
 +  * Multi RS 
 +  * Inverter RS
  
-//Below screenshot shows a similar system, but then on the [[https://vrm.victronenergy.com|VRM Portal]].//+{{ :ve.can:nmea-2000:schema_nmea2000-vecan_mppt-skylla_nov_2016.png?nolink&500 |}}
  
-{{ :ve.can:nmea-2000:vrm_tanks.png?direct&800 |}} +==== 2.3 VE.Bus and VE.Direct to NMEA 2000 interfaces  (DEPRECATED!) ====
- +
-==== 2.NMEA 2000 GPS integration ==== +
- +
-Our GX devices can read location, altitude, speed and course from the NMEA2000 network. For details, see the GX manual. +
- +
-Note the other way around does not work. A GX Device which has a USB GPS installed does not emit GPS data out onto the NMEA2000 network as part of the NMEA2000-out function. +
- +
-==== 2.5 Using our converter interfaces (DEPRECATED!) ====+
  
   * [[https://www.victronenergy.com/accessories/ve-bus-to-nmea2000-interface|VE.Bus to NMEA 2000 interface]]    * [[https://www.victronenergy.com/accessories/ve-bus-to-nmea2000-interface|VE.Bus to NMEA 2000 interface]] 
Line 109: Line 118:
 Note that the use of both those interfaces is deprecated. Use a GX device instead. Note that the use of both those interfaces is deprecated. Use a GX device instead.
  
-===== 3. NMEA2000 Details =====+===== 3. NMEA 2000 Details =====
  
 ==== 3.1 PGN Lists ==== ==== 3.1 PGN Lists ====
Line 115: Line 124:
 Refer to our [[https://www.victronenergy.com/upload/documents/Whitepaper-Data-communication-with-Victron-Energy-products_EN.pdf|Datacommunication whitepaper]], page 8 and beyond, for a list of Victron products and their supported PGNs. Refer to our [[https://www.victronenergy.com/upload/documents/Whitepaper-Data-communication-with-Victron-Energy-products_EN.pdf|Datacommunication whitepaper]], page 8 and beyond, for a list of Victron products and their supported PGNs.
  
-==== 3.2 NMEA 2000 instancing ====+==== 3.2 NMEA 2000 instances ====
  
-NMEA 2000 Instances are used to identify multiple similar products connected on the same network.+Instances are used in an NMEA 2000 network to identify multiple similar products connected to the same network.
  
-There are several types of instances, the most important ones being the **Device instance** as well as the **Data instances**.+As an exampletake a system with two battery monitors (one for the main battery bank, and another for the hydraulic-thruster bank) and also a Quattro inverter/charger. All three of those devices will send their battery voltage measurements out on the NMEA 2000 network. For the displays to show these values at the right place, they need to know which voltage belongs to what battery. That is what instances are for.
  
-More information about instances is in [[https://www.victronenergy.com/media/pg/Cerbo_GX/en/marine-mfd-integration-by-nmea2000.html#UUID-97031b2e-6b21-dd88-56ee-31c0aaca9183|the NMEA2000 chapter in the GX manual]].+There are various types of instances, and for marine systems are two that matterthe Device instance and the Data instanceThe Data instance goes by various different names, like Fluid instance, Battery instance and DC instance.
  
-=== What settings need to be made? For example instances? ===+NMEA 2000 defines three different instances:
  
-That is a commonly asked question. The answer depends on the used brand of MFD: +  * Data instances (Battery instance, Fluid instance, and similar) 
 +  * Device instance 
 +  * System instance
  
-For **Garmin, Furuno, Maretron and Navico (B&G, Lowrance, Simrad) systems**: none. No instances, also not data instances such as the DC Detailed instance, need to be changed. It all works out of the box, other than configuring what field to show where on the MFD.+=== When is manual configuration of instances needed? ===
  
-For **Raymarine**, you might need to do some configuration: for systems with a SmartShunt and a SolarChargeror multiple SmartShunts, or Lynx Smart BMS, the data instances need to be configured to be unique. More information about that in the [[https://www.victronenergy.com/live/venus-os:mfd-raymarine|Victron & Raymarine document]], in the last chapter.+  * For **Garmin, Furuno, Maretron and Navico (B&G, Lowrance, Simrad) systems**: no configuration needed. Required fields can be configured and selected on the MFDusually by pressing and holding on data field in the data bar until the selection pane comes up. 
 +  * For **Raymarine**before selecting the data on the MFD, the Battery and DC Detailed instance typically needs to be set up to be unique. For details, see the [[https://www.victronenergy.com/media/pg/Cerbo_GX/en/marine-mfd-integration-by-app.html#UUID-906e773b-f29c-2b77-56a8-d9ade87cc418|GX manual, Raymarine section]].
  
 +=== Further reading on NMEA 2000 instances ===
 +
 +  * [[https://www.victronenergy.com/media/pg/Cerbo_GX/en/marine-mfd-integration-by-nmea-2000.html|the NMEA 2000 chapter in the GX manual]].
 +  * [[ve.can:changing_nmea2000_instances|How to change instances]]
 ==== 3.3 Terminators and network layout ==== ==== 3.3 Terminators and network layout ====
  
-N2K CAN-bus network needs to be laid out as in a backbone configuration, using drop cables to connect to each device. Also, there should be only two terminators in the network. Therefore:+NMEA 2000 CAN-bus network needs to be laid out as in a backbone configuration, using drop cables to connect to each device. Also, there should be only two terminators in the network. Therefore:
  
   * Use the NMEA 2000 cable as the backbone.   * Use the NMEA 2000 cable as the backbone.
Line 141: Line 157:
 Or: Or:
  
-  * Have the N2K network on one side, with one terminator. On the other end, change to the Victron network, with also one (Victron) terminator at the end.+  * Have the NMEA 2000 network on one side, with one terminator. On the other end, change to the Victron network, with also one (Victron) terminator at the end.
  
-The first option is more aligned with the official N2K method. But, in case of multiple Victron products that need to be connected to the N2K network, will require more wire runs and definitively more NMEA2000 to VE.Can conversion cables.+The first option is more aligned with the official NMEA 2000 method. But, in case of multiple Victron products that need to be connected to the NMEA 2000 network, will require more wire runs and definitively more NMEA 2000 to VE.Can conversion cables.
 ==== 3.4 DC Voltage compatibility ==== ==== 3.4 DC Voltage compatibility ====
  
Line 160: Line 176:
 ==== 3.5 Galvanic isolation ====  ==== 3.5 Galvanic isolation ==== 
  
-When connecting a GX to an NMEA2000 network, it is recommend to do so using a galvanically isolated CAN-Bus port.+When connecting a GX to an NMEA 2000 network, it is recommend to do so using a galvanically isolated CAN-Bus port.
  
 This is especially the case when your NMEA backbone and GX are powered from separate power sources or do not share a common ground. These are the two most popular models that feature such galvanically isolated port: This is especially the case when your NMEA backbone and GX are powered from separate power sources or do not share a common ground. These are the two most popular models that feature such galvanically isolated port:
Line 174: Line 190:
  
   * [[https://www.victronenergy.com/upload/documents/Whitepaper-Data-communication-with-Victron-Energy-products_EN.pdf|Data communication white paper]]   * [[https://www.victronenergy.com/upload/documents/Whitepaper-Data-communication-with-Victron-Energy-products_EN.pdf|Data communication white paper]]
-  * [[https://www.victronenergy.com/media/pg/Cerbo_GX/en/marine-mfd-integration-by-nmea2000.html|Cerbo GX manual, NMEA 2000 chapter]] +  * [[https://www.victronenergy.com/media/pg/Cerbo_GX/en/marine-mfd-integration-by-nmea-2000.html|Cerbo GX manual, NMEA 2000 chapter]] 
-  * [[https://community.victronenergy.com/tag/nmea_2000_-_n2k |NMEA2000 related discussions on Victron Community]] +  * [[https://community.victronenergy.com/tag/nmea_2000_-_n2k |NMEA 2000 related discussions on Victron Community]]
- +
-===== 4. Varia ===== +
- +
-==== 4.1 Raymarine & EmpirBus ==== +
- +
-Besides using NMEA 2000 and/or the Lighthouse App, integration onto Raymarine MFDs can also be done with an [[https://www.empirbus.com/#nxt-mcu|Empirbus NXT MCU ]]. Though both are connected to the same N2K network, the NXT MCU translates the N2K PGNs originating from the Victron equipment into Raymarine proprietary messages. +
- +
-In the [[https://www.empirbus.com/#empirbus-studio|EmpirBus Studio software]] you will find dedicated Victron building blocks than can be drawn onto the diagram. +
- +
-Next, use the [[http://www.empirbus.com/#empirbus-graphic|EmpirBus Graphical tool]] to design the pages for on the Raymarine MFDs. +
  
-The EmpirBus system requires the data instance of battery status and dc detailed status to be unique when using multiple sources. ([[ve.can:changing_nmea2000_instances#changing_a_data_instance|how to change data instances]]) 
  
-==== 4.Maretron ====+===== 4. Maretron =====
  
-All data sent out by Victron devices on the N2K network can be picked up by the Maretron MFDs & software. See the [[http://www.maretron.com/products/N2KView.php|Maretron N2KView® vessel monitoring and control software]].+All data sent out by Victron devices on the NMEA 2000 network can be picked up by the Maretron MFDs & software. See the [[http://www.maretron.com/products/N2KView.php|Maretron N2KView® vessel monitoring and control software]].
  
 ===== 5. FAQ ===== ===== 5. FAQ =====
  
-=== Q1: Can/must both Ethernet and and N2K connection be made between Victron GX and MFD? ===+=== Q1: Can or must both Ethernet and and NMEA 2000 connection be made between Victron GX and MFD? ===
  
 Both can be made at the same time. Both can be made at the same time.
Line 201: Line 206:
 Ethernet is needed to get the MFD App, as explained above. Ethernet is needed to get the MFD App, as explained above.
  
-And an N2K connection is needed to get data to show in other fields on the MFD.+And an NMEA 2000 connection is needed to get data to show in other fields on the MFD.
  
 See annotated screenshot above for which is what. See annotated screenshot above for which is what.
  
ve.can/nmea-2000/start.1737490800.txt.gz · Last modified: 2025-01-21 21:20 by mvader

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki