Takie małe udoskonalenie "druciarni" by @SebiCo (coby był jeden skrypt do wszystkiego):
import sys
import socket
import json
# parametry:
# [1] - numer urzadzenia, np. 31 (climate.salon)
# [2] - pole, np. last_sync, valve_val
device = int(sys.argv[1])
field = sys.argv[2]
host = '192.168.1.xxx'
port = 20400
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, port))
s.sendall(b'{"command":1,"data":{"login":"login","password":"password"}}\x03')
data = s.recv(1024)
obj = {
"command": 25,
"data": {
"channel": 1,
"id": device
}
}
s.sendall(bytes(json.dumps(obj)+'\x03', 'UTF-8'))
data = s.recv(1024)
j = json.loads(str(data, 'UTF-8')[:-1])
print(j.get("data").get(field))
Myślę, że ostatecznie wrzucę wszystko z komendy 25 do atrybutów jednego sensora, ale to już jutro (będzie mniej zapytań do kontrolera).