Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] Daten per Telnet abgreifen.

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.6k

[gelöst] Daten per Telnet abgreifen.

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
communication
2 Beiträge 1 Kommentatoren 233 Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • capitaenzC Offline
    capitaenzC Offline
    capitaenz
    schrieb am zuletzt editiert von capitaenz
    #1

    Hallo zusammen,

    ich habe einen Wemos D1 mit EasyESP.
    EasyESP stellt mit per Telnet Daten vom RX-Pin zur Verfügung.
    Hat jemand eine Idee wie ich die Daten in den ioBroker bekomme?!
    Ich habe zwar diesen Adapter von @Bluefox und @hobbyquaker gefunden:
    https://github.com/ioBroker/ioBroker.telnet
    Jedoch ist er 6 Jahre alt und ohne weitere Beschreibung.

    MightyOhm.JPG

    ioBroker auf Synology DS920+ (SSD Raid / 20GB RAM) im VMM

    capitaenzC 1 Antwort Letzte Antwort
    0
    • capitaenzC capitaenz

      Hallo zusammen,

      ich habe einen Wemos D1 mit EasyESP.
      EasyESP stellt mit per Telnet Daten vom RX-Pin zur Verfügung.
      Hat jemand eine Idee wie ich die Daten in den ioBroker bekomme?!
      Ich habe zwar diesen Adapter von @Bluefox und @hobbyquaker gefunden:
      https://github.com/ioBroker/ioBroker.telnet
      Jedoch ist er 6 Jahre alt und ohne weitere Beschreibung.

      MightyOhm.JPG

      capitaenzC Offline
      capitaenzC Offline
      capitaenz
      schrieb am zuletzt editiert von capitaenz
      #2

      Problem gelöst, habe diesen Code gefunden von www.letscontrolit.com
      Damit baut man einfach meine (ursprünglich) gewünschte Serial2MQTT Brücke auf.

      #include <ESP8266WiFi.h>
      #include <PubSubClient.h>
      
      const char* ssid = "SSID";
      const char* password = "PWD";
      const char* mqtt_server = "192.168.XXX.XXX";
      const char* topic_rx = "uart/rx";
      const char* topic_tx = "uart/tx";
      
      
      const byte numChars = 100;
      char receivedChars[numChars]; // an array to store the received data
      boolean newData = false;
      
      WiFiClient espClient;
      PubSubClient client(espClient);
      
      void setup() {
        pinMode(BUILTIN_LED, OUTPUT);     // Initialize the BUILTIN_LED pin as an output
        Serial.begin(9600);
        setup_wifi();
        client.setServer(mqtt_server, 1885);
        client.setCallback(callback);
      }
      
      void setup_wifi() {
        delay(10);
        WiFi.begin(ssid, password);
        while (WiFi.status() != WL_CONNECTED) {
          delay(500);
        }
      }
      
      void callback(char* topic, byte* payload, unsigned int length) {
        for (int i = 0; i < length; i++) {
          Serial.print((char)payload[i]);
        }
        Serial.println();
      }
      
      String macToStr(const uint8_t* mac)
      {
        String result;
        for (int i = 0; i < 6; ++i) {
          result += String(mac[i], 16);
          if (i < 5)
            result += ':';
        }
        return result;
      }
      
      void reconnect() {
        String clientName;
        clientName += "esp8266-";
        uint8_t mac[6];
        WiFi.macAddress(mac);
        clientName += macToStr(mac);
        clientName += "-";
        clientName += String(micros() & 0xff, 16);
        while (!client.connected()) {
          if (client.connect((char*) clientName.c_str())) { // random client id
            digitalWrite(BUILTIN_LED, LOW); // low = high, so this turns on the led
            client.subscribe(topic_rx); // callback: mqtt bus -> arduino
          } else {
            digitalWrite(BUILTIN_LED, HIGH); // high = low, so this turns off the led
            delay(5000);
          }
        }
      }
      
      void loop() {
        if (!client.connected()) {
          reconnect();
        }
        client.loop();
      
        recvWithEndMarker();
        showNewData();
      }
      
      void recvWithEndMarker() {
        static byte ndx = 0;
        char endMarker = '\n';
        char rc;
       
        while (Serial.available() > 0 && newData == false) {
          rc = Serial.read();
      
          if (rc != endMarker) {
            receivedChars[ndx] = rc;
            ndx++;
            if (ndx >= numChars) {
              ndx = numChars - 1;
            }
          }
          else {
            receivedChars[ndx] = '\0'; // terminate the string
            ndx = 0;
            newData = true;
          }
        }
      }
      
      void showNewData() {
        if (newData == true) {
          client.publish(topic_tx, receivedChars); // publish: arduino -> mqtt bus
          newData = false;
        }
      }
      

      ioBroker auf Synology DS920+ (SSD Raid / 20GB RAM) im VMM

      1 Antwort Letzte Antwort
      0
      Antworten
      • In einem neuen Thema antworten
      Anmelden zum Antworten
      • Älteste zuerst
      • Neuste zuerst
      • Meiste Stimmen


      Support us

      ioBroker
      Community Adapters
      Donate

      553

      Online

      32.7k

      Benutzer

      82.4k

      Themen

      1.3m

      Beiträge
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
      ioBroker Community 2014-2025
      logo
      • Anmelden

      • Du hast noch kein Konto? Registrieren

      • Anmelden oder registrieren, um zu suchen
      • Erster Beitrag
        Letzter Beitrag
      0
      • Home
      • Aktuell
      • Tags
      • Ungelesen 0
      • Kategorien
      • Unreplied
      • Beliebt
      • GitHub
      • Docu
      • Hilfe