FHEM - Hausautomations-Systeme > MQTT

[gelöst] Shelly2.5 settings (shedule/_rules) abfragen/ändern

(1/3) > >>

frober:
Hallo zusammen,

ich möchte über MQTT die shedule ein-/ausschalten, bzw. die shedule_rules ändern.

Die shedule_rules müsste ich erst einmal abfragen, um die aktuelle Konfiguration zu sichern, bzw. anzupassen.

Wenn ich das halbwegs verstanden habe, müsste ich es so in etwa pulblishen!?

--- Code: ---shellies/shellyswitch25-<deviceid>/settings/roller/{index}
--- Ende Code ---

Als Index dann shedule_rules?
Was mir auch nicht klar ist, wo gebe ich die Anfrage ein?

Es handeln sich um Shelly 2.5 als roller konfiguriert und mit MQTT2_Server angebunden.

Danke und Gruß
Bernd

 

Otto123:
Hallo Bernd,

meines Wissen sind das HTTP API Befehle / Settings und die sind nicht per MQTT verfügbar.
https://shelly-api-docs.shelly.cloud/#shelly2-5-mqtt

https://shelly-api-docs.shelly.cloud/#shelly2-5-settings-relay-index

Da musst Du Dir wahrscheinlich etwas per HTTP (HTTPMOD) basteln. Ich hatte da mal was für den shellyplug s gebaut. Hilft vielleicht als Vorlage:

--- Code: ---defmod shellyplug_s_h HTTPMOD none 0
attr shellyplug_s_h userattr get01Name get01URL get02Name get02URL get03Name get03URL set01IMap set01Name set01TextArg:0,1 set01URL set02Name set02TextArg:0,1 set02URL set03Name set03TextArg:0,1 set03URL set04Name set04TextArg:0,1 set04URL set05Name set05TextArg:0,1 set05URL set06Name set06TextArg:0,1 set06URL set07Name set07TextArg:0,1 set07URL set10Name set10TextArg:0,1 set10URL set11Name set11TextArg:0,1 set11URL set12Name set12TextArg:0,1 set12URL set15Name set15TextArg:0,1 set15URL set16Name set16URL set17Name set18URL
attr shellyplug_s_h eventMap /switch on:on/switch off:off/switch toggle:toggle
attr shellyplug_s_h extractAllJSON 1
attr shellyplug_s_h get01Name settings
attr shellyplug_s_h get01URL http://shellyplug-s-040E41/settings
attr shellyplug_s_h get02Name status
attr shellyplug_s_h get02URL http://shellyplug-s-040E41/status
attr shellyplug_s_h get03Name settings_relay_0
attr shellyplug_s_h get03URL http://shellyplug-s-040E41/settings/relay/0
attr shellyplug_s_h room HTTPMOD_Device
attr shellyplug_s_h set01Name mqtt_max_qos
attr shellyplug_s_h set01URL http://shellyplug-s-040E41/settings/?mqtt_max_qos=$val
attr shellyplug_s_h set02Name mqtt_retain
attr shellyplug_s_h set02TextArg 1
attr shellyplug_s_h set02URL http://shellyplug-s-040E41/settings/?mqtt_retain=$val
attr shellyplug_s_h set03Name mqtt_update_period
attr shellyplug_s_h set03URL http://shellyplug-s-040E41/settings/?mqtt_update_period=$val
attr shellyplug_s_h set04Name settings_relay_0_default_state
attr shellyplug_s_h set04TextArg 1
attr shellyplug_s_h set04URL http://shellyplug-s-040E41/settings/relay/0/?default_state=$val
attr shellyplug_s_h set05Name settings_relay_0_btn_type
attr shellyplug_s_h set05TextArg 1
attr shellyplug_s_h set05URL http://shellyplug-s-040E41/settings/relay/0/?btn_type=$val
attr shellyplug_s_h set06Name settings_relay_0_auto_on
attr shellyplug_s_h set06URL http://shellyplug-s-040E41/settings/relay/0/?auto_on=$val
attr shellyplug_s_h set07Name settings_relay_0_auto_off
attr shellyplug_s_h set07URL http://shellyplug-s-040E41/settings/relay/0/?auto_off=$val
attr shellyplug_s_h set10Name led_status_disable
attr shellyplug_s_h set10TextArg 1
attr shellyplug_s_h set10URL http://shellyplug-s-040E41/settings/?max_power=$val
attr shellyplug_s_h set11Name led_status_disable
attr shellyplug_s_h set11TextArg 1
attr shellyplug_s_h set11URL http://shellyplug-s-040E41/settings/?led_status_disable=$val
attr shellyplug_s_h set12Name led_power_disable
attr shellyplug_s_h set12TextArg 1
attr shellyplug_s_h set12URL http://shellyplug-s-040E41/settings/?led_power_disable=$val
attr shellyplug_s_h set15Name switch
attr shellyplug_s_h set15TextArg 1
attr shellyplug_s_h set15URL http://shellyplug-s-040E41/relay/0/?turn=$val
attr shellyplug_s_h set16Name timeron
attr shellyplug_s_h set16URL http://shellyplug-s-040E41/relay/0/?timer=$val&turn=on
attr shellyplug_s_h set17Name timeroff
attr shellyplug_s_h set18URL http://shellyplug-s-040E41/relay/0/?timer=$val&turn=off

--- Ende Code ---

Gruß Otto

frober:

--- Zitat von: Otto123 am 05 April 2021, 19:55:48 ---Hallo Bernd,

meines Wissen sind das HTTP API Befehle / Settings und die sind nicht per MQTT verfügbar.
https://shelly-api-docs.shelly.cloud/#shelly2-5-mqtt

https://shelly-api-docs.shelly.cloud/#shelly2-5-settings-relay-index

Da musst Du Dir wahrscheinlich etwas per HTTP (HTTPMOD) basteln. Ich hatte da mal was für den shellyplug s gebaut. Hilft vielleicht als Vorlage:

--- Code: ---defmod shellyplug_s_h HTTPMOD none 0
attr shellyplug_s_h userattr get01Name get01URL get02Name get02URL get03Name get03URL set01IMap set01Name set01TextArg:0,1 set01URL set02Name set02TextArg:0,1 set02URL set03Name set03TextArg:0,1 set03URL set04Name set04TextArg:0,1 set04URL set05Name set05TextArg:0,1 set05URL set06Name set06TextArg:0,1 set06URL set07Name set07TextArg:0,1 set07URL set10Name set10TextArg:0,1 set10URL set11Name set11TextArg:0,1 set11URL set12Name set12TextArg:0,1 set12URL set15Name set15TextArg:0,1 set15URL set16Name set16URL set17Name set18URL
attr shellyplug_s_h eventMap /switch on:on/switch off:off/switch toggle:toggle
attr shellyplug_s_h extractAllJSON 1
attr shellyplug_s_h get01Name settings
attr shellyplug_s_h get01URL http://shellyplug-s-040E41/settings
attr shellyplug_s_h get02Name status
attr shellyplug_s_h get02URL http://shellyplug-s-040E41/status
attr shellyplug_s_h get03Name settings_relay_0
attr shellyplug_s_h get03URL http://shellyplug-s-040E41/settings/relay/0
attr shellyplug_s_h room HTTPMOD_Device
attr shellyplug_s_h set01Name mqtt_max_qos
attr shellyplug_s_h set01URL http://shellyplug-s-040E41/settings/?mqtt_max_qos=$val
attr shellyplug_s_h set02Name mqtt_retain
attr shellyplug_s_h set02TextArg 1
attr shellyplug_s_h set02URL http://shellyplug-s-040E41/settings/?mqtt_retain=$val
attr shellyplug_s_h set03Name mqtt_update_period
attr shellyplug_s_h set03URL http://shellyplug-s-040E41/settings/?mqtt_update_period=$val
attr shellyplug_s_h set04Name settings_relay_0_default_state
attr shellyplug_s_h set04TextArg 1
attr shellyplug_s_h set04URL http://shellyplug-s-040E41/settings/relay/0/?default_state=$val
attr shellyplug_s_h set05Name settings_relay_0_btn_type
attr shellyplug_s_h set05TextArg 1
attr shellyplug_s_h set05URL http://shellyplug-s-040E41/settings/relay/0/?btn_type=$val
attr shellyplug_s_h set06Name settings_relay_0_auto_on
attr shellyplug_s_h set06URL http://shellyplug-s-040E41/settings/relay/0/?auto_on=$val
attr shellyplug_s_h set07Name settings_relay_0_auto_off
attr shellyplug_s_h set07URL http://shellyplug-s-040E41/settings/relay/0/?auto_off=$val
attr shellyplug_s_h set10Name led_status_disable
attr shellyplug_s_h set10TextArg 1
attr shellyplug_s_h set10URL http://shellyplug-s-040E41/settings/?max_power=$val
attr shellyplug_s_h set11Name led_status_disable
attr shellyplug_s_h set11TextArg 1
attr shellyplug_s_h set11URL http://shellyplug-s-040E41/settings/?led_status_disable=$val
attr shellyplug_s_h set12Name led_power_disable
attr shellyplug_s_h set12TextArg 1
attr shellyplug_s_h set12URL http://shellyplug-s-040E41/settings/?led_power_disable=$val
attr shellyplug_s_h set15Name switch
attr shellyplug_s_h set15TextArg 1
attr shellyplug_s_h set15URL http://shellyplug-s-040E41/relay/0/?turn=$val
attr shellyplug_s_h set16Name timeron
attr shellyplug_s_h set16URL http://shellyplug-s-040E41/relay/0/?timer=$val&turn=on
attr shellyplug_s_h set17Name timeroff
attr shellyplug_s_h set18URL http://shellyplug-s-040E41/relay/0/?timer=$val&turn=off

--- Ende Code ---

Gruß Otto

--- Ende Zitat ---

Erstmal danke Otto.

Ich dachte auch, dass es nur mit Http geht. Laut API aktuell scheint es nun auch per MQTT zu gehen.
https://shelly-api-docs.shelly.cloud/#shelly2-settings-roller-index

Grundlegend kann ich im MQTT2_Server ein publish absetzen, nur wo bekomme ich die Antwort? Wie üblich als Popup o.ä.?

Otto123:
Da ist bei Dir Wunschlesemodus aktiv  ;D - meine Links waren schon fast richtig. Du bist jetzt bei dem 2 er und nicht 2.5 er
Und Dein link ist HTTP API - MQTT ist weiter oben.

https://shelly-api-docs.shelly.cloud/#shelly2-5-settings-roller-index

Publishen kannst Du viel - aber ob das Einen interessiert?

frober:

--- Zitat von: Otto123 am 05 April 2021, 20:26:42 ---Da ist bei Dir Wunschlesemodus aktiv  ;D - meine Links waren schon fast richtig. Du bist jetzt bei dem 2 er und nicht 2.5 er
Und Dein link ist HTTP API - MQTT ist weiter oben.

https://shelly-api-docs.shelly.cloud/#shelly2-5-settings-roller-index

Publishen kannst Du viel - aber ob das Einen interessiert?

--- Ende Zitat ---

Der Shelly2 war ein Versehen.
Dann sind nur die "wenigen" Befehle für MQTT und unter ColoT ist alles Http!?

Irgendwie ist die Seite jedes mal verwirrend :o

Dann setze ich mal auf gelöst.
Danke nochmal für das Bsp.

P.S. deine Links hatte ich überlesen, sorry.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln