* Split out entity helper functionality to own class
* Split out heartbeat to own class
* Break out poe command
* Make more parts private
* Make more things private and simplify naming
* Sort initialize
* Fix ruff
* Fix race in TimestampDataUpdateCoordinator
The last_update_success_time value was being set after the listeners
were fired which could lead to a loop because the listener may
re-trigger an update because it thinks the data is stale
* coverage
* docstring
* Add new plain_text parser
Passing None in the parse_mode kwargs on the various bot methods actually means that no parser is used.
* Add new plain text parser option to services.yaml
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Capture parsing exception when collecting dependencies and augment with offending filename.
Whereas before any syntax error in some component-file would result in an opaque SyntaxError without pointing out the file, now the result will show as:
```
File "/usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/pool.py", line 873, in next
raise value
SyntaxError: Can't parse file homeassistant/components/your/file.py
```
* tweak
* D'oh, had pre-commit hook still off.
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* add debug info to zeroconf for enphase_envoy
* Implement review feedback, lost space
Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>
* review feedback textual changes.
* implement review feedbackw.py
Co-authored-by: J. Nick Koston <nick@koston.org>
* Add some more zeroconf tests and valid jwt
* review feedback assert abort reason and keyerror for serialnumber
* Review feedback config flow test ends with abort or create_entry
* Review feedback optimize resource usage
* Cover new code in test.
* Use caplog for debug COV
---------
Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>
Co-authored-by: J. Nick Koston <nick@koston.org>