Barebones implementation of the unofficial Fronius Watt pilot (https://www.fronius.com/de-ch/switzerland/solarenergie/installateure-partner/technische-daten/alle-produkte/l%C3%B6sungen/fronius-wattpilot) API. Based on https://github.com/joscha82/wattpilot.
I don't take the responsibility for your device. With this API you can access the device directly, be careful.
- Finish your normal installation of the Fronius Watt pilot app. Remember the Password!
- Go to the Internet tab and connect your Pilot to your Wi-Fi.
- Find out the IP-Adress of your WattPilot.
- Option 1: Via your Router's Web-GUI.
- Option 2: Via Wattpilot App: After the connection established click on the Wi-Fi name.
You will see a page with more information about your Wi-Fi connection. Note the IP address down.
- Now you can regularly install an instance of iobroker.fronius-wattpilot via the "Adapters"-page.
- After you created the instance, you will be prompted to insert IP-Address and password of your WattPilot. Fill in the values you noticed before and save the config. If you have done everything correctly the adapter will turn green after a while and you can see the incoming data in the objects tab.
It is highly recommended to assign a static-IP to your WattPilot.
You can use the datapoints of this adapter like every other datapoint in your broker.
To get some ideas see "examples".
There is a Blockly-example how you can measure your Solar Grid output and automatically adjusts the Pilot to the right current value (Amp) to improve your internal energy consumption.
You can simply import it by copying the content of the example and insert it via the "Import blocks"-icon in the upper right corner of your Blockly-script.
The adapter connects to the WattPilots WebSocket and separates incoming data into ioBroker-datapoints you can use quite comfortable.
By default, the adapter only writes the key points of the Wattpilot. If you want all the possible values the API can deliver, uncheck the checkbox in the instance-settings.
A documentation of the Datapoints is available here: https://github.com/joscha82/wattpilot/blob/main/API.md (Thanks to joscha82)
The most important states you can set directly, these are AccessState, amp, cableLock, cae and mode.
AccessState: "Open" or "Wait"
amp: 6-16
cableLock: "Normal" or "AutoUnlock" or "AlwaysLock"
cae: "true" or "false" (watch out this disables the cloud functionality of your WattPilot may need to restart)
Yes, just write the state name followed by a semicolon and then the value in the set_state state.
For example:
amp;6
You can control the "amp" and the "lmo" state directly via the set_power and the set_mode states.
Thanks to joscha82 we know: https://github.com/joscha82/wattpilot/blob/main/API.md
- Fixed a bug where the adapter would use a undefined variable
- Fixed bug #44
- Fixed bug #43
- Thanks to Norb1204 for fixing a few bugs that I missed. More in Issue #40
- Fixed Issue #39 (set_state not working)
- Fixed timeout issue in normal parser mode (#36), still exist in dynamic parser mode --> use no timeout (0)
- Fixed a number of issues concerning the static parser mode
- Quality of life improvements --> you can now set the common states directly! (set_power, set_mode) are still available for compatibility reasons and for the dynamic parser mode
- Fixed issue #29 (custom states not working)
- Fixed random log messages
- Fixed a type conflict at the set_state state
- Commits from now on should be signed
- known states will now be updated even if the dynamic parser is enabled
- dependency updates
- state updates
- Fixed bug in the all values mode / parser
- Some QoL improvements
- Added the possibility to add states manually via the instance-settings
- Fixed the bug where the adapter didn't set the correct value types
- Added some quality of life improvements
- Fixed timing issue
- Added set_power and set_mode states
- Fixed a bug where set_state was not writable
- Fixed a bug where the adapter would not set the correct labels for the states
- Performance improvements
- Fixed dependencies
- Small changes to the package.json and io-package.json
- Fiexed cool down timer for normal values
- Bug fixed where the adapter would not respect the timout timer and would try to constantly reconnect to the WattPilot
- Bug fixed where the adapter would send a wrong disconnect message to the WattPilot
- Fixed reconnecting frequency
- Fixed multiple Websocket connections
- Added frequency handler
- Fixed reconnecting to the WebSocket
- Restructured the code
- Implemented reconnecting
- Shrank code down
- Added the option to use the cloud as a datasource
- Updated GitHub workflows
- Updated README.md
- Created "examples"-directory for sample applications
- Added some translations
- Renamed checkbox "Parser" to something more intuitive
- Fixxed #4: Datapoint "map" now gets created correctly
- Fixxed #5: Password-characters are no longer visible
- Fixxed type conflict of cableType
- SebastianHanz fixed infinite RAM-usage
- added some description
- SebastianHanz fixed type-conflicts. Thank you!
- Bug fixes
- Bug fixes
- Fixed Bugs
- Min Node Version 16
- Updated Readme
- Bug fixed
- Added a how to install. Not to detail because currently not in stable repo.
- Fixed NPM Versions hopefully
- Added UselessPV and TimeStamp Parser, did some testing.
- Tests
- Did some changes
- Did some more changes
- Better Code
- Parser option added
- Parser added
- Bug fixed
- Initial release
MIT License
Copyright (c) 2024 tim2zg tim2zg@protonmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.