forked from Yanndroid/SiriRemote-Linux
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathremote_ha.py
43 lines (32 loc) · 1.31 KB
/
remote_ha.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import sys
import requests
import json
from remote.remote import SiriRemote, RemoteListener
EVENT_API_URL = "http://homeassistant.local:8123/api/events/"
HA_TOKEN = "your_token"
HEADERS = {'Content-Type': 'application/json', 'Authorization': 'Bearer {}'.format(HA_TOKEN)}
remote = "remote"
def fire_event(event_type, payload):
payload_str = json.dumps(payload)
requests.post(EVENT_API_URL + event_type, headers=HEADERS, data=payload_str)
class Callback(RemoteListener):
def event_battery(self, percent: int):
print("Battery", percent)
fire_event("siriremote_battery", {"remote": remote, "percent": percent})
def event_power(self, charging: bool):
print("Power", charging)
fire_event("siriremote_charging", {"remote": remote, "charging": charging})
def event_button(self, button: int):
print("Button", button)
if button > 0:
fire_event("siriremote_button", {"remote": remote, "button": button})
def event_touchpad(self, data, pressed: bool):
print("Touch", data, pressed)
if __name__ == '__main__':
if len(sys.argv) > 1:
mac = sys.argv[1]
if len(sys.argv) > 2:
remote = sys.argv[2]
SiriRemote(mac, Callback())
else:
print("Usage: python remote_ha.py <remote MAC address> [remote name]")