Ich schreibs morgen früh um. Der PR zieht sich..
Ankündigung
Einklappen
Keine Ankündigung bisher.
Benzinpreis-Plugin
Einklappen
X
-
Die Fehler sind raus. Allerdings bekomme ich noch regelmäßig eine Warnung:
Code:2022-12-05 10:12:22 WARNING plugins.tankerkoenig Plugin 'tankerkoenig': Tankerkönig didn't return any station
Ich habe in die Logik noch ein Logging eingebaut und die Meldung kommt aus dem Aufruf, mit dem ich die billigste Tankstelle bestimmen möchte:
Code:cheapest = sh.tankerkoenig.get_petrol_stations(sh._lat, sh._lon, 'e10', 'price', rad=25)
Viele Grüße
Martin
There is no cloud. It's only someone else's computer.
Kommentar
-
Msinn kann ich reproduzieren. ich checke das
Offenbar nimmt er LAT und LON nicht.. ich übergebe korrekt, bekomme dann aber
2022-12-05 12:13:19 ERROR plugins.tankerkoenig {'status': 'error', 'ok': False, 'message': 'lng nicht angegeben, oder ausserhalb der gültigen Grenzen\nlat nicht angegeben, oder ausserhalb der gültigen Grenzen'}
Nach dieser Zuweisung ist lat = None:
Code:self.logger.error(lat) self.logger.error(lon) lat = self._lat if not lat else None lon = self._lon if not lon else None self.logger.error(lat)
Code:if lat is None: lat = self._lat if lon is None: lon = self._lon
Zuletzt geändert von psilo; 05.12.2022, 13:07.
Kommentar
-
Zitat von psilo Beitrag anzeigenOffenbar nimmt er LAT und LON nicht.. ich übergebe korrekt, bekomme dann aber
2022-12-05 12:13:19 ERROR plugins.tankerkoenig {'status': 'error', 'ok': False, 'message': 'lng nicht angegeben, oder ausserhalb der gültigen Grenzen\nlat nicht angegeben, oder ausserhalb der gültigen Grenzen'}
Gruß
Wolfram
Kommentar
-
Zitat von psilo Beitrag anzeigenich habe mal wie folgt umgebaut. Deckt das das ab, was Du an der Stelle wolltest?
Code:lat = self._lat if not lat else lat
- Likes 1
Kommentar
-
Zitat von psilo Beitrag anzeigenjo sollte seit paar tagen gefixt sein. müsstest das bei dir doch auch sehen? oder noch fehler?Tankerkoenig plugin: added cast to float to rad value
Kommentar
-
Ja, jetzt habe ich auch wieder die günstigste Tankstelle. Jetzt ist nur noch ein Darstellungsproblem nach:
Die günstigste Tankstelle ist eine freie Tankstelle. Daher ist der Wert für 'brand' ein Leersting:
Code:2022-12-07 10:09:31 NOTICE logics.tankerkoenig Cheapest {'place': 'Hamburg', 'brand': '', 'houseNumber': '5', 'street': 'Steilshooper Allee', 'id': '512f9ee3-77cf-4719-f51a-b837c985f035', 'lng': 10.04557, 'name': 'CleanCar AG NL 123', 'lat': 53.6085, 'price': 1.699, 'dist': 0.8, 'isOpen': True, 'postCode': 22309}: [{'place': 'Hamburg', 'brand': '', 'houseNumber': '5', 'street': 'Steilshooper Allee', 'id': '512f9ee3-77cf-4719-f51a-b837c985f035', 'lng': 10.04557, 'name': 'CleanCar AG NL 123', 'lat': 53.6085, 'price': 1.699, 'dist': 0.8, 'isOpen': True, 'postCode': 22309}, {'place': 'HAMBURG', 'brand': 'JET', 'houseNumber': '9', 'street': 'STEILSHOOPER ALLEE', 'id': 'cd8ba6a6-8316-1ed5-a3ae-d3139800d85f', 'lng': 10.04669, 'name': 'JET HAMBURG STEILSHOOPER ALLEE 9', 'lat': 53.608476, 'price': 1.699, 'dist': 0.8, 'isOpen': True, 'postCode': 22309}, {'place': 'HAMBURG', 'brand': 'JET', 'houseNumber': '44', 'street': 'STEILSHOOPER ALLEE', 'id': '51d4b540-a095-1aa0-e100-80009459e03a', 'lng': 10.056007, 'name': 'JET HAMBURG STEILSHOOPER ALLEE 44', 'lat': 53.6082, 'price': 1.699, 'dist': 1.3, 'isOpen': True, 'postCode': 22309}, {'place': 'HAMBURG', 'brand': 'JET', 'houseNumber': '21', 'street': 'DEELBOEGE', 'id': '51d4b6ab-a095-1aa0-e100-80009459e03a', 'lng': 9.9891, 'name': 'JET HAMBURG DEELBOEGE 21', 'lat': 53.6026, 'price': 1.699, 'dist': 3.3, 'isOpen': True, 'postCode': 22297}, {'place': 'Hamburg', 'brand': 'Tankcenter', 'houseNumber': '95', 'street': 'Borsteler Ch.', 'id': '83331733-df38-4a7b-87ee-f6625b897c9d', 'lng': 9.980404, 'name': 'Tankcenter Hamburg', 'lat': 53.606019, 'price': 1.699, 'dist': 3.9, 'isOpen': True, 'postCode': 22453}, {'place': 'HAMBURG', 'brand': 'ESSO', 'houseNumber': '', 'street': 'UEBERSEERING 1', 'id': '462bfd6e-ae5f-4da8-acfa-6e88cf503d1b', 'lng': 10.024281, 'name': 'Esso Tankstelle', 'lat': 53.60126, 'price': 1.709, 'dist': 1, 'isOpen': True, 'postCode': 22297}, {'place': 'Hamburg', 'brand': 'Shell', 'houseNumber': '55', 'street': 'Steilshooper Allee', 'id': 'cfaf5e3c-60ee-4a11-a6c5-5b359a67dded', 'lng': 10.051451, 'name': 'Shell Hamburg Steilshooper Allee 55', 'lat': 53.608899, 'price': 1.709, 'dist': 1.1, 'isOpen': True, 'postCode': 22309}, {'place': 'Hamburg', 'brand': '', 'houseNumber': '139', 'street': 'Maienweg', 'id': '15e6ae60-0c02-d391-f229-a378d5d30c0f', 'lng': 10.014874458313, 'name': 'JOM-GbR - SB-Station', 'lat': 53.61689376831, 'price': 1.729, 'dist': 2.2, 'isOpen': True, 'postCode': 22297}, {'place': 'Hamburg', 'brand': 'Freie', 'houseNumber': '37-39', 'street': 'Papenstraße', 'id': '92b37d44-73f5-417a-a838-e3c8ca480433', 'lng': 10.0413, 'name': 'Großtankstelle Kurt Meinen + Söhne', 'lat': 53.56529, 'price': 1.729, 'dist': 4.2, 'isOpen': True, 'postCode': 22089}, {'place': 'Hamburg', 'brand': 'Shell', 'houseNumber': '370', 'street': 'Bramfelder Chaussee', 'id': '9802b777-f64b-4632-8154-8044ca1bd9f5', 'lng': 10.083967, 'name': 'Shell Hamburg Bramfelder Chaussee 370', 'lat': 53.622212, 'price': 1.739, 'dist': 3.7, 'isOpen': True, 'postCode': 22175}, {'place': 'HAMBURG', 'brand': 'ESSO', 'houseNumber': '', 'street': 'FABRICIUSSTR. 46', 'id': '45ac4f18-5a1e-488e-abc2-1b12a922959d', 'lng': 10.06054, 'name': 'Esso Tankstelle', 'lat': 53.596865, 'price': 1.749, 'dist': 1.6, 'isOpen': True, 'postCode': 22177}, {'place': 'Hamburg', 'brand': 'ARAL', 'houseNumber': '72-78', 'street': 'Habichtstraße', 'id': 'e9890fe7-8f05-422f-9526-2efaf3dde18c', 'lng': 10.0549164, 'name': 'Aral Tankstelle', 'lat': 53.592308, 'price': 1.749, 'dist': 1.6, 'isOpen': True, 'postCode': 22305}, {'place': 'Hamburg', 'brand': 'ARAL', 'houseNumber': '39', 'street': 'Habichtstraße', 'id': '0551cec3-f8ea-4a32-85dc-da70439959f2', 'lng': 10.0565176, 'name': 'Aral Tankstelle', 'lat': 53.59096, 'price': 1.749, 'dist': 1.8, 'isOpen': True, 'postCode': 22305}, {'place': 'Hamburg', 'brand': 'ARAL', 'houseNumber': '66', 'street': 'Bramfelder Chaussee', 'id': '30a50253-2339-469d-a77c-86713d9f5f7f', 'lng': 10.0647011, 'name': 'Aral Tankstelle', 'lat': 53.5972061, 'price': 1.749, 'dist': 1.8, 'isOpen': True, 'postCode': 22177}, {'place': 'HAMBURG', 'brand': 'ESSO', 'houseNumber': '', 'street': 'BARMBEKER STR. 86', 'id': 'd91a397c-cc9a-4d33-ae4e-a727b1635bfb', 'lng': 10.012245, 'name': 'Esso Tankstelle', 'lat': 53.590473, 'price': 1.749, 'dist': 2.2, 'isOpen': True, 'postCode': 22303}, {'place': 'Hamburg', 'brand': 'Shell', 'houseNumber': '72', 'street': 'Winterhuder Weg', 'id': '1765f2e4-d684-4a83-9568-b71b8ac26455', 'lng': 10.023314, 'name': 'Shell Hamburg Winterhuder Weg 72', 'lat': 53.573997, 'price': 1.749, 'dist': 3.4, 'isOpen': True, 'postCode': 22085}, {'place': 'Hamburg', 'brand': 'TotalEnergies', 'houseNumber': '47', 'street': 'Mundsburger Damm', 'id': '8cc3cad2-214d-4008-8962-c66e5940db5c', 'lng': 10.024122, 'name': 'TotalEnergies Hamburg', 'lat': 53.568682, 'price': 1.749, 'dist': 3.9, 'isOpen': True, 'postCode': 22087}, {'place': 'Hamburg', 'brand': 'Shell', 'houseNumber': '49', 'street': 'Juethornstr.', 'id': 'e736cdbd-aecc-419e-8626-0db1b239e28e', 'lng': 10.075438, 'name': 'Shell Hamburg Juethornstr. 49', 'lat': 53.566857, 'price': 1.749, 'dist': 4.7, 'isOpen': True, 'postCode': 22043}, {'place': 'Hamburg', 'brand': 'STAR', 'houseNumber': '141', 'street': 'Langenhorner Chaussee', 'id': '005056ba-7cb6-1ed2-bceb-a1a849084d3e', 'lng': 10.01265, 'name': 'star Tankstelle', 'lat': 53.644606, 'price': 1.749, 'dist': 4.9, 'isOpen': True, 'postCode': 22415}, {'place': 'Hamburg', 'brand': 'ARAL', 'houseNumber': '30', 'street': 'Osterfeldstraße', 'id': '85114fd2-e91a-48d0-8a12-8963116be5b3', 'lng': 9.97447, 'name': 'Aral Tankstelle', 'lat': 53.5983925, 'price': 1.759, 'dist': 4.3, 'isOpen': True, 'postCode': 22529}, {'place': 'Hamburg', 'brand': 'TotalEnergies', 'houseNumber': '86A', 'street': 'Bramfelder Str.', 'id': 'e17ff71f-5914-4848-8c43-5682ab186bb1', 'lng': 10.052757, 'name': 'TotalEnergies Hamburg', 'lat': 53.587929, 'price': 1.769, 'dist': 1.9, 'isOpen': True, 'postCode': 22305}, {'place': 'Hamburg', 'brand': 'ARAL', 'houseNumber': '49', 'street': 'Dehnhaide', 'id': '1c839223-1405-4ca5-bbeb-97ff2999ba96', 'lng': 10.0452452, 'name': 'Aral Tankstelle', 'lat': 53.57931, 'price': 1.769, 'dist': 2.7, 'isOpen': True, 'postCode': 22081}, {'place': 'Hamburg', 'brand': 'Shell', 'houseNumber': '431', 'street': 'Alsterkrugchaussee', 'id': '9e3fd2a6-2f51-4cd3-baa6-04eca57acb6e', 'lng': 10.009901, 'name': 'Shell Hamburg Alsterkrugchaussee 431', 'lat': 53.621232, 'price': 1.769, 'dist': 2.8, 'isOpen': True, 'postCode': 22335}, {'place': 'Hamburg', 'brand': 'Shell', 'houseNumber': '193', 'street': 'Weg Beim Jaeger', 'id': '8f86fa93-1060-4a72-b361-097c636d0ab4', 'lng': 9.999448, 'name': 'Shell Hamburg Weg Beim Jaeger 193', 'lat': 53.62163, 'price': 1.769, 'dist': 3.3, 'isOpen': True, 'postCode': 22335}, {'place': 'Hamburg', 'brand': 'ARAL', 'houseNumber': '14', 'street': 'Hummelsbuettler Hauptstraße', 'id': 'c6525d67-60a7-405b-ba7f-e8a97c446771', 'lng': 10.0347986, 'name': 'Aral Tankstelle', 'lat': 53.63721, 'price': 1.769, 'dist': 3.8, 'isOpen': True, 'postCode': 22339}, {'place': 'Hamburg', 'brand': 'Shell', 'houseNumber': '171', 'street': 'Friedrich-Ebert-Damm', 'id': '37609cdd-8e35-4054-8fa7-b461343bbe81', 'lng': 10.100075, 'name': 'Shell Hamburg Friedrich-Ebert-Damm 171', 'lat': 53.589497, 'price': 1.769, 'dist': 4.3, 'isOpen': True, 'postCode': 22047}, {'place': 'Hamburg', 'brand': 'Mr. Wash Autoservice AG', 'houseNumber': '170', 'street': 'Friedrich-Ebert-Damm', 'id': 'af9a6ae4-09b1-4bb0-9d56-59dcda49b26c', 'lng': 10.10153, 'name': 'Hamburg Friedrich Ebert Damm', 'lat': 53.5889, 'price': 1.769, 'dist': 4.4, 'isOpen': True, 'postCode': 22047}, {'place': 'Hamburg', 'brand': 'ARAL', 'houseNumber': '91', 'street': 'Nordschleswiger Straße', 'id': '406cbf50-53a1-4670-bf9b-f2e503f3fd92', 'lng': 10.0698366, 'name': 'Aral Tankstelle', 'lat': 53.57985, 'price': 1.779, 'dist': 3.3, 'isOpen': True, 'postCode': 22049}, {'place': 'HAMBURG', 'brand': 'ESSO', 'houseNumber': '', 'street': 'WINTERHUDER WEG 35', 'id': 'ef641499-360a-4adc-af2c-b484c1453ef5', 'lng': 10.020474, 'name': 'Esso Tankstelle', 'lat': 53.575357, 'price': 1.779, 'dist': 3.3, 'isOpen': True, 'postCode': 22085}, {'place': 'HAMBURG', 'brand': 'ESSO', 'houseNumber': '', 'street': 'LANGENHORNER CHAUSSEE 38', 'id': '12b9de32-bd43-4a4d-94eb-a98c3e9d4446', 'lng': 10.015115, 'name': 'Esso Tankstelle', 'lat': 53.637398, 'price': 1.779, 'dist': 4.1, 'isOpen': True, 'postCode': 22335}, {'place': 'Hamburg', 'brand': 'ARAL', 'houseNumber': '53-', 'street': 'Langenhorner Chaussee', 'id': '41beb517-06e1-471a-a399-cdad5a604f36', 'lng': 10.0133724, 'name': 'Aral Tankstelle', 'lat': 53.638752, 'price': 1.779, 'dist': 4.3, 'isOpen': True, 'postCode': 22335}, {'place': 'HAMBURG', 'brand': 'ESSO', 'houseNumber': '', 'street': 'FUHLSBUETTLER STR. 2', 'id': 'a7d87eeb-2d67-4393-abb4-af6cf815a7c7', 'lng': 10.047194, 'name': 'Esso Tankstelle', 'lat': 53.585013, 'price': 1.789, 'dist': 2.1, 'isOpen': True, 'postCode': 22305}, {'place': 'Hamburg', 'brand': 'ARAL', 'houseNumber': '25', 'street': 'Winterhuder Weg', 'id': '02c3a06b-41c8-4c6a-87ca-32223c52df3a', 'lng': 10.0225811, 'name': 'Aral Tankstelle', 'lat': 53.5735741, 'price': 1.809, 'dist': 3.5, 'isOpen': True, 'postCode': 22085}, {'place': 'HAMBURG', 'brand': 'JET', 'houseNumber': '224', 'street': 'WANDSBEKER CHAUSSEE', 'id': '51d4b4f7-a095-1aa0-e100-80009459e03a', 'lng': 10.0567, 'name': 'JET HAMBURG WANDSBEKER CHAUSSEE 224', 'lat': 53.5693, 'price': 1.809, 'dist': 3.9, 'isOpen': True, 'postCode': 22089}, {'place': 'Hamburg', 'brand': 'Markant', 'houseNumber': '117 - 123', 'street': 'Wandsbeker Zollstr.', 'id': 'bd8eac36-6f18-4a94-bba1-799e2fdfa369', 'lng': 10.08374, 'name': 'Jacqueline Lischke', 'lat': 53.57718, 'price': 1.809, 'dist': 4.1, 'isOpen': True, 'postCode': 22041}, {'place': 'Hamburg', 'brand': 'Shell', 'houseNumber': '35', 'street': 'Ahrensburger Str.', 'id': '570db8b0-501d-402f-ba0d-afcb979c84a8', 'lng': 10.093245, 'name': 'Shell Hamburg Ahrensburger Str. 35', 'lat': 53.578213, 'price': 1.819, 'dist': 4.5, 'isOpen': True, 'postCode': 22041}, {'place': 'Hamburg', 'brand': 'Shell', 'houseNumber': '86', 'street': 'Luebecker Str.', 'id': 'd062e98e-c7fc-4a1c-a14d-c758639afc16', 'lng': 10.03176, 'name': 'Shell Hamburg Luebecker Str. 86', 'lat': 53.561225, 'price': 1.819, 'dist': 4.7, 'isOpen': True, 'postCode': 22087}, {'place': 'Hamburg', 'brand': 'ARAL', 'houseNumber': '30', 'street': 'Sievekingsallee/Saling', 'id': 'e78510fb-5292-4c50-837f-f55a17a4111a', 'lng': 10.04849, 'name': 'Aral Tankstelle', 'lat': 53.5613937, 'price': 1.819, 'dist': 4.7, 'isOpen': True, 'postCode': 20535}, {'place': 'Hamburg', 'brand': 'Shell', 'houseNumber': '26', 'street': 'Hegestr.', 'id': 'f39ac47d-9960-4056-87ad-0aa03aa0029c', 'lng': 9.98148, 'name': 'Shell Hamburg Hegestr. 26', 'lat': 53.582758, 'price': 1.849, 'dist': 4.4, 'isOpen': True, 'postCode': 20251}, {'place': 'Hamburg', 'brand': 'ARAL', 'houseNumber': '78', 'street': 'Hoheluftchaussee', 'id': 'a3d0e27b-e527-46f1-a50b-8e472a79639b', 'lng': 9.971292, 'name': 'Aral Tankstelle', 'lat': 53.5828972, 'price': 1.859, 'dist': 5, 'isOpen': True, 'postCode': 20253}, {'place': 'HAMBURG', 'brand': 'ESSO', 'houseNumber': '', 'street': 'SIEVEKINGSALLEE 4', 'id': 'f820f0a1-7a9c-4d99-91fc-4b09514f4820', 'lng': 10.040542, 'name': 'Esso Tankstelle', 'lat': 53.559813, 'price': 1.869, 'dist': 4.8, 'isOpen': True, 'postCode': 20535}, {'place': 'HAMBURG', 'brand': 'ESSO', 'houseNumber': '', 'street': 'SIEVEKINGSALLEE 75', 'id': 'f0a4e043-ba25-49a2-b40e-3bd50cd2074c', 'lng': 10.058436, 'name': 'Esso Tankstelle', 'lat': 53.560899, 'price': 1.889, 'dist': 4.9, 'isOpen': True, 'postCode': 20535}]
Capto_Capture 2022-12-07_10-10-39_AM.jpg
Die Anzeige erfolgt mit
Code:basic.print('tnkc.brand', 'tankstellen.cheapest.brand_e10')
Viele Grüße
Martin
There is no cloud. It's only someone else's computer.
Kommentar
-
Msinn also im Item .brand_e10 ist auch noch der Leerstring? der typ ist richtig?
ich hab gerade meine CSV logik und die funktion gecheckt, da landet in brand wirklich nur ein leerer string. wenn das item num und nicht str ist, ist das vielleicht die ursache?
Code:json_obj = self._request_stations(lat=lat, lon=lon, price=price, sort=sort, rad=rad) keys = ['place', 'brand', 'houseNumber', 'street', 'id', 'lng', 'name', 'lat', 'price', 'dist', 'isOpen', 'postCode'] if json_obj.get('stations', None) is None: self.logger.warning(f"Plugin '{self.get_fullname()}': Tankerkönig didn't return any station") else: for i in json_obj['stations']: result_station = {} for key in keys: result_station[key] = i[key] result_stations.append(result_station) return result_stations
Zuletzt geändert von psilo; 07.12.2022, 10:50.
Kommentar
-
Zitat von psilo Beitrag anzeigenMsinn also im Item .brand_e10 ist auch noch der Leerstring? der typ ist richtig?
Mir ist nicht klar, wieso basic.print daraus anscheinend eine Zahl machen will (NaN).
Anderes Problem: Heute Nacht hatte ich folgende Fehler im Log:
Code:2022-12-09 01:52:01 ERROR plugins.tankerkoenig Plugin 'tankerkoenig': Exception when sending GET request for _request_station_prices: ('Connection aborted.', ConnectionResetError(104, 'Die Verbindung wurde vom Kommunikationspartner zurückgesetzt')) 2022-12-09 01:52:01 ERROR plugins.tankerkoenig.update_status_data Method plugins.tankerkoenig.update_status_data exception: 'NoneType' object has no attribute 'get' Traceback (most recent call last): File "/usr/local/shng_dev/lib/scheduler.py", line 678, in _task obj() File "/usr/local/shng_dev/plugins/tankerkoenig/__init__.py", line 290, in update_status_data self.station_prices = self.get_petrol_station_prices(self.station_ids) File "/usr/local/shng_dev/plugins/tankerkoenig/__init__.py", line 269, in get_petrol_station_prices _price_dict = self._request_station_prices(station_ids).get('prices', None) AttributeError: 'NoneType' object has no attribute 'get'
Viele Grüße
Martin
There is no cloud. It's only someone else's computer.
Kommentar
-
@Msinn: zum fehler oben: ich denke, dass kurzzeitig der request keine daten geliefert hat. ich hätte aber erwartet, dass der use case "None" in der _request_station_prices in folgender Exception abgefangen worden wäre. vermutlich fällt ein return None aber nicht unter das Handling dort:
Code:try: return response.json() except Exception as e: self.logger.error(f"Plugin '{self.get_fullname()}': Exception when handling GET response to JSON for _request_station_prices: {e}") return
Code:_station_id_prices = self._request_station_prices(station_ids) if _station_id_prices is None: self.logger.error(f"get_petrol_station_prices: self._request_station_prices(station_ids) returned invalid result") return None _price_dict = _station_id_prices.get('prices', None)
PS: Zum basic.print hat sich wvhn ja geäußert.Zuletzt geändert von psilo; 09.12.2022, 13:09.
Kommentar
Kommentar