{"action":"created","issue":{"url":"https://api.github.com/repos/jbuehl/solaredge/issues/124","repository_url":"https://api.github.com/repos/jbuehl/solaredge","labels_url":"https://api.github.com/repos/jbuehl/solaredge/issues/124/labels{/name}","comments_url":"https://api.github.com/repos/jbuehl/solaredge/issues/124/comments","events_url":"https://api.github.com/repos/jbuehl/solaredge/issues/124/events","html_url":"https://github.com/jbuehl/solaredge/issues/124","id":417601622,"node_id":"MDU6SXNzdWU0MTc2MDE2MjI=","number":124,"title":"Local API with Protocol Buffers","user":{"login":"drobtravels","id":4960334,"node_id":"MDQ6VXNlcjQ5NjAzMzQ=","avatar_url":"https://avatars2.githubusercontent.com/u/4960334?v=4","gravatar_id":"","url":"https://api.github.com/users/drobtravels","html_url":"https://github.com/drobtravels","followers_url":"https://api.github.com/users/drobtravels/followers","following_url":"https://api.github.com/users/drobtravels/following{/other_user}","gists_url":"https://api.github.com/users/drobtravels/gists{/gist_id}","starred_url":"https://api.github.com/users/drobtravels/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drobtravels/subscriptions","organizations_url":"https://api.github.com/users/drobtravels/orgs","repos_url":"https://api.github.com/users/drobtravels/repos","events_url":"https://api.github.com/users/drobtravels/events{/privacy}","received_events_url":"https://api.github.com/users/drobtravels/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":39,"created_at":"2019-03-06T03:09:44Z","updated_at":"2019-09-19T13:16:01Z","closed_at":null,"author_association":"NONE","body":"I recently had a SE10000H-US installed and noticed when I visit the IP address of the inverter it has a status page with some high level information (although no specifics about each optimizer).  I see its using an unsecured API by doing a GET on http://<inverter_ip>/web/v1/status, with the response in protocol buffers. \r\n\r\nI would be interested in reverse engineering this response so I could monitor the status in realtime without setting up the additional hardware involved in the ethernet passive approach.  Has anyone done this?\r\n\r\nI parsed the response using `protoc --decode_raw` and have a pretty good idea of what the structure of the data looks like, but am unclear how its actually converted to the proper number.  For example it seems likely that `0x481b4600` corresponds to 159 kWh.  I have no experience with protocal buffers, so I may be missing something obvious, but am not seeing how to get 159 or 159,000 from what I assume is the hex representation of 481b4600\r\n\r\nI apologize if this is out of scope for this particular package, but thought some people here might be interested.  I can post more details and examples if people are interested.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/jbuehl/solaredge/issues/comments/533125406","html_url":"https://github.com/jbuehl/solaredge/issues/124#issuecomment-533125406","issue_url":"https://api.github.com/repos/jbuehl/solaredge/issues/124","id":533125406,"node_id":"MDEyOklzc3VlQ29tbWVudDUzMzEyNTQwNg==","user":{"login":"ContextPerspective","id":303719,"node_id":"MDQ6VXNlcjMwMzcxOQ==","avatar_url":"https://avatars1.githubusercontent.com/u/303719?v=4","gravatar_id":"","url":"https://api.github.com/users/ContextPerspective","html_url":"https://github.com/ContextPerspective","followers_url":"https://api.github.com/users/ContextPerspective/followers","following_url":"https://api.github.com/users/ContextPerspective/following{/other_user}","gists_url":"https://api.github.com/users/ContextPerspective/gists{/gist_id}","starred_url":"https://api.github.com/users/ContextPerspective/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ContextPerspective/subscriptions","organizations_url":"https://api.github.com/users/ContextPerspective/orgs","repos_url":"https://api.github.com/users/ContextPerspective/repos","events_url":"https://api.github.com/users/ContextPerspective/events{/privacy}","received_events_url":"https://api.github.com/users/ContextPerspective/received_events","type":"User","site_admin":false},"created_at":"2019-09-19T13:16:01Z","updated_at":"2019-09-19T13:16:01Z","author_association":"NONE","body":"I do not own a SetApp enabled inverter, but love what this project is doing and wanted to add this should it help. Below is a method to get the files on non-jail-broken/non-rooted devices. You'll need an installer account as others have stated. I haven't tested the methods below, but can't see why this wouldn't work as both methods backup the user/private data which should include the FW images. I've used similar methods for other files in the past, so it should work in _theory_.\r\n\r\n**iOS - Non Jailbroken Device:**\r\n\r\n- Login to installer account. Let files update. Close app.\r\n- Perform manual backup using iTunes. Make sure \"Encrypt Local Backup\" is checked. Set a password.\r\n- Using an iTunes Backup Extractor (Google for this, many options - some free, some not) and extract the files from the encrypted iTunes backup.\r\n\r\n**For Android - Non Rooted Device**\r\n\r\n- Login to installer account. Let files update. Close app.\r\n- Perform backup via [adb ](https://9to5google.com/2017/11/04/how-to-backup-restore-android-device-data-android-basics/)(i.e. adb backup -apk -shared -all -f <filepath>/backup.ab)\r\n- Extract files using any adb backup extractor such as [this](https://github.com/nelenkov/android-backup-extractor/releases)\r\n"}}
{"actor":{"display_login":"ContextPerspective"}}