Shelly Plus 1 schaltet nicht via MQTT

  • Hallo Shelly Community!

    Leider bekomme ich meinen Shelly Plus 1 nicht via MQTT geschaltet. Ich bin genaustens der Shelly API DokuGen2 für MQTT gefolgt. Als MQTT Broker habe ich auf einem Raspberry Pi 4 Mosquitto via Docker aufgesetzt. Das läuft auch gut. Ich kann problemlos mit meinem Windows-Rechner einem Topic subcriben und bekomme Nachrichten gepublished.

    Der Shelly Plus 1 sendet sogar an

    mosquitto_sub -h 192.168.178.25 -p 1883 -t shellyplus1-xxx/events/rpc

    {"src":"shellyplus1-xxx","dst":"shellyplus1-xxx/events","method":"NotifyStatus","params":{"ts":1644148557.00,"switch:0":{"id":0,"temperature":{"tC":37.89,"tF":100.21}}}}

    Das heißt, bis "Step 6: Receive notifications over MQTT" läuft alles super.

    Dann habe ich wie in Schritt 7 beschrieben versucht, mit .\mosquitto_pub.exe -h 192.168.178.25 -p 1883 -t shellyplus1-xxx/rpc -m '{"id":123, "src":"testtopic", "method":"Shelly.GetStatus"}' den Status zurückzubekommen.

    Aber auf .\mosquitto_sub.exe -h 192.168.178.25 -p 1883 -t testtopic/rpc kommt leider nichts zurück.

    Auch weitere Versuche den Shelly zu via MQTT zuschalten sind gescheitert.

    Falls jemand eine Idee hat, würde ich mich sehr freuen.

    LG Lukas

  • -h 192.168.178.25

    das ist dein Mosquitto Server, oder?

    ich hab das gerade mal hiermit getestet:
    pasted-from-clipboard.png

    mosquitto_pub -h 192.168.178.86 -u admin -P admin -p 1883 -t shellies/test/rpc -m '{"id":123, "src":"testtopic", "method":"Shelly.GetStatus"}'
    sorgt dafür, dass im Mosquitto anschließend der Status vom Shelly protokolliert wird, das funktioniert also

    pasted-from-clipboard.png

    >100 Shellies, darunter so gut wie alles was der Hersteller produziert hat. ;)
    :!: ich beantworte grundsätzlich keine Fragen per persönlicher Nachricht:!:

  • Hallo Seven of Nine!

    Danke für die Rückmeldung! Ja 192.168.178.25 ist der Raspberry Pi mit dem Mosquitto Container.

    Mein Shelly Interface ist ein bisschen primitiver aufgebaut:

    pasted-from-clipboard.png

    Ich habe anonymous_user mal auf true gesetzt, um die Authentifizierung zum Testen erstmal außen vorzulassen.

    Eben habe ich nochmals versucht direkt vom RaspberryPi eine MQTT-Nachricht an den Shelly zusenden

    und es hat mit mosquitto_pub -h 192.168.178.25 -p 1883 -t shellyplus1-441793a59cc4/rpc -m '{"id":123, "src":"testtopic","method":"Shelly.GetStatus"}'  funktioniert!

    Die MQTT Nachrichten sind wohl case sensitiv. Ich hatte vorher 441793A59CC4 statt 441793a59cc4 geschrieben.

    Von meinem Windows-Rechner klappt es aber momentan immer noch nicht.

    Die Nachrichten kommen zwar beim Broker an, aber der Shelly gibt nichts auf "GetStatus" zurück. Aber das ist ein anderes Problem.

    Danke für dein Feedback

    LG Lukas