Skip to content

Commit e823110

Browse files
committed
added main meter
1 parent 5e6d679 commit e823110

1 file changed

Lines changed: 49 additions & 0 deletions

File tree

datagen/smartmeter/main.py

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
import logging
2+
import time
3+
from kaa_client import KaaClient
4+
from electric_meter import ElectricMeter
5+
6+
# Change application version
7+
application_version = ''
8+
# If you revoked the token, update this value with new one
9+
token = 'smart-meter-1'
10+
11+
mqtt_host = 'mqtt.cloud.kaaiot.com'
12+
mqtt_port = 1883
13+
14+
logging.basicConfig(level=logging.INFO, format='%(asctime)s %(message)s')
15+
16+
kaa_client = KaaClient(mqtt_host, mqtt_port, application_version, token)
17+
electric_meter = ElectricMeter(kaa_client)
18+
19+
# Command handlers
20+
# Handle command to toggle device lines
21+
kaa_client.add_command_handler("electric_meter_toggle", electric_meter.electric_meter_handler)
22+
# Handle overdrive mode simulation command
23+
kaa_client.add_command_handler("electric_meter_overdrive", electric_meter.electric_meter_overdrive_handler)
24+
25+
# Device configuration change handler
26+
kaa_client.add_configuration_status_handler(electric_meter.configuration_handler)
27+
28+
logging.info(
29+
f"""
30+
Connect to kaa using:
31+
Host: [{mqtt_host}]
32+
Port: [{mqtt_port}]
33+
Application version name: [{application_version}]
34+
Token: [{token}]
35+
"""
36+
)
37+
38+
# Start mqtt connection
39+
kaa_client.connect()
40+
41+
logging.info(f"Send device metadata [{electric_meter.get_device_metadata()}]")
42+
kaa_client.publish_metadata(electric_meter.get_device_metadata())
43+
44+
while True:
45+
logging.info("Send ElectricMeter data")
46+
data_sample = electric_meter.get_data_sample()
47+
logging.info(f"{data_sample}")
48+
kaa_client.publish_data_collection(data_sample)
49+
time.sleep(1)

0 commit comments

Comments
 (0)