Closed Doubledom45 closed 2 years ago
Slt, Voir Protocol OWL, pourrait être ajouté au test de Oregon, il y a plusieurs valeurs à récupérer
` # Protocols message = json.loads(packet.replace("ZIA33", ""))["frame"] data["protocol"] = message["header"]["protocolMeaning"]
if data["protocol"] in ["BLYSS", "CHACON", "JAMMING"]:
data["id"] = message["infos"]["id"]
data["command"] = message["infos"]["subType"]
data["state"] = message["infos"]["subTypeMeaning"]
packets_found.append(data)
elif data["protocol"] in ["OREGON", "OWL"]:
data["id"] = message["infos"]["adr_channel"]
data["hardware"] = message["infos"]["id_PHYMeaning"]
for measure in message["infos"]["measures"]:
measure_data = data.copy()
measure_data["command"] = measure["value"]
measure_data["state"] = measure["value"]
measure_data["unit"] = measure["unit"]
measure_data["type"] = measure["type"]
packets_found.append(measure_data)
elif data["protocol"] in ["EDISIO"]:
data["id"] = message["infos"]["id"]
data["hardware"] = message["infos"]["infoMeaning"]
data["state"] = message["infos"]["subTypeMeaning"]
if data["state"] in ["SET_TEMPERATURE"]:
data["command"] = message["infos"]["add0"]
elif data["state"] in ["TOGGLE"]:
data["command"] = message["infos"]["qualifier"]
else:
data["command"] = message["infos"]["subType"]
packets_found.append(data)
else:
data["id"] = message["infos"].get("id")
data["command"] = message["infos"].get("subType")
packets_found.append(data)
return packets_found`
@Aohzan Slt je remets ( community HA fr)ce que je commence à voir sur le prog .. J’ai regardé un peu ton prog ( surtout le rfpparser.py) Dans la partie Oregon tu prends comme « Id » le « id_PHY » qui est le physical device en codage ( voir 5.2.2.19 id_PHY Oregon), il faudrait prendre « adr_channel ». De plus la remontée de temp et hygro ne fonctionne pas , seule la mesure de l’hygro est prise en compte (malgré « class EventHandling(PacketHandling): » dans le fichier rfpprotol.py) Pour Edisio il manque « packets_found.append(data) » d’ou l’erreur : [WARNING (MainThread) [custom_components.rfplayer.rflib.rfpprotocol] no valid packet]() De plus ce type doit être tester sur son « subTypeMeaning » pour prendre la bonne valeur d’état, j’ai commencé à modifier rfpparser.py :
[POUR EDISIO IL FAUDRAIT DIVISER LE add0 par 100]() """ ( il remonte en centième de degré)"""
PS: je continu de regarder suivant les appareils que j’ai en 868 et 433 Mhz [@+DÕ¿ÕM]()