Allow pipes in command sensors and services
parent
e461ceae36
commit
96181a555a
|
@ -98,7 +98,7 @@ class CommandSensorData(object):
|
|||
_LOGGER.info('Running command: %s', self.command)
|
||||
|
||||
try:
|
||||
return_value = subprocess.check_output(self.command.split())
|
||||
return_value = subprocess.check_output(self.command, shell=True)
|
||||
self.value = return_value.strip().decode('utf-8')
|
||||
except subprocess.CalledProcessError:
|
||||
_LOGGER.error('Command failed: %s', self.command)
|
||||
|
|
|
@ -34,7 +34,7 @@ def setup(hass, config):
|
|||
def service_handler(call):
|
||||
""" Execute a shell command service. """
|
||||
try:
|
||||
subprocess.call(conf[call.service].split(' '),
|
||||
subprocess.call(conf[call.service], shell=True,
|
||||
stdout=subprocess.DEVNULL,
|
||||
stderr=subprocess.DEVNULL)
|
||||
except subprocess.SubprocessError:
|
||||
|
|
|
@ -30,7 +30,7 @@ class TestShellCommand(unittest.TestCase):
|
|||
path = os.path.join(tempdirname, 'called.txt')
|
||||
self.assertTrue(shell_command.setup(self.hass, {
|
||||
'shell_command': {
|
||||
'test_service': "touch {}".format(path)
|
||||
'test_service': "date > {}".format(path)
|
||||
}
|
||||
}))
|
||||
|
||||
|
|
Loading…
Reference in New Issue