You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+28-19Lines changed: 28 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
### Getting started
4
4
This is a Shelly Pro 3EM Emulator running on ESP8266 or ESP32 using various input sources for power data.<br>
5
-
This can be used for zero feed-in with Hoymiles MS-A2 and Marstek Venus (testers needed!).
5
+
This can be used for zero feed-in with Hoymiles MS-A2, Growatt NOAH/NEXA and Marstek Venus (testers needed!).
6
6
7
7
Kudos to @sdeigms excellent work at https://github.com/sdeigm/uni-meter which made this port easily possible.<br>
8
8
SMA Multicast code is based on https://www.mikrocontroller.net/topic/559607
@@ -14,42 +14,50 @@ SMA Multicast code is based on https://www.mikrocontroller.net/topic/559607
14
14
## Option 2: Flash pre-compiled binary via browser
15
15
1) connect your ESP to your PC using USB and follow the instructions on the [webflasher](https://therealmoeder.github.io/Energy2Shelly_ESP/)
16
16
17
-
##Configuration
17
+
# Configuration
18
18
1) Power device and wait for a hotspot named "Energy2Shelly"
19
19
2) Connect to that hotspot
20
20
3) Enter wifi and configuration data using the captive portal or by opening http://192.168.4.1/
21
21
22
-
### On the captive portal you can currently enter:
22
+
### On the captive portal you can currently set a data source for power data. The following options are available:
23
23
- <code>MQTT</code>
24
-
- Server IP, port and topic; power values on the MQTT topic are expected in JSON format. The are multiple fields to define the available values using a JSON Path-style syntax.
24
+
- Server IP, port, username, password and topic
25
+
- Power values on the MQTT topic are expected in JSON format. The are multiple fields to define available values using a JSON Path-style syntax.
25
26
You can also select between monophase and triphase power data.<br>
26
27
27
-
examples (monophase profile):
28
+
example (monophase profile):
28
29
- Total power JSON path -> <code>ENERGY.Power</code> for <code>{"ENERGY":{"Power":9.99}}</code><br>
29
30
- Phase 1 power JSON path -> "no definition" <br>
30
31
- Phase 2 power JSON path -> "no definition" <br>
31
32
- Phase 3 power JSON path -> "no definition" <br>
32
-
- Energy from grid JSON path -> <code>ENERGY.Consumption</code> for <code>{"ENERGY":{"Consumption"77}}</code><br>
33
-
- Energy to grid JSON path -> <code>ENERGY.Production</code> for <code>{"ENERGY":{"Production"33}}</code><br>
33
+
- Energy from grid JSON path -> <code>ENERGY.Consumption</code> for <code>{"ENERGY":{"Consumption":77}}</code><br>
34
+
- Energy to grid JSON path -> <code>ENERGY.Production</code> for <code>{"ENERGY":{"Production":33}}</code><br>
34
35
-> Energy2Shelly_ESP responds to <br><code>{"ENERGY":{"Power": 9.99,"Consumption":77,"Production":33}}</code><br>
35
36
36
-
examples (triphase profile):
37
+
example (triphase profile):
37
38
- Total power JSON path -> <code>ENERGY.Power</code> for <code>{"ENERGY":{"Power":7.3}}</code><br>
38
39
- Phase 1 power JSON path -> <code>ENERGY.Pow1</code> for <code>{"ENERGY":{"Pow1":98}}</code><br>
39
40
- Phase 2 power JSON path -> <code>ENERGY.Pow2</code> for <code>{"ENERGY":{"Pow2":196}}</code><br>
40
41
- Phase 3 power JSON path -> <code>ENERGY.Pow3</code> for <code>{"ENERGY":{"Pow3":294}}</code><br>
41
-
- Energy from grid JSON path -> <code>ENERGY.Consumption</code> for <code>{"ENERGY":{"Consumption"98}}</code>
42
-
- Energy to grid JSON path -> <code>ENERGY.Production</code> for <code>{"ENERGY":{"Production"131}}</code><br>
42
+
- Energy from grid JSON path -> <code>ENERGY.Consumption</code> for <code>{"ENERGY":{"Consumption":98}}</code>
43
+
- Energy to grid JSON path -> <code>ENERGY.Production</code> for <code>{"ENERGY":{"Production":131}}</code><br>
43
44
-> Energy2Shelly_ESP responds to <br><code>{"ENERGY":{"Power":7.3,"Pow1":98,"Pow2":196,"Pow3":294,"Consumption":98,"Production":131}}</code><br>
44
45
45
46
- <code>SMA</code>
46
-
- SMA Energy Meter or Home Manager UDP multicast data; if you have multiple SMA energy meters you can optionally provide the serial number of the source you want to use in the configuration options
47
+
- SMA Energy Meter or Home Manager UDP multicast data
48
+
- if you have multiple SMA energy meters you can optionally provide the serial number of the source you want to use in the configuration options
47
49
- <code>SHRDZM</code>
48
-
- SHRDZM smart meter interface (common in Austria) with UDP unicast data; please enable UDP broadcasts to the IP of the ESP and port 9522 within SHRDZM
50
+
- SHRDZM smart meter interface (common in Austria) with UDP unicast data
51
+
- please enable UDP broadcasts to the IP of the ESP and port 9522 within SHRDZM
49
52
- <code>HTTP</code>
50
-
- a generic HTTP input; enter a query URL in the second parameter field which delivers JSON data and define at least the JSON Path for total power. For full details on JSONPath configuration, check the section on MQTT above.<br>
53
+
- a generic HTTP input
54
+
- enter a query URL in the second parameter field which delivers JSON data and define at least the JSON Path for total power.
55
+
- for full details on JSONPath configuration, check the section on MQTT above.<br>
51
56
- <code>SUNSPEC</code>
52
-
- generic SUNSPEC register data polling via Modbus TCP; use server for address of Modbus device (e.g. Kostal Smart energy meter), port for Modbus TCP port (usually 502) and Modbus device ID for the unit ID (71 for KSEM)
57
+
- generic SUNSPEC register data polling via Modbus TCP
58
+
- you can setup host ip of Modbus device (e.g. Kostal Smart energy meter)
59
+
- Modbus TCP port (usually 502)
60
+
- Modbus Device ID of the unit ID (71 for KSEM)
53
61
54
62
### Here are some sample generic HTTP query paths for common devices:
0 commit comments