User Tools

Site Tools


viltsolar:smart_switches

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 (SONOFF DIY Mode Overview).

Pagal aprašymą, tai turėtų būti atliekama šiais žingsniais:

  1. 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.
  2. Bet kuriame įrenginyje, turinčiame Wi-Fi, turėtų atsirasti Access Point, ITEAD-XXXXXXXXXX prie kurio reikia prisijungti slaptažodžiu 12345678.
  3. Prisijungus prie Access Point, per naršyklę reikia kreiptis į adresą http://10.10.7.1/.
  4. 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: .


Tasmota

Galimi keli Sonoff switcho su tasmotos firmware valdymo būdai:

HTTP requestai

Tasmota įjungiama ir išjungiama naudojantis tokiais HTTP requestais:

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())
viltsolar/smart_switches.txt · Last modified: by julius