mirror of
https://github.com/nikdoof/aaisp2mqtt.git
synced 2025-12-14 10:12:21 +00:00
new /mb and /gb topics
This commit is contained in:
@@ -90,20 +90,35 @@ def main():
|
|||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
def publish_per_circuit(client, circuit, mqtt_topic_prefix):
|
def publish_per_circuit(client, circuit, mqtt_topic_prefix):
|
||||||
|
quota_remaining = int(circuit["quota_remaining"])
|
||||||
|
quota_remaining_gb = quota_remaining / 1000000000
|
||||||
|
quota_monthly = int(circuit["quota_monthly"])
|
||||||
|
quota_monthly_gb = quota_monthly / 1000000000
|
||||||
|
up = float(circuit["rx_rate"])
|
||||||
|
up_mb = round(up / 1000000, 2)
|
||||||
|
down = float(circuit["tx_rate"])
|
||||||
|
down_mb = round(up / 1000000, 2)
|
||||||
|
|
||||||
# line_prefix = "%s/line/%s" % (mqtt_topic_prefix, circuit["ID"])
|
# line_prefix = "%s/line/%s" % (mqtt_topic_prefix, circuit["ID"])
|
||||||
login_prefix = "%s/login/%s" % (mqtt_topic_prefix, circuit["login"])
|
login_prefix = "%s/login/%s" % (mqtt_topic_prefix, circuit["login"])
|
||||||
for prefix in [login_prefix]: # , line_prefix]:
|
for prefix in [login_prefix]: # , line_prefix]:
|
||||||
for metric in [
|
for metric in [
|
||||||
("quota/remaining", int(circuit["quota_remaining"])),
|
("quota/remaining", quota_remaining),
|
||||||
("quota/monthly", int(circuit["quota_monthly"])),
|
("quota/remaining/gb", quota_remaining_gb),
|
||||||
("syncrate/up", int(circuit["rx_rate"])),
|
("quota/remaining/human", humanfriendly.format_size(quota_remaining)),
|
||||||
("syncrate/down", int(circuit["tx_rate"])),
|
("quota/monthly", quota_monthly),
|
||||||
|
("quota/monthly/gb", quota_monthly_gb),
|
||||||
|
("quota/monthly/human", humanfriendly.format_size(quota_monthly)),
|
||||||
|
("syncrate/up", up),
|
||||||
|
("syncrate/up/mb", up_mb),
|
||||||
|
("syncrate/up/human", humanfriendly.format_size(up)),
|
||||||
|
("syncrate/down", down),
|
||||||
|
("syncrate/down/mb", down_mb),
|
||||||
|
("syncrate/down/human", humanfriendly.format_size(down)),
|
||||||
("postcode", str(circuit["postcode"].strip()))
|
("postcode", str(circuit["postcode"].strip()))
|
||||||
]:
|
]:
|
||||||
topic = "%s/%s" % (prefix, metric[0])
|
topic = "%s/%s" % (prefix, metric[0])
|
||||||
publish(client=client, topic=topic, payload=metric[1])
|
publish(client=client, topic=topic, payload=metric[1])
|
||||||
if type(metric[1]) == int:
|
|
||||||
publish(client=client, topic="%s/human" % (topic), payload=humanfriendly.format_size(metric[1]))
|
|
||||||
return
|
return
|
||||||
|
|
||||||
def publish(client, topic, payload):
|
def publish(client, topic, payload):
|
||||||
|
|||||||
Reference in New Issue
Block a user