Friday, April 04, 2025

Power Monitoring PZEM004Tv.3.0 ESP8266 to Thingspeak

Power Monitoring PZEM004Tv.3.0 ESP8266 to Thingspeak. 
Address: 


#include <ESP8266WiFi.h>
#include <ThingSpeak.h>
#include <PZEM004Tv30.h>
#include <SoftwareSerial.h> // Tambahkan library SoftwareSerial

const char *ssid = "RANACITTA"; // Ganti dengan SSID Wi-Fi Anda
const char *password = "Pandakgede999"; // Ganti dengan password Wi-Fi Anda
const char *thingSpeakAPIKey = "XGL13QLZZX55E12O"; // Ganti dengan API Key ThingSpeak Anda
const char *host = "api.thingspeak.com";

WiFiClient client;

//-------------------tambahan
PZEM004Tv30 pzem(14, 12); // Software Serial pin 11 D5 to Tx PZEM004 & 12 D6 to Rx PZEM004
//-------------------tambahan

// Tentukan pin RX dan TX untuk komunikasi dengan PZEM004T
//#define RX_PIN D6
//#define TX_PIN D5

// Buat objek SoftwareSerial
//SoftwareSerial pzemSWSerial(RX_PIN, TX_PIN);
//PZEM004Tv30 pzem(pzemSWSerial); // Gunakan pzemSWSerial sebagai komunikasi dengan PZEM

unsigned long lastTime = 0;
unsigned long timerDelay = 20000; // Kirim data ke ThingSpeak setiap 20 detik

void setup() {
  Serial.begin(9600);
  
  // Setup komunikasi serial untuk PZEM004T
// pzemSWSerial.begin(9600); ---> ini dihilangkan

  // Setup ESP8266 Wi-Fi
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }
  Serial.println("Connected to WiFi");
  
  ThingSpeak.begin(client);
}

void loop() {
  // Membaca data dari PZEM004T
  float voltage = pzem.voltage();
  float current = pzem.current();
  float power = pzem.power();
  float energy = pzem.energy();
  float frequency = pzem.frequency();
  float pf = pzem.pf();

  // Cek apakah pembacaan berhasil
  if (!isnan(voltage) && !isnan(current) && !isnan(power) &&
      !isnan(energy) && !isnan(frequency) && !isnan(pf)) {
    
    Serial.print("Voltage: "); Serial.print(voltage); Serial.println(" V, ");
    Serial.print("Current: "); Serial.print(current); Serial.println(" A, ");
    Serial.print("Power: "); Serial.print(power); Serial.println(" W, ");
    Serial.print("Energy: "); Serial.print(energy); Serial.println(" kWh, ");
    Serial.print("Frequency: "); Serial.print(frequency); Serial.println(" Hz, ");
    Serial.print("Power Factor: "); Serial.println(pf);
    
    // Mengirim data ke ThingSpeak
    ThingSpeak.setField(1, voltage);
    ThingSpeak.setField(2, current);
    ThingSpeak.setField(3, power);
    ThingSpeak.setField(4, energy);
    ThingSpeak.setField(5, frequency);
    ThingSpeak.setField(6, pf);
    
    // Kirim data ke ThingSpeak
    int responseCode = ThingSpeak.writeFields(2070664, thingSpeakAPIKey);
    
    if (responseCode == 200) {
      Serial.println("Data sent to ThingSpeak successfully!");
        Serial.println(".");

    } else {
      Serial.println("Error sending data to ThingSpeak. HTTP Response Code: " + String(responseCode));
    }
    
    // Tunggu sebelum mengirim data berikutnya
    delay(timerDelay);
  } else {
    Serial.println("Error reading PZEM004T data.");
  Serial.println("");

  }
}






Program Power Monitoring PZEM004Tv3.0 ESP8266 TO Blynk Legacy







Program Power Monitoring PZEM004Tv3.0 ESP8266 TO Blynk Legacy versi 22.7.13


#include <PZEM004Tv30.h>
float VOLTAGE, CURRENT, POWER, energy1, Freq, pf1, va1, VAR1;
//byte D1;

PZEM004Tv30 pzem(14, 12); // Software Serial pin 11 D5 to Tx PZEM004 & 12 D6 to Rx PZEM004

#define BLYNK_PRINT Serial

/* Fill in information from Blynk Device Info here */
#define BLYNK_TEMPLATE_ID           "TMPxxxxxx" //template iot blynk cloud
#define BLYNK_TEMPLATE_NAME         "Device" //nama template blynk cloud
#define BLYNK_AUTH_TOKEN            "KzTzV8u8KjYtESIQVCtRX_BTDXpAmVxI" // New Token, old token -->> mEgnNYn2rfxqlWBdObhn7j7Rm1EH9a4K



#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

// Your WiFi credentials.
// Set password to "" for open networks.
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "RANACITTA";
char pass[] = "Pandakgede999";

BLYNK_WRITE(V6)
{
  int pinValue = param.asInt(); 
  Serial.print("V6 Slider value is: ");//display nilai PWM 0~255
  Serial.println(pinValue);
  analogWrite(D1, pinValue);

}

void setup() {
   Serial.begin(9600);
   Serial.println("\nFZEM004T Testing");
   //WiFi.mode(WIFI_STA);
   WiFi.begin(ssid, pass);
   pinMode(D1, OUTPUT);
   //wifi_testing();
   //Blynk.begin(auth, ssid, pass);
   Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass, "iot.serangkota.go.id", 8080); //Server  luar negeri

 //Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass, "prakitblog.com", 8181); //Server  luar negeri

}

void loop() {
   Blynk.run();
   //VOLTAGE=0;
   //CURRENT=0;
   //POWER=0;
   //energy1=0;
   //Freq=0;
   //pf1=0;
    float voltage = pzem.voltage();
    VOLTAGE = pzem.voltage();
    VOLTAGE = zeroIfNan(VOLTAGE);
    CURRENT = pzem.current();
    CURRENT = zeroIfNan(CURRENT);
    POWER = pzem.power();
    POWER = zeroIfNan(POWER);
    energy1 = pzem.energy() / 1000; //kwh
    energy1 = zeroIfNan(energy1);
    Freq = pzem.frequency();
    Freq = zeroIfNan(Freq);
    pf1 = pzem.pf();
    pf1 = zeroIfNan(pf1);
    if (pf1 == 0) 
    va1 = 0;
    else 
    va1 = POWER / pf1;
    
    if (pf1 == 0) 
    VAR1 = 0;
    else
    VAR1 = POWER / pf1 * sqrt(1-sq(pf1));
    delay(1000);
   
   
   if(voltage != NAN){
       Serial.print("Voltage: ");
       Serial.print(voltage);
       Serial.println("V");
   } else {
       Serial.println("Error reading voltage");
   }

   float current = pzem.current();
   if(current != NAN){
       Serial.print("Current: ");
       Serial.print(current);
       Serial.println("A");
   } else {
       Serial.println("Error reading current");
   }

   float power = pzem.power();
   if(current != NAN){
       Serial.print("Power: ");
       Serial.print(power);
       Serial.println("W");
   } else {
       Serial.println("Error reading power");
   }

   float energy = pzem.energy();
   if(current != NAN){
       Serial.print("Energy: ");
       Serial.print(energy,3);
       Serial.println("kWh");
   } else {
       Serial.println("Error reading energy");
   }

   float frequency = pzem.frequency();
   if(current != NAN){
       Serial.print("Frequency: ");
       Serial.print(frequency, 1);
       Serial.println("Hz");
   } else {
       Serial.println("Error reading frequency");
   }

   float pf = pzem.pf();
   if(current != NAN){
       Serial.print("PF: ");
       Serial.println(pf);
   } else {
       Serial.println("Error reading power factor");
   }

   Serial.println();
   Blynk.virtualWrite(V0, VOLTAGE); // kirim data ke virtual V0 pada aplikasi Blynk
   Blynk.virtualWrite(V1, CURRENT); // kirim data ke virtual V1 pada aplikasi blynk
   Blynk.virtualWrite(V2, POWER); // kirim data ke virtual V0 pada aplikasi Blynk
   Blynk.virtualWrite(V3, energy1); // kirim data ke virtual V1 pada aplikasi blynk
   Blynk.virtualWrite(V4, Freq); // kirim data ke virtual V0 pada aplikasi Blynk
   Blynk.virtualWrite(V5, pf1); // kirim data ke virtual V1 pada aplikasi blynk
   delay(2000);
}

   float zeroIfNan(float v) 
{
  if (isnan(v)) 
  v = 0;
  return v;
}

Gas Flow Rate Calculation Online

Ada satu website untuk hitung gas flow rate

scadacore.com/tools/aga-calculators/aga-gas-flow-calculator/




Tuesday, April 01, 2025

Sari Timbul, Kintamani, Mecaru, Nyepi 1947

Off duty 12-29 Maret 2025

12 off dgn garuda direct bpn dps
13 di rumah aja. Anjep anak2. 
14 ke pura ciwa purnama, jemput anak2 skalian anter paktut garing ke kediri. 
15 MCU di prodia denpasar.  Astungkara hasil treadmill aman dan polip GB masih ada. Mampir level 21 beli kaos n celana ibu. Makan siang babgul di men lari. 30k/orang. Sore ke jero sm ibu n eba ultah Aruna. 
16 minggu ke Sari Timbul di Tegallalang kehujanan. Bayar 50k/orang difotoin dan divideoin petugas. Anak2 di rumah sama tiwik. 
17 jogging di DC 2.8km. Bawa jam alba ke tukang jam di grokgak. 
18 diare jam 12 malem. Di rumah aja istirahat selain anjep anak2. Ambil jam alba yg perlu ganti IC 385k gak jadi dah kemahalan. Datang smart watch redmi 5 watch 37FF seharga 1.3jt di shopee. Bikin video lagu Tri Hita Karana di lantai 2. 
19 lampu infra red utk kaki sdh dtng. Bagus. 
20 jogging dc. Ibu pilates. Malem kursus esp8266 connect to blynk pake pzem004v3.0
21 nana citta libur, eba aja. Ujan angin di rumah aja. 
22 kintamani brgkt jam 8.30. Cuaca jelek angin kencang. Ada pohon tumbang di Kedewatan, Syukur aman sampai rumah. Malem dah berhasil coba power monitoring esp8266 dgn sensor pzem004T v.30 connect ke blynk dan thingspeak. Perfecto. 
23 ke rumah bedangin ngolah caru. Sore ke Nuanu magic garden dll. Msh sepi.  
24 nana citta dah libur, eba aja skul. pagi jogging 4200 step ke nyitdah. Mebanten kliwon. mecaru 3 di kemulan, surya, jro gede. Kemulan dan surya pakai berumbun, jro gede pakai selem. Jam 11-12.30 siang dpt giliran. Total 750k+sari 100k. Sore anjep nana les. 
25 ngayah di pura ciwa, siang ke living with family, malem ke pura ciwa upacara menben with ibu aja. 
26 melasti pagi dr pura ciwa ke beraban jarak 3.3 km 1 jam, lanjut sore dr beraban ke tanah lot jarak 3 km 1 jam anak2 ikut full sampai tanah lot. Record. Mobil taruh di tanah lot dulu. Total 13rb langkah, 7.8 km. Pulang ke pandak sekitar jam 7 gempor. 
27 istirahat aja, anak2 tepar abis melasti. Garap video klip lagu Nyepi. Ke tabanan belanja buat nyepi. 
28 pagi lanjut melasti with ibu dr beraban ke pura ciwa start jam 10.00 dr beraban, sampe jam 11. Total 3 km. Kaki bubul bawah. Salah sandal. Next pake sandal n kaos kaki atau salonpas pelapis kaki. Anak2 nunggu di pura. 

Sore mebanten tawur kesanga:
1. Sang butha ngadang semadi di lebuh segehan cacah 108
2. Buta bucari di merajan, plus banten unggahan
3. Kala bucari di natah, segehan cacahan 9 tanding

Tirta 3 macam, pengening pemuput untuk di atas, dan bisa tunas tirta ini. 
Tirta Luwur untuk di bawah (caru)

Malem nonton ogoh2 sama anak2 sambil ngedrone. Eba Citta seneng bgt, Nana pulang cepet sama tiwik di rumah. 
29 Nyepi Caka 1947, bikin video klip lagu music Caka 1947. Bobok aja memulihkan kondisi. Citta Eba gowes di depan rumah. Ngobrol sm mbah dona dan ibuk yunda di depab rumah. Nyepi kali ini tdk seramai tahun lalu perasaan. Sore angin kencang dan malamnya hujan. Tiwik tidur di kebon. 
30 ke samarinda naik super air jet transit sby. Berangkat jam 6 dr pandak dianter ibu dan anak2 yg blm mandi hehe. Jam 7 sampai ngurah rai karna jalanan masih sepi, tp pasar pandak sdh banyak yg buka. Lounge juga sendiri. 
Sebenarnya pegang 2 tiket direct bpn dan ke smd via sby karna di flight radar gak jelas yg ke samarinda. Akhirnya yg ke balikpapan hangus aja haha. Landing jam 12.15 lalu dijemput taksi langganan dr badak mas hardian bayar 400k sampe santan. Mampir bungkus upik 50k. Ke attaka boat jam 15.15 bersama orang AE1, yodi dan pendeta. Badan terasa remuk tapi nanti malam musti tidur cepat biar bugar besok pagi. 

#Upload video Nyepi 1947
#Kirim video hindu tgl 30
#Buka lampu di kori
#Install PZEM
#Rekam ulang gitar nyepi kamis
#tmbh instrument lagu nyepi
#Aku ngamen ceritanya
#Download rindik bali monster
#Alat bantu dengar wayah
#Rapikan meja studio bikin video
#Beli terapi lutut sinar
#Download scadapack
#Rekam video Tri Hita Karana




RMI STA, Puasa, Hotel Kena Petir

On duty 26 Feb - 12 Maret 2025

26 Ke attaka jam 7, transit boat to boat. 
27 di LQ aja. Yasser cs bawa actuator SDV OGL ke sta dan skalian cabut shaft actuator. Sekalian koordinasi modif ke machine shop. 
28 subuh2 mimpi ada orang gila masuk rumah ajik kayan. Aku, ajik kayan dan tuwi sibuk ngejar orang gila yg bawa kapak. Tes pressure transmitter seawater cooling Prod. Temen EM ganti motor EFWP Prod n motor EFWP LQ. 
1 update MO SAP, bikin pm check list A, L. Yudith ke L, Yasser ke B jumper ESD Station. Sore treadmill di bawah 22 menit. Agak glieng. Tp ukur tensi di kamar 119/70 aja. Apa kelebihan obat ya?
2 cek PAL R_L_1_2 alarm oil from Lima PCS karena bunyi terus. Ditemukan PT rusak tp tdk diganti karena stock terbatas. Sufri n Jumriadi PM ke Juliet. Sore treadmil 20 menit. Videoin om jo ngeGym.  
3 pagi function test ke hotel. Yudith cs ke STA panasin generator tp blm naik-naik tahanannya. Reinstall SDV 1121 OGL. Tinggal painting. 
Sore treadmill 27 menit. Agak glieng tp sampe kamar ukur tensi 120/80 aja. Makan malem bersama ulang tahun pesen nasi bakar 30 bungkus dan 1 kg udang total 520rb, diambil dr uang hadiah talent show. Maknyusss. 
4 timbang berat turun 0.6kg setelah gak makan malam seminggu. HMI Bravo blank. Dibawa ke IT bagus aja. Besok install balik. Yudith cs msh ke STA blm bisa partial online tp diesel genset 2030 udah bisa online. Malem bikin highlight di rechall. 
5 subuh jam 4 ada petir. Hotel SD kena fire dan J & D kena efek. Foxtrot SD by low pressure IAC, FS ikutan SD. Ngeguide operator Alqifar gak bisa back online. Acting section head maint. Yudith Jumri ke STA masih blm bisa partial online gak ada gas. Treadmill 21 menit high impact 10 menit. 
6 ke Bravo PM n troubleshoot LT Test separator. Found simulasi dr luar pake injector 4-20mA bagus. Tp saat diinject air aneh. Saat output 4, 8, 12, 16, 20mA, level tdk linier 12, 35, 59, 80, 102%. Output transmiter dan diukur multimeter di dalam sama mA nya. Namun di HMI ada selisih dan tdk linier selisihnya. Sdh coba kalibrasi zero dan span tetep tidak berubah. 
Di CP shutdown by GD24 kena aktual high, stlh ditermacam ditemukan ada fitting grease bocor valve di area stage 3 compressor top deck. Bravo juga SD by LSHH Gross karena 1 pompa gak kuat, lalu running 2 pompa baru kesedot. 
7 di LQ aja. Yudith cs ke STA untuk start up partial, Gantino ke Hotel reinstall modul dr.com. presentasi flow analyser turbine meter dr Sensia. Sore2 HMI Productio hang. Restart server 1 dan 2. Ok. 
8 ke Juliet sm pakde yasin, ganti fuse dr.com sm orang AC ternyata ditemukan compressor short dan overloadnya patah di pinnya. Pulang malem bareng operator keliling. 
9 pilih2 MO utk SRPS. Ke CP cek PCV 1103-2 yang passing. Coba cari sparenya.Sore bikin video Ramadhan di Attaka utk lomba PEJ. 
10 Hotel with Nur cek air dryer ditemukan rusak compressor dan fan blower. Sdh request ke planner. Cek Telemetri Hotmama kayaknya rusak modul ESP32 nya. Besok ganti. 
11 ke hotel w Nur cek Hotmama Telemetri, coba ganti modul ESP32 ternyata tdk rusak. Ditemukan kabel konektor RJ45 di samping panel bawah kendor dan pinnya agak corroded. Mission accomplished. Siang meeting persiapan kedatangan tim videografer ke Attaka. 
12 off duty. Naik pesawat direct BPN DPS dpt harga 860k. Lumayan hemat. ETD agak mundur dr biasanya 14.30 ke 15.40. Tapi masih ok lah. Semoga lancar. Naik gojek ke Pandak, jam 8 tiba. 

#Beli fan utk hotel
#Minta silica gel ke santan
#PC from pasir ridge
#Cari data PCV di ruangan planner, #liat data BOM JDE MIMS
#Email anita PCV
#Juliet fuse air dryer n orang AC
#Lima PCV relay nya
#Submit cuti approval
#Fotoin meter GL Bravo
#Order compressor air dryer
#Bravo test LT
#Ajarin ahad whcp
#Bikin video remote keliling
#Tanya operator gas lift well
#Analisa outcome lagi
#Appv timesheet
#Tny actuator arif budiman
#Beli tiket naik via smd
#Pm cek list juliet
#Order tubing 3/8 segera
#Tny cak anas, sdh ada PR 3095?
Issued:
#Tubing 3/8
#Haskel kit di pnjm
#Alat bantu dengar utk wayah
#Catat well tiap platform dan kebutuhan Gas liftnya brp

5.30-7.20 dr atk-stn
7.40-9.30 santan-pranoto (5 mnt)
7.40-10.15 stn-robinson
10.45-12.50 robinson-sepinggan