MQTT2+Shelly: erste Konfiguration und template-Entwicklung

Begonnen von miggun, 03 Dezember 2018, 21:05:34

Vorheriges Thema - Nächstes Thema

Docter

Zitat von: grappa24 am 24 November 2023, 10:43:20einfach das Template für den shellyPlus_1pm benutzen, funktioniert wunderbar.

Und in den Shelly Einstellungen müssen sich die GEN2 Shellies bereits im MQTT-Prefix unterscheiden ....

bei mir leider nicht...
Kann den Plug dann nichtmal an und aus schalten per FHEM

pattex

@Docter

SChau mal ob es folgendes Problem bei dir ist:
Das Attribut devicetopic muss gleich dem hinterlegten Topic des Shellies sein. Im Standard steht da z.B. nur shellyplusplugs drin. Da muss dann sowas wie shellyplusplus-xxxxxxxxxxx rein.
Den Wert von xxxxxxxxxxx kannste dir aus der readingsList kopieren.

sam50

Zitat von: Docter am 27 November 2023, 06:28:46
Zitat von: grappa24 am 24 November 2023, 10:43:20einfach das Template für den shellyPlus_1pm benutzen, funktioniert wunderbar.

Und in den Shelly Einstellungen müssen sich die GEN2 Shellies bereits im MQTT-Prefix unterscheiden ....

bei mir leider nicht...
Kann den Plug dann nichtmal an und aus schalten per FHEM
Hi Schalt mal das Debug in der Web Oberfläche des PLUG PLUS 1 ein . bei mir haben diese 'setList' Einstellungen funktioniert zum schalten.

off:noArg shellies/Gartenlicht/command/switch:0 off
  on:noArg shellies/Gartenlicht/command/switch:0 on
  toggle:noArg shellies/Gartenlicht/command/switch:0 toggle
  x_update:noArg shellies/Gartenlicht/command update_fw
  x_mqttcom shellies/Gartenlicht/command $EVTPART1

sam50

Zitat von: Docter am 27 November 2023, 06:28:46
Zitat von: grappa24 am 24 November 2023, 10:43:20einfach das Template für den shellyPlus_1pm benutzen, funktioniert wunderbar.

Und in den Shelly Einstellungen müssen sich die GEN2 Shellies bereits im MQTT-Prefix unterscheiden ....

bei mir leider nicht...
Kann den Plug dann nichtmal an und aus schalten per FHEM

Hallo,das Template vom PLUS 1PM funktioniert wunderbar, ich hatte allerdings in dem MQTT Einstellungen vom Plus Plug S einige Fehler drin.

1. Ich habe das MQTT Prefix verändert --> sollte bleiben wie es ist zB(shellyplusplugs_80646fd6071)

2. die RPC Einstellungen sollten angewählt sein, da die Steuerung bei dem Template über RPC erfolgt
3. Die Client ID kann verändert werden.

olwaldi

#964
Zitat von: pattex am 01 Dezember 2023, 11:55:37@Docter

SChau mal ob es folgendes Problem bei dir ist:
Das Attribut devicetopic muss gleich dem hinterlegten Topic des Shellies sein. Im Standard steht da z.B. nur shellyplusplugs drin. Da muss dann sowas wie shellyplusplus-xxxxxxxxxxx rein.
Den Wert von xxxxxxxxxxx kannste dir aus der readingsList kopieren.

Das war auch genau mein Problem - hat geholfen.

Sollte es nicht eigentlich ein ShellyPlusPlugS template geben? Habe sicherheitshalber mal ein vollständiges fhem update gemacht, gab aber nix Neues bzgl. MQTT-templates.

Die hier im Thread diskutierten Lösungsvorschläge sind super, aber schwierig zum Nachvollziehen für Gelegenheits-MQTT-Nutzer (wie mich:-). Habe auch lange mit den vielen Optionen bzgl. MQTT im Shelly-Webinterface experimentiert. Falls noch jemand sucht, hier eine Zusammenfassung der notwendigen Einstellungen, um ein ShellyPlusPlugS via MQTT2 in fhem einzubinden:

1. Neuen ShellyPlusPlugS erstmalig am Stromnetz anschließen, LED leuchtet blau.
2. Mit Shelly-Accesspoint per wifi verbinden, WLAN-Netz heißt ShellyPlusPlugS-########.
3. Webgui öffnen im Browser der Wahl (siehe auch Shelly-Bedienungsanleitung) - 192.168.33.1
4. Eigenes WLAN unter Menüpunkt Wi-Fi konfigurieren (man kann 2 WLANs einstellen), nur 2.4GHz(?)
5. ShellyPlusPlugS rebooten, eigenes wifi am Rechner wieder aktivieren.
6. Z.B. mit Fritzbox IP des Shelly ermitteln und Webgui des Shelly über das eigene WLAN im Browser öffnen.
7. Dort unter Settings->MQTT aktivieren
  Connection type = No SSL
  Enable MQTT control = yes
  Enable RPC over MQTT = yes
  RPC status modification = yes
  Server = Name des fhem-Rechners:1883
  fhem-Username/Paßwort
  Save Settings und reboot des Shelly (wird automatisch angeboten, ansonsten im Settings Menü weiter unten)
8. Im Log des fhem-Rechners prüfen, ob MQTT-Login erfolgreich (d.h. keine Fehlermeldungen).
9. Durch MQTT2-autocreate sollte automatisch das neue MQTT-Device MQTT2_shellyplusplugs_####### erzeugt worden sein.
10. Das neue MQTT2-Device in fhem auswählen, dort oben mittels set ... attrTemplate shellyplus_1pm auswählen.
11. Unten im MQTT2-Device das Attribute devicetopic um die ID des ShellyPlusPlugS mit Bindestrich abgesetzt erweitern, also z.B. attr ... devicetopic shellyplusplugs-#########

Danach funktioniert der ShellyPlusPlugS bei mir - Schönheitsfehler: Im state wird eine Temperatur von -100°C angezeigt, vermutlich hat der ShellyPlusPlugS keinen Temperatursensor.

Hoffe, das hilft anderen mit demselben Problem weiter.


Grüßle, Michael

Nachtrag: Offenbar bleibt der Shelly-Accesspoint aktiv, auch wenn man das eigene WLAN konfiguriert hat. Daher den AP in der Shelly-GUI unter Settings->Access Point deaktivieren.

olwaldi

#965
Mittlerweile habe ich das Modul Shelly entdeckt, d.h. man muß MQTT gar nicht nutzen. Das wird dann hier OT, nichtsdestotrotz liste ich hier mal die erforderlichen Schritte für google-Sucher:

1. Neuen ShellyPlusPlugS erstmalig am Stromnetz anschließen, LED leuchtet blau.
2. Mit Shelly-Accesspoint per wifi verbinden, WLAN-Netz heißt ShellyPlusPlugS-########.
3. Webgui öffnen im Browser der Wahl (siehe auch Shelly-Bedienungsanleitung) - 192.168.33.1
4. Eigenes WLAN unter Menüpunkt Wi-Fi konfigurieren (man kann 2 WLANs einstellen), nur 2.4GHz(?)
5. ShellyPlusPlugS rebooten, eigenes wifi am Rechner wieder aktivieren.
6. Z.B. mit Fritzbox IP des Shelly ermitteln und Webgui des Shelly über das eigene WLAN im Browser öffnen.
7. In der Shelly-Webgui den offenen Accesspoint schließen durch Settings->Access Point Haken bei Enable wegnehmen.
8. ShellyPlusPlugS in fhem bekannt machen durch die folgenden fhem-Kommandos
define ShellyPlug Shelly ###.###.###.###
attr ShellyPlug event-on-change-reading .*
attr ShellyPlug webCmd on:off
define ShellyPlugLog FileLog ./log/ShellyPlugLog-%Y-%m.log ShellyPlug:energy:.*|ShellyPlug:power:.*
Das erste Kommando legt das Shelly-Device namens ShellyPlug an mit IP-Adresse, den man an- oder ausschalten kann. Das Schalten übernimmt das nachfolgende notify. Und wenn man die Daten loggen möchte, benötigt man ein FileLog. Und das kann man dann auch ggf. plotten (CreateSVG in ShellyPlugLog).

Grüßle, Michael

MadMax-FHEM

#966
Warum dummy und notify?
EDIT: model korrekt setzen oder/und devStateIcon anpassen und du kannst beim Shelly direkt schalten, oder?

Und das Define des Log sieht auch "eigenartig" aus...

ZitatShellyPlug ShellyPlug:energy:.*|ShellyPlug:power:.*

Eher so, oder:
ShellyPlug:energy:.*|ShellyPlug:power:.*

EDIT: und ja, gehört (beides: ja, sorry, mein Beitrag auch) nicht (wirklich) hierher...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

olwaldi

Stimmt. Das dummy-Device ist überflüssig. Ich editiere meinen alten Eintrag entsprechend.

Grüßle, Michael

Prof. Dr. Peter Henning

Zitat von: olwaldi am 24 Dezember 2023, 09:31:25Das wird dann hier OT, nichtsdestotrotz liste ich hier mal die erforderlichen Schritte für google-Sucher:

Vielleicht einfach die Dokumentation lesen? Die Schritte sind in dem Buch "SmartHome mit FHEM" (und von dem sollte inzwischen jeder mindestens eine elektronische Kopie haben...) ausführlich beschrieben.

LG

pah

GeZi3560

#969
Hallo zusammen,

ist es irgendwie möglich dem Shelly RGBW2 ( MQTT) den  dimup / dimdown Befehl beizubringen?

Das 36_Shelly Modul kann es, aber ich würde doch gerne durchgängig mit meinen Shellys bei MQTT bleiben.

Gruss Gerd
Raspberry Pi 4 4GB, MariaDB,2 Cul V3 868 ,1 Cul V3, 433, Zwave-USB, Conbee2, DeConz, MAX WT und Ventile,HM, Somfy, Fibaro, Shellys, Tradfri, Lidl Zigbee

Beta-User

Zitat von: GeZi3560 am 01 März 2024, 11:38:47Hallo zusammen,

ist es irgendwie möglich dem Shelly RGBW2 ( MQTT) den  dimup / dimdown Befehl beizubringen?

Das 36_Shelly Modul kann es, aber ich würde doch gerne durchgängig mit meinen Shellys bei MQTT bleiben.

Gruss Gerd

Sollte funktionieren.

Bitte mal im attrTemplate "shellydimmer" nachsehen, was da drin ist. Sollte sich (mehr oder weniger einfach, je nachdem, ob der RGBW2 ein "plus"-Gerät ist oder nicht...) übertragen lassen. Ergebnis übernehme ich dann gerne in das attrTemplate (shelly2rgbw_color?)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

GeZi3560

Danke für dein Feedback.
Tatsächlich konnte ich im setList Attribut des Shelly Dimmer die Zeilen finden die ich dann in das setList des RGBW2 angepasst übernommen habe. Es ist für einen Channel in dem RGBW-W4_Split Attr Templates.
Beispiel hier für Channel 3

dimup:noArg { my $num=int((ReadingsNum($NAME,'pct',0)+4)/10)*10+10; return qq {shellies/shellyrgbw2-98CDAC266DA2/white/3/set {"turn": "on", "brightness": $num}}; }
  dimdown:noArg { my $num=int((ReadingsNum($NAME,'pct',0)+7)/10)*10-10; return qq {shellies/shellyrgbw2-98CDAC266DA2/white/3/set {"turn": "on", "brightness": $num}}; }


Raspberry Pi 4 4GB, MariaDB,2 Cul V3 868 ,1 Cul V3, 433, Zwave-USB, Conbee2, DeConz, MAX WT und Ventile,HM, Somfy, Fibaro, Shellys, Tradfri, Lidl Zigbee