diff --git a/DysonPureLinkPlugin/__init__.py b/DysonPureLinkPlugin/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/dyson_pure_link.yaml.example b/DysonPureLinkPlugin/dyson_pure_link.yaml.example similarity index 100% rename from dyson_pure_link.yaml.example rename to DysonPureLinkPlugin/dyson_pure_link.yaml.example diff --git a/dyson_pure_link_device.py b/DysonPureLinkPlugin/dyson_pure_link_device.py similarity index 100% rename from dyson_pure_link_device.py rename to DysonPureLinkPlugin/dyson_pure_link_device.py diff --git a/run_plugin.py b/DysonPureLinkPlugin/run_plugin.py similarity index 98% rename from run_plugin.py rename to DysonPureLinkPlugin/run_plugin.py index 9606399..7d68ea8 100644 --- a/run_plugin.py +++ b/DysonPureLinkPlugin/run_plugin.py @@ -7,7 +7,8 @@ from dyson_pure_link_device import DysonPureLink from value_types import FanMode, StandbyMonitoring -if __name__ == '__main__': + +def main(): args_parser = argparse.ArgumentParser() args_parser.add_argument('-fan') args_parser.add_argument('-standby') @@ -42,3 +43,6 @@ # Disconnect device (IMPORTANT) and print result print('Disconnected: ', dyson_pure_link.disconnect_device()) + +if __name__ == '__main__': + main() diff --git a/value_types.py b/DysonPureLinkPlugin/value_types.py similarity index 85% rename from value_types.py rename to DysonPureLinkPlugin/value_types.py index 53d3638..082b9ab 100644 --- a/value_types.py +++ b/DysonPureLinkPlugin/value_types.py @@ -68,8 +68,14 @@ def __init__(self, message, temperature_unit): def __repr__(self): """Return a String representation""" - return 'Temperature: {}°{}, Humidity: {} %, Volatile Compounds: {}, Particles: {}'.format( - self.temperature, self.temperature_unit, self.humidity, self.volatile_compounds, self.particles) + return 'Temperature: {:.1f}°{}, Humidity: {} %, Humidex: {:.1f}, Volatile Compounds: {}, Particles: {}'.format( + self.temperature, + self.temperature_unit, + self.humidity, + self.humidex, + self.volatile_compounds, + self.particles + ) @property def has_data(self): @@ -87,6 +93,15 @@ def kelvin_to_fahrenheit(kelvin_value): def kelvin_to_celsius(kelvin_value): return kelvin_value - 273.15 + @property + def humidex(self): + return self.temperature + 0.5555 * \ + ( + 6.112 * 10.0 ** (7.5 * (self.temperature / (237.7 + self.temperature))) + * (self.humidity / 100.0) + - 10 + ) + class StateData(object): """Value type for state data""" diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..8ab7e37 --- /dev/null +++ b/setup.py @@ -0,0 +1,21 @@ +from distutils.core import setup + +setup( + name='DysonPureLinkPlugin', + version='0.1', + packages=['DysonPureLinkPlugin'], + url='https://github.com/UBayouski/DysonPureLinkPlugin', + license='MIT', + author='UBayouski', + author_email='', + description='', + install_requires=[ + 'paho-mqtt', + 'pyyaml', + ], + entry_points={ + 'console_scripts': [ + 'dyson_run_plugin = DysonPureLinkPlugin.run_plugin:main' + ] + }, +)