คำนวนค่าไฟ และแจ้งเตือนผ่าน Line ด้วย Pzem004T V.3

สวัสดีทุกท่านครับ สำหรับวิดีโอในตอนนี้นะครับ ผมจะนำเสนอ การคำนวนค่าไฟ และแจ้งเตือนผ่าน Line ด้วย Pzem004T V.3 ตามกำหนดวันที่และเวลาที่เราได้ตั้งเอาไว้ ซึ่งหลังจากมีการแจ้งเตือนผ่าน Line แล้วก็จะทำการ Reset ค่า energy ให้เป็น 0 โดยอัตโนมัติ เหมาะที่จะนำไปใช้แจ้งเตือนค่าไฟฟ้าแบบรายเดือน นะครับ ซึ่งตอนนี้อาจจะมีเนื้อหาการคำนวนและ Coding เยอะหน่อย ต้องขออภัยทุกท่านล่วงหน้าด้วยนะครับ ถ้าผมอธิบายบางช่วงบางตอนไม่ Clear และขออกตัวก่อนนะครับว่าการ Coding ของผมนั้นห่วยแตกมาก เอาแค่พอใช้งานได้ตรงตามเงือนไขก็พอครับ ท่านใดมีข้อเสนอแนะก็เสนอมาได้นะครับ หรือท่านมีข้อสงสัยประการใดก็สอบถามกันมาได้นะครับ และสูตรคำนวนวันนี้นะครับเป็นการคำนวนค่าใช้ไฟฟ้าของการไฟฟ้านครหลวง ประเภทบ้านพักอาศัย 1.2 แบบก้าวหน้า หรือใช้ไฟเกิน 150 หน่วยต่อเดือนติดต่อกัน 3 เดือนนะครับ ถ้านำไปคำนวนการใช้ไฟแบบอื่นอาจจะไม่ตรงนะครับ ผิดพลาดตรงไหนต้องขออภัยด้วยนะครับ เชิญรับชมครับ

เวปคำนวนค่าไฟฟ้า การไฟฟ้านครหลวง – https://www.mea.or.th/aboutelectric/116/280/form/11

เวปสมัคร Line Token – https://notify-bot.line.me/th/

Line Token URL – https://notify-api.line.me/api/notify

สูตรคำนวนค่าไฟฟ้
บ้านอยู่อาศัยอัตรา 1.2 (อัตราปกติ แบบก้าวหน้า)

ค่าไฟฟ้า = ค่าไฟฟ้าฐาน + ค่าไฟฟ้าผันแปร (ft) + ภาษีมูลค่าเพิ่ม (vat) + ค่าบริการ 38.22

ค่าไฟฟ้า < 150 หน่วยต่อเดือน

ค่าไฟฟ้า = ((จำนวนหน่วย x 3.2484) + ค่าบริการ) +(((((จำนวนหน่วย x 3.2484) + ค่าบริการ)-(จำนวนหน่วย x 0.1243))x.0.7)-(จำนวนหน่วย x 0.1243))

ค่าไฟฟ้า > 150 หน่วยต่อเดือน

ค่าไฟฟ้า = (((487.26) + ((จำนวนหน่วย-150) x 4.2218) + ค่าบริการ)) +((((((487.26) + ((จำนวนหน่วย-150) x 4.2218)-(จำนวนหน่วย x 0.1243)*0.07)-(จำนวนหน่วย x 0.1243))

CODE – Paste code on sensors.yaml or configuration.yaml

– platform: mqtt
name: “Cost”
state_topic: “tele/tasmota_97DA7D/SENSOR”
value_template: >
{%- if value_json[‘ENERGY’].Total < 150.0 %}
{{ ((value_json[‘ENERGY’].Total*3.2484)+38.22)+(((((value_json[‘ENERGY’].Total*3.2484)+38.22)-(value_json[‘ENERGY’].Total*0.1532))*0.07)-(value_json[‘ENERGY’].Total*0.1532))}}
{%- endif %}
{%- if value_json[‘ENERGY’].Total > 150.0 %}
{{ (((value_json[‘ENERGY’].Total-150)*4.2218)+(487.26+38.22))+((((((value_json[‘ENERGY’].Total-150)*4.2218)+(487.26+38.22))-(value_json[‘ENERGY’].Total*0.1532))*0.07)-(value_json[‘ENERGY’].Total*0.1532))}}
{%- endif %}
unit_of_measurement: “Baht”

** Change – tasmota_97DA7D to Your Tasmota device ID

Energy Reset Switch CODE – Paste code on switchs.yaml or configuration.yaml

– platform: mqtt
name: “Energy Today Reset”
state_topic: “stat/tasmota_97DA7D/RESULT”
value_template: “{{ value_json.POWER }}”
command_topic: “cmnd/tasmota_97DA7D/EnergyReset1”
payload_on: “0”
payload_off: “OFF”
availability_topic: “tele/tasmota_97DA7D/LWT”
payload_available: “Online”
payload_not_available: “Offline”
qos: 1
retain: false

– platform: mqtt
name: “Energy Yesterday Reset”
state_topic: “stat/tasmota_97DA7D/RESULT”
value_template: “{{ value_json.POWER }}”
command_topic: “cmnd/tasmota_97DA7D/EnergyReset2”
payload_on: “0”
payload_off: “OFF”
availability_topic: “tele/tasmota_97DA7D/LWT”
payload_available: “Online”
payload_not_available: “Offline”
qos: 1
retain: false

– platform: mqtt
name: “Energy Total Reset”
state_topic: “stat/tasmota_97DA7D/RESULT”
value_template: “{{ value_json.POWER }}”
command_topic: “cmnd/tasmota_97DA7D/EnergyReset3”
payload_on: “0”
payload_off: “OFF”
availability_topic: “tele/tasmota_97DA7D/LWT”
payload_available: “Online”
payload_not_available: “Offline”
qos: 1
retain: false

** Change – tasmota_97DA7D to Your Tasmota device ID

Line Chat Function CODE

msg.headers = {
‘content-type’:’application/x-www-form-urlencoded’,
‘Authorization’:’Bearer pMJ9mUqwo1gFXK9t3tiXIDagveIFbNMdm2g9wNhJ0mF’
};
msg.payload = {
“message”:msg.payload,”stickerPackageId”:2,”stickerId”:144
};
return msg;

** Change Line Token to Your Line Token

Goto Top