init mqtt stuff

This commit is contained in:
Ingolf Wagner 2021-03-16 21:09:22 +01:00
parent 5fff4b4bb4
commit 25555c7f5e
Signed by: palo
GPG key ID: 76BF5F1928B9618B
3 changed files with 51 additions and 0 deletions

30
mqtt/main.py Normal file
View file

@ -0,0 +1,30 @@
import paho.mqtt.client as mqtt
# The callback for when the client receives a CONNACK response from the server.
def on_connect(client, userdata, flags, rc):
print("Connected with result code " + str(rc))
# Subscribing in on_connect() means that if we lose the connection and
# reconnect then subscriptions will be renewed.
client.subscribe("control/lights/set")
# The callback for when a PUBLISH message is received from the server.
def on_message(client, userdata, msg):
print(msg.topic + " " + str(msg.payload))
client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.username_pw_set("homeassistant", password="password")
client.connect("pepe.private", 1883, 60)
# Blocking call that processes network traffic, dispatches callbacks and
# handles reconnecting.
# Other loop*() functions are available that give a threaded interface and a
# manual interface.
client.loop_forever()

1
mqtt/requirements.txt Normal file
View file

@ -0,0 +1 @@
paho-mqtt

20
mqtt/shell.nix Normal file
View file

@ -0,0 +1,20 @@
{ pkgs ? import <nixpkgs> { } }:
let
myPython = pkgs.python3.withPackages (python-packages:
with python-packages; [
paho-mqtt
]);
startServer = pkgs.writers.writeBashBin "start-server" ''
${myPython}/bin/python ./main.py
'';
in pkgs.mkShell {
buildInputs = with pkgs; [
myPython
startServer
];
}