On the MBUS, yes that will be fine.
The issue with an optical reader is that it is not instantaneous power readings, however, it may be ‘good enough’ and connecting that to a Pi is an easy task. You should then be able to use Emonhub to read both and emoncms to do the analysis (just use and EmonSD image).
https://docs.openenergymonitor.org/emonpi/pulse_counting.html
I have a PiZero connected directly to a Pulse sensor and this has worked for years
@TrystanLea #pleaseaddtothedocs
I use an RJ45 to serial adapter (https://www.amazon.co.uk/gp/product/B07C1PM8KS/) and made up a connector to the RPi. The pins chosen are purely for convenience (all next to each other for the connector I made up). I also use 3V3 rather than 5V.
RJ45 → RPi Pin
3 → 15 (GPIO 22)
4 → 9 (Ground)
7 → 17 (3V3)
Don’t get your Pin Number and GPIO Number mixed up!
[interfacers]
[[pulse2]]
Type = EmonHubPulseCounterInterfacer
[[[init_settings]]]
pulse_pin = 15
bouncetime = 5
# bouncetime = 1
# Rate_limit is the rate at which the interfacer will pass data
# to emonhub for sending on. Too short and pulses will be missed.
# rate_limit is minimum number of seconds between data output.
# pulses are accumulated in this period.
# rate_limit default to 2.
rate_limit = 5
[[[runtimesettings]]]
pubchannels = ToEmonCMS,
nodeoffset = 3