Have Honda Questions? Ask a Honda Repair Expert.
you're on the right lines as cleaning the MAF and replacing the battery would both have been on my recommendation list
next thing to try is checking for an airleak after the airflow meter, any air dragged in here isn't 'seen' by the ECU and so not compensated for and can lean the engine out and can also allow the engine to rev up when not desired causing rough running.As its a mechanical fault it tends not to turn on the fault light and you can sometimes hear a 'hissing' noise with the engine running.
Check the hose clips for tightness and inspect the trunking for any cracks or splits and also all the vacuum system, the small bore pipes and fittings for cracks and missing parts.
The best way to locate a leak is to have the engine running and warm and then spray lighter gas /propane around each joint in turn. If the engine rev's up you've found your leak.Now you might think that spraying lighter gas around a hot engine isn’t wise, however the flash /ignition point of gas is about 400°C so you need a naked flame or spark to set it off and I’ve used this method for many years without incident.Work your way through each possible joint one at a time and you should find it. I use a slightly flattened piece of brake pipe and some rubber hose from the can of lighter gas to provide a spraying 'wand' and allow a direct blast of gas into each area, especially those difficult to reach with large implements.
you can provide the OBD codes which will begin with a 'P' and have 4 digits afterwards
however as you've already provided the code descriptions in your 1st description so I was going off that
just get back to me on this post
providing the MAF wiring is OK then there's no need to replace it the best way to test it is to use a meter to measure continuity between the MAF socket and ECU socket
yes disconnecting the battery will do a 'hard' reset of the ECU so it will clear any logged faults - providing the fault is no longer there when the battery is re-connected the engine light will remain off