PartsPC: Difference between revisions

From NURDspace
No edit summary
Line 23: Line 23:


<code>*/5 * * * * ~/space_status_shutdown.py</code>
<code>*/5 * * * * ~/space_status_shutdown.py</code>
The script:
<code>
#!/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.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()
</code>

Revision as of 23:32, 5 January 2019

HarkTV
IMG 20190105 215626.jpg
Owner Space
Status Working
Hostname harktv.dhcp.nurd.space
Location Zaal 2
Tool No
Tool category

HarkTV

IMG 20190105 215626.jpg {{{InventoryOwner}}}Property "Tool Owner" (as page type) with input value "{{{InventoryOwner}}}" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process. Zaal 2

What

Workstation in Zaal 2. It has a barcode scanner which can be used for Partkeepr.

Auto shutdown

We want this machine to shutdown when space is closed. We check MQTT for this in a simple python script. We use paho, so let's install that:

apt-get install python-paho-mqtt

Normally the script would ask for a password to execute the shutdown command. We can avoid this with following line in /etc/sudoers (use visudo for this):

hark harktv =NOPASSWD: /bin/systemctl poweroff

Now we just run a cronjob every 5 minutes:

*/5 * * * * ~/space_status_shutdown.py