Commit graph

152 commits

Author SHA1 Message Date
Jan-Jonas Sämann
2934c23688 Update UnknownResponse decoder 2022-05-15 18:26:59 +02:00
Jan-Jonas Sämann
5101b22ff7 Provide Influx2 output plugin
Allready thougt about it earlier and requested in #29
2022-05-15 16:19:38 +02:00
Jan-Jonas Sämann
7415139038 Provide rx time in response 2022-05-15 16:06:38 +02:00
Jan-Jonas Sämann
e5b427f4f2 Provice decoders super class to ensure properties 2022-05-15 16:04:38 +02:00
Jan-Jonas Sämann
532168e1eb Allow disable mqtt 2022-05-14 19:51:47 +02:00
Jan-Jonas Sämann
0f52c62b3f Setup NRF send/receive pipes
Fixes no response from WR
2022-05-14 19:47:10 +02:00
Jan-Jonas Sämann
3aff763e8f WIP: Partially decode event log 0x11 and 0x12 2022-05-11 18:58:09 +02:00
Jan-Jonas Sämann
d408264521 Adds documentation to python-hoymiles module 2022-05-11 18:52:28 +02:00
Jan-Jonas Sämann
38346abde2 Update python decoders improves protocol analysis 2022-05-11 00:14:40 +02:00
Jan-Jonas Sämann
d27f0c1148 Integrate ahoy.py into hoymiles module
Finally get rid of ahoy.py and integrate functionallity into the module
itself. Prepares for pipelines, adding pip installer or debian packaging.

Improve configuration adds commandline switches for:

  * `--verbose, enabling verbose logging
  * `--log-transactions`, outbut all rf raw data

Improve loop, now runs all queued commands per inverter within interval.
Skip sleep when interval is allready due.
2022-05-11 00:05:09 +02:00
Jan-Jonas Sämann
6627eeb931 Update channel hop list
remove channel 9 and 11 because there was never seen a single frame
received
2022-05-08 16:25:53 +02:00
Jan-Jonas Sämann
1ef4507e8f Update 1161-Series decoders
Fixes missing HM1200 decoder
2022-05-08 13:02:30 +02:00
Jan-Jonas Sämann
ff615dba8b Pull-in diff from franz supports 1121-Series
Source
  https://www.mikrocontroller.net/topic/525778#7058357
2022-05-08 12:43:58 +02:00
Jan-Jonas Sämann
3b54b58567 Update Decodes, group decoders by inverter serial
Seems to be that we can not exactly determine the actual model by
looking at the serial. What we seemingly can guess is how many MPPT and
Phases a range of serials have.

Some Group-Based decoders should be compatible across the group.

A group is now named by the lowest model

  * 1121: HM300 1 MPPT, 1 Phase
  * 1141: HM600 2 MPPT, 1 Phase
  * 1161: HM1200 4 MPPT, 1 Phase
2022-05-08 12:38:00 +02:00
Jan-Jonas Sämann
664e846767
Merge pull request #3 from tbnobody/pypackage
Fixes StatusResponse byte assignment for 1161-Series inverters
2022-05-08 12:32:01 +02:00
Thomas Basler
31aba4d722 Fixed divider for AC Current 2022-05-07 10:45:07 +01:00
Thomas Basler
809dec69c7 Merge branch 'pypackage' of https://github.com/Sprinterfreak/ahoy into pypackage 2022-05-07 10:33:14 +01:00
Thomas Basler
767e1c5ee9 Fixed Power assignment for DC Port 1 2022-05-07 10:31:17 +01:00
Jan-Jonas Sämann
0946f1c765 Merge branch 'main' into pypackage 2022-05-06 22:23:02 +02:00
Jan-Jonas Sämann
976991df46 Remove debug script test.py 2022-05-06 20:04:20 +02:00
Jan-Jonas Sämann
f71e43f9ab Merge remote-tracking branch 'refs/remotes/jan/pypackage' into pypackage 2022-05-06 20:01:20 +02:00
Jan-Jonas Sämann
ef67cbe26e Add python requirement PyYAML 2022-05-06 19:59:01 +02:00
Jan-Jonas Sämann
0ee867993c MQTT payload injection and default unknown decoder
Adds the ability to directly inject payloads to be sent to the inverter.
Fixes application crash at missing decoder by adding default decoding.

All unknown payloads are now printed as long- and short-lists for faster
protocol analysis
2022-05-06 19:54:04 +02:00
Jan-Jonas Sämann
b7c70e415b
Merge pull request #2 from tbnobody/pypackage
Fixed total production for string 3
2022-05-06 10:28:23 +02:00
Thomas Basler
e8ad778918 Fixed total production for string 3 2022-05-06 06:25:52 +01:00
Jan-Jonas Sämann
42bd240083
Merge pull request #1 from tbnobody/pypackage
Added parser for HM-1500
2022-05-05 22:31:56 +02:00
Thomas Basler
eb2608b77d Fixed syntax errors 2022-05-05 21:07:03 +01:00
Thomas Basler
39e253bc28 Added parser for HM-1500 2022-05-05 21:07:03 +01:00
Jan-Jonas Sämann
a1cfaf5918 Change default mqtt prefix to hoymiles/serial 2022-05-05 21:07:25 +02:00
Jan-Jonas Sämann
a33c49fd35 Fix mqtt broker config disable attribute 2022-05-05 20:40:10 +02:00
Jan-Jonas Sämann
fcdf9a8b37 Fix ahoy.yml.sample zero byte serial
Turns out, serial numbers can't have zero bytes.
2022-05-05 19:57:02 +02:00
Jan-Jonas Sämann
9026dfa4bc Prepare decoder template for HM-1500 2022-05-05 19:42:58 +02:00
Jan-Jonas Sämann
9d75ca0c34 Ahoy Python Rewrite
Is was clear, the cmd approach does not decode payloads reliably.
The modular form allows for easy tinkering.

This implements

 * hoymiles protocol
 * transport-layer enables for retransmit of missed fragments
 * full payload decode
 * device specific decoders
 * transaction tracking enables decoding of different datasets
 * multi-inverter support
 * configuration format change to YAML (required for multi-inverter)

First PoC, lots of things have to be relocated, rewritten and exteded.

Currently only supports Hoymiles HM-600, more device decodes have to be added by
users who have the hardware.
2022-05-05 18:35:24 +02:00
lumapu
8f444cee2f * improved tickers, only one ticker is active
* added feature to use the ESP as access point for all the time
* added serial features to setup
2022-05-04 19:28:54 +02:00
lumapu
4c3852cde4 * fixed erase settings
* fixed behavior if no MQTT IP is set (the system was nearly unusable because of delayed responses)
* fixed Station / AP WiFi on startup -> more information will be printed to the serial console
* added new ticker for serial value dump
2022-05-03 23:29:33 +02:00
lumapu
539d4f73c1 * added config.h for general configuration
* added option to compile WiFi SSID + PWD to firmware
* added option to configure WiFi access point name and password
* added feature to retry connect to station WiFi (configurable timeouts)
* updated index.html
* added option for factory reset
* added info about project on index.html
* moved "update" and "home" to footer
* fixed #23 HM1200 yield day unit
* fixed DNS name of ESP after setup (some commits before)
2022-05-03 21:03:03 +02:00
Jan-Jonas Sämann
d7f9f6d3be PoC Hoymiles package full payload decode WIP
Transform ahoy.py into a python library, implements decoding of
fragmented large payloads.
The module also allows for easier tinkering and replay testing.
2022-05-02 22:41:42 +02:00
lumapu
c4b731708a
Merge pull request #22 from docBmuc/main
Fix in live view, larger boxes in CSS, SPI-Speed define
2022-05-02 19:42:34 +02:00
docBmuc
59b6addccf Fix in live view, larger boxes in CSS, SPI-Speed define
Fixed missing HM800 in liveView

Larger boxes in CSS

Introduced SPI speed define for reduced speed (1MHz) for increased stability
2022-05-02 19:06:10 +02:00
lumapu
2abd388726 * converted to "poor-man-ticker" using millis() for uptime, send and mqtt
* added inverter overview
* added send count to statistics
2022-05-01 20:48:10 +02:00
lumapu
89624f7f02 compile of merge, binary published on https://www.mikrocontroller.net/topic/525778?goto=7051413#7051413 2022-05-01 13:26:25 +02:00
lumapu
90f2ef483c
Merge pull request #21 from tbnobody/fix-hm600
Fixed assignment for HM-600
2022-05-01 13:09:04 +02:00
Thomas Basler
774be8fecf Fixed assignment for HM-600
Based on several logs and tries we updated the AC
side of the HM-600 inverter.
2022-04-30 22:58:33 +02:00
Martin Grill
6f56e740e6 Added list of known serial numbers vs inverter type - compiled by isnoAhoy 2022-04-30 18:28:56 +02:00
lumapu
5b8709e0c9 Merge branch 'main' of https://github.com/grindylow/ahoy 2022-04-30 09:45:28 +02:00
lumapu
41b4f72b52 fix: doCalculations was not called 2022-04-30 09:44:20 +02:00
lumapu
71c83ac1fb * version 0.3.0
* added unit test
2022-04-30 02:13:38 +02:00
lumapu
af4960f1c4 * fixed issues (found during unit test) 2022-04-30 02:02:41 +02:00
lumapu
32e58c98c0 * compile ok, added 4 calculation functions for test 2022-04-30 00:53:51 +02:00
lumapu
93d16be619
Update getting-started-ESP8266.md 2022-04-29 23:49:55 +02:00