// ES range (Ethernet-to-Serial): complete reference template, every key explained. // // Template version 6 groups the settings the way the device's own web page groups them: the // Device page, the Network page, the Security page, then one entry per serial port, grouped as // that port's page is ("Serial Port 1": Port Type, Default Port Settings, Protocol Settings, // Serial Tunneling). A port's export has only the settings its page shows. This file lists // every key at once; the comment on each key names the heading and label it has on the page. // // Values shown are the FACTORY DEFAULTS where the device defines one; otherwise a typical // value from an ES-522. Ranges are what the device accepts. Choices are written as words (the // page's own option text is accepted too), check boxes as true / false. // // A missing key, or a missing section, means "don't touch": BB-Eco leaves that setting as it // is on the device. This file is documentation: `bb-eco template apply` reads strict JSON, so // strip the comments (or copy the shape) before using it. { // ---- Envelope: what the file is ---- "version": 6, // Template version. Optional: leave it out and the current version // is assumed. A file from an earlier BB-Eco is refused (re-export it // from the device); a file from a newer BB-Eco is refused until you update. "family": "ES", // "ED" | "ES" | "BB". Apply refuses a device of another family. "compatibleModels": ["ES-522"], // Optional allow-list of models; leave it out for any model of the family. "description": "Reference template: every ES key with defaults and ranges", "createdAt": "2026-10-23T00:00:00Z", // ---- identity: read-only, never applied and never compared ---- // `bb-eco config` shows it as part of the device readout; `template export` leaves it out. "identity": { "mac": "00:0A:4F:05:9D:39", "ip": "192.168.1.107", // The address the device answered on. "model": "ES-522", "modelVariant": null, "firmwareVersion": "6.20", "firmwareType": "T", "firmwareDate": "04/11/2021" }, // ---- device: the device's home page ---- "device": { "name": "Brainboxes ES-522 Ethernet to Serial" // "Device Name", at most 40 characters. Factory: as shown. }, // ---- network: the Network page (applied last: an address change can drop the connection) ---- "network": { "dhcp": true, // "DHCP": true, or false for a static address. Factory: true. "staticIp": "192.168.127.254", // "IP Address". Never exported (an address belongs to one device); // applied only when you add it to a template. Leave it out to keep the // device's current address. "subnet": "255.255.255.0", // "Subnet Mask". Exported under static addressing only: under DHCP it // comes from the DHCP server. "gateway": "0.0.0.0", // "Gateway Address". 0.0.0.0 = no gateway. Exported as subnet is. "webPort": 80, // "Web Server Port", 1–65535, a port no other service on the device uses. // Changing it restarts the device. Factory: 80. "upnp": true // "UPnP". Factory: true. }, // ---- security: the Security page ---- // Left out of an export unless asked for (--include-security); passwords are never exported. // A partial security section is safe: settings it leaves out keep the device's current values. // The device asks for a login as soon as a username is set. "security": { "adminUsername": "", // At most 20 characters. Empty = no admin account. "adminPassword": null, // At most 20 characters. Keep passwords out of version control. "userUsername": null, // At most 20 characters. "userPassword": null, // At most 20 characters. "adminMacFilterEnabled": null, // Restrict admin access to one MAC address. "adminMacAddress": "000000000000",// 12 hex digits, no separators. 000000000000 = none. "userMacFilterEnabled": null, // Restrict user access to the MAC address list. "userMacAddresses": null, // Read-only in templates: maintain the list on the device's web page // (up to 32 entries). "authentication": "Basic", // "Basic" (factory) | "Digest". "resetProtection": "Everybody" // "Everybody" (factory) | "AdminOnly": who may factory-reset or // restart the device. }, // ---- serialPorts: one entry per serial port, grouped as the port's page ---- // A template can set only the settings it changes; BB-Eco keeps the port's current values for // the rest. A port with a connected TCP client refuses changes: disconnect the client first. "serialPorts": [ { "port": 1, // "Serial Port 1": the port's number, 1–8. Identifies the port; // required, and never written. "portType": "RS232", // "Port Type": "RS232" | "RS422/485". On RS232/422/485 ports, whose // page offers the choice. "defaultSettings": { // "Default Port Settings" "alwaysUseTheseSettings": false, // "Always use these settings (Ignore settings from application)". // Factory: false. "baudRate": 115200, // "Baud Rate" in bit/s, 60–1,000,000 (up to 3,000,000 on some ES-522 // hardware). Any rate in range is accepted. Factory: 115200. "dataBits": 8, // "Data Bits", 5–8. Factory: 8. "parity": "none", // "Parity": none (factory) | odd | even | mark | space. "stopBits": "1", // "Stop Bits": "1" (factory) | "2" | "1.5" (1.5 on some hardware). "flowControl": "none", // "Flow Control": none (factory) | rtsCts | dtrDsr | xonXoff. RTS/CTS and // DTR/DSR need those lines on the port. "fifo": true, // "Enable FIFO", on ports whose page shows it (the ES-246, for example). // Changing it restarts the device. "duplex": "none" // "Duplex Mode": none | fullDuplex ("RS422 full-duplex mode") | // halfDuplexAutogating ("RS485 half-duplex autogating mode"). On RS422/485 // and RS232/422/485 ports; none while the port is in RS232 mode. }, "protocolSettings": { // "Protocol Settings" "protocol": "telnet", // "Protocol Type": telnet ("Telnet", factory) | rawTcp ("Raw TCP"). "localTcpPort": 9001, // "Local TCP Port", 1–65535, not in use by another port. // Factory: 9001 for port 1, 9002 for port 2, and so on. "connectionTimeout": 0 // "Connection Timeout", seconds, 0–65535. 0 = not used. }, "tunneling": { // "Serial Tunneling": a tunnel to another device's serial port. "enabled": false, // "Enable". Factory: false. "remoteIp": "192.168.0.0", // "Remote IP Address". Factory: 192.168.0.0. "remoteTcpPort": 9001 // "Remote TCP Port", 0–65535. Factory: the port's own Local TCP Port. } }, { // The ES-522's second port: the same settings (and, on this model, no "Enable FIFO"). "port": 2, "portType": "RS232", "defaultSettings": { "alwaysUseTheseSettings": false, "baudRate": 115200, "dataBits": 8, "parity": "none", "stopBits": "1", "flowControl": "none", "duplex": "none" }, "protocolSettings": { "protocol": "telnet", "localTcpPort": 9002, "connectionTimeout": 0 }, "tunneling": { "enabled": false, "remoteIp": "192.168.0.0", "remoteTcpPort": 9002 } } ] }