Shutdown Script: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 4: | Line 4: | ||
|Tool=No | |Tool=No | ||
}} | }} | ||
A script that shuts PC's down on the space. | |||
The Script | * Make sure you have paho installed. | ||
apt install python-pip | |||
pip install paho-mqtt | |||
* Log in as root and access root folder. | |||
sudo -s | |||
cd /root/ | |||
* Enter crontab job. | |||
crontab -e | |||
* Add a crontab job on the last line. | |||
* * * * * python /home/user/space_status_shutdown.py | |||
==The Script== | |||
<pre><nowiki> | <pre><nowiki> | ||
| Line 19: | Line 31: | ||
# The callback for when the client receives a CONNACK response from the server. | # The callback for when the client receives a CONNACK response from the server. | ||
def | def on_connect(client, userdata, flags, rc): | ||
on_connect(client, userdata, flags, rc): | |||
if rc==0: | if rc==0: | ||
| Line 39: | Line 50: | ||
# The callback for when a PUBLISH message is received from the server. | # The callback for when a PUBLISH message is received from the server. | ||
def | def on_message(client, userdata, msg): | ||
on_message(client, userdata, msg): | |||
print(msg.topic+" "+str(msg.payload)) | print(msg.topic+" "+str(msg.payload)) | ||
| Line 64: | Line 74: | ||
client.on_message = on_message | client.on_message = on_message | ||
client.connect("arbiter.vm.nurd.space", 1883, 60) | client.connect("arbiter.vm.nurd.space", 1883, 60) | ||
Revision as of 00:28, 7 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}}} | }}
A script that shuts PC's down on the space.
- Make sure you have paho installed.
apt install python-pip pip install paho-mqtt
- Log in as root and access root folder.
sudo -s cd /root/
- Enter crontab job.
crontab -e
- Add a crontab job on the last line.
* * * * * python /home/user/space_status_shutdown.py
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()