mqtt
This commit is contained in:
		
							parent
							
								
									c8026accec
								
							
						
					
					
						commit
						d14c100a2f
					
				
							
								
								
									
										54
									
								
								examples/mqtt.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								examples/mqtt.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,54 @@
 | 
				
			|||||||
 | 
					#!/usr/bin/python
 | 
				
			||||||
 | 
					# -*- coding:utf-8 -*-
 | 
				
			||||||
 | 
					import sys
 | 
				
			||||||
 | 
					import os
 | 
				
			||||||
 | 
					picdir = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'pic')
 | 
				
			||||||
 | 
					libdir = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), 'lib')
 | 
				
			||||||
 | 
					if os.path.exists(libdir):
 | 
				
			||||||
 | 
					    sys.path.append(libdir)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import logging
 | 
				
			||||||
 | 
					from waveshare_epd import epd2in13bc
 | 
				
			||||||
 | 
					import time
 | 
				
			||||||
 | 
					from PIL import Image,ImageDraw,ImageFont
 | 
				
			||||||
 | 
					import traceback
 | 
				
			||||||
 | 
					from paho.mqtt import client as mqtt_client
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					logging.basicConfig(level=logging.DEBUG)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					broker = 'homeassistant'
 | 
				
			||||||
 | 
					port = 8883
 | 
				
			||||||
 | 
					topic = "openWB/evu/W"
 | 
				
			||||||
 | 
					username = "mqtt-user"
 | 
				
			||||||
 | 
					password = "phio6yiR9ohs1veeghu4WaeGhaiRi8he4EiWasheev4faeku8tohdiuthah7zahP"
 | 
				
			||||||
 | 
					client_id = "solarmonitor"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def connect_mqtt() -> mqtt_client:
 | 
				
			||||||
 | 
					    def on_connect(client, userdata, flags, rc):
 | 
				
			||||||
 | 
					        if rc == 0:
 | 
				
			||||||
 | 
					            print("Connected to MQTT Broker!")
 | 
				
			||||||
 | 
					        else:
 | 
				
			||||||
 | 
					            print("Failed to connect, return code %d\n", rc)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    client = mqtt_client.Client(client_id)
 | 
				
			||||||
 | 
					    client.username_pw_set(username, password)
 | 
				
			||||||
 | 
					    client.on_connect = on_connect
 | 
				
			||||||
 | 
					    client.connect(broker, port)
 | 
				
			||||||
 | 
					    return client
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def subscribe(client: mqtt_client):
 | 
				
			||||||
 | 
					    def on_message(client, userdata, msg):
 | 
				
			||||||
 | 
					        print(f"Received `{msg.payload.decode()}` from `{msg.topic}` topic")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    client.subscribe(topic)
 | 
				
			||||||
 | 
					    client.on_message = on_message
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def run():
 | 
				
			||||||
 | 
					    client = connect_mqtt()
 | 
				
			||||||
 | 
					    subscribe(client)
 | 
				
			||||||
 | 
					    client.loop_forever()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if __name__ == '__main__':
 | 
				
			||||||
 | 
					    run()
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user