Hirdetés

Új hozzászólás Aktív témák

  • Gh0sT

    addikt

    válasz layerke #702 üzenetére

    Valószínűleg a laptopomon a Visual Studio 2015-tel akadhatott össze a Python, de nem volt türelmem kinyomozni hogy mi volt a gond, így átköltöztettem a rendszert a HTPC-re. A pycrypto csomag telepítése közben szaladtam folyamatosan hibára több Python verzióval is.

    Mivel nagyon sügér vagyok és alapvetően türelmetlen, így masszív szopás volt telepíteni, mert felületesen olvasok és kihagyok lépéseket, ráadásul Pythonnal még életemben nem találkoztam.

    A lépések (Windows 10 - 64 bit):
    1. Domoticz 1.8153 telepítése

    2. Python 2.7.13 telepítése
    Python telepítésénél egyszerűbb lesz az életünk, ha a PATH környezeti változóhoz hozzáadjuk a Python könyvtárat (ez egyébként sunyi módon a telepítésnél nincs bepipálva), hogy ne kelljen annyit gépelni.

    3. Microsoft Visual C++ Compiler for Python 2.7 telepítése

    4. Ezek voltak az alapok, ha ez kész, akkor parancssorból (cmd) mehet 3 parancs egymás után:
    pip install configparser
    pip install netaddr
    pip install pycrypto
    Ha nincs hiba (piros hosszú üzenetek), akkor mehet tovább, hiba esetén google. :(

    5. Python-Broadlink csomag letöltése (zöld Clone or download gomb --> Download ZIP)

    6. Csomag kitömörítése, könyvtárába bemenni és parancssorból kiadni az alábbi parancsot:
    setup.py install

    7. BlackBeanControl script letöltése (zöld Clone or download gomb --> Download ZIP)

    8. Csomag kitömörítése olyan könyvtárba, aminek a neve nem tartalmaz szóközt. Ezt azért hangsúlyozom, mert én bemásoltam a C:\Program Files x86\Domoticz\Script mappába, de a szóközök miatt nem tudtam futtatni a scriptet Domoticz alól. Biztos van rá megoldás, én azt választottam, hogy a c:\Python27\Scripts mappába másoltam be a BlackBeanControl könyvtárat teljes tartalmával.

    9. Ha ez megvan, akkor lehet érdemben foglalkozni a Broadlink RM3 mini Remote-tal.

    10. Telefon elő, E-Control app telepít.

    11. Az appon belül az Add device menüponttal fel kell csatlakoztatni az RM minit az otthoni Wifis hálózatra, hogy kapjon IP címet, MAC addresst, mert ezekre szükség lesz később. Ez elég egyszerű művelet, a wifi jelszón kívül sok mindent nem kell megadni hozzá.

    12. Következő lépésben szükség lesz a Wifi hálózaton lógó RM mini IP címére és MAC addressére, amit legegyszerűbben szerintem a routerünk admin felületére belépve lehet megnézni. Hogy ez kinél hol van, az router függő.

    13. Ezután vissza kell cammogni a legutoljára letöltött BlackBeanControl script mappájába (nálam c:\Python27\Scripts\BlackBeanControl) és a BlackBeanControl.ini fájlt kell felkonfigurálni valahogy így:

    [General]
    IPAddress = 192.168.1.xxx (ez az RM mini IP címe)
    Port = 80 (ez teljesen jó UDP portnak)
    MACAddress = AA:BB:CC:DD:EE:FF (RM mini MAC addresse)
    Timeout = 30
    [Commands]

    14. Nagyjából kész is vagyunk, innentől lehet tanítani az RM minit infra parancsokra. Ez úgy történik, hogy a BlackBeanControl könyvtárban parancssorból (hogy lássuk is az outputot, ne csak egy felvillanó ablakot) kiadjuk az alábbi parancsot:
    BlackBeanControl.py -c InfraParancsNeve

    Az InfraParancsNeve bármi lehet, én ékezetet és szóközt nem használok, hogy nem keserítsem meg az életemet. Tegyük fel, hogy be akarjuk kapcsolni a klímát, és erre szeretnénk megtanítani az RM minit:
    BlackBeanControl.py -c KlimaBekapcsol

    Ezután 30 másodpercünk van (timeout), hogy a klíma távirányítóját az RM minire irányítva a megfelelő gombot megnyomva megtanítsuk neki az infra parancsot. 30 mp-ig a script nem válaszol, nem kell megijedni. Onnan tudjuk, hogy sikerrel jártunk, hogy ha megnyitjuk a BlackBeanControl.ini fájlt (amit erősen ajánlott is tanítás után), akkor így fog kinézni:

    [General]
    IPAddress = 192.168.1.xxx (ez az RM mini IP címe)
    Port = 80 (ez teljesen jó UDP portnak)
    MACAddress = AA:BB:CC:DD:EE:FF (RM mini MAC addresse)
    Timeout = 30

    [Commands]
    KikapcsolKlima = 260036016e361.............

    A [Commands] blokk alatt szépen gyűlnek majd az infra parancsok, ahogy tanítjuk az RM minit. Fontos, hogy tanítani úgy kell, hogy a -c kapcsoló után egy olyan parancs elnevezést adunk meg, ami még nincs az adatbázisban, ellenkező esetben nem tanulni fog az RM mini, hanem kiküldi/végrehajtja az infra parancsot. Magyarul a -c kapcsolóval tanítunk új parancsot vagy hajtunk végre már megtanult parancsot.

    Jelen esetben, ha lefuttatom a BlackBeanControl.py -c KlimaBekapcsol scriptet, akkor először megtanulja az RM mini a parancsot, legközelebb viszont már végrehajtja.

    15. Használat Domoticz alól: én egy Scenet (talán esemény/jelenet magyarul) hoztam létre, azon belül is egy Group (csoport) típusút.
    On Action: script://c:/Python27/Scripts/BlackBeanControl/BlackBeanControl.py -c BekapcsolKlima
    Off Action: script://c:/Python27/Scripts/BlackBeanControl/BlackBeanControl.py -c KikapcsolKlima

    Nagyjából ennyi, az alap lépéseket egyszer kell elvégezni a tanítás folyamatos, az automatizálás pedig innentől Domoticz alól akár Blockly segítségével is megoldható.

    Soha nem késő, hogy azzá válj, aki lehettél volna.

Új hozzászólás Aktív témák