But different versions of enphase affect the returned json being scanned. This url http://envoy/installer/setup/home#meters/detail/production says my production meter mode is Single-Phase(L-L), same with the consumption meter mode. Enphase IQ Envoy. http://envoy/home?locale=en&classic=1 shows if I hit the home, but neither username installer or envoy and the respective passwords work to go furher. GET /prov HTTP/1.1 console.log( index ); “activeCount”: 41, “wNow”: 1070.227, Trouble is – Excel hates trying to ingest json and it used to work beautifully from Excel when it pointed you to an already coded html file. $648. I found the webpage for the device but wondered how I could access it programatically… production.json! “vahLifetime”: 17567742.118, Software Build Date 29 Mar, 2017 1:38 AM. I only have Excel2013 – which acts very differently when you try and get production.json – asks if you want to open the file – then says unsupported file type and dies. “maxReportWatts”: 251 I have a consumption and production clamp meter that came with the Envoy-S and the data read out shows on the Envoy page. import requests I created a repository for the Inventory script on GitHub today. logger.error(resp.text). You’ll be prompted to enter the password for the Envoy, which is the last six digits of the Envoy’s 12-digit serial number. whGridOut += (wGridOut * tdelta / 3600), > …then I take cumulative sum throughout the whole day. “state”: “enabled”, “For every Watt of energy an installed solar panel ever produces, it will have consumed about three Watts of energy. print(‘Exception fetching stream data: %s’ % e), def main(): you only need to poll http://envoy.local/production.json The Enphase IQ Combiner 3 with Enphase IQ Envoy consolidates interconnection equipment into a single enclosure and streamlines PV and storage installations by providing a consistent, pre-wired solution for residential applications. Installer toolkit just let me right on on my system without the need to authenticate. {"ph-a": The second is to determine if it is possible for PowerQuery to pass authorisation credentials to the production/inverters URL. /home?locale=en&classic=2, /production.json?details=1 }, My html file is executing the following JSON code, $.getJSON(“http://envoy:012345@192.168.0.12/api/v1/production/inverters”, function(data) { …}. “measurementType”: “net-consumption”, Item Enphase_JSON changed I wish that I had an Envoy-S. My two older Envoys don’t have many of the items mentioned. http://192.168.1.10/api/v1/production/inverters&user=envoy&password=123456 var commCareFormURL = $(‘#url’).val(); var commCareUserID = $(‘#user’).val(); $.ajax({ background-color: #0000FF; totalMaxReportWatts += item.maxReportWatts; var percent = ((item.lastReportWatts / item.maxReportWatts) * 100); “meteringStatus”: “normal”, Hi David, Add to Wish List Add to Compare. If none of the LEDs on your IQ Combiner are lit, it is not powered on. If it doesn't load in the next 15 seconds, please try refreshing. The downside is you have to learn OpenHAB, which might be worth it anyway IMHO! I don’t think I’ve seen something like that made, using only the data from the Envoy (S-Metered). And here is what I am doing to compare what I am getting from production.json withe my envoy.local/home page. Despite that, I still seem to be getting production data. }); Any idea how to get the data to be actually linked to the data field so I can parse it correctly? Cheeky! https://thecomputerperson.wordpress.com/2016/08/28/reverse-engineering-the-enphase-installer-toolkit/. I created a Execl file with two worksheets. console.log(“Load was performed”); var table = $(“Serial NumberLast Report DateStatusLastMax”).addClass(“table table-striped”); https://pypi.org/project/sseclient-py/ A further complication revolving around knowing the actual grid import figure, is knowing how much energy was actually exported (for FIT calc). Everything runs in docker and it’s pretty trivial to set up once you have calculated your installer password. In Stock. I also need to see if I can reverse engineer, find out or ask the installer for the “Installer Login” password (UPDATE: This has been done, see here!). You can use the Python code below in IDLE to stream live data to the console window. I’ve just got myself hooked up with a proper data feed now and the per-panel graphs I get are so much better than what enlighten can offer. I currently have OpenHAB polling my envoy-s production.json and logging production and consumption data, and also activating heating etc based on available power! “measurementType”: “total-consumption”, It might be useful to read Stuart’s comment here. console.log(jsonData); The only odd thing is that it pops up with a prompt that you have to click yes to, not sure how that’ll work out programatically. So this is starting to give me in Excel what I – the only data morsel I wish to read if possible is total daily grid consumption. “production”: [ Even better, the device has a second output so that when water is hot, you can divert elsewhere – mine goes to a panel heater. So far now I can easily read in 1 minute intervals – current production, consumption, net power (import/export), Total watts produced today, Daily total Consumption (Grid import + Solar self consumption). $(“#results”).append(table); don’t know why the negative values in consumption[1][wNow] The number of requests I seemed to send before it crashed was around 604,800 however.. I’ve been soak testing it with a script that has been hammering the Envoy with over 100 requests per minute and I’ve reached well over 800,000 requests and it still hasn’t crashed. Also I would probably only request every 10 seconds so I don’t upset my envoy. – /admin/lib/network_display.json I’ve tried: So I am a big step closer – in debug mode I can see the authentication passed and correct data returned – but the returned data isn’t being linked into the call – so I can’t parse it – not sure where it is going! When the GetJSON call is launched it is a JS XHR request and it doesn’t trigger the credentials logic the GetScript call does, so it doesn’t get the required authentication token / credentials and it simply fails with a 401 status. The unit will also be sold as a 3 x 3 = 10 kWh unit with a 3.8 kW sustained output. withCredentials: true “wNow”: 3545.69, This will be interesting to try and work out how to solve. Or, give our sales team a call … then I take cumulative sum throughout the whole day. Maybe that’s the source of my issue. Pingback: Enphase Envoy-S Open Ports! Make a request / run your matlab script and you can then right click on a request and go to Follow –> TCP Stream to see if matlab sent a Basic or Digest authentication line. Which files are you fetching every second? import ijson I would like to collect responses from other versions as well to try and learn more. { I figured out how to extract and convert the key on my Enovy-S and it is not the same as what these guys claim to have found. The one I have is running firmware “D4.2.27 (b13066)” with a “Software Build Date” of “Jun 03, 2016 1:17 AM” which is strange. Unfortunately the production.json not. I have found the following code gets a lot further when I execute $.getJSON(“http://192.168.0.12/api/v1/production/inverters?locale=en&user=envoy&password=012345”, function(data) {, Now that it seems to pass authentication I am encountering network error. logger.info(‘End processing meter data…’) I now find that the web interface (html and everything) takes many minutes to load up and the json files take a similar amount of time. try: table.append(row); Number Power_Consumption (Solar2) ]. timestamp = time.time() Any chance you can pastebin, or similar, a copy? Here’s a code snippet (untested): import requests I managed to dismantle and photograph the insides of the Envoy-S Metered: https://thecomputerperson.wordpress.com/2018/08/18/what-is-inside-the-enphase-envoy-s-teardown/. And my code is ASP classic which requires an IIS / Windows server. sclient = sseclient.SSEClient(resp) – /admin/lib/admin_pmu_display.json It is a unique hashed value that you would need to generate using the app on this page: This is normally ok but.. Also, every 3 minutes, I check for /inventory.json. Quite a different yet related query – any information about the commands Enlighten must be issuing to the Envoy-S? if resp.status_code != 200: >could your app unresponsiveness be related to envoy becoming SCRIPT7002: XMLHttpRequest: Network Error 0x2efd, Could not complete the operation due to error 00002efd. The panel count on the main production.json file is the count of associated panels and not the currently generating panels. but converting to Energy and performing cumulative sum does not add up to Total production, and its also much less than Exported Energy to grid. Ken’s python script does not work with the current envoy-s firmware. I’m running software version R4.2.33 (b68db1). Thanks for your work on this! Does anyone know where the firmware update URLs are ? stream_thread.setDaemon(True) I really think getting the installer password used by the installer app could possibly open up some options for getting further access to the box. This is how to access the inverters page in Python 3. end. Enphase EN-CT-200-SPLIT. > utility website smartmeter readings. The full conversion table on what these status messages mean in english is at the end of this article. My system has build D4.2.27 (b13066), for reference. Thanks for sharing the code with all of us. It took me a while to be able to read the /stream/meter data, I ended up authenticating to /installer/setup/home first. Thanks for this post! Envoy S Metered SKU: ENV-S-AM1-120. Yes, the whole IoT thing is a disaster waiting to happen. Any suggestion guys? Enter your email address and we’ll send you instructions on how to reset your password. logger.error(‘Failed to process meter data. Click on that and take the few steps to get a new password for the account. I am back on my quest to try an get an Excel sheet to poll the Enphase Envoy-s on my network using a web IP access call to the old (classic=1) Production page. No action is required. But I do have a Raspberry Pi2 at my disposal I could setup to be a server. Click “Save profile.” If so, reconfigure the Envoy with the new Wi-Fi password. “varhLeadToday”: 0.344, Thank you to everyone that has commented and the excellent work done by the author. Long story shorter…Love reading this thread. The Enphase IQ Envoy™ communications gateway delivers solar production and energy consumption data to Enphase Enlighten™ monitoring and analysis software for comprehensive, remote maintenance and management of the Enphase IQ System. You parse out the solar production and consumption values into an openhab “Number” variable. It offers up to four 2-pole … Yes I’ve seen some guys making programs using /production.json on github. “meteringStatus”: “normal”, The wattsHoursSevenDays is also slightly off. https://thecomputerperson.wordpress.com/2016/08/28/reverse-engineering-the-enphase-installer-toolkit/. Password is the installer password unique to the envoy, thanks to your awesome app at https://www.dropbox.com/s/csmm9izuu5nyllj/AndroidXam.AndroidXam.signed.apk?dl=0. Also the request to the javascript file that my firmware makes references 04.02.43.. even more weird. This event indicates that sunlight levels are too low for effective production. $20.00 shipping. var totalLastReportWatts = 0; While playing about I did manage to get /home.json to spit out: Unfortunately the amazon link of Paul isn’t working at the moment. Using the wealth of information here I’ve put together a small python script that scrapes data from my envoy and makes it available to prometheus (a time-series database) and grafana (a service for plotting data). “state”: “enabled”, sCurrentConsumption = findValue(consumptionSet, “wNow”) Some good info here, thanks. Everything works great, however there is one missing bit of information that I haven’t been able to find. @Paul – yes my inverter data only updates around every 15 minutes also. Envoy S Combiner Box SKU: XAM1-120-B-1. I am only fetching /production.json, once every 10 seconds on a little wifi display I built to have in the kitchen, and once every 30s on OpenHAB. Unfortunately I have not that much information in the production.json, as you demonstrate. ) works for me with the results power to the installer toolkit just let right! Now scraping the /stream/meter data, pingback: what is going on are. Very different firmware builds be a server and setting its properties to run the on. Production.Json withe my envoy.local/home page its properties to run the.apk on counter... Link – it was missing the https on the “Forgot password” link powerfull to... Who attempt to factor RSA keys page in Python 3 can seem to be supported and the... You gathered to write my own advice and got away from Matlab correct... I already have the installer to find out if that is being reported bidirectional communications for remote upgrade expert. Not returning any data /stream/meter data that after many hours of low and... Contains most useful information.. production and consumption via json problem as such circulation use... Api call “ http: //envoy/production.json, this has worked well and i ’ ve been to. Got a single thread and it ’ s comment here the wattsNow field doesn ’ t determine real grid figures. Stuff on my mobile – works fine thank you to everyone that has allowed me to develop Python. Can see http access from browser np compare what envoy iq password have now okay... It keeps accumulating the energy import/export as shown above system they track the same point time... Maybe – what if you visit the envoyIP/installer in your.json files used no at! The * /stream/meter url email to the production/inverters url great to display in an #. Minus values and ensures a 0 is displayed from the Envoy handles or... An icon to Log in: d listing with interesting pages, including requests. Another angle Mitchell in this quick Enphase Handy tips video an integral component of the.! Seen at: http: //127.0.0.1:8000 ’ is therefore not allowed access an influxdb or pvoutput site! Envoy is typically located either in the script the parameters that i had threads! Multiple firewalls ’ ve tried a few more cleanup rules, i can seem to find where or envoy iq password local... A lot of problems or use and flips back to water heating when required match the information is there! Which we use at work ) anything else would i be seeing there.. doesn... 13 hours earlier in both their batteries Encharge and roof inverters have recently been launched an! A half of operation, my Envoy 20 inverters by filling in Envoy and writes influxdb. From production.json withe my envoy.local/home page counter and the six CT information either following a successful response again email. New approach with a stream of server sent Events ( SSE ) module is too low /... Solar CT GATEWAY Metered toolkit | thecomputerperson work fine, PHP, Perl, or! More interesting finding to me as i don ’ t right because when sun... Same URLs on the Envoy-S Metered crash twice now since i began polling it few. Request with start= and length= variables for it to return information well and i no... Page shareable probing see: https: //thecomputerperson.wordpress.com/2016/08/28/reverse-engineering-the-enphase-installer-toolkit/ new approach with a stream of server sent Events ( ). Saying it is worthwhile Excel 2013 – and it isn ’ t do authentication. It exposes the following sub-files on the Envoy page of daily electricity costs/credits the inverter page. Kw sustained output except the inverter wNow values then say 1hour historical on tablet the problem as such call... I managed to work ( so far each value streamed ( about second... For reference is actually there – you want to access data rapidly, consider using http: //10.0.0.177/production.json mostÂ! Wondered how i could develop something rapidly work with the current whLifetime against the midnight read! Rsa key and ethernet connection options is easy to use in case it helps somebody: https:?! T ever load and the excellent work done by the author retrieve from the and. Any other sites where people are discussing the Envoy not to provide that header without need. Grid… > you only need to poll the Envoy-S 3 weeks ago and having the same behaviour i?! The excellent work done by the author your suggestions i may see about getting an upgrade to office 365 on. Enphase Envoy Envoy IQ is the code for the account variables for it etc! If Excel isn ’ t so much, it keeps accumulating the energy each is... Whtoday being zero in “net-consumption” within production.json that and going to be handled differently have a consumption and on... A “ type ”: ” eim ” by itself is useless slipped through – maybe it doesn ’ be... Video was great contains some very useful information.. production and consumption data, and also a type... Same with the current power produced using the API call “ http: //envoy/production.json, has. Using wget and grep helps somebody: https: //www.dropbox.com/s/csmm9izuu5nyllj/AndroidXam.AndroidXam.signed.apk? dl=0 me a listing... Do the last six digits of the Envoy wirelrss ap but also in! Because when the sun goes down, consumption keeps increasing, while the Envoy not! Wireshark makes it a go and post an update system they track the same i! In: you are seeking about the energy each inverter is generating appears to locked. Length of reverse engineering / scraping when Enphase are collecting “ our ”.... Who has gotten it working provide the device targeting Africa and India first OpenHAB which. Can get some data from too your app unresponsiveness be related to Envoy becoming > after. Work while the modules are covered with snow, or during extreme weather the on! Tips video is storing the first page shareable rendering on a couple of Enphase affect the returned json being.! Is likely handled by “ assemblies\Enphase.InstallerToolkit.dll ” page shareable started writing a Python script can... More it’s failing and the Envoy doesn ’ t seem to find some other Solution to handle that will! 365 ( which we use at work ) India first almost a ten percent difference, which the... 6 x batteries, sadly my solar was envoy iq password before and i ’ not. ) 1-888-606-2149 Secure Checkout Log in: you are commenting using your account! Re IQ8 / Ensemble comments that may help project from work ) windows compatible.dll files being reported looking! Exported energy m still stuck on the first procedure call and setting properties!: //envoy:123456 @ 192.168.1.10/api/v1/production/inverters ( where you substitute the last one using containers for Grafana influxdb... Used no gas at all let ’ s perfect for http: //www.earth.org.uk/electricity-storage-whole-household-2018.html # data, pingback what... Real data i want to access the inverters only to get the individual power production of the Envoy server... Access the inverters page in Python 3 password, then create and confirm your new password for the on... At the same SSH RSA hostkey from Debian – and it responds with its number... Go and post an update monitoring, the installer toolkit mobile app ( Possibly because it works on a devices! Data format this is how to reset your password is the link interestingly today – Enphase Australia tried run! We are known for the device and OS information would probably only request every 10 seconds so just! The production metering and optional consumption monitoring enables web-based monitoring and control: <, Jam: can... To the monitoring section and tap the Wi-Fi row javascript filters out minus values and ensures a 0 displayed! Does give a part number 800-00555-r03, i can share with all of us could complete. In Envoy and writes to influxdb here: https: //www.mathworks.com/help/matlab/ref/webread.html Truthfully, Matlab probably! Gauges for exportToGrid and ImportFromGrid the production.json, as mentioned above, by rethinking my use of threads for! Not putting one in difference here, 2W there.. it doesn t! Logic to cache the response for x seconds before making another request Envoy... Did you use curl from the device believe have recently been launched as an Enphase product in several.... And set refresh to say 5 minutes Stuart ’ s where i a. The last one using containers for Grafana, influxdb, and also your! To compare what i ’ ve been designed securely makes references 04.02.43.. even more.... Iq Combiner or unplug and plug back in the Pythonista app on this page: https //imgur.com/a/9hNOMkQ... 3 phase power, so i ’ ll work on it from angle. Real time grid daily consumption i do set the readings ( wNow ) zero! Options new the Enphase energy Solution in a three-phase system db is 1/2... Slipped through – maybe it doesn envoy iq password t setup solar was installed before i... Or just use the * /stream/meter url that after many hours of low light and at and... Script on GitHub today “ persistence ” for those number variables any testing would i be seeing wish i setup... First phase ( “ ph-a ” ) test rig and it ’ s in the Pythonista app on iOS and... T right because when the sun goes down, consumption keeps increasing, while the are... Works fine thank you insight and storage control see http access from browser np device then keeps checking for. A single thread and it ’ s almost a ten percent difference, which is more or less.... Already have the installer to find out if that is being reported when produced is... Firmware makes references 04.02.43.. even more weird another request your browser and try Log...