88 Commits

Author SHA1 Message Date
Victor Chang
be19f4e0b5 Clarify docs and make example yamls consistent. (#12) 2025-12-27 14:12:36 -08:00
pixelgrb
dd177d5a6f Documentation fixes, and a few changes. (#11) 2025-10-04 09:42:11 -07:00
Victor Chang
0ec0d49b83 Minor edits & change the "better" yaml to "simple" with more comments. 2025-09-02 00:10:46 -07:00
pixelgrb
4119104259 Large documentation update (#10)
* Docs: overhaul of all the docs.  The main README.md is much leaner and broke off the steps.  Added a FAQ, greatly expanded the Wiring section.

* Fixed FAQ link

* Fixed some relative links

* Fixed another link

* Minor

* Reverted title of the Project - didn't mean to do that.
2025-09-01 22:21:55 -07:00
Victor Chang
5eb11dc7b5 Move globals above sensor according to feedback:
https://community.home-assistant.io/t/emporia-vue-utility-connect/378347/247
2025-08-30 00:56:35 -07:00
Victor Chang
575cbef882 Update the example YAMLs to use esp-idf. 2025-08-29 15:46:59 -07:00
Victor Chang
475044ffbf Update syntax for esp-idf.
Apparently esp-idf will be required by ESPHome 2026.1.0, so just making
the switch to esp-idf now.

The syntax change appears to still work with Arduino as well.
2025-08-29 15:44:00 -07:00
Qi Liu
80b501fe46 Use pinMode to configure GPIO pins (#8)
After upgrading to esp32 Arduino 3.1.3, gpio_pad_select_gpio is no longer exposed.
2025-07-16 21:00:47 -07:00
Victor Chang
a9258b7c04 Remove platform: from example YAMLs. 2025-03-10 21:48:49 -07:00
jgruen
e21d0cee83 Avoid using wall time in case it jumps. (#3)
Instead, use std::chrono's steady_clock.
2025-01-07 00:40:27 -08:00
Victor Chang
dab1b661ec Fix some wording. 2024-10-29 11:47:11 -07:00
Victor Chang
0abef4da8a Document the YAML configuration in the README. 2024-10-29 00:35:49 -07:00
Victor Chang
cedc8d1bbf Revert "Update example YAML files."
This reverts commit bdea6fdfe0.
2024-10-24 17:09:22 -07:00
Victor Chang
bdea6fdfe0 Update example YAML files. 2024-10-22 21:58:59 -07:00
Victor Chang
10175e349b Minimal changes to work with ESP-IDF. 2024-10-22 21:49:41 -07:00
Victor Chang
0e04ac2836 Fix some minor things. 2024-10-22 21:44:45 -07:00
Victor Chang
f1126d5553 Apply meter divisor calculation to all spots in V2 and V7. 2024-06-17 00:00:05 -07:00
Victor Chang
b47be0769f Support MeterDiv involvement in Watt calculation. 2024-06-13 23:55:03 -07:00
Victor Chang
5ac97c9e90 Update the doc about the error message payload. 2024-06-12 23:49:08 -07:00
Victor Chang
556e2fc476 Advise to move device closer to the meter if 'e'-type message. 2024-06-12 23:40:57 -07:00
Victor Chang
cd4c6c97ab Merge pull request #1 from visualage/main
Add Arduino.h for digitalWrite
2024-06-09 17:47:42 -07:00
Victor Chang
2e098f3f65 Actually save the file. 2024-06-09 15:38:41 -07:00
Victor Chang
678a56ab03 Create sample YAMLs that use the external component and update README. 2024-06-09 15:36:17 -07:00
Qi Liu
bd896bcfb5 Add Arduino.h for digitalWrite 2024-06-09 09:09:04 -07:00
Victor Chang
fc6676e197 Move the Custom Component files to a legacy folder. 2024-06-08 22:54:26 -07:00
Victor Chang
0ed07460f8 Expose debug mode in the YAML and have debug output for V7+.
Can add `debug: true` to the YAML to enable.
2024-06-08 02:01:16 -07:00
Victor Chang
6bd100481f Fix code scope. 2024-06-08 02:01:16 -07:00
Victor Chang
63434eaefc Use the update() function to send meter requests. 2024-06-08 02:01:16 -07:00
Victor Chang
148fb80440 Solved incessant update() call rate. 2024-06-08 02:01:16 -07:00
Victor Chang
2aac3047ef Add MGM info to dump_config(). 2024-06-08 02:01:16 -07:00
Victor Chang
77f356f72a Undo formatter flub. 2024-06-08 02:01:16 -07:00
Victor Chang
b3d1a1fda4 Formatted. 2024-06-08 02:01:16 -07:00
Victor Chang
2e0c6f853a MVP: Works for me! Not idiomatic yet. 2024-06-08 02:01:16 -07:00
Victor Chang
ebc649adea WIP Tried flashing and nothing seems to happen during runtime.
The "Time jumped back" code is also incompatible for now, TBD what's
going on.
2024-06-08 02:01:16 -07:00
Victor Chang
3a96f0a103 WIP Potentially functional code but sensor.py not complete.
Still very much not idiomatic to the External Component format.
2024-06-08 02:01:16 -07:00
Victor Chang
254e35efdd Some more stubbed stuff. 2024-06-08 02:01:16 -07:00
Victor Chang
72def8c8f9 Initial external component commit. 2024-06-08 02:01:16 -07:00
Victor Chang
4c125f7e9d Replace another link and add some version labeling. 2024-06-08 01:52:35 -07:00
Victor Chang
a64563c7fc Adopt the EnergyCostUnit documented theory from V2 into V7. 2024-06-04 23:51:57 -07:00
Victor Chang
54fd1242f7 Add a couple static bytes to the V7+ payload documentation. 2024-06-04 23:30:24 -07:00
Victor Chang
4873672506 Change the bug report text to just link to the forum thread. 2024-06-02 22:12:58 -07:00
Victor Chang
cbe6e974fc Format python tool. 2024-06-02 22:03:47 -07:00
Victor Chang
d108b4f8d1 Merge remote-tracking branch 'upstream/main' 2024-06-02 22:03:32 -07:00
baudneo
b527e8455f Fixes an issue in esphome 2023.12.x where time() will raise an error. Use ::time() instead. (#15)
Co-authored-by: Joe Rouvier <jrouvier@users.noreply.github.com>
2024-01-28 18:41:08 -08:00
baudneo
877526fed4 Fix MQTT id attribute (#12)
* Update vue-utility.yaml

mqtt id attr doesnt accept dash '-', need underscore '_'.

* Update vue-utility-solar.yaml

mqtt id attr doesnt accept dash '-', needs underscore '_'.
2024-01-28 18:40:03 -08:00
jgruen
44a0050cf1 Handle time going backwards, and net consumption never going decreasing (#11)
* Add W_consumed and W_returned Sensors for solar

If a solar customer is not yet on _net metering_, then the kWh_net
Sensor will never decrease (i.e., meter does _not_ run
backwards). This means that kWh_returned will always be zero, even
though power _is_ flowing back to the grid (though the customer is not
being credited for it).

For visualizing in e.g. Home Assistant's Energy dashboard, we
therefore export the Watts flowing in either direction (to or from the
grid) so that integral helpers/sensors/entities can be used to show
the _actual_ energy flow to and from the grid (again, even though the
customer is not being credited (yet?) on the meter / bill).

* disambiguate `time()` if e.g. using the ESPHome `time` component

* handle time jumping backwards
2024-01-28 18:39:50 -08:00
Victor Chang
21b4753cbd Fix the calculation for "net". 2024-01-27 23:30:09 -08:00
Victor Chang
4a9adb7615 Handle erroneous watt-hour values. 2024-01-14 20:22:38 -08:00
Victor Chang
46480433de Expose Wh values and allow yaml to specify poll rate.
Also handle duplicate meter read responses.
2024-01-13 02:29:52 -08:00
Victor Chang
d1f0759b8f Fix handling negative net watt-hours. 2024-01-12 19:01:35 -08:00