Giter VIP home page Giter VIP logo

orvibo's Introduction

orvibo

Module to manipulate Orvibo devices, such as s20 wifi sockets and AllOne IR blasters to control whatever devices via emiting IR signal (TVs, AV receivers, air conditioners, etc)

Refferences

  • Lots of info was found in ninja-allone library
  • S20 data analysis by anonymous is here
  • python-orvibo similar module, but currently supports Orvibo S20 sockets only.

TODO

  • Get rid of keeping connection to the Orvibo device, which breaks further discover
  • Test under linux platform
  • Consider python 2.7 support
  • Add mac and type cmd line arguments in order decrease execution latency (ver 1.1)
  • API for adding new Orvibo device to the network
  • Python setup script
  • Orvibo s20 event handler
  • Learning and emiting RF 433MHz signal Issue#7

Requires

  • Python (tested on Win7 with python 2.7 and python 3.4 and Ubuntu with python 3.2)

Known applications

please let me know about apps not listed here :octocat:

Usage

As console app

Overview

orvibo.py [-i <ip>] | [-m <mac> -x <socket/irda>] [-s on|off] | [-t <file_to_save_signal>] | [-e <file_with_signal_to_emit>]]

Discover all Orvibo devices in the network

> python orvibo.py
Orvibo[type=socket, ip=192.168.1.45, mac='acdf238d1d2e']
Orvibo[type=irda, ip=192.168.1.37, mac='accf4378efdc']

Discover device by ip

> python orvibo.py -i 192.168.1.45
Orvibo[type=socket, ip=192.168.1.45, mac='acdf238d1d2e']
Is enabled: True

State of known device [draft]

Faster than just discovering by ip, since discovering step is skipped here. Note: There is no any mac/type validation!

> python orvibo.py -m acdf238d1d2e -x socket
Orvibo[type=socket, ip=unknown, mac='acdf238d1d2e']
Is enabled: True

Same arguments can be used for all examples below.

Switch s20 wifi socket

> python orvibo.py -i 192.168.1.45 -s on
Orvibo[type=socket, ip=192.168.1.45, mac='acdf238d1d2e']
Already enabled.

Grab IR code to file

> python orvibo.py -i 192.168.1.37 -t test.ir
Orvibo[type=irda, ip=192.168.1.37, mac='accf5378dfdc']
Done

Emit already grabed IR code

> python orvibo.py -i 192.168.1.37 -e test.ir
Orvibo[type=irda, ip=192.168.1.37, mac='accf5378dfdc']
Done

As python module

Discover all devices in the network

from orvibo import Orvibo

for ip in Orvibo.discover():
    print('IP =', ip)

for args in Orvibo.discover().values():
    device = Orvibo(*args)
    print(device)

Result

IP = 192.168.1.45
IP = 192.168.1.37
Orvibo[type=socket, ip=192.168.1.45, mac='acdf238d1d2e']
Orvibo[type=irda, ip=192.168.1.37, mac='accf4378efdc']

Getting exact device by IP

device = Orvibo.discover('192.168.1.45')
print(device)

Result:

Orvibo[type=socket, ip=192.168.1.45, mac='acdf238d1d2e']

Control S20 wifi socket

only for devices with type 'socket'

device = Orvibo('192.168.1.45')
print('Is socket enabled: {}'.format(device.on))
device.on = not device.on # Toggle socket
print('Is socket enabled: {}'.format(device.on))

Result:

Is socket enabled: True
Is socket enabled: False

Learning AllOne IR blaster

only for devices with type 'irda'

device = Orvibo('192.168.1.37')
ir = device.learn('test.ir', timeout=15) # AllOne red light is present,
                                           # waiting for ir signal for 15 seconds and stores it to test.ir file
if ir is not None:
    # Emit IR code from "test.ir"
    device.emit('test.ir')
    # Or with the same result
    # device.emit(ir)

Keeping connection to Orvibo device

By default module doesn't keep connection to the Orvibo device to allow user not thinking about unplanned disconnections from device by whatever reasons (power outage, wifi router reboot, etc). Such behavior actually leads to valuable delay between sending request and applying command on the Orvibo device. Module allows to keep the connection and decrease the latency via setting keep_connection property to True. In this way closing connection and handling socket errors duties lie on orvibo python library user.

import socket

device = Orvibo('192.168.1.45')
device.keep_connection = True

def blink_socket(device):
    try:
        device.on = not device.on
    except socket.error:
        # Reset connection to device    
        device.keep_connection = True

try:
    # Note: now socket errors are handled by user!

    # Blink the socket ^_^
    for i in range(5):
        blink_socket(device)

    # You also may stop using connection anytime
    # device.keep_connection = False
finally:
    # Connection must be closed explicitly.
    # via
    device.close()
    # or via
    # device.keep_connection = False

orvibo's People

Contributors

cherezov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

orvibo's Issues

Error Device not found in dict_keys

Hello,

I intermittently get the following error when using this to control my orvibo S20 socket when trying to turn the socket on or off.

Device ip=[ip address] not found in dict_keys

I am using Termux on my android (Android 9). Sometimes the on/off commands work fine whereas other times I get the error above (more often than not the error is returned).

I've tried searching the web for a fix but can't find any obvious reason for the error or fix.

Any particular reason(s) I am seeing this error and do you have any advice on how to fix this?

RF 433 learning

Hi,

First, thanks for you work. now... is it possible to learn RF codes from other brands or just orvibo products? I have a pair of Livolo switchs and a 4 button rf remote control, but the orvibo seems to ignore it.

Python 3

Don't know if it is a bug but...

$ python orvibo.py
Orvibo[type=irda, ip=1xx.1xx.x.83, mac=xxxxx3565xxx]
Orvibo[type=None, ip=1xx.xx.x.3, mac=xxxxxx2e6xxx]
$ python3 orvibo.py
Orvibo[type=irda, ip=1xx.1xx.x.83, mac=Unknown]
Orvibo[type=None, ip=1xx.xx.x.3, mac=Unknown]

Support for S31

The S31 does not respond (product link here). This seems to be because they have changed some of the response codes. Ive attached wireshark dumps to aid in any reverse engineering.

S31 Wireshark.zip

iPhone - 70:f0:87:7e:43:fc
S31 - 5c:cf:7f:9c:c7:d5
S31 2nd - 5c:cf:7f:9c:c4:ca

Nmap scan report for HomeMate_device (192.168.2.124)
Host is up (0.0051s latency).
Not shown: 65533 closed ports
PORT      STATE         SERVICE
5000/udp  open|filtered upnp
49153/udp open|filtered unknown
MAC Address: 5C:CF:7F:9C:C7:D5 (Espressif)

Starting Nmap 7.40 ( https://nmap.org ) at 2017-03-12 12:52 EDT
Nmap scan report for 192.168.2.164
Host is up (0.16s latency).
PORT      STATE         SERVICE
5000/udp  open|filtered upnp
49153/udp open|filtered unknown
MAC Address: 5C:CF:7F:9C:C4:CA (Espressif)

S31 discovery data load?

0000   68 64 00 5a 70 6b 5d 6c d6 1e 30 30 30 30 30 30
0010   30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
0020   30 30 30 30 30 30 30 30 30 30 a0 a1 e7 b9 2c 23
0030   1f 23 96 e1 17 a8 d5 17 4d ab 51 f7 95 f0 3e e0
0040   fd 99 58 d1 67 7d 59 2e 7b 3b a6 b2 4e e5 ab 30
0050   e1 74 07 73 b1 72 68 ac b2 9e

No response on Windows, works fine on macbook

Hello,

First, thank you for writing this awesome script. It was working great for me but suddenly stopped and I can't figure out why. I assume it's something environmental but I'm an Android dev - not a python guy so I'm a bit lost. I was hoping you could maybe point me in a direction.

I had the script working fine on windows 10 with Python 3.5. It actually still works when I run it on my macbook. I also installed Python 2.7 and still no luck.

If I run python orvibo.py it returns nothing. If I run the same thing from my macbook I get Orvibo[type=irda, ip=192.168.1.87, mac=accfblahblahblah]

I've tried variations of the command with all the parameters set and not set. I can even successfully ping the IP address from the windows machine.

Any ideas? I'm out of em and about to figure out how to debug python.

Thanks!
Zach

Orvibo AlloneR1 does not learn or emit RF433!

Hi,

Thank you for your great job! I use your script and an AlloneR1 together with Domoticz and Homebridge to control all my IR devices now in my house by Siri voice commands. However, I can't control my Blinds which run on RF433Mhz. It seems the AlloneR1 does not understand RF433 at all when I put it in learn mode and try to teach it with my Blind RF433 remote. The Orvibo red light (indicating learn mode) would never turn blue and I got timeout after 15 seconds. It would work well with a IR remote. I am sure my blinds runs on RF433Mhz. I also tried the RF433 learning successfully with a Broadlink RM Pro (similar device as Orvibo AlloneR1 but control must be via the RM bridge which runs only on Android). Please help!

Emit IR - Sometimes it does not work

test code

root@raspberrypi:/var/www/html# python orvibo.py -i 192.168.10.78 -e test.ir
Orvibo[type=irda, ip=192.168.10.78, mac=accf23794678]

Emit IR done.

Sometimes it does not work

Support for Magic Cube

This one

Currently the library does not recognise it. Neither with python orvibo.py nor python orvibo.py -i 192.168.1.X. ---> Device ip=192.168.1.X not found in []..

Another test i did was:

python orvibo.py -i 192.168.1.X -m 5ccf7f2**** -x irda -t signal.ir
Orvibo[type=irda, ip=192.168.1.X, mac=5ccf7f2****]
WARNING:[email protected]:Subscription failed while entering to Learning IR/RF433 mode
Teach IR done

I was hoping they made it similar to the other IR device. But now not sure.

I tested the device with their HomeMate application on Android which works fine. But now would like to start automating things :).

Any way I could help you add support for this?

Error with multiple static devices (s20s)

Hi @cherezov !

Here's my issue: installed on MacOS device using Homebridge to control sockets following https://www.atpeaz.com/enabling-siri-and-homekit-to-work-with-orvibo-s20-smart-socket/

Repeating error causes Homebridge to be not responsive until it (I assumes) times out.

Tried offsetting polling to see if they are clashing being polled at the same time ...

Thanks in advance for your help.

@marioPS

Error (from Homebridge logs):
** Error repeats multiple times per hour
[9/24/2020, 10:57:55 AM] [homebridge-cmdswitch2] Failed to determine Blanket Switch state.
[9/24/2020, 10:57:55 AM] [homebridge-cmdswitch2] Traceback (most recent call last):
File "/Users/me/orvibo/orvibo/orvibo.py", line 715, in
d = Orvibo.discover(o.ip)
File "/Users/me/orvibo/orvibo/orvibo.py", line 330, in discover
with _orvibo_socket() as s:
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/contextlib.py", line 17, in enter
return self.gen.next()
File "/Users/me/orvibo/orvibo/orvibo.py", line 135, in _orvibo_socket
sock = _create_orvibo_socket() if external_socket is None else external_socket
File "/Users/me/orvibo/orvibo/orvibo.py", line 130, in _create_orvibo_socket
sock.bind((ip, PORT))
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 228, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 48] Address already in use

Config:
{
"name": "homebridge-cmdswitch2",
"switches": [
{
"name": "Office Switch",
"on_cmd": "python /Users/me/orvibo/orvibo/orvibo.py -i 192.168.0.243 -s on",
"off_cmd": "python /Users/me/orvibo/orvibo/orvibo.py -i 192.168.0.243 -s off",
"state_cmd": "python /Users/me/orvibo/orvibo/orvibo.py -i 192.168.0.243 -x socket | grep -i 'Is enabled: True'",
"polling": true,
"interval": 120,
"timeout": 2000,
"manufacturer": "Orvibo",
"model": "S20",
"serial": "8675309a"
},
{
"name": "Blanket Switch",
"on_cmd": "python /Users/me/orvibo/orvibo/orvibo.py -i 192.168.0.69 -s on",
"off_cmd": "python /Users/me/orvibo/orvibo/orvibo.py -i 192.168.0.69 -s off",
"state_cmd": "python /Users/me/orvibo/orvibo/orvibo.py -i 192.168.0.69 -x socket | grep -i 'Is enabled: True'",
"polling": true,
"interval": 130,
"timeout": 2000,
"manufacturer": "Orvibo",
"model": "S20",
"serial": "8675309b"
}
],
"platform": "cmdSwitch2"
}

it doesn't work

it does not work on Allone Pro

image

image

The firmware version is up to date : v1.0.4

image

Emit RF signal command will also emit the last IR signal

Hi,

I found that if I call IR emitter then call RF emitter, when it emits RF, at the same time, the last IR will be emitted as well.

Can you help to check?

Commands & Results below.

Thanks.

pi@raspberrypi:~ $ python3 /home/pi/orvibo/orvibo/orvibo.py -i MYIP -m MYMAC -x irda -e /home/pi/orvibo/orvibo/Toggle_Box.ir
Orvibo[type=irda, ip=MYIP, mac=MYMAC]
Emit IR done.
pi@raspberrypi:~ $ python3 /home/pi/orvibo/orvibo/orvibo.py -i MYIP -m MYMAC -x irda -e /home/pi/orvibo/orvibo/Light.rf -r -s on
Orvibo[type=irda, ip=MYIP, mac=MYMAC]
Emit RF done.

keep_connection error

Hi,
If I use orvibo.py in Console mode it works good, the AllOne works and beams.

I am trying to use it as a module to eliminate the long lag so I need to activate the keep_connection option.

But it doesn't work :(

After instantiated the orvibo object, I set up the keep_connect to true but I get an error:

running this:

import orvibo
from orvibo.orvibo import Orvibo

orv = Orvibo('192.168.168.115','accf232991f4', 'irda')
orv.keep_connection = True

I get :

File "test.py", line 7, in
orv.keep_connection = True
File "/Users/riccardo/orviboServer/orvibo/orvibo/orvibo.py", line 309, in keep_connection
if self.__subscribe(self.__socket) is None:
File "/Users/riccardo/orviboServer/orvibo/orvibo/orvibo.py", line 382, in __subscribe
subscr_packet.send(s)
File "/Users/riccardo/orviboServer/orvibo/orvibo/orvibo.py", line 191, in send
sock.sendto(bytearray(self.data), (self.ip, PORT))
OSError: [Errno 56] Socket is already connected

python version:

Python 3.5.3 (v3.5.3:1880cb95a742, Jan 16 2017, 08:49:46)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin

RIc

Command line tool vs homeassistant

Hi,

Sorry, but I'm not sure if this is a orvibo library issue or not. But I just notice that if you use a orvibo "platform" switch inside homeassistant to control a socket, and also want to control another irda orvibo (using the shell, for example), one of then will fail complaining that there's already a socket open. Is there a way to have two instances of orvibo tools running?

Doesn't work with python 2.7

I see in readme support for python 2.7. And actually have only python 2.7 in my openhab docker container.

[x] Consider python 2.7 support

I tested script with python 2.7 and its behavior is unpredictable, but no errors in console. Below example how i recorded 3 commands

~$ python -V
Python 2.7.12
$ python /var/openhab/orvibo/orvibo.py -L debug -i 192.168.0.53 -m accf232aeee6 -x irda -t /var/openhab/orvibo/power2.ir
Orvibo[type=irda, ip=192.168.0.53, mac=accf232aeee6]
DEBUG:[email protected]:Entering to Learning IR/RF433 mode
INFO:[email protected]:Waiting 15 sec for IR/RF433 signal...
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
INFO:[email protected]:The rest time: 14 sec
INFO:[email protected]:The rest time: 13 sec
INFO:[email protected]:The rest time: 12 sec
DEBUG:[email protected]:SUCCESS:
MAGIC + 01c2 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 02a801 + ZEROS_4 + a801 + ZEROS_4 +  + ZEROS_4 + 98011e11e711ec01c206d101c406ec01c306d201ac02eb017802d1017802ea015f02ec019102eb01c306d201c306ec01c206d201ac02ea017802d0017802ec015d02ec01ab02d1017802d101dd06d2017802d001ad02ec017702d0017802ea016802e3019102ec01c206ed015d02ea01c306d201f706eb01c406d201c306ec01c306d001c406ec0142b811110212d101c406ed01c206d201c206ed01ab02d1017802eb017702d1017802cf01ae02d101c306ed01c206d101c406eb01ad02cf017902eb017702cf017902d201ab02ec015c02ea01c406ea015f02ec01ac02d2017702ec017702d2017702d101ac02d101de06d0017902d101c306ed01f606d001c506eb01c406d201c206ed01c206d10146b82911ec11ed01c206d101c406ec01c306d201ac02eb017802d2017702ec015d02ec019102ea01c406d101c406ed01c206d101ad02ec017702d1017802ec015d02eb01ad02d0017902d001aa0605027802d101ab02e9017902d9017002ec015c02eb019202eb01c306ed015c02e901c506d201f706ed01c206d101c406ed01c206d001c406ea010000
INFO:[email protected]:IR/RF433 signal got successfuly and saved to "/var/openhab/orvibo/power2.ir" file
Teach IR done

$ python /var/openhab/orvibo/orvibo.py -L debug -i 192.168.0.53 -m accf232aeee6 -x irda -t /var/openhab/orvibo/volume-up2.irOrvibo[type=irda, ip=192.168.0.53, mac=accf232aeee6]
DEBUG:[email protected]:Entering to Learning IR/RF433 mode
INFO:[email protected]:Waiting 15 sec for IR/RF433 signal...
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
INFO:[email protected]:The rest time: 14 sec
INFO:[email protected]:The rest time: 13 sec
INFO:[email protected]:The rest time: 12 sec
DEBUG:[email protected]:SUCCESS:
MAGIC + 013a + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 022001 + ZEROS_4 + 2001 + ZEROS_4 +  + ZEROS_4 + 10012f11d01106028f0620028f0606028f06200278020502440239022a02060244020502780206028e0621028e0607028e06210277020502430239022a02060243020602770206028f0621028e0607028e0621027702060243023a022a021d022c02060277022102430206024202210228022002c30607028e0621028e061e02760621028e060702a9b74811ce1108028d0623028c0607028d06240275020802410222024102080241020702760207028d0623028c0608028d06230275020702420222024102070242020a02730207028d0623028c0608028d0623027502080242022202410207024202070276022202410207024202220227022202c10607028e0622028e0607028f0621028e0606020000
INFO:[email protected]:IR/RF433 signal got successfuly and saved to "/var/openhab/orvibo/volume-up2.ir" file
Teach IR done

$ python /var/openhab/orvibo/orvibo.py -L debug -i 192.168.0.53 -m accf232aeee6 -x irda -t /var/openhab/orvibo/volume-down2.ir
Orvibo[type=irda, ip=192.168.0.53, mac=accf232aeee6]
DEBUG:[email protected]:Entering to Learning IR/RF433 mode
INFO:[email protected]:Waiting 15 sec for IR/RF433 signal...
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
DEBUG:[email protected]:Skipped:
Empty packet = MAGIC + 0018 + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 00
INFO:[email protected]:The rest time: 14 sec
INFO:[email protected]:The rest time: 13 sec
INFO:[email protected]:The rest time: 12 sec
DEBUG:[email protected]:SUCCESS:
MAGIC + 013a + LEARN_IR + accf232aeee6 + SPACES_6 + 01 + ZEROS_4 + 022001 + ZEROS_4 + 2001 + ZEROS_4 +  + ZEROS_4 + 10011311e811ea01aa060602a906e901ac0606029202e901600204025f02e9015f02e9019402ea01aa061c029306eb01aa061c027b02ea015f021f0244020102480201027c02010293061c0292061c022d021c02c7061c024702010247021c022d021c027c02010247021c022d021b02920602027b02010292061c029206020292061c0292060202a7b74111d311010293061c029206010293061c027b02010248021b0247020102480201027c02010293061c029306010293061d027c02000248021c0247020102470201027c02010293061c0292061c022d021c02c6061c024702010247021b022d021b027c02010247021b022d021b02920602027c02010292061c029206020293061e02910604020000
INFO:[email protected]:IR/RF433 signal got successfuly and saved to "/var/openhab/orvibo/volume-down2.ir" file
Teach IR done

All files above has suffix 2. I can say that above recorded commands don't work.
Also i recorded commands with python3, they don't have suffix

$ python3 -V
Python 3.5.2

Let's compare files

$ ls -l /var/openhab/orvibo
-rw-r--r-- 1 dms  dms  24681 Oct 28 23:43 orvibo.py
-rw-rw-r-- 1 dms  dms  426 Oct 30 10:26 power2.ir
-rw-rw-r-- 1 dms  dms  426 Oct 29 23:03 power.ir
-rw-rw-r-- 1 dms  dms  290 Oct 30 10:27 volume-down2.ir
-rw-rw-r-- 1 dms  dms  426 Oct 29 23:03 volume-down.ir
-rw-rw-r-- 1 dms  dms  290 Oct 30 10:27 volume-up2.ir
-rw-rw-r-- 1 dms  dms  426 Oct 29 23:02 volume-up.ir

All commands for python3 have size 426, but 2 of 3 files for python 2.7 have size 290. Probably it's the reason.

Is it possible to fix script for 2.7?

Error

It is work grab IR and send Ir code but after 5 time send It i have this error:

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Mar 8 19:46:46 2016 from 192.168.1.21
root@raspberrypi:~# python /usr/share/openhab/addons/orvibo.py -i 192.168.1.26 -t /usr/share/openhab/addons/ir/test.ir
Traceback (most recent call last):
File "/usr/share/openhab/addons/orvibo.py", line 519, in
d = Orvibo.discover(ip)
File "/usr/share/openhab/addons/orvibo.py", line 241, in discover
with _orvibo_socket() as s:
File "/usr/lib/python2.7/contextlib.py", line 17, in enter
return self.gen.next()
File "/usr/share/openhab/addons/orvibo.py", line 99, in _orvibo_socket
sock.bind(('', PORT))
File "/usr/lib/python2.7/socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 98] Address already in use

Livolo rf + orvibo all one pro

I have an orvibo allone pro working via their official app with livolo Rf switches.
Any chance to learn and emit rf signals with this library working in this setup?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.