Skip to content

Commit eb984df

Browse files
authored
Merge pull request tasmota#470 from tasmota/development
merge dev into master
2 parents 89019f7 + 9c3e424 commit eb984df

File tree

6 files changed

+45
-36
lines changed

6 files changed

+45
-36
lines changed

docs/AS3935.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,14 +122,15 @@ Setting table of the NF-noise sensitivity and stages:
122122
Stage 9 | 001 | Outdoors | 630 |
123123
Stage 10 | 010 | Outdoors | 860 |
124124
Stage 11 | 011 | Outdoors | 1100 |
125-
Stage 12 | 100 | Outdoors | 1140 |
125+
Stage 12 | 100 | Outdoors | 1330 |
126126
Stage 13 | 101 | Outdoors | 1570 |
127127
Stage 14 | 110 | Outdoors | 1800 |
128128
Stage 15 | 111 | Outdoors | 2000 | less sensitive
129129

130130

131131
!!! tips "Hint and Tips"
132132
- take a stabilized power supply.
133+
- keep a distance of at least 200 mm from the ESP and the AS3395
133134
- be careful with "ready to Use" devices like Sonoff, etc. they don't have a good power supply inside.
134135
- use a Ferrit clamp filter on the sensor cable.
135136
- wire all related Pins for I2C use.
@@ -156,7 +157,7 @@ You can find some troubleshooting tips in the [Tasmota GitHub discussion](https:
156157
"Some type of this sensor have wrong capacitors (100pF and 1000pF) installed and the calibration fails.
157158
The correct caps are 680pF and 270pF." <br>
158159

159-
160+
![AS3935](_media/peripherals/CJMCU_AS3935_Wrong.jpg)<br><br>
160161

161162
## Datasheet:
162163
[Datasheet from Mouser Web Site](https://www.mouser.com/datasheet/2/588/ams_AS3935_Datasheet_EN_v5-1214568.pdf)

docs/Blinds-and-Shutters.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ If you desire that the %-opening closely match what `ShutterPosition<x>` and web
117117
- Finally, enter the position measurements as the calibration values:
118118
`ShutterCalibration<x> 15 50 100 150 180`
119119

120-
`ShutterCalibration<x>` takes position measurements (**not** the time it takes to move). During calibration you position the shutter to an indicated percentage (e.g., `30%`) of opening and measure the shutter position (e.g., `15`). Use the same unit of measure for all your measurements (e.g., centimeters, inches, etc.). After calibration `ShutterPosition<x> 30` will move to `30%` opening which will correspond to the position you provided (`15`).
120+
`ShutterCalibration<x>` takes position measurements (**not** the time it takes to move). During calibration you position the shutter to an indicated percentage (e.g., `30%`) of opening and measure the shutter position (e.g., `15`). Use the same unit of measure for all your measurements (e.g., centimeters, inches, steps, etc.). After calibration `ShutterPosition<x> 30` will move to `30%` opening which will correspond to the position you provided (`15`).
121121

122122
Notice that there is no calibration for the 10\% position. On many shutters, there is no movement during the initial phase (i.e., nearly 10% of total time). Therefore the opening could be `0`. This measurement would cause an execution DIV 0 exception. Therefore the first calibration point is 30%. In most cases this is not a large opening so the calibration will be near enough. Yes, until ~10%, the position will be a bit "off" but not enough for concern.
123123

docs/I2CDevices.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
Tasmota supports several I2C devices but to use them they mostly need to be enabled at compile time to solve possible address conflicts.
44

5+
### Look at [Pre-Compiled Builds](https://github.com/arendst/Tasmota/blob/development/BUILDS.md) to see, which Driver is compiled in the release binarys.
6+
57
Using command ``I2cDriver`` individual drivers can be enabled or disabled at runtime allowing duplicate I2C addresses at compile time. Use the Index from the table below to control I2C drivers like ``I2cDriver10 0`` for disabling BMP support.
68

79
## Supported I2C devices
@@ -64,7 +66,8 @@ Index | Define | Driver | Device | Address(es) | Description
6466
41 | USE_DHT12 | xsns_58 | DHT12 | 0x5C | Temperature and humidity sensor
6567
42 | USE_DS1624 | xsns_59 | DS1621 | 0x48 - 0x4F | Temperature sensor
6668
42 | USE_DS1624 | xsns_59 | DS1624 | 0x48 - 0x4F | Temperature sensor
67-
43 | USE_AHT1x | xsns_63 | AHT10/15 | 0x38 | Temperature and humidity sensor
69+
43 | USE_AHT1x | xsns_63 | AHT10/15 | 0x38 or 0x39 | Temperature and humidity sensor
70+
43 | USE_AHT2x | xsns_63 | AHT20 | 0x38 | Temperature and humidity sensor
6871
44 | USE_WEMOS_MOTOR_V1 | xdrv_34 | | 0x2D - 0x30 | WEMOS motor shield v1.0.0 (6612FNG)
6972
45 | USE_HDC1080 | xsns_65 | HDC1080 | 0x40 | Temperature and Humidity sensor
7073
46 | USE_IAQ | xsns_66 | IAQ | 0x5a | Air quality sensor

docs/P1-Smart-Meter.md

Lines changed: 36 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
1-
# Kaifa MA105C Energy Meter
2-
In this example the Kaifa MA105C meter is used and might work with other meters as well.
1+
# P1 Smart Meter
2+
Reading serial data from a P1 smart meter using a Wemos with Tasmota installed.
3+
4+
Tested on the following smart meters:
5+
- Kaifa MA105C
6+
- De Landis + Gyr, E350 (ZCF110)
37

48
## Schematics
5-
<img src="https://github.com/arendst/arendst.github.io/blob/master/media/wemos/wemos_kaifa_energy_meter_scematic.png?raw=true" >
9+
![](_media/p1-smartmeter/p1-smartmeter.png)
610

711
The transistor makes sure that the RxD signal is converted and inverted to 3.3v
812

@@ -11,40 +15,41 @@ In the **_Configuration -> Configure Module_** page, select module `Generic (18)
1115

1216
From the web console set the serial delimiter to 10 (newline). This makes Tasmota publish each line of the telegram separately to mqtt.
1317

14-
`SerialDelimiter 10`
18+
- `SerialDelimiter 10`
19+
- `SerialSend 1`
1520

16-
`SerialSend`
21+
For more details see [serial-bridge](Commands.md#serial-bridge).
1722

1823
## Example output
1924
Below an example of the telegram message published (per line) to mqtt. From here your HA system can process the data required for your needs.
2025

2126
```json
22-
16:59:39 MQT: tele/wemos-9/RESULT = {"SerialReceived":"/KFM5KAIFA-METER"}
23-
16:59:39 MQT: tele/wemos-9/RESULT = {"SerialReceived":""}
24-
16:59:39 MQT: tele/wemos-9/RESULT = {"SerialReceived":"1-3:0.2.8(42)"}
25-
16:59:39 MQT: tele/wemos-9/RESULT = {"SerialReceived":"0-0:1.0.0(190104170020W)"}
26-
16:59:39 MQT: tele/wemos-9/RESULT = {"SerialReceived":"0-0:96.1.1(4530303235303030303639363432393136)"}
27-
16:59:39 MQT: tele/wemos-9/RESULT = {"SerialReceived":"1-0:1.8.1(002342.060*kWh)"}
28-
16:59:39 MQT: tele/wemos-9/RESULT = {"SerialReceived":"1-0:1.8.2(002566.728*kWh)"}
29-
16:59:39 MQT: tele/wemos-9/RESULT = {"SerialReceived":"1-0:2.8.1(000000.000*kWh)"}
30-
16:59:39 MQT: tele/wemos-9/RESULT = {"SerialReceived":"1-0:2.8.2(000000.000*kWh)"}
31-
16:59:39 MQT: tele/wemos-9/RESULT = {"SerialReceived":"0-0:96.14.0(0002)"}
32-
16:59:40 MQT: tele/wemos-9/RESULT = {"SerialReceived":"1-0:1.7.0(00.428*kW)"}
33-
16:59:40 MQT: tele/wemos-9/RESULT = {"SerialReceived":"1-0:2.7.0(00.000*kW)"}
34-
16:59:40 MQT: tele/wemos-9/RESULT = {"SerialReceived":"0-0:96.7.21(00000)"}
35-
16:59:40 MQT: tele/wemos-9/RESULT = {"SerialReceived":"0-0:96.7.9(00000)"}
36-
16:59:40 MQT: tele/wemos-9/RESULT = {"SerialReceived":"1-0:99.97.0(1)(0-0:96.7.19)(000101000001W)(2147483647*s)"}
37-
16:59:40 MQT: tele/wemos-9/RESULT = {"SerialReceived":"1-0:32.32.0(00000)"}
38-
16:59:40 MQT: tele/wemos-9/RESULT = {"SerialReceived":"1-0:32.36.0(00000)"}
39-
16:59:40 MQT: tele/wemos-9/RESULT = {"SerialReceived":"0-0:96.13.1()"}
40-
16:59:40 MQT: tele/wemos-9/RESULT = {"SerialReceived":"0-0:96.13.0()"}
41-
16:59:40 MQT: tele/wemos-9/RESULT = {"SerialReceived":"1-0:31.7.0(002*A)"}
42-
16:59:40 MQT: tele/wemos-9/RESULT = {"SerialReceived":"1-0:21.7.0(00.453*kW)"}
43-
16:59:40 MQT: tele/wemos-9/RESULT = {"SerialReceived":"1-0:22.7.0(00.000*kW)"}
44-
16:59:40 MQT: tele/wemos-9/RESULT = {"SerialReceived":"0-1:24.1.0(003)"}
45-
16:59:40 MQT: tele/wemos-9/RESULT = {"SerialReceived":"0-1:96.1.0(4730303332353631323736373836373136)"}
46-
16:59:40 MQT: tele/wemos-9/RESULT = {"SerialReceived":"0-1:24.2.1(190104160000W)(02949.209*m3)"}
47-
16:59:40 MQT: tele/wemos-9/RESULT = {"SerialReceived":"!EE58"}
27+
09:16:17 MQT: tele/wemos-9/RESULT = {"SerialReceived":"/KFM5KAIFA-METER\r"}
28+
09:16:17 MQT: tele/wemos-9/RESULT = {"SerialReceived":"\r"}
29+
09:16:17 MQT: tele/wemos-9/RESULT = {"SerialReceived":"1-3:0.2.8(42)\r"}
30+
09:16:17 MQT: tele/wemos-9/RESULT = {"SerialReceived":"0-0:1.0.0(200913101618S)\r"}
31+
09:16:17 MQT: tele/wemos-9/RESULT = {"SerialReceived":"0-0:96.1.1(4530303235303030303639363432393136)\r"}
32+
09:16:17 MQT: tele/wemos-9/RESULT = {"SerialReceived":"1-0:1.8.1(005779.835*kWh)\r"}
33+
09:16:17 MQT: tele/wemos-9/RESULT = {"SerialReceived":"1-0:1.8.2(005583.617*kWh)\r"}
34+
09:16:17 MQT: tele/wemos-9/RESULT = {"SerialReceived":"1-0:2.8.1(000000.000*kWh)\r"}
35+
09:16:17 MQT: tele/wemos-9/RESULT = {"SerialReceived":"1-0:2.8.2(000000.000*kWh)\r"}
36+
09:16:17 MQT: tele/wemos-9/RESULT = {"SerialReceived":"0-0:96.14.0(0001)\r"}
37+
09:16:17 MQT: tele/wemos-9/RESULT = {"SerialReceived":"1-0:1.7.0(00.498*kW)\r"}
38+
09:16:17 MQT: tele/wemos-9/RESULT = {"SerialReceived":"1-0:2.7.0(00.000*kW)\r"}
39+
09:16:17 MQT: tele/wemos-9/RESULT = {"SerialReceived":"0-0:96.7.21(00000)\r"}
40+
09:16:17 MQT: tele/wemos-9/RESULT = {"SerialReceived":"0-0:96.7.9(00000)\r"}
41+
09:16:17 MQT: tele/wemos-9/RESULT = {"SerialReceived":"1-0:99.97.0(1)(0-0:96.7.19)(000101000001W)(2147483647*s)\r"}
42+
09:16:17 MQT: tele/wemos-9/RESULT = {"SerialReceived":"1-0:32.32.0(00000)\r"}
43+
09:16:17 MQT: tele/wemos-9/RESULT = {"SerialReceived":"1-0:32.36.0(00000)\r"}
44+
09:16:17 MQT: tele/wemos-9/RESULT = {"SerialReceived":"0-0:96.13.1()\r"}
45+
09:16:17 MQT: tele/wemos-9/RESULT = {"SerialReceived":"0-0:96.13.0()\r"}
46+
09:16:17 MQT: tele/wemos-9/RESULT = {"SerialReceived":"1-0:31.7.0(002*A)\r"}
47+
09:16:17 MQT: tele/wemos-9/RESULT = {"SerialReceived":"1-0:21.7.0(00.496*kW)\r"}
48+
09:16:17 MQT: tele/wemos-9/RESULT = {"SerialReceived":"1-0:22.7.0(00.000*kW)\r"}
49+
09:16:17 MQT: tele/wemos-9/RESULT = {"SerialReceived":"0-1:24.1.0(003)\r"}
50+
09:16:17 MQT: tele/wemos-9/RESULT = {"SerialReceived":"0-1:96.1.0(4730303332353631323736373836373136)\r"}
51+
09:16:17 MQT: tele/wemos-9/RESULT = {"SerialReceived":"0-1:24.2.1(200913100000S)(04139.079*m3)\r"}
52+
09:16:17 MQT: tele/wemos-9/RESULT = {"SerialReceived":"!F798\r"}
4853
```
4954

5055
## Description of each line
224 KB
Loading

docs/openHAB.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ Bridge mqtt:broker:myMQTTBroker [ host="IPofBroker", secure=false, username="myU
4242
{
4343
Thing topic tasmota_TH_Thing "Light_TH" {
4444
Channels:
45-
Type switch : PowerSwitch [ stateTopic="stat/tasmota_TH/POWER" , transformationPattern="JSONPATH:$.POWER" , commandTopic="cmnd/tasmota_TH/POWER", on="ON", off="OFF" ]
45+
Type switch : PowerSwitch [ stateTopic="stat/tasmota_TH/POWER" , commandTopic="cmnd/tasmota_TH/POWER", on="ON", off="OFF" ]
4646
Type string : Version [stateTopic="stat/tasmota_TH/STATUS2", transformationPattern="JSONPATH:$.StatusFWR.Version"]
4747
Type string : Temperature [stateTopic="tele/tasmota_TH/SENSOR", transformationPattern="JSONPATH:$.AM2301.Temperature"]
4848
}

0 commit comments

Comments
 (0)