That’s a very good question.
As it stands users are trading reliability and accuracy to use MQTT “exclusively” and thus make the same data available to other SW like openHab etc.
I would recommend using http to post data to emoncms, at least until the emoncms mqtt inputs are sorted and emonhub can post mqtt timestamped data to emoncms reliably. It is possible to just set up another interfacer like the emoncmsorg one and point it at the emonPi/emonbase but to avoid double posting (timestamped via http and untimestamped via mqtt) one of 2 things needs to happen, either stop the mqtt interfacer in emonhub, but that means other SW cannot subscribe to the energy data OR disable the emoncms mqtt_input so that emonhub can continue to publish without emoncms getting that data via mqtt, but that means other SW cannot publish mqtt to emoncms.
So you can only successfully have any 2 of these 3 things emonhub publish MQTT, emoncms subscribe to MQTT or reliable and accurate data, you cannot have all 3.
Unless of course you can somehow change the topics so that data emonhub publishes is not subscribed to by emoncms mqtt input.
It is now understood that different topics are required for “local status info” and “time-sensitive data”, future emonHub versions should have the ability to double publish mqtt as single value per topic and timestamped batched data to serve both needs (discussed in depth in the EmonHub Development thread)
That “2 streams” method is basically what I’ve suggested above, just using http and the one existing mqtt interfacer for now, until there is a timestamped mqtt interfacer to replace the more reliable and accurate http method.