Clock 0 - 4 Schemes (Light effects) are available in Home Assistant.
You can Read inputs and Control outputs in “ BLYNK ” app using MQTT.
Good job Pico
Alexis
“BLYNK” Tasmota Project _# 5
-
Sonoff POW R2
HARDWARE
- Official Firmware Pictures
- Tasmota Sonoff POW R2 & HA
Message | Unit | Description
---------------|------|-----------------------------------------------------
TotalStartTime | Date | DateTime of calculation for Total
Total | kWh | Total Energy usage including Today
Yesterday | kWh | Total Energy usage between 00:00 and 24:00 yesterday
Today | kWh | Total Energy usage today from 00:00 until now
Period | Wh | Energy usage between previous message and now
Power | W | Current effective power load
ApparentPower | W | Power load on the cable = sqrt(Power^2 +
| | ReactivePower^2)
ReactivePower | W | Reactive load
Factor | | The ratio of the real power flowing to the load to
| | the apparent power in the circuit
Voltage | V | Current line voltage
Current | A | Current line current
-
How to “Flash TASMOTA on Sonoff POW R2”
-
Based on the 2.5.2 Arduino ESP8266 core
Firmware binary for 4M flash devices only! - This binary will NOT work on 1M flash devices
sonoff-4m.bin
another way to flash the Sonoff POW R2 by sending the bin file using ESPTool.
-
Power Monitoring Calibration
Sonoff Pow R2 might need calibration . See Power Monitoring Calibration
Command | Parameters |
---|---|
AmpRes | Current sensor resolution |
0..3 = maximum number of decimal places |
|
CurrentHigh |
0 = disable current high threshold (default)
|
<value> = set current high threshold value in miliamps |
|
CurrentLow |
0 = disable current low threshold (default)
|
<value> = set current low threshold value in miliamps |
|
CurrentSet |
<value> = calibrate current to target value in mA |
EnergyRes | Energy sensor resolution |
0..5 = maximum number of decimal places |
|
EnergyReset | Show Energy Total, Yesterday and Today |
EnergyReset1 |
0..42500 = (§re)set Energy Today in Wh |
EnergyReset2 |
0..42500 = (§re)set Energy Yesterday in Wh |
EnergyReset3 |
0..42500000 = (§re)set Energy Total in Wh |
FreqRes | Frequency sensor resolution |
0..3 = maximum number of decimal places |
|
FrequencySet |
<value> = calibrate frequency to a target value in Hz |
MaxPower |
0 - disable use maximum power monitoring |
<value> = set maximum allowed power in W |
|
MaxPowerHold |
1 = set default time to 10 seconds to stay over MaxPower before power off |
<value> = set time in seconds to stay over MaxPower before power off |
|
MaxPowerWindow |
1 = set default time to 30 seconds to stay power off before re-applying power up to 5 times |
<value> = set time in seconds to stay power off before re-applying power up to 5 times |
|
PowerDelta |
0 = disable reporting on power change |
<value> = set reporting on percentage power change to send an MQTT telemetry message |
|
PowerHigh |
0 = disable power high threshold (default)
|
<value> = set power high threshold value in W to send an MQTT telemetry message |
|
PowerLow |
0 = disable power low threshold (default)
|
<value> = set power low threshold value in W to send an MQTT telemetry message |
|
PowerSet |
<value> = calibrate power to a target value in W |
Status |
8 = show power usage |
9 = show power thresholds |
|
VoltageHigh |
0 = disable voltage high threshold (default)
|
<value> = set voltage high threshold value in V |
|
VoltageLow |
0 = disable voltage low threshold (default)
|
<value> = set voltage low threshold value in V |
|
VoltageSet |
<value> = calibrate voltage to a target value in V |
VoltRes | Voltage sensor resolution |
0..3 = maximum number of decimal places |
|
WattRes | Power sensor resolution |
0..3 = maximum number of decimal places |
|
See Also |
SetOption21 - Energy monitoring when power is off |
SetOption33 - Configure power monitoring Max_Power_Retry count number |
-
TASMOTA working with Home Assistant
- Showing a complete cycle of my Washing Machine
- Showing 30 minutes .
- Showing last 12 Hrs for my FRIDGE Voltage & Current consumption.
-
Again changes made to previous “BLYNK” sketch
add lines to “Settings.h”
/*-------------------------------Virtual Pins---------------------------------*/
#define vPIN_MONITOR V61
#define vPIN_POWER V62
#define vPIN_ENERGY V63
#define vPIN_TIME V64
#define vPIN_WASHER_ON_OFF V65
add lines to “mqtt_publish.h”
//=============================================TAB 3============================================
//---------------------------------------------WASHER-------------------------------------------
BLYNK_WRITE(vPIN_WASHER_ON_OFF) { // WASHER ON/OFF
if (param.asInt()) {
client.publish("Washer/cmnd/POWER","1");
} else {
client.publish("Washer/cmnd/POWER","0");
}
}
add lines to “mqtt_subscribe.h”
#define InTOPIC_11 "Washer/tele/SENSOR"
#define InTOPIC_12 "Washer/stat/POWER"
~
client.subscribe(InTOPIC_11);
client.subscribe(InTOPIC_12);
~
//========================================= TAB 3 =====================================
//------------------------------WASHER--------SENSOR---------------------------------------
//MQT: Washer/tele/SENSOR =
//{"Time":"2019-07-02T02:02:30","ENERGY":{"TotalStartTime":"2019-06-30T04:31:57",
//"Total":0.337,"Yesterday":0.117,"Today":0.000,"Period":0,"Power":0,
//"ApparentPower":0,"ReactivePower":0,"Factor":0.00,"Voltage":234,"Current":0.000}}
}else if (String(topic) == InTOPIC_11) { // Washer/tele/SENSOR
StaticJsonBuffer<350> jsonBuffer;
JsonObject& root = jsonBuffer.parseObject((char*)payload);
float vol = root["ENERGY"]["Voltage"];
float cur = root["ENERGY"]["Current"];
float power = root["ENERGY"]["Power"];
float apow = root["ENERGY"]["ApparentPower"];
float rpow = root["ENERGY"]["ReactivePower"];
float pf = root["ENERGY"]["Factor"];
float today = root["ENERGY"]["Today"];
float yesterday = root["ENERGY"]["Yesterday"];
float total = root["ENERGY"]["Total"];
float period = root["ENERGY"]["Period"];
const char* StartTime = root["ENERGY"]["TotalStartTime"];
const char* Time = root["Time"];
Blynk.setProperty (vPIN_MONITOR, "label",String("\xF0\x9F\x94\x8C")+"Voltage"+" "+String("\xE2\x9A\xA1")+"Current"+" "+String("\xF0\x9F\x94\x8B")+"Power");
Blynk.virtualWrite(vPIN_MONITOR, (String (vol,1)+" V "+String (cur,3)+" A "+String(power,1)+" W "));
Blynk.setProperty (vPIN_POWER, "label",String(String("\xE2\x9A\xA1")+"Power Factor"+" "+String("\xE2\x9A\xA1")+"Apparent Power"+" "+String("\xE2\x9A\xA1")+"Reactive Power"));
Blynk.virtualWrite(vPIN_POWER, (String (pf,2)+" "+String (apow,1)+" VA "+String (rpow,1)+" VAr "));
Blynk.setProperty (vPIN_ENERGY, "label",String("\xE2\x9A\xA1")+"ENERGY Today"+" "+String("\xE2\x9A\xA1")+"ENERGY Yesterday"+" "+String("\xE2\x9A\xA1")+"ENERGY Total");
Blynk.virtualWrite(vPIN_ENERGY, (String (today,3)+" "+String (yesterday,3)+" "+String(total,3)+" kWh "));
Blynk.setProperty (vPIN_TIME, "label",String("\xE2\x8C\x9A")+"Time"+" "+String("\xE2\x9A\xA1")+"TotalStartTime"+" "+String("\xE2\x9A\xA1")+"Period"+" ");
Blynk.virtualWrite(vPIN_TIME, (String (Time)+" "+String (StartTime)+" "+String (period,1)+" "));
//------------------------------WASHER--------POWER------------------------------------------
}else if (String(topic) == InTOPIC_12) { // Washer/stat/POWER
StaticJsonBuffer<250> jsonBuffer;
JsonObject& root = jsonBuffer.parseObject((char*)payload);
if ((char)payload[1] == 'N') {
Blynk.virtualWrite(vPIN_WASHER_ON_OFF,1);
}else{
Blynk.virtualWrite(vPIN_WASHER_ON_OFF,0);
}
}
}
//=========================================================================================
- (again) same results was accomplished before for Sonoff S31 using Node-Red
- In “BLYNK” app. many buttons can be added as:
- VoltageHigh & VoltageLow threshold value.
- CurrentHigh & CurrentLow threshold value.
- MaxPower, MaxPowerHold & MaxPowerWindow how to stay over MaxPower before power off.
- PowerHigh & PowerLow to send an MQTT telemetry message.
- EnergyReset1, EnergyReset2 & EnergyReset3 to set or reset Energy Values.
Congratulations I used the QR code to load the project. You could kindly share the integral code with the links, I am very grateful.
As you can see with a Nodemcu with FW Tasmota 6.5 and with my PZEM-004T V3, I was able to correctly visualize the electrical energy measurement. Now I would like to see what Blynk did like you did, but I wouldn’t know how to do it if you could help me. Thank you so much .
Ok ok I’ll read it right and see if we understand something. But did you use Version 1 or Version 3 of the PZEM004T to make the energy meter? Thank you very much for answering me
To RESET ENERGY in Tasmota
Open “Console Menu” then
Type:
EnergyReset1 0
- to reset Energy Today
EnergyReset2 0
- to reset Energy Yesterday
EnergyReset3 0
- to reset Energy Total & Total Start Time
Command | Parameters |
---|---|
EnergyReset1 |
0..42500 = (§re)set Energy Today in Wh |
EnergyReset2 |
0..42500 = (§re)set Energy Yesterday in Wh |
EnergyReset3 |
0..42500000 = (§re)set Energy Total in Wh |
-
Something IMPORTANT I need to add :
All libraries (Ver.) I used in my BLYNK scketchs are the same Libraries selected by TASMOTA
#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h>
#include <PubSubClient.h>
#include <ArduinoJson.h>
- ArduinoJson-5.13.4 …( this is V5 and not V6 . if you are using V6 it will not work)
- PubSubClient-EspEasy-2.7.12
Very interesting subjects. I will try Tasmota.
Latest release for MQTT-Explorer
Anyone who uses MQTT should be using the fantastic MQTT Explorer.
I just wish that there was something half as good for iOS.
Thanks @ThomasN for your great product.
Pete.
Tasmota is every where .
Ha Ha, apologies!
I’d received email alerts from Thomas Nordquist about the new release, after reporting a few bugs to him and suggesting some improvements.
When I saw this Github link, posted by someone with the name Thomas N, I put two and two together and came up with five!
Pete.
“BLYNK” Tasmota Project _# 6
-
TASMOTA “RF” Control
HARDWARE
I found that QIACHIP are the best modules to work with Tasmota & Blynk.
Transmitter 433Mhz
Receiver 433Mhz
Antennas (short ones are for Transmitters & long for Receivers)
-
Make a Simple 433MHz Antenna for Long Range Use
or
Transmitter 315Mhz
Receiver 315Mhz
- 1x Any ESP Device (NodeMCU, Wemos D1, ESP-01)
I use GPIO14 (Sensor) to catch the RF signal on RFrecv(106)
My 433Mhz RF Remotes
“ITEAD” RF REMOTE 433MHZ 4-BUTTON
My 315Mhz RF Remotes