====== 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())