From 94ab78b846a19563349187f41b376fcee8db9546 Mon Sep 17 00:00:00 2001 From: Jens Klein Date: Fri, 13 Jan 2023 17:29:08 +0100 Subject: [PATCH] Fixed Tibber API breaking changes --- requirements.txt | 6 ++++-- tibber-exporter.py | 5 +++-- 2 files changed, 7 insertions(+), 4 deletions(-) mode change 100644 => 100755 tibber-exporter.py diff --git a/requirements.txt b/requirements.txt index e478a55..764b743 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,6 @@ asyncio requests==2.28.1 -python-graphql-client>=0.4.1 -prometheus_client \ No newline at end of file +# Temporary fix: +# revert to once merged: python-graphql-client>=0.4.1 +git+https://github.com/jenskdsgn/python-graphql-client@master#python-graphql-client +prometheus_client diff --git a/tibber-exporter.py b/tibber-exporter.py old mode 100644 new mode 100755 index 27175fe..312ba53 --- a/tibber-exporter.py +++ b/tibber-exporter.py @@ -19,7 +19,7 @@ from prometheus_client.core import GaugeMetricFamily, CounterMetricFamily, REGISTRY PORT = 9110 -SUBSCRIPTION_ENDPOINT = 'wss://api.tibber.com/v1-beta/gql/subscriptions' +SUBSCRIPTION_ENDPOINT = 'wss://websocket-api.tibber.com/v1-beta/gql/subscriptions' QUERY_ENDPOINT = 'https://api.tibber.com/v1-beta/gql' RT_HOMES = {} @@ -80,7 +80,8 @@ def subscribe_live_measurements(self): """.format(homeid=self.id) self.subscription_task = asyncio.create_task(self.subscription_client.subscribe(query=query, handle=self.handle_live_measurement, - init_payload={'token': self.token})) + init_payload={'token': self.token}, + ws_subprotocol='graphql-transport-ws')) self.subscription_start = datetime.now() self.connect_count += 1