diff --git a/snmp2mqtt.py b/snmp2mqtt.py
new file mode 100644
index 0000000..16e3153
--- /dev/null
+++ b/snmp2mqtt.py
@@ -0,0 +1,47 @@
+#!/bin/env python3
+import asyncio
+from pysnmp.hlapi.asyncio.slim import Slim
+from pysnmp.smi.rfc1902 import ObjectIdentity, ObjectType
+import logging
+
+
+logging.basicConfig(
+        format='(%(levelname)s) %(message)s',
+        level=logging.DEBUG
+        )
+
+
+async def run(req):
+    for oid in req["oids"]:
+        with Slim(1) as slim:
+            errorIndication, errorStatus, errorIndex, varBinds = await slim.get(
+                req["snmp_community"],
+                req["ip"],
+                161,
+                ObjectType(ObjectIdentity(req["oids"][oid])),
+            )
+    
+            if errorIndication:
+                logging.error(errorIndication)
+            elif errorStatus:
+                logging.error(
+                    "{} at {}".format(
+                        errorStatus.prettyPrint(),
+                        errorIndex and varBinds[int(errorIndex) - 1][0] or "?",
+                    )
+                )
+            else:
+                for varBind in varBinds:
+                    logging.debug(f"SNMP/{req['mqtt_topic']}/{oid} => {varBind[1]}")
+
+req = {
+        "mqtt_topic": "mikrotik_hex",
+        "ip": "192.168.10.2",
+        "snmp_community": "public",
+        "oids": {
+            "stln_In": "1.3.6.1.2.1.2.2.1.10.12",
+            "stln_Out": "1.3.6.1.2.1.2.2.1.16.12"
+            }
+        }
+
+asyncio.run(run(req))