====== Sonoff ======
Valdymas naudojant HTTP requestus galimas tik su šiais įrenginiais: BASICR3, RFR3, MINI.
Tam, kad, būtų galima valdyti Sonoff jungiklį naudojant HTTP requestus, būtina įjungti DIY Mode
([[http://developers.sonoff.tech/sonoff-diy-mode-api-protocol.html|SONOFF DIY Mode Overview]]).
Pagal aprašymą, tai turėtų būti atliekama šiais žingsniais:
- Jungiklis įjungiamas į elektros tinklą, paspaudžiamas ir laikomas jo mygtukas apie 5 sekundes, kol lemputė pradeda mirksėti. Tuomet dar kartą nuspaudžiamas mygtukas ir taip pat laikomas apie 5 sekundes, kol lemputės mirksėjimas pasikeičia.
- Bet kuriame įrenginyje, turinčiame Wi-Fi, turėtų atsirasti Access Point, ITEAD-XXXXXXXXXX prie kurio reikia prisijungti slaptažodžiu 12345678.
- Prisijungus prie Access Point, per naršyklę reikia kreiptis į adresą [[http://10.10.7.1/]].
- Atsidariusiame puslapyje suvesti Wi-Fi duomenis, prie kurio norima prijungti switchą. Tai atlikus, switchas turėtų veikti DIY rėžime ir priimti siunčiamus HTTP requestus.
Su įrenginiais, kurie šiuo metu nėra palaikomi, DIY rėžimo įjungti nepavyksta:
Buvo bandyta su Sonoff S26 ir Sonoff TH16 - įrenginiai sukuria Access pointą, bet jungiantis adresu [[http://10.10.7.1/]], gaunamas HTTP timeout, nepaisant to, kad HTTP(80) portas randamas kaip atviras:
{{:viltsolar:sonoff.png?400 |}}.
----
====== Tasmota ======
Galimi keli Sonoff switcho su tasmotos firmware valdymo būdai:
==== HTTP requestai ====
Tasmota įjungiama ir išjungiama naudojantis tokiais HTTP requestais:
- http://x.x.x.x/cm?cmnd=Power%20On - įjungimas
- http://x.x.x.x/cm?cmnd=Power%20Off - išjungimas
==== MQTT pranešimai naudojant MQTT brokerį ====
Paprasčiausias MQTT brokeris gali veikti ant raspberry pi. Jo veikimui reikia installiuoti mosquitto package:
sudo apt-get install mosquitto mosquitto-clients
sudo systemctl enable mosquitto
Trys pagrindinės MQTT žinutės tasmotos valdymui:
# Get status
pub.single("cmnd/tasmota_1/Power", hostname=host)
get_result("stat/tasmota_1/POWER", host)
# Power on using MQTT
pub.single("cmnd/tasmota_1/Power", "on", hostname=host)
get_result("stat/tasmota_1/POWER", host)
# Power off using MQTT
pub.single("cmnd/tasmota_1/Power", "off", hostname=host)
get_result("stat/tasmota_1/POWER", host)
==== Valdymas naudojant pythono package tasmotadevicecontroller: ====
import asyncio
from tasmotadevicecontroller import TasmotaDevice
from tasmotadevicecontroller import tasmota_types as t
async def main():
device = await TasmotaDevice.connect('192.168.0.101')
setResult = await device.setPower(t.PowerType.TOGGLE)
loop = asyncio.get_event_loop()
loop.run_until_complete(main())