J’utilise mes Shellies en MQTT avec l’excellent plugin-jmqtt.
Toutefois, sur les shellies de 1ère génération, il n’est pas possible via MQTT de modifier, activer ou désactiver les "schedule timer"
.
Ici, pour un shellyPlug, une solution avec un bloc code de scénario.
D’autres paramètres peuvent aussi être modifiés de la même façon, il suffit de construire la bonne url.
https://shelly-api-docs.shelly.cloud/gen1/#shelly-plug-plugs-settings-relay-0
$username = 'name';
$password = 'pwd';
$context = stream_context_create(array('http' => array('header' => "Authorization: Basic " . base64_encode("$username:$password"))));
$ip = '192.168.1.x';
$url = 'http://' . $ip . '/settings/relay/0/?schedule_rules=2300-0123456-on,0700-0123456-off';
$retour = file_get_contents($url, false, $context);
$scenario->setLog('Retour : ' . $retour);
Activer
$url = 'http://' . $ip . '/settings/relay/0/?schedule=true';
Désactiver
$url = 'http://' . $ip . '/settings/relay/0/?schedule=false';