//07 November 2023
#include "CTBot.h"
#include <DHTesp.h>
CTBot myBot;
String ssid = "Wokwi-GUEST";
String pass = "";
String token = "6270067999:AAGjq_Le-1CuDBSQ-KihbgB2VLH7fRiWI1o";
const int led_builtin = LED_BUILTIN;
int led1 = 25;
int led2 = 26;
#define dhtPin 21
DHTesp dhtSensor;
void setup() {
dhtSensor.setup(dhtPin, DHTesp::DHT22);
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(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led_builtin, OUTPUT);
digitalWrite(led_builtin, HIGH);
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
}
void loop() {
float kelembaban = dhtSensor.getHumidity();
float suhu = dhtSensor.getTemperature();
TBMessage msg;
// Lampu Led_Builtin
if (myBot.getNewMessage(msg)) {
if (msg.text.equalsIgnoreCase("/on")) { //Perintah dari telegram ke perangkat
digitalWrite(led_builtin, LOW); //Lampu dihidupkan
Serial.println("\nLED_Builtin di Nyalakan");
myBot.sendMessage(msg.sender.id, "LED_Builtin di Nyalakan"); //Balasan dari perangkat ke Bot Telegram
}
else if (msg.text.equalsIgnoreCase("/off")) { //Perintah dari telegram ke perangkat
digitalWrite(led_builtin, HIGH); //Lampu dihidupkan
Serial.println("\nLED_Builtin di Matikan");
myBot.sendMessage(msg.sender.id, "LED_Builtin di Matikan"); //Balasan dari perangkat ke Bot Telegram
}
// Lampu LED1 Warna
else if (msg.text.equalsIgnoreCase("/nyalakanled1")) { //Perintah dari telegram ke perangkat
digitalWrite(led1, HIGH); //Lampu dihidupkan
Serial.println("\nLampu Led_Warna1 di Nyalakan");
myBot.sendMessage(msg.sender.id, "Lampu Led_Warna di Nyalakan"); //Balasan dari perangkat ke Bot Telegram
}
else if (msg.text.equalsIgnoreCase("/matikanled1")) { //Perintah dari telegram ke perangkat
digitalWrite(led1, LOW); //Lampu dihidupkan
Serial.println("\nLampu LED_Warna1 di Matikan");
myBot.sendMessage(msg.sender.id, "Lampu LED_Warna di Matikan"); //Balasan dari perangkat ke Bot Telegram
}
// Lampu LED2 Warna
else if (msg.text.equalsIgnoreCase("/nyalakanled2")) { //Perintah dari telegram ke perangkat
digitalWrite(led2, HIGH); //Lampu dihidupkan
Serial.println("\nLampu Led_Warna2 di Nyalakan");
myBot.sendMessage(msg.sender.id, "Lampu Led_Warna di Nyalakan"); //Balasan dari perangkat ke Bot Telegram
}
else if (msg.text.equalsIgnoreCase("/matikanled2")) { //Perintah dari telegram ke perangkat
digitalWrite(led2, LOW); //Lampu dihidupkan
Serial.println("\nLampu LED_Warna2 di Matikan");
myBot.sendMessage(msg.sender.id, "Lampu LED_Warna di Matikan"); //Balasan dari perangkat ke Bot Telegram
}
// Sensor DHT
else if (msg.text.equalsIgnoreCase("/sensor"))
{
Serial.println("Mengirim data suhu dan kelembaban ke Telegram...");
String balasan;
balasan = (String)"Suhu & Kelembaban yang diterima \n" +
(String)"Suhu : " + suhu + (String)" *C\n" +
(String)"Kelembaban : " + kelembaban + (String)" %";
myBot.sendMessage(msg.sender.id, balasan);
}
else { // otherwise... // generate the message for the sender
String reply;
reply = (String)"Selamat Datang " + (msg.sender.username) + "\n" +
(String)"Perintah untuk Memonitoring : \n" +
(String)"LED_BUILTIN [ /on /off ] \n" +
(String)"LED_WARNA1 [ /nyalakanled1 /matikanled1 ] \n" +
(String)"LED_WARNA2 [ /nyalakanled2 /matikanled2 ] \n" +
(String)"Sensor DHT [ /sensor ]";
myBot.sendMessage(msg.sender.id, reply); // and send it
}
}
}