Frequently Asked Questions

Answers to issues commonly encountered when setting up and/or using an OpenEnergyMonitor system.


Please don’t link to files on external sites. Unlike others, we want you to attach your screenshots, log files, etc to your post. If the external site goes away, the material is likely to be lost forever. If that happens, when someone reads your post, your question and our answer will have little or no value.
If you need to post more than one attachment, tell us you have more information to post, and we’ll change your user account settings to enable you to do so.

When posting code or output, please put 3 ‘backticks’ (normally found at the top left of your keyboard) on a line of their own before the code, and 3 more backticks also on a line of their own after the code. The result should look similar to this:


If your post contains text that is a language, e.g. php, you can add a language identifier
after the first 3 backticks like this: ```php

If you don’t want any markup language applied, you can add the word text, like this: ```text

Asking for help

  • Make no assumptions. Remember, we can’t see your screen, access your computer, or read your mind. The only info we have to work with, is what you tell us. The better your question is, the better our answer will be. If we don’t know what equipment you have and what software you are using, our ability to help you will be limited. Give us as much information relevant to your issue, as you can. Tell us as much as you can about the problem you’re having and the results you are expecting. e.g. A complete list of your hardware, including the version(s), and any changes or substitutions you’ve made.

  • Search the forums, someone else may have had the same issue you’re having, and the solution might be documented there.

  • Do a Google search.

  • Search the web. and are two examples of sites with large collections of answers to many computer related issues.

  • Search the Learn section of this site. Some of the fundamental principles of electrical engineering, especially voltage and current measurement, pulse counting, etc, are explained in that section. If you’re just starting out, you might find answers to your questions there.

  • Be as specific as you can. e.g. Are you trying to send data to, to emoncms on your Raspberry Pi, or to emoncms running on a shared Linux host?

  • The version of the software/sketch you’re running.

  • The OS are you running it on. Linux? Unix? Windows? macOSX? What is the version number?

  • If possible, attach the relevant log file to your post. (see note below regarding linking to / posting on external sites)

  • If applicable, attach a screenshot to your post.
    Please attach your files to your post. i.e DON’T link your files to an external site.

  • If you bought items from the OpenEnergyMonitor Shop, include your order number and purchase date.This will help us identify exactly what hardware you are using.

Q: Can I post in my language?

  • If you have difficulty reading and writing English, yes, please do!
    Sometimes Google Translate gets it wrong, which makes it very difficult to guess what you are asking.
    If you post in your language, we can look up alternative meanings of the word causing the problem.

Q: I don’t understand some of the technical terms used here. Is a dictionary-style reference available?

  • Yes! Electropedia (also known as the “IEV Online”) a comprehensive online electrical and electronic terminology database is available at

Q: Do I need any special skills, knowledge, tools, etc. to use OpenEnergyMonitor?

  • Although not absolutely necessary, experience with, and/or knowledge of, the following subject matter / tools will help a great deal with configuring, troubleshooting and calibrating your system.
  • Linux - modifying scripts, installing software, updating your OS etc.
  • The Raspberry Pi hardware and software environment - e.g. flashing emonSD to an SD card.
  • The Arduino hardware and programming environment i.e. modifying/uploading sketches.
  • The Python programming language - configuring/troubleshooting emonHub issues.
  • JavaScript Object Notation - JSON is used throughout emonCMS as well as NodeRed.
  • How to run/use a bash script to backup/restore data, correct data errors, etc.
  • Applicable terminology. e.g. script, sketch, CT, VT, the difference between kW and kWh, etc.
  • Electronics in general. e.g. soldering, using a multimeter to make current measurements.
  • Basic Radio Frequency theory - calculate antenna length, maximum range, RF obstacles, etc.
  • Serial communication - e.g. interfacing an emonTx to a Raspberry Pi serial port.
  • Networking and/or WiFi - e.g. using an ESP8266 instead of an RFM12/RFM69 UHF radio.
  • An accurate multimeter.
  • Read the User Guide before ordering.

Q: I’m a newbie, and I don’t understand all this. Some of the stuff I’ve read is completely over my head. I’m afraid my question will make me appear foolish.

  • We were all newbies once. Tell us you don’t understand, and if possible, which part of the subject you don’t understand. We’ll respect you for that, and try to answer without using too many technical terms.

  • If you use technical words and phrases that make it look as if you know about the subject, we’ll answer in a similar manner, which you might find as confusing as the subject matter itself.

Q: I want to ask a question about my electricity supply. What information do you need to know?

  • As much as possible! Knowing which country you are in is helpful. Is your supply single phase or three-phase? If it’s three-phase, is it 3-wire or 4-wire? What voltage and frequency? What current do you want to measure? e.g. PV production? House consumption? Battery?
  • If you can’t find the answers by looking at your electricity meter or your distribution board, posting a good picture of both, and telling us what country you live in, might give us enough information.

Q: Why doesn’t my CT work?

  • Why can’t I get a power reading?
  • Why is my reading only a few watts when it should read much more?
  • Why doesn’t the reading change when I switch the load on and off?


  • The CT must be clipped around a single current-carrying wire (either Line or Neutral on a 1-phase system, one of the Line conductors (not Neutral and only 1 Line conductor on a 3-phase system).
  • Ensure the CT is fully closed, i.e. no air gap exists where the core faces meet.
  • Ensure the plug is pushed into its socket completely.

Q: Why are my readings negative when they should be positive? (or vice-versa)

  • Detach the CT from the wire, flip it over and re-attach it to the wire
  • If access to the CT isn’t possible, the value can be multiplied by -1, in emoncms input processing
  • If your a.c. adapter can be inserted into a receptacle in either of two directions, simply unplug it, turn it around and plug it back in. Plugging it into the receptacle in the wrong direction has the same effect as reversing all of the CTs.

Q: Why do I see power readings when the CT is not clipped around a wire?

  • What you’re seeing is noise generated by the Arduino electronics, or possibly your USB power supply.
    Unless the value you’re seeing is more than a few Watts, it can be ignored. Click here for more info.

Q: The YHDC CT sold in the shop won’t fit my wires. Are CTs with larger openings available?

  • Yes. Magnelab and CCS make CTs that fit AWG 4/0 wire. (~0.63 inches OD)
  • The main concern here is to be sure the CT you choose is suitable for what you’re using to monitor:
  • If you have an emonTx V2 and V3, or an emonPi1, the c.t. is either unburdened OR has an output of 1 Volt. i.e. don’t select a CT with a 0.333 Volt output.
  • If you have an emonTx4 or an emonPI2, you must select a CT with a 0.333 Volt output.

Q: I’m trying to calibrate my system with a 60 Watt lamp. Why are my readings wrong?

  • You need to use a resistive load much larger than 60 Watts, e.g. a heater, kettle, toaster or other device with a 1 to 3 kW heat generating load, but no (or very small) motor.
  • Attempting calibration with a device that is not resistive or contains components other than a heating element, e.g. a vacuum cleaner, air conditioner, or hair dryer operating at half-power, will not yield correct results. (a hair dryer operating at full power should be OK)
  • See the relevant Learn section of this website

Q: I calibrated my system with a 2000 Watt heater, but my low power readings are still wrong!

  • All CTs are inherently inaccurate at low currents. Most are accurate down to about 5% of their max current rating. To improve on that, you need a “revenue” grade one, which will be costly.
  • When the current is very low, below about 2% of the CT’s max current rating, errors in the analog-to-digital converter start to become significant too.
  • See the relevant Learn section of this website

Q: I can’t buy an AC - AC adapter with the correct plug. Will an ordinary transformer work?

  • Yes. You’ll need a low power mains isolation transformer with a 9 V secondary. Don’t worry if the output voltage is higher than 9 Volts. It’s normal for this type of transformer to give about 11 Volts with no load. You’ll need to put it in a proper enclosure, and add a fuse (~500 mA) to the primary side circuit. You’ll also need to calibrate the output.
  • The emonTx / emonPi are pre-calibrated for use with the adapters sold via the OEM Shop.

Q: Can I use a voltage divider and connect straight to the mains instead of using an AC-AC adapter?

NO. For safety, it’s important to isolate your low voltage circuit from the mains supply. If you don’t, under certain fault conditions, it’s possible to have lethal voltage where you expect 3.3 or 5 Volts to be.

Q: I want to monitor multiple circuits, but the emonTx has only four inputs.

  • Although OpenEnergyMonitor was designed for whole-house monitoring, multi-circuit monitoring is possible.
  • You can use more than one emonTx, see emonTx V3 setup
  • You can build a custom front-end for an Arduino with multiple analog inputs.

Q: I have a single-phase 220-240 Volt PV system or a 240 Volt PV system on a US split-phase service. How many CTs will I need to monitor its energy production?

  • One CT. It can be installed on the line or neutral of a single phase system,
    or either leg (i.e. not the neutral) of a split-phase system.

Q: My emonTx / emonTH / emonPi won’t read the new sensor that I just plugged in. How do I fix it?
Q: I’ve just changed a DIP switch and it’s had no effect. Why not?

  • Power down and power up again.

    Almost all of the sensors attached to an emon sensor node (emonPi, emonTx, emonTH) need to be present at power-up, else they will be ignored. Likewise, the DIP switches are only read at power-up, so any change there will be ignored until the next time.
    The sensors are handled by the Atmel 328P inside the same enclosure as - but independent of - the Raspberry Pi. So rebooting only the Raspberry Pi will not resolve the issue. Powering off, then on again, resets the 328.

Q: How do I reset my ESP8266 so that I can connect to another network?

  • To reset the WiFi module to disconnect it from your local network and put it into AP mode again, hold down the boot / GPIO0 button on the ESP8266 module for about 5 s, this will force it into WiFi access point mode.

Q: I’m having trouble with the serial connection to my programmer - it says ‘programmer not responding’. I have checked all the connections, what could be wrong?

  • Try swapping Tx & Rx connections. The EmonTx is NOT marked according to the common serial interface convention. Transmitted data appears on the pin labelled “Rx” (i.e. it is looking for the Rx line), received data should come in on the pin labelled “Tx” (i.e. it is looking for the Tx line).
    Also, you must have the RTS (Request To Send) connection, because it is used to reset the emonTx as part of the upload process.
    If you have an emonTx4, turn the USB-C connector over and try again.

Q: How do I update my emonPi / emonBase without reflashing the SD card?

You can use the “emonPi Update” or “emonBase Update” buttons, which you find under Setup → Administration (scroll down to “Update”).

  • If you have an emonPi with a totally stock sketch, you are best using “emonPi Update” to keep up to date.
  • If you have an emonPi with a modified sketch, you are best using “emonBase Update” to avoid overwriting.
  • If you have an emonBase with a RFM69 based RFM2Pi or RFM69Pi running a totally stock sketch, you are best using “emonBase Update” to keep it updated.
  • If you have an emonBase with a RFM69 based RFM2Pi or RFM69Pi running a modified sketch
    OR if you have a RFM12 based RFM2Pi
    OR you are unsure what RFM2Pi you have,
    you should use “emonPi Update” to avoid over-writing the firmware.

Aside from the firmware differences, both buttons fully update the emonSD used in both the emonPi and emonBase. There is no separate emonHub update button, emonHub is updated along with emonCMS and other software in that same emonSD update.

For more info, see this thread: Update EmonPi Button or Update EmonBase Button? - #2 by pb66.

Q: I deleted the MySQL database and the emoncms folder, then reinstalled emonCMS. I still have the inputs from the previous installation. How do I delete them?

  • Execute the command: sudo redis-cli FLUSHALL

Q: Entries under the size heading on my feeds page read n/a

  • Refresh the feed size by clicking the button at the bottom left of your feeds page.

Q: Where is my data stored? I cannot see the MySQL tables

  • The default data engines for emoncms are phpfina and phptimeseries. The data can be found at the location defined in your emoncms/settings.php file.
  • The default location is /var/lib/

Q: My emonPi data partition is full. There is some free space on my disk drive / SD card. How do I expand the data partition?

  • Before you proceed, a data backup is highly recommended
  • See this post.
  • If you’re using a hard disk drive, i.e. not flash media, substitute your drive’s device name e.g. /dev/sda in place of /dev/mmcblk0

Q: My emonTx is sending very large values to emonCMS. e.g. 4294967231 kWh.
What’s wrong and how do I fix it?


Q: I’m sending my data to an EmonCMS Fixed Interval Timeseries feed, and sometimes I see gaps in the data, which weren’t there before. If I look at CSV on the Graph page, I see a lot of NULL values. What’s gone wrong?
Check the Feed Interval of your feed (hover your mouse over the name on the Feeds page). If the Feed Interval is shorter than the time between packets of data coming in, a NULL value will be recorded each time there’s no data to record. Unfortunately, you cannot change the Feed Interval once a Feed has been created. You can either speed up the rate at which data is sent, or create a new Feed with a Feed Interval longer than the time between packets of data. E.g, for an emonTx sending data every 9.8 seconds, use the 10 s option for the Feed Interval. You can then export the old CSV data via the Graph page and import it from the old Feed with a Copy & Paste. Once you’re happy the new Feed will run at the correct rate, update the inputs to send data to the new Feed.
A further alternative on a local emonPi/emonBase installation is to downsample feeds using the post process module, documented here: Post Process module — OpenEnergyMonitor 0.0.1 documentation

  1. Setup > Post Process > Create new > downsample
  2. Select the feed to downsample and enter in new interval:

You may want to first create a copy of the original feed so as to test the process without overwriting the original feed, but it’s also fine to do directly.