bvlaicu / coned

Utility to interact with a ConEdison smart energy meter
Apache License 2.0
49 stars 16 forks source link

Issue trying to find Account UUID #8

Open danhs opened 2 years ago

danhs commented 2 years ago

I'm unable to find account UUID.

When I search for UUID in network tab it's not showing anything that clearly resembles Account UUID.

Is there anything more specific re finding Account UUID? maybe URL to which that UUID is being posted?

Thank you @bvlaicu , Best, Daniel

stevenleeg commented 2 years ago

Hi @danhs,

After you log into ConEd's website you'll need to:

  1. Open up the inspector/network tab to ensure it's recording.
  2. Click on the "Account and Billing" tab, then "My Account" in the hover menu.
  3. Once loaded, click on the "Billing and Usage" tab and "Real-Time Usage" subtab
  4. Search for usage in the request list which should yield a request to cned.opwer.com that looks like this:
Screen Shot 2022-01-16 at 08 58 35

That URL contains both your account UUID and the meter ID you'll want to pass into this library.

Hope that helps!

HiTechTLS commented 2 years ago

Are both of you using Coned?

I see a UUID mentioned a few times, but pretty sure its "the other" (wrong) one. Cant seem locate any others.

image

"coned.meter.MeterError: Error requesting meter data" and "Failed to connect to the bus: Failed to connect to socket"

Params: EMAIL = ***@gmail.com PASSWORD = **** MFA_TYPE = TOTP MFA_SECRET = **** ACCOUNT_UUID = **** METER_NUMBER = **** SITE = coned MQTT_HOST = hassio.local MQTT_USER = mqtt_coned MQTT_PASS = Starting endless loop.. [0205/020731.412693:ERROR:bus.cc(393)] Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory DevTools listening on ws://127.0.0.1:38665/devtools/browser/1fad07bc-2613-4c8b-9245-94772b169bf0 [0205/020731.418566:ERROR:gpu_init.cc(426)] Passthrough is not supported, GL is disabled [0205/020731.732530:ERROR:bus.cc(393)] Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory DevTools listening on ws://127.0.0.1:49477/devtools/browser/fb211e84-169e-4380-9b51-386eb9504250 [0205/020731.737000:ERROR:gpu_init.cc(426)] Passthrough is not supported, GL is disabled [0205/020733.339596:INFO:CONSOLE(41)] "Unrecognized feature: 'attribution-reporting'.", source: https://www.googletagmanager.com/gtm.js?id=GTM-PK7RZ5 (41) [0205/020733.341611:INFO:CONSOLE(41)] "Unrecognized feature: 'conversion-measurement'.", source: https://www.googletagmanager.com/gtm.js?id=GTM-PK7RZ5 (41) [0205/020733.359627:INFO:CONSOLE(41)] "Unrecognized feature: 'attribution-reporting'.", source: https://www.googletagmanager.com/gtm.js?id=GTM-PK7RZ5 (41) [0205/020733.360693:INFO:CONSOLE(41)] "Unrecognized feature: 'conversion-measurement'.", source: https://www.googletagmanager.com/gtm.js?id=GTM-PK7RZ5 (41) [0205/020733.420815:INFO:CONSOLE(21)] "ERR_DUP_SCRIPTS", source: https://www.glancecdn.net/cobrowse/CobrowseJS.ashx?group=19641&site=production (21) [0205/020733.445066:INFO:CONSOLE(21)] "ERR_DUP_SCRIPTS", source: https://www.glancecdn.net/cobrowse/CobrowseJS.ashx?group=19641&site=production (21) [0205/020734.006255:INFO:CONSOLE(11)] "Uncaught TypeError: Cannot read property 'split' of undefined", source: about:srcdoc (11) [0205/020734.124526:INFO:CONSOLE(5)] "SyntaxError: Unexpected token M in JSON at position 0 at JSON.parse () at N (https://asset.gomoxie.solutions/concierge/coned/client/storage_bridge.html:5:2823)", source: https://asset.gomoxie.solutions/concierge/coned/client/storage_bridge.html (5) [0205/020734.903200:INFO:CONSOLE(1)] "'webkitRequestAnimationFrame' is vendor-specific. Please use the standard 'requestAnimationFrame' instead.", source: https://siteintercept.qualtrics.com/dxjsmodule/CoreModule.js?Q_CLIENTVERSION=1.66.0&Q_CLIENTTYPE=web&Q_BRANDID=coned (1) [0205/020735.040961:INFO:CONSOLE(1)] "'webkitRequestAnimationFrame' is vendor-specific. Please use the standard 'requestAnimationFrame' instead.", source: https://siteintercept.qualtrics.com/dxjsmodule/CoreModule.js?Q_CLIENTVERSION=1.66.0&Q_CLIENTTYPE=web&Q_BRANDID=coned (1) [0205/020742.829462:INFO:CONSOLE(41)] "Unrecognized feature: 'attribution-reporting'.", source: https://www.googletagmanager.com/gtm.js?id=GTM-PK7RZ5 (41) [0205/020742.830042:INFO:CONSOLE(41)] "Unrecognized feature: 'conversion-measurement'.", source: https://www.googletagmanager.com/gtm.js?id=GTM-PK7RZ5 (41) [0205/020742.920394:INFO:CONSOLE(41)] "Unrecognized feature: 'attribution-reporting'.", source: https://www.googletagmanager.com/gtm.js?id=GTM-PK7RZ5 (41) [0205/020742.920611:INFO:CONSOLE(41)] "Unrecognized feature: 'conversion-measurement'.", source: https://www.googletagmanager.com/gtm.js?id=GTM-PK7RZ5 (41) [0205/020817.539480:INFO:CONSOLE(41)] "Unrecognized feature: 'attribution-reporting'.", source: https://www.googletagmanager.com/gtm.js?id=GTM-PK7RZ5 (41) [0205/020817.539687:INFO:CONSOLE(41)] "Unrecognized feature: 'conversion-measurement'.", source: https://www.googletagmanager.com/gtm.js?id=GTM-PK7RZ5 (41) [0205/020817.575388:INFO:CONSOLE(21)] "ERR_DUP_SCRIPTS", source: https://www.glancecdn.net/cobrowse/CobrowseJS.ashx?group=19641&site=production (21) [0205/020818.718596:INFO:CONSOLE(2)] "Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.", source: https://acdn-prod-bsdce-ngcx-va.azureedge.net/va/coned-va-build.min.js (2) [0205/020819.596616:INFO:CONSOLE(5)] "SyntaxError: Unexpected token M in JSON at position 0 at JSON.parse () at N (https://asset.gomoxie.solutions/concierge/coned/client/storage_bridge.html:5:2823)", source: https://asset.gomoxie.solutions/concierge/coned/client/storage_bridge.html (5) [0205/020820.050404:INFO:CONSOLE(1)] "'webkitRequestAnimationFrame' is vendor-specific. Please use the standard 'requestAnimationFrame' instead.", source: https://siteintercept.qualtrics.com/dxjsmodule/CoreModule.js?Q_CLIENTVERSION=1.66.0&Q_CLIENTTYPE=web&Q_BRANDID=coned (1) [0205/020822.451557:INFO:CONSOLE(1)] "::-webkit-details-marker pseudo element selector is deprecated. Please use ::marker instead. See https://chromestatus.com/feature/6730096436051968 for more details.", source: https://nextweb-static.opower.com/maestro/themes/maestro-theme-cned/a28bf320b912c34566c4f558065c0db6/pages/apps/maestro-widget-library-core/index.generated.32.min.js (1) Traceback (most recent call last): File "/usr/local/lib/python3.7/dist-packages/coned/meter.py", line 99, in last_read for read in jsonResponse['reads']: KeyError: 'reads' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "run.py", line 18, in startTime, endTime, value, uom = asyncio.get_event_loop().run_until_complete(meter.last_read()) File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete return future.result() File "/usr/local/lib/python3.7/dist-packages/coned/meter.py", line 114, in last_read raise MeterError("Error requesting meter data") coned.meter.MeterError: Error requesting meter data

stevenleeg commented 2 years ago

Yeah I'm on Coned. I think you need to look at the URL path before each of those items (not the query string, which is what you've circled). Not exactly sure where you are in the chrome inspector but I believe if you click on any of those URLs a sidebar will pop up on the right (just like you see in my screenshot) where you'll be able to see the full URL to the file which should contain the UUID that you're looking for.

HiTechTLS commented 2 years ago

Thanks!

A little painful but found that both the leading zero in my bill's meter number (not in the URL) and UUID were quite different. Sadly, the log doesn't look pretty still. The API for Coned may be the more correct route, wish HA would build this in by default, as I'm guessing that's their preferred method and may be killing this loophole.

API: https://cdnc-dcxprod2-sitecore.azureedge.net/-/media/files/coned/documents/accountandbilling/share-my-data/onboarding-doc.pdf?rev=f7529ca6629241b3b720aa48eec60714&hash=0A46AA8381FF10A0A6EE1E506C99F5F7

During handling of the above exception, another exception occurred: Traceback (most recent call last): File "run.py", line 18, in startTime, endTime, value, uom = asyncio.get_event_loop().run_until_complete(meter.last_read()) File "/usr/lib/python3.7/asyncio/base_events.py", line 584, in run_until_complete return future.result() File "/usr/local/lib/python3.7/dist-packages/coned/meter.py", line 114, in last_read raise MeterError("Error requesting meter data") coned.meter.MeterError: Error requesting meter data Task exception was never retrieved future: <Task finished coro=<Meter.browse() done, defined at /usr/local/lib/python3.7/dist-packages/coned/meter.py:116> exception=NetworkError('Protocol error Page.navigate: Target closed.')>

-also-

[0206/185012.993066:INFO:CONSOLE(5)] "SyntaxError: Unexpected token M in JSON at position 0 at JSON.parse () at N (https://asset.gomoxie.solutions/concierge/coned/client/storage_bridge.html:5:2823)", source: https://asset.gomoxie.solutions/concierge/coned/client/storage_bridge.html (5) [0206/185013.699024:INFO:CONSOLE(1)] "'webkitRequestAnimationFrame' is vendor-specific. Please use the standard 'requestAnimationFrame' instead.", source: https://siteintercept.qualtrics.com/dxjsmodule/CoreModule.js?Q_CLIENTVERSION=1.66.0&Q_CLIENTTYPE=web&Q_BRANDID=coned (1) [0206/185015.753957:INFO:CONSOLE(1)] "::-webkit-details-marker pseudo element selector is deprecated. Please use ::marker instead. See https://chromestatus.com/feature/6730096436051968 for more details.", source: https://nextweb-static.opower.com/maestro/themes/maestro-theme-cned/a28bf320b912c34566c4f558065c0db6/pages/apps/maestro-widget-library-core/index.generated.32.min.js (1)

Although, every once in a while I seem to get lucky!!!!

message: {'startTime': '2022-02-06T17:00:00-05:00', 'endTime': '2022-02-06T17:15:00-05:00', 'value': 0.273, 'uom': 'KWH'}

did you implement that PR for more reliable scraping of data?

HiTechTLS commented 2 years ago

And in HA general logs

2022-02-06 19:11:28 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140712957064192] Received invalid command: energy/info 2022-02-06 19:11:29 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140712957064192] Received invalid command: energy/info 2022-02-06 19:11:29 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140712957064192] Received invalid command: energy/info 2022-02-06 19:11:29 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140712957064192] Received invalid command: energy/info 2022-02-06 19:11:29 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140712957064192] Received invalid command: energy/info 2022-02-06 19:11:29 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140712957064192] Received invalid command: energy/info 2022-02-06 19:11:29 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140712957064192] Received invalid command: energy/info 2022-02-06 19:11:29 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140712957065440] Received invalid command: history/statistics_during_period 2022-02-06 19:11:29 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140712957065440] Received invalid command: history/statistics_during_period 2022-02-06 19:11:29 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140712957065440] Received invalid command: history/statistics_during_period 2022-02-06 19:11:32 ERROR (MainThread) [homeassistant.setup] Setup failed for mqtt: Integration failed to initialize. 2022-02-06 19:11:32 ERROR (MainThread) [homeassistant.setup] Unable to prepare setup for platform mqtt.sensor: Unable to set up component.