[
	{
		"topic": "Initial setup",
		"mdName": "initialSetup",
		"shortDesc": "a first steps with OBK",
		"content": "First flash your devices with our binary from [Releases tab](https://github.com/openshwprojects/OpenBK7231T_App/releases), then follow steps from [FLASHING.md](https://github.com/openshwprojects/OpenBK7231T_App/blob/main/FLASHING.md) or watch our [flashing tutorials](https://www.youtube.com/watch?v=L6d42IMGhHw). An open access point should appear after flashing. Connect to it, open page at 192.168.4.1 (or on BL602 it may be 192.168.169.1), go to Config->WiFi, enter your WiFi SSID/pass, reboot, and finally check your DHCP page for new device IP. You can use MAC reservation to keep constant IP. Next you need to setup the pins of the device (GPIO roles), you can figure them out yourself, use a [device template](https://openbekeniot.github.io/webapp/devicesList.html) (device template can be applied in Web Application, click Open Web Application button), or [ask on our forum](https://www.elektroda.com/rtvforum/forum390.html). Then you can configure your MQTT, use HASS Discovery, etc. "
	},
	{
		"topic": "Safe mode",
		"mdName": "safeMode",
		"shortDesc": "a method to recover device from wrong SSID/pass or crashing config",
		"content": "Device is counting full boots (full boot is a boot after which device worked for 30 seconds). If you power off and on device multiple times, it will enter open access point mode and safe mode (safe mode means even pin systems are not initialized). Those modes are used to recover devices from bad configs and errors."
	},
	{
		"topic": "Simple TCP command server for scripting",
		"mdName": "tcpServer",
		"shortDesc": "a simple TCP interface for scripting",
		"content": "  You can enable a simple TCP server in device Generic/Flags option, which will listen by default on port 100. Server can accept single connection at time from Putty in RAW mode (raw TCP connection) and accepts text commands for OpenBeken console. In future, we may add support for multiple connections at time. Server will close connection if client does nothing for some time.\n\n  There are some extra short commands for TCP console:\n- GetChannel [index] \n- GetReadings - returns voltage, current and power\n- ShortName \nthe commands above return a single ASCII string as a reply so it's easy to parse."
	},
	{
		"topic": "HomeAssistant Integration",
		"mdName": "homeAssistant",
		"shortDesc": "an easy HA pairing method with [Discovery](https://www.youtube.com/watch?v=pkcspey25V4) or Yaml gen",
		"content": "MQTT based integration with Home Assistant is possible in 2 ways from the Home Assistant configuration page (`Config > Generate Home Assistant cfg`).\n\n You can paste the generated [yaml](https://www.home-assistant.io/docs/configuration/yaml/) configuration into Home Assistant configuration manually. You can also improve this YAML, edit it however you like, because for some advanced devices the autogenerated config might be empty\n\nOr add the devices automatically via discovery (see [YT tutorial](https://www.youtube.com/watch?v=pkcspey25V4). To do click the `Start Home Assistant Discovery` button which sends outs [MQTT discovery](https://www.home-assistant.io/docs/mqtt/discovery/) messages, one for each entity (switch, light).\n* The discovery topic should match the `discovery_prefix` defined in Home Assistant, the default value is `homeassistant`.\n* More details about Home Assistant discovery can be found [here](https://www.home-assistant.io/docs/mqtt/discovery/).\n Note: Currently, discovery is implemented for lights, relays, and simple sensor entities.  "
	}
]