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...
-
Erst mal hallo an alle.
Ich hab den alten Beitrag ausgegraben, weil das gut zu meiner Frage passt.
Die Shellys mit einem ESP32 und HTTP-Request ansteuern, lässt sich mit ein paar Zeile Arduino-Programm realisieren. Aber wie geht da mit UDP ? Irgendwie seh ich da den Wald.....
Gruß