(Created page with "{{Project |Name=Shutdown Script |Skills=Python, Linux, |Tool=No }}") |
No edit summary |
||
Line 4: | Line 4: | ||
|Tool=No | |Tool=No | ||
}} | }} | ||
The Script | |||
<pre><nowiki> | |||
#!/usr/bin/env python | |||
#2019 The_Niz | |||
#checks space status and shuts machine down if space is closed | |||
import paho.mqtt.client as mqtt | |||
import os | |||
# The callback for when the client receives a CONNACK response from the server. | |||
def | |||
on_connect(client, userdata, flags, rc): | |||
if rc==0: | |||
client.connected_flag=True #set flag | |||
print("Connected with result code "+str(rc)) | |||
else: | |||
print("Bad connection Returned code=",rc) | |||
client.loop_stop() | |||
client.disconnect() | |||
client.subscribe("space/state") | |||
# The callback for when a PUBLISH message is received from the server. | |||
def | |||
on_message(client, userdata, msg): | |||
print(msg.topic+" "+str(msg.payload)) | |||
if msg.payload=="False": | |||
print("Space is uit") | |||
os.system('sudo /bin/systemctl poweroff') | |||
else: | |||
print("Space is aan") | |||
client.loop_stop() | |||
client.disconnect() | |||
client = mqtt.Client() | |||
client.on_connect = on_connect | |||
client.on_message = on_message | |||
client.connect("arbiter.vm.nurd.space", 1883, 60) | |||
client.loop_forever() | |||
</nowiki></pre> |
Revision as of 22:44, 6 March 2019
Shutdown Script | |
---|---|
Participants | |
Skills | Python, Linux |
Status | |
Niche | |
Purpose | |
Tool | No |
Location | |
Cost | |
Tool category |
Shutdown Script Property "Tool Image" (as page type) with input value "File:{{{Picture}}}" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process. {{{Picture}}} {{#if:No | [[Tool Owner::{{{ProjectParticipants}}} | }} {{#if:No | [[Tool Cost::{{{Cost}}} | }}
The Script
#!/usr/bin/env python #2019 The_Niz #checks space status and shuts machine down if space is closed import paho.mqtt.client as mqtt import os # The callback for when the client receives a CONNACK response from the server. def on_connect(client, userdata, flags, rc): if rc==0: client.connected_flag=True #set flag print("Connected with result code "+str(rc)) else: print("Bad connection Returned code=",rc) client.loop_stop() client.disconnect() client.subscribe("space/state") # The callback for when a PUBLISH message is received from the server. def on_message(client, userdata, msg): print(msg.topic+" "+str(msg.payload)) if msg.payload=="False": print("Space is uit") os.system('sudo /bin/systemctl poweroff') else: print("Space is aan") client.loop_stop() client.disconnect() client = mqtt.Client() client.on_connect = on_connect client.on_message = on_message client.connect("arbiter.vm.nurd.space", 1883, 60) client.loop_forever()