Home Foren Hardware Support und Bugs Einstieg in API-Anwendung

Schlagwörter: 

Ansicht von 5 Beiträgen - 1 bis 5 (von insgesamt 5)
  • Autor
    Beiträge
  • homeheater
    Teilnehmer
    Beitragsanzahl: 2

    Hallo,
    ich möchte gern regelmäßig alle Daten aus dem Miniserver auslesen. Alle Teperaturen und Schaltzustände und sie in eine eigene Datenbank schreiben. Aber irgendwie gelingt es mir noch nicht einmal eine einzelne Temperatur auszulesen. Deshalb meine Bitte ob mir jemand mal ein funktionierendes Beispiel zur Verfügung stellen kann, um die eigene Denkblockade aufzubrechen.
    Das wäre toll. Danke dafür.

    sundriver
    Teilnehmer
    Beitragsanzahl: 150

    Hallo homeheater,

    hier ein Beispiel in der Programmiersprache Python, wie ich Temperaturen auslese. Vielleicht hilft Dir das weiter:

    class Temperature:
    „““
    constructor
    „““
    def __init__(self):
    self.__URL_TEMPS = URL.miniserver_url + „/get/json/v1/1/temps“
    self.__OPEN_TIMEOUT = 20
    self.__READ_TIMEOUT = 120
    self.__ETAGENNAME_KEY = ‚etagenname‘
    self.__ROOM_KEY = ‚raeume‘
    self.__SENSORS_KEY = ’sensoren‘
    self.__SENSOR_NAME_KEY = ’name‘
    self.__VALUE_KEY = ‚wert‘

    self.__temps = []

    „““
    request temperatures
    „““
    def request_temperatures(self):
    try:
    r = requests.get(url = self.__URL_TEMPS, timeout=(self.__OPEN_TIMEOUT, self.__READ_TIMEOUT))
    self.__temps = r.json()
    except:
    self.__temps = []

    „““
    get a temperature value
    „““
    def temperature(self, floor, sensor_name):
    try:
    dict = [d for d in self.__temps if d[self.__ETAGENNAME_KEY]== floor][0]
    rooms = (dict[self.__ROOM_KEY])
    sensors = [x[self.__SENSORS_KEY] for x in rooms]

    for dict in sensors:
    sensor = next((l for l in dict if l.get(self.__SENSOR_NAME_KEY) == sensor_name), None)
    if sensor != None:
    break

    return str(round(sensor[self.__VALUE_KEY], 1))
    except:
    return self.__NO_TEMP

    sundriver
    Teilnehmer
    Beitragsanzahl: 150

    Leider sind die Einrückungen in meinem Beispiel nach dem Speichern entfernt worden …

    homeheater
    Teilnehmer
    Beitragsanzahl: 2

    Danke sundriver. Mal probieren, ob ich das zum Laufen bringe.

    sundriver
    Teilnehmer
    Beitragsanzahl: 150

    Gerne.

Ansicht von 5 Beiträgen - 1 bis 5 (von insgesamt 5)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.