Пример #1
0
from MQTTClient import create_mqtt_client
from get_config import get_parameter
import logging
from homedom_logger import set_logger
set_logger("hometts", logging.DEBUG)


def signal_handler(signal, frame):
    logging.info("Interpreted signal {}, exiting now...".format(signal))
    sys.exit(0)


signal.signal(signal.SIGINT, signal_handler)
signal.signal(signal.SIGTERM, signal_handler)

MQTT_HOST = get_parameter("mqtt_host")
MQTT_PORT = get_parameter("mqtt_port")
MQTT_TOPICS = get_parameter("hometts_topics")
mqtt_client = None
tts_lock = Lock()


def on_message(client, userdata, msg):
    payload = str(msg.payload, 'utf-8')
    event_manager(msg.topic, payload)


def event_manager(topic, payload):
    try:
        json_payload = json.loads(payload)
        target = json_payload['target']
Пример #2
0
from MQTTClient import create_mqtt_client
from get_config import get_parameter
import logging
from homedom_logger import set_logger
set_logger("enocean", logging.DEBUG)


def signal_handler(signal, frame):
    logging.info("Interpreted signal {}, exiting now...".format(signal))
    sys.exit(0)


signal.signal(signal.SIGINT, signal_handler)
signal.signal(signal.SIGTERM, signal_handler)

MQTT_HOST = get_parameter("mqtt_host")
MQTT_PORT = get_parameter("mqtt_port")
MQTT_TOPICS = get_parameter("enocean_topics")
mqtt_client = None
serial_thread = None


def on_message(client, userdata, msg):
    payload = str(msg.payload, 'utf-8')
    event_manager(msg.topic, payload)


def event_manager(topic, payload):
    try:
        json_payload = json.loads(payload)
        if topic == "inputs":
Пример #3
0
from get_config import get_parameter
import logging
from homedom_logger import set_logger
set_logger("lifx", logging.DEBUG)


def signal_handler(signal, frame):
    logging.info("Interpreted signal {}, exiting now...".format(signal))
    sys.exit(0)


signal.signal(signal.SIGINT, signal_handler)
signal.signal(signal.SIGTERM, signal_handler)


MQTT_HOST = get_parameter("mqtt_host")
MQTT_PORT = get_parameter("mqtt_port")
MQTT_TOPICS = get_parameter("lifx_topics")
IP = get_parameter("lifx_1_ip")
MAC = get_parameter("lifx_1_mac")
mqtt_client = None


def on_message(client, userdata, msg):
    payload = str(msg.payload, 'utf-8')
    event_manager(msg.topic, payload)


def turnOnLampWithLifx(lifxcolor):
    bulb = lifxlan.Light(MAC, IP)
    bulb.set_color(lifxcolor)
Пример #4
0
from flask import Flask, render_template
from threading import Thread
from time import sleep
import sys
import signal
import logging
from MQTTClient import create_mqtt_client
from get_config import get_parameter
from homedom_logger import set_logger
set_logger("webapp", logging.DEBUG)

MQTT_HOST = get_parameter("mqtt_host")
MQTT_PORT = get_parameter("mqtt_port")
MQTT_TOPICS = get_parameter("actionmanager_topics")
mqtt_client = None


def on_message(client, userdata, msg):
    payload = str(msg.payload, 'utf-8')
    event_manager(msg.topic, payload)


def event_manager(topic, payload):
    try:
        pass
    except Exception as e:
        logging.error("Error in event_manager(): {}".format(e))


def signal_handler(signal, frame):
    logging.info("Interpreted signal {}, exiting now...".format(signal))
Пример #5
0
import datetime
from googletrans import Translator
import logging
from homedom_logger import set_logger
set_logger("weather", logging.DEBUG)


def signal_handler(signal, frame):
    logging.info("Interpreted signal {}, exiting now...".format(signal))
    sys.exit(0)


signal.signal(signal.SIGINT, signal_handler)
signal.signal(signal.SIGTERM, signal_handler)

MQTT_HOST = get_parameter("mqtt_host")
MQTT_PORT = get_parameter("mqtt_port")
MQTT_TOPICS = get_parameter("weather_topics")
mqtt_client = None
tz = pytz.timezone('Europe/Paris')
translator = Translator()

RENNES = 2983990
APIKEY = "98a19c144b3105dc774646a8a9429a52"
FORECAST_SIZE = 3


def weather_data_to_string(data):
    date = datetime.datetime.fromtimestamp(data['dt'], tz)
    #meteo_main = translator.translate(data['weather'][0]['main'], src='en', dest='fr').text
    meteo_description = translator.translate(data['weather'][0]['description'], src='en', dest='fr').text
Пример #6
0
from get_config import get_parameter
import cep
import database
from homedom_logger import set_logger

set_logger("homevents", logging.DEBUG)

app = Flask(__name__)

mqtt_client = None
regexs_handler = None
rules_handler = None
config_handler = None
database_handler = None

MQTT_HOST = get_parameter("mqtt_host")
MQTT_PORT = get_parameter("mqtt_port")
MQTT_TOPICS = ["inputs", "outputs", "events"]


@app.route('/config', methods=['GET'])
def get_config():
    try:
        logging.info(request.method + " " + request.url + " ...")
        data = config_handler.get_config()
        return jsonify(data)
    except Exception as e:
        logging.error("Error in get_config: " + str(e))
        return jsonify({"error": str(e)}), 500

Пример #7
0
from MQTTClient import create_mqtt_client
from get_config import get_parameter
import logging
from homedom_logger import set_logger
set_logger("discordinho", logging.INFO)


def signal_handler(signal, frame):
    logging.info("Interpreted signal {}, exiting now...".format(signal))
    sys.exit(0)


signal.signal(signal.SIGINT, signal_handler)
signal.signal(signal.SIGTERM, signal_handler)

MQTT_HOST = get_parameter("mqtt_host")
MQTT_PORT = get_parameter("mqtt_port")
MQTT_TOPICS = get_parameter("discordinho_topics")
mqtt_client = None

#discord specific

client = discord.Client()
server_name = 'Home_Dom'
channel_inputs = None
channel_outputs = None
channel_events = None


@client.event
async def on_ready():
Пример #8
0
from get_config import get_parameter
import requests
import logging
from homedom_logger import set_logger
set_logger("actionmanager", logging.DEBUG)


def signal_handler(signal, frame):
    logging.info("Interpreted signal {}, exiting now...".format(signal))
    sys.exit(0)


signal.signal(signal.SIGINT, signal_handler)
signal.signal(signal.SIGTERM, signal_handler)

MQTT_HOST = get_parameter("mqtt_host")
MQTT_PORT = get_parameter("mqtt_port")
MQTT_TOPICS = get_parameter("actionmanager_topics")
HOMEVENTS_IP = get_parameter("homevents_ip")
HOMEVENTS_PORT = get_parameter("homevents_port")
HOMEVENTS_URL = "http://{}:{}".format(HOMEVENTS_IP, HOMEVENTS_PORT)
mqtt_client = None

colors = {
    "RED": [65535, 65535, 65535, 3500],
    "ORANGE": [6500, 65535, 65535, 3500],
    "YELLOW": [9000, 65535, 65535, 3500],
    "GREEN": [16173, 65535, 65535, 3500],
    "CYAN": [29814, 65535, 65535, 3500],
    "BLUE": [43634, 65535, 65535, 3500],
    "PURPLE": [50486, 65535, 65535, 3500],