#!/usr/bin/python
# -*- coding: utf-8 -*-
## Powered by Sergey Semenov sergey@vshome.net
import subprocess
import os
import sys
import time

nmap="nmap "
barcoip="10.25.0.4"
doremiip="10.25.0.3"
dolbyip="10.25.0.6"
port_doremi=" | grep 5900"
port_barco=" | grep 60020"
port_dolby=" | grep 111"
poweron="echo 1 > /sys/class/gpio/gpio27/value"
poweroff="echo 0 > /sys/class/gpio/gpio27/value"
upson="echo 1 > /sys/class/gpio/gpio22/value"
upsoff="echo 0 > /sys/class/gpio/gpio22/value"
airon="echo 1 > /sys/class/gpio/gpio10/value"
airoff="echo 0 > /sys/class/gpio/gpio10/value"
doremion="echo 1 > /sys/class/gpio/gpio9/value"
doremioff="echo 0 > /sys/class/gpio/gpio9/value"
kodion="echo 1 > /sys/class/gpio/gpio19/value"
kodioff="echo 0 > /sys/class/gpio/gpio19/value"
lampon_on="echo 1 > /sys/class/gpio/gpio11/value"
lampon_off="echo 0 > /sys/class/gpio/gpio11/value"
lampoff_on="echo 1 > /sys/class/gpio/gpio6/value"
lampoff_off="echo 0 > /sys/class/gpio/gpio6/value"
macroon="echo 1 > /sys/class/gpio/gpio5/value"
macrooff="echo 0 > /sys/class/gpio/gpio5/value"
imbon="echo 1 > /sys/class/gpio/gpio26/value"
imboff="echo 0 > /sys/class/gpio/gpio26/value"
soundon="echo 1 > /sys/class/gpio/gpio13/value"
soundoff="echo 0 > /sys/class/gpio/gpio13/value"
c_doremi=nmap+doremiip+port_doremi
c_barco=nmap+barcoip+port_barco
c_dolby=nmap+dolbyip+port_dolby
a=(sys.argv[1])

while 1<2:

	if a == "on":
		res_poweron = subprocess.call(poweron, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		time.sleep (5)
		res_upson = subprocess.call(upson, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		time.sleep(7)
		res_upsoff = subprocess.call(upsoff, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		time.sleep (3)
		res_airon = subprocess.call(airon, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		time.sleep (3)
		barco=0
		while barco<1:
			res_barco = subprocess.call(c_barco, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
			if res_barco == 0:
				barco=2
			else:
				barco=0
		res_doremion = subprocess.call(doremion, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		time.sleep(1)
		res_doremioff = subprocess.call(doremioff, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		time.sleep (3)
		res_kodion = subprocess.call(kodion, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		time.sleep(1)
		res_kodioff = subprocess.call(kodioff, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		doremi=0
		while doremi<1:
			res_doremi = subprocess.call(c_doremi, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
			if res_doremi == 0:
				doremi=2
			else:
				doremi=0
		res_macroon = subprocess.call(macroon, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		time.sleep(1)
		res_macrooff = subprocess.call(macrooff, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		time.sleep (3)
		dolby=0
		while dolby<1:
			res_dolby = subprocess.call(c_dolby, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
			if res_dolby == 0:
				dolby=2
			else:
				dolby=0
		res_imbon = subprocess.call(imbon, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		time.sleep(1)
		res_imboff = subprocess.call(imboff, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		time.sleep (3)
		res_soundon = subprocess.call(soundon, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		time.sleep (1)
		res_soundoff = subprocess.call(soundoff, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		time.sleep (3)
		res_lampon_on = subprocess.call(lampon_on, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		time.sleep (1)
		res_lampon_off = subprocess.call(lampon_off, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		sys.exit()
	elif a == "off":
		res_lamp = subprocess.call(lampoff_on, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		time.sleep(1)
		res_lamp = subprocess.call(lampoff_off, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		time.sleep (3)
		res_kodion = subprocess.call(kodion, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		time.sleep(1)
		res_kodioff = subprocess.call(kodioff, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		time.sleep (3)
		res_doremion = subprocess.call(doremion, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		time.sleep(1)
		res_doremioff = subprocess.call(doremioff, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		time.sleep (90) # Охлаждение лампы
		res_upson = subprocess.call(upson, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		time.sleep(2)
		res_upsoff = subprocess.call(upsoff, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		time.sleep (3)
		res_airoff = subprocess.call(airoff, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		time.sleep (3)
		res_poweroff = subprocess.call(poweroff, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		time.sleep (3)
		sys.exit()
	elif a == "reset":
		res_upson = subprocess.call(upson, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		time.sleep(2)
		res_upsoff = subprocess.call(upsoff, shell=True, stdout=open(os.devnull, 'w'), stderr=open(os.devnull, 'w'))
		time.sleep (3)
		sys.exit()







