Init commit for python scripts
This commit is contained in:
65
bell-push-talk.py
Executable file
65
bell-push-talk.py
Executable file
@@ -0,0 +1,65 @@
|
||||
#!/usr/bin/python3.8
|
||||
|
||||
import paho.mqtt.client as mqtt #import the client1
|
||||
from mqtt_print import get_message as M
|
||||
from datetime import datetime
|
||||
import time
|
||||
import signal
|
||||
import json
|
||||
import requests
|
||||
import logging
|
||||
from daemonize import Daemonize
|
||||
|
||||
|
||||
broker_address="172.16.1.254"
|
||||
topic="heme/bell/ring"
|
||||
scroller_topic="home/scroller"
|
||||
user="bot"
|
||||
password="push1234"
|
||||
url="https://nuc.bh.ttx.sk/ocs/v2.php/apps/spreed/api/v1/chat/dahgo5em"
|
||||
|
||||
pid = "/tmp/bell.pid"
|
||||
logger = logging.getLogger(__name__)
|
||||
logger.setLevel(logging.DEBUG)
|
||||
logger.propagate = False
|
||||
fh = logging.FileHandler("/tmp/bell.log", "w")
|
||||
fh.setLevel(logging.DEBUG)
|
||||
logger.addHandler(fh)
|
||||
keep_fds = [fh.stream.fileno()]
|
||||
|
||||
def signal_handler(signal_number, frame):
|
||||
logger.debug("Proceed ...")
|
||||
|
||||
def on_message(client, userdata, message):
|
||||
logger.debug("message received %s" ,str(message.payload.decode("utf-8")))
|
||||
logger.debug("message topic=%s",message.topic)
|
||||
logger.debug("message qos=%s",message.qos)
|
||||
logger.debug("message retain flag=%s",message.retain)
|
||||
|
||||
d = {}
|
||||
strdate = datetime.now().ctime()
|
||||
d["message"] = "Bell ringing in time: " + strdate
|
||||
headers = {'OCS-APIRequest': 'true'}
|
||||
|
||||
r = requests.post(url, headers=headers,json=d,auth=(user,password))
|
||||
client.publish(scroller_topic,M("ZVONI",color=0));
|
||||
|
||||
def main_program():
|
||||
logger.debug("Start")
|
||||
logger.debug("creating new instance")
|
||||
client = mqtt.Client("NUC-client-talk") #create new instance
|
||||
logger.debug("connecting to broker")
|
||||
client.connect(broker_address) #connect to broker
|
||||
logger.debug("Subscribing to topic",topic)
|
||||
client.subscribe(topic)
|
||||
client.on_message=on_message
|
||||
|
||||
client.loop_start()
|
||||
signal.signal(signal.SIGINT, signal_handler)
|
||||
signal.pause()
|
||||
client.loop_stop()
|
||||
|
||||
daemon = Daemonize(app="bell_talk_app", pid=pid, action=main_program, keep_fds=keep_fds)
|
||||
daemon.start()
|
||||
#broker_address="iot.eclipse.org"
|
||||
|
||||
Reference in New Issue
Block a user