Skip to content

Commit 2b26c5f

Browse files
authored
Merge branch 'syssi:main' into overshoot_compensation
2 parents 0a38096 + 03ae428 commit 2b26c5f

File tree

6 files changed

+67
-8
lines changed

6 files changed

+67
-8
lines changed

.github/workflows/ci.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
working-directory: ${{ env.esphome_directory }}
4343

4444
- name: Set up platformio environment
45-
run: pio init --ide atom
45+
run: pio init --ide vscode
4646
working-directory: ${{ env.esphome_directory }}
4747

4848
- name: Run clang-format
@@ -77,7 +77,7 @@ jobs:
7777
# Set up the pio project so that the cpp checks know how files are compiled
7878
# (build flags, libraries etc)
7979
- name: Set up platformio environment
80-
run: pio init --ide atom
80+
run: pio init --ide vscode
8181
working-directory: ${{ env.esphome_directory }}
8282

8383
- name: Register problem matchers

powermeter-sensor-examples/esphome-http-rest-api.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ http_request:
88

99
sensor:
1010
- platform: template
11-
id: powermeter
11+
id: powermeter0
1212
name: "Instantaneous Power"
1313
unit_of_measurement: W
1414
device_class: "power"
@@ -29,6 +29,6 @@ interval:
2929
std::string response_data = id(http_request0).get_string();
3030
if(!response_data.empty()) {
3131
json::parse_json(response_data, [](JsonObject root) {
32-
id(powermeter).publish_state(root["value"]);
32+
id(powermeter0).publish_state(root["value"]);
3333
});
3434
}

powermeter-sensor-examples/shelly-3em-http-status-json.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ http_request:
88

99
sensor:
1010
- platform: template
11-
id: powermeter
11+
id: powermeter0
1212
name: "Instantaneous Power"
1313
unit_of_measurement: W
1414
device_class: "power"
@@ -29,6 +29,6 @@ interval:
2929
std::string response_data = id(http_request0).get_string();
3030
if(!response_data.empty()) {
3131
json::parse_json(response_data, [](JsonObject root) {
32-
id(powermeter).publish_state(root["total_power"]);
32+
id(powermeter0).publish_state(root["total_power"]);
3333
});
3434
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"StatusSNS": {
3+
"SML": {
4+
"amp_p1": 0.7,
5+
"amp_p2": 0.9,
6+
"amp_p3": 0.3,
7+
"curr_w": -141,
8+
"export_total_kwh": 406.3138,
9+
"freq": 50,
10+
"phase_angle_l2_l1": 240,
11+
"phase_angle_l3_l1": 120,
12+
"phase_angle_p1": 233,
13+
"phase_angle_p2": 112,
14+
"phase_angle_p3": 306,
15+
"server_id": "ffffffffffffffffffff",
16+
"total_kwh": 1608.8451,
17+
"volt_p1": 239.7,
18+
"volt_p2": 239.8,
19+
"volt_p3": 239
20+
},
21+
"Time": "2023-07-07T09:32:07"
22+
}
23+
}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# https://github.com/syssi/esphome-soyosource-gtn-virtual-meter/discussions/137
2+
3+
substitutions:
4+
tasmota_status_url: "http://192.168.132.5/cm?cmnd=status+10"
5+
6+
http_request:
7+
id: http_request0
8+
useragent: esphome/device
9+
timeout: 1000ms
10+
11+
sensor:
12+
- platform: template
13+
id: powermeter0
14+
name: "Instantaneous Power"
15+
unit_of_measurement: W
16+
device_class: "power"
17+
accuracy_decimals: 2
18+
update_interval: never
19+
20+
interval:
21+
- interval: 1100ms
22+
then:
23+
- http_request.get:
24+
url: ${tasmota_status_url}
25+
headers:
26+
Content-Type: application/json
27+
verify_ssl: false
28+
on_response:
29+
then:
30+
- lambda: |-
31+
std::string response_data = id(http_request0).get_string();
32+
if(!response_data.empty()) {
33+
json::parse_json(response_data, [](JsonObject root) {
34+
id(powermeter0).publish_state(root["StatusSNS"]["SML"]["curr_w"]);
35+
});
36+
}

powermeter-sensor-examples/tasmota-http-status-sns.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ http_request:
1010

1111
sensor:
1212
- platform: template
13-
id: powermeter
13+
id: powermeter0
1414
name: "Instantaneous Power"
1515
unit_of_measurement: W
1616
device_class: "power"
@@ -31,6 +31,6 @@ interval:
3131
std::string response_data = id(http_request0).get_string();
3232
if(!response_data.empty()) {
3333
json::parse_json(response_data, [](JsonObject root) {
34-
id(powermeter).publish_state(root["StatusSNS"]["SML"]["Leistung"]);
34+
id(powermeter0).publish_state(root["StatusSNS"]["SML"]["Leistung"]);
3535
});
3636
}

0 commit comments

Comments
 (0)