def run():
    gs = spreadsheet.SpreadSheet()
    gs.open_sheet(filename=os.environ['SHEET_NAME'])
    last_line = gs.get_col_length()
    if last_line == 0:
        header = [
            'timestamp',
            'timestamp_unix',
            'temperature',
            'temperature_created_at',
            'humidity',
            'humidity_created_at',
            'illumination',
            'illumination_created_at',
            'motion',
            'motion_created_at'
        ]
        gs.update_column(1, header)
        last_line += 1

    now = datetime.datetime.now(datetime.timezone.utc)
    client = remoclient.NatureRemoClient()
    events = client.get_newest_events()
    now_iso = now.isoformat()

    values = [
        now_iso,
        int(now.timestamp()),
        events['te']['val'],
        events['te']['created_at'],
        events['hu']['val'],
        events['hu']['created_at'],
        events['il']['val'],
        events['il']['created_at'],
        events['mo']['val'],
        events['mo']['created_at']
    ]
    gs.update_column(last_line+1, values)
Exemple #2
0
    def test_get_humidity(self, mock_func):
        client = remoclient.NatureRemoClient()
        res = client.get_humidity()

        self.assertEqual(res, constants.REMO_DEVICES[0]['newest_events']['hu'])
Exemple #3
0
    def test_get_temperature_by_device_id(self, mock_func):
        client = remoclient.NatureRemoClient()
        res = client.get_temperature(device_id=constants.REMO_DEVICES[0]['id'])

        self.assertEqual(res, constants.REMO_DEVICES[0]['newest_events']['te'])
Exemple #4
0
    def test_get_newest_events_by_device_name(self, mock_func):
        client = remoclient.NatureRemoClient()
        res = client.get_newest_events(
            device_name=constants.REMO_DEVICES[0]['name'])

        self.assertEqual(res, constants.REMO_DEVICES[0]['newest_events'])
Exemple #5
0
    def test_get_device_by_id(self, mock_func):
        client = remoclient.NatureRemoClient()
        res = client.get_device(device_id=constants.REMO_DEVICES[1]['id'])

        self.assertEqual(res['name'], constants.REMO_DEVICES[1]['name'])
Exemple #6
0
    def test_get_illumination_by_device_id(self, mock_func):
        client = remoclient.NatureRemoClient()
        res = client.get_illumination(
            device_id=constants.REMO_DEVICES[0]['id'])

        self.assertEqual(res, constants.REMO_DEVICES[0]['newest_events']['il'])