#include "CTBot.h"
#include <DHTesp.h>
CTBot myBot;
DHTesp dhtSensor;
String ssid = "Wokwi-GUEST";
String pass = "";
String token = "5901427580:AAFJOwxArsNxAzgbPHfPkl6XWvimjMQFQcY";
const int lampu = LED_BUILTIN;
const int lampuwarna = 23;
#define dhtPin 15
void setup() {
Serial.begin(115200);
Serial.println("Starting TelegramBot...");
myBot.wifiConnect(ssid, pass);
myBot.setTelegramToken(token);
if (myBot.testConnection())
Serial.println("\nKoneksi Ke Telegram BOT Berhasil!");
else
Serial.println("\nTidak Terkoneksi Ke Telegram BOT");
pinMode(lampu, OUTPUT);
digitalWrite(lampu, HIGH);
pinMode(lampuwarna, OUTPUT);
digitalWrite(lampuwarna, HIGH);
dhtSensor.setup(dhtPin, DHTesp::DHT22);
}
void loop() {
float suhu = dhtSensor.getTemperature();
float kelembapan = dhtSensor.getHumidity();
TBMessage msg;
if (myBot.getNewMessage(msg)) {
// lampu
if (msg.text.equalsIgnoreCase("/on_builtin")) { //Perintah dari telegram ke perangkat
digitalWrite(lampu, HIGH); //Lampu dihidupkan
Serial.println("\nLampu Builtin Dihidupkan");
myBot.sendMessage(msg.sender.id, "The Led is now ON"); //Balasan dari perangkat ke Bot Telegram
}
else if (msg.text.equalsIgnoreCase("/off_builtin")) { //Perintah dari telegram ke perangkat
digitalWrite(lampu, LOW); //Lampi dihidupkan
Serial.println("\nLampu Builtin Dimatikan");
myBot.sendMessage(msg.sender.id, "The Led is now OFF"); //Balasan dari perangkat ke Bot Telegram
}
// lampuwarna
else if (msg.text.equalsIgnoreCase("/on_lampuwarna")) { //Perintah dari telegram ke perangkat
digitalWrite(lampuwarna, HIGH); //Lampu dihidupkan
Serial.println("\nLampu warna Dihidupkan");
myBot.sendMessage(msg.sender.id, "The Led is now ON"); //Balasan dari perangkat ke Bot Telegram
}
else if (msg.text.equalsIgnoreCase("/off_lampuwarna")) { //Perintah dari telegram ke perangkat
digitalWrite(lampuwarna, LOW); //Lampi dihidupkan
Serial.println("\nLampu warna Dimatikan");
myBot.sendMessage(msg.sender.id, "The Led is now OFF"); //Balasan dari perangkat ke Bot Telegram
}
// dht
else if (msg.text.equalsIgnoreCase("/Cek_Suhu_dan_Kelembapan")) { // otherwise...
String dht;
dht = (String)"Suhu = " + suhu + (String)"°C"+
(String)"Kelembapan = " + kelembapan + (String)"%";
Serial.println("\nData dari DHT telah terkirim ke telegram");
myBot.sendMessage(msg.sender.id, dht);
}
else { // otherwise...
// generate the message for the sender
String reply;
reply = (String)"Welcome " + msg.sender.username + (String)". Silahkan gunakan perintah \n /on_builtin atau /off_builtin untuk mengontrol led Builtin. \n \n Kemudian gunakan perintah \n /on_lampuwarna dan /off_lampuwarna untuk mengontrol lampu warna \n \n Dan untuk memonitoring suhu dan kelembapan menggunakan perintah \n /Cek_Suhu_dan_Kelembapan";
myBot.sendMessage(msg.sender.id, reply); // and send it
}
}
delay(500);
}