Beiträge von fastnix

VPN/Proxy erkannt

Es scheint, dass Sie einen VPN- oder Proxy-Dienst verwenden. Bitte beachten Sie, dass die Nutzung eines solchen Dienstes die Funktionalität dieser Webseite einschränken kann.

    Hallo,

    Nach unzähligen Mails mit dem Technical Support Team gibt es jetzt folgende Aussage:

    ".......Shelly gen1 devices can't be controlled via CoAP commands.

    The only thing you can get is the device status, which is published every 15 seconds. The default CoAP port is 5683, but the devices are using broadcast mode,...."

    und:

    "......I'm marking this ticket as Closed since there is no additional information to be shared to the topic."

    ... da werden Sie geholfen

    ...dann muss ich mir eben was anderes überlegen

    Gruß und eine schöne Woche an alle



    Oder mal anders gefragt:

    Was muss ich in Netcat eingeben um einen Shelly1pm zu schalten?

    Es fängt an mit:

    nc -u 192.168.33.1 PORT // Port ist der mir nicht bekannt Port, auf dem der Shelly UDP empfängt

    dann folgt der UDP- Befehl, der den Shelly betätigt.

    Das ist alles. So steuere ich meine Remote Empfänger (Schalter, Dimmer, Sensoren) die alle einen ESP32 als Prozessor drin haben.

    Gruß

    Stimmt, TCP ist sicherer. Aber ich würde trotzdem UDP bevorzugen, weil der Rest in meinem Heimnetz mit UDP Kommuniziert.

    Das Senden von UDP Nachrichten ist mit Arduino sehr einfach:

    Udp.beginPacket(IP, PORT);

    Udp.print(TextToSend);

    Udp.endPacket();

    Wobei die Frage ist, welcher Port und was in dem TextToSend drin stehen muss, damit der Shelly ein/aus schaltet.

    d.h. mein eigentliches Problem ist das Format des Befehls, das der Shelly versteht. Ich hab da zwar schon MQTT Beispiele gefunden aber irgendwie kapier ich da nichts.

    Hallo,

    ja die Hardware ist ähnlich. Aber den Blockly Code versteh ich nicht. Ist mir ein paar Stufen zu hoch. Ich programmiere den ESP32 mit Arduino.

    da sieht da dann eher so aus:

    if ((WiFi.status() == WL_CONNECTED)) {

    HTTPClient http;

    http.begin("http://192.168.33.1/relay/0?turn=on"); //Shelly einschalten

    int httpCode = http.GET();

    if (httpCode > 0) {

    String payload = http.getString();

    Serial.println(httpCode);

    Serial.println(payload);

    }

    else {

    Serial.println("Error ");

    }

    http.end();

    Und sowas würd ich jetzt gerne statt mit http://.... mit UDP realisieren...