File tree Expand file tree Collapse file tree 6 files changed +67
-8
lines changed
powermeter-sensor-examples Expand file tree Collapse file tree 6 files changed +67
-8
lines changed Original file line number Diff line number Diff line change 42
42
working-directory : ${{ env.esphome_directory }}
43
43
44
44
- name : Set up platformio environment
45
- run : pio init --ide atom
45
+ run : pio init --ide vscode
46
46
working-directory : ${{ env.esphome_directory }}
47
47
48
48
- name : Run clang-format
77
77
# Set up the pio project so that the cpp checks know how files are compiled
78
78
# (build flags, libraries etc)
79
79
- name : Set up platformio environment
80
- run : pio init --ide atom
80
+ run : pio init --ide vscode
81
81
working-directory : ${{ env.esphome_directory }}
82
82
83
83
- name : Register problem matchers
Original file line number Diff line number Diff line change @@ -8,7 +8,7 @@ http_request:
8
8
9
9
sensor :
10
10
- platform : template
11
- id : powermeter
11
+ id : powermeter0
12
12
name : " Instantaneous Power"
13
13
unit_of_measurement : W
14
14
device_class : " power"
@@ -29,6 +29,6 @@ interval:
29
29
std::string response_data = id(http_request0).get_string();
30
30
if(!response_data.empty()) {
31
31
json::parse_json(response_data, [](JsonObject root) {
32
- id(powermeter ).publish_state(root["value"]);
32
+ id(powermeter0 ).publish_state(root["value"]);
33
33
});
34
34
}
Original file line number Diff line number Diff line change @@ -8,7 +8,7 @@ http_request:
8
8
9
9
sensor :
10
10
- platform : template
11
- id : powermeter
11
+ id : powermeter0
12
12
name : " Instantaneous Power"
13
13
unit_of_measurement : W
14
14
device_class : " power"
@@ -29,6 +29,6 @@ interval:
29
29
std::string response_data = id(http_request0).get_string();
30
30
if(!response_data.empty()) {
31
31
json::parse_json(response_data, [](JsonObject root) {
32
- id(powermeter ).publish_state(root["total_power"]);
32
+ id(powermeter0 ).publish_state(root["total_power"]);
33
33
});
34
34
}
Original file line number Diff line number Diff line change
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
+ }
Original file line number Diff line number Diff line change
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
+ }
Original file line number Diff line number Diff line change @@ -10,7 +10,7 @@ http_request:
10
10
11
11
sensor :
12
12
- platform : template
13
- id : powermeter
13
+ id : powermeter0
14
14
name : " Instantaneous Power"
15
15
unit_of_measurement : W
16
16
device_class : " power"
@@ -31,6 +31,6 @@ interval:
31
31
std::string response_data = id(http_request0).get_string();
32
32
if(!response_data.empty()) {
33
33
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"]);
35
35
});
36
36
}
You can’t perform that action at this time.
0 commit comments