All Projects → xDWart → mqtg-bot

xDWart / mqtg-bot

Licence: MIT license
MQTT Client Telegram Bot

Programming Languages

go
31211 projects - #10 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to mqtg-bot

Mainflux
Industrial IoT Messaging and Device Management Platform
Stars: ✭ 1,341 (+1901.49%)
Mutual labels:  messaging, internet-of-things, iot-platform
Enmasse
EnMasse - Self-service messaging on Kubernetes and OpenShift
Stars: ✭ 185 (+176.12%)
Mutual labels:  messaging, internet-of-things
Applozic Ios Sdk
iOS Real Time Chat & Messaging SDK
Stars: ✭ 104 (+55.22%)
Mutual labels:  messaging, mqtt-client
ESPecial
ESP32 automation with web interface and telegram bot
Stars: ✭ 77 (+14.93%)
Mutual labels:  telegram-bot, mqtt-client
Eduponics-Mini
MicroPython MQTT & code example for Eduponics mini ESP32 learning kit
Stars: ✭ 41 (-38.81%)
Mutual labels:  internet-of-things, mqtt-client
Ockam
End-to-end encrypted messaging and mutual authentication between cloud and edge-device applications
Stars: ✭ 395 (+489.55%)
Mutual labels:  messaging, internet-of-things
everyone-bot
Telegram bot to get everyone's attention in a group chat. Like @everyone in other messaging applications.
Stars: ✭ 52 (-22.39%)
Mutual labels:  telegram-bot, messaging
Iot Technical Guide
🐝 IoT Technical Guide --- 从零搭建高性能物联网平台及物联网解决方案和Thingsboard源码分析 ✨ ✨ ✨ (IoT Platform, SaaS, MQTT, CoAP, HTTP, Modbus, OPC, WebSocket, 物模型,Protobuf, PostgreSQL, MongoDB, Spring Security, OAuth2, RuleEngine, Kafka, Docker)
Stars: ✭ 2,334 (+3383.58%)
Mutual labels:  internet-of-things, iot-platform
cloud4rpi
Cloud4RPi Client Library
Stars: ✭ 21 (-68.66%)
Mutual labels:  internet-of-things, iot-cloud
MQTTnet
MQTTnet is a high performance .NET library for MQTT based communication. It provides a MQTT client and a MQTT server (broker). The implementation is based on the documentation from http://mqtt.org/.
Stars: ✭ 3,309 (+4838.81%)
Mutual labels:  iot-platform, mqtt-client
IOThook
IOT, Restful, Web service, Web Api
Stars: ✭ 25 (-62.69%)
Mutual labels:  internet-of-things, iot-platform
Hono
Eclipse Hono™ Project
Stars: ✭ 323 (+382.09%)
Mutual labels:  messaging, internet-of-things
Blynk Server
Blynk is an Internet of Things Platform aimed to simplify building mobile and web applications for the Internet of Things. Easily connect 400+ hardware models like Arduino, ESP8266, ESP32, Raspberry Pi and similar MCUs and drag-n-drop IOT mobile apps for iOS and Android in 5 minutes
Stars: ✭ 8 (-88.06%)
Mutual labels:  internet-of-things, iot-platform
fd-vue-webapp
A Vue.js web application for Freedomotic Open IoT framework
Stars: ✭ 63 (-5.97%)
Mutual labels:  internet-of-things, iot-platform
Broadlink Mqtt
MQTT client to control BroadLink devices
Stars: ✭ 169 (+152.24%)
Mutual labels:  internet-of-things, mqtt-client
tgcli
Telegram Terminal Application
Stars: ✭ 39 (-41.79%)
Mutual labels:  telegram-bot, messaging
Psmqtt
Utility reporting system health and status via MQTT
Stars: ✭ 95 (+41.79%)
Mutual labels:  internet-of-things, mqtt-client
Paho.mqtt.java
Eclipse Paho Java MQTT client library. Paho is an Eclipse IoT project.
Stars: ✭ 1,620 (+2317.91%)
Mutual labels:  internet-of-things, mqtt-client
Dsmr Reader
DSMR-protocol reader, telegram data storage and energy consumption visualizer. Can be used for reading the smart meter DSMR (Dutch Smart Meter Requirements) P1 port yourself at your home. You will need a cable and hardware that can run Linux software. Free for non-commercial use. A Docker implementation can be found here: https://github.com/xirixiz/dsmr-reader-docker
Stars: ✭ 327 (+388.06%)
Mutual labels:  telegram-bot, mqtt-client
vscp
VSCP (Very Simple Control Protocol) IoT/m2m framework
Stars: ✭ 47 (-29.85%)
Mutual labels:  iot-platform, iot-gateway

mqtg-bot

Build Status Go Report Card Version License

Gopher Bot

Articles

Introduction

mqtg-bot is an easy-to-configure for your needs MQTT client Telegram bot. Without programming knowledge you can configure the bot to send various commands (turn on the light, open the garage door, etc.) or request any information (the temperature in the house, the state of the heating system, etc.) or receive frames from security camera. In general the functionality of this solution is very rich.

Edit buttons menu

Temp and Humidity

Take a picture

Features

  • Connecting to MQTT broker
    • tcp / ssl / ws / wss
  • Supported databases
    • Postgres
    • SQLite
  • Subscribing to a topic:
    • Selectable QoS/Retained
    • Text/Image data types
    • Pre/post value displaying text
    • Storing data into DB
    • Parse data by JsonPath expressions
    • Data storage management
    • Publish action on receiving
    • Voice data type
  • Publishing to a topic:
    • Selectable QoS/Retained
    • Text/Image data types
    • Voice data type
  • Customized users buttons menu:
    • Folders
    • Single-value buttons
    • Toggle buttons
    • Multi-value buttons
    • Print last subscription value
    • Draw charts
  • Your great idea (create a proposal in issues)

Usage

You can run the bot on your Raspberry Pi home server or free Heroku dyno.

Clone this repository:

git clone https://github.com/xDWart/mqtg-bot

Message @BotFather /newbot command to create a bot and get his HTTP API access token.

Environment variables

  • TELEGRAM_BOT_TOKEN - bot HTTP API access token, required
  • DATABASE_URL - Postgres connection string in the following format: postgres://user:password@host:port/db
  • SQLITE_PATH - path to SQLite database
  • MQTT_CLIENT_ID - Client ID to be used. Required for VerneMQ.

Notes:

  1. Only TELEGRAM_BOT_TOKEN env is required
  2. If DATABASE_URL env is omitted, or a Postgres connection error occurred, SQLite will be used
  3. If SQLITE_PATH env is omitted, mqtg.db will be used by default as a SQLite database
  4. You can create the .env file in the root of the project and insert your key/value environment variable pairs in the following format of KEY=VALUE

Local running

You can run mqtg-bot with environment variables:

TELEGRAM_BOT_TOKEN=... go run main.go

or if you've already created the .env file:

go run main.go

Running in Docker container

docker run -e TELEGRAM_BOT_TOKEN=... -e DATABASE_URL=... --network=host owart/mqtg-bot

Heroku running

You will need Heroku CLI

# login into Heroku
heroku login

# create a new app
heroku create *YOUR_APP_NAME*

# add your new app into git remotes
heroku git:remote -a *YOUR_APP_NAME*

# add TELEGRAM_BOT_TOKEN environment
heroku config:set TELEGRAM_BOT_TOKEN=*BOT_ACCESS_TOKEN*

# set version of Go
heroku config:set GOVERSION=go1.15

# attach Postgres add-on
heroku addons:create heroku-postgresql:hobby-dev

# push master branch to Heroku
git push heroku master

# scale up your app
heroku ps:scale worker=1

Then just message /start to your bot and follow the instructions to configure it.

Try bot

@mqtg_bot Message /start to him and configure connection to your MQTT broker.

Contribution

Licence

  • mqtg-bot is licensed under the MIT License.
  • See LICENSE for the full license text.
  • Copyright (c) Anatoliy Bezgubenko
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].