Skip to content

Tester

In dieser Kategorie werden Adapter Versionen vorgestellt die der Entwickler zum Testen Frei gibt.

1.1k Themen 194.3k Beiträge

NEWS

  • Test Adapter toyota v.0.0.x

    97
    1
    0 Stimmen
    97 Beiträge
    13k Aufrufe
    Z
    Moin Gemeinde, ich sehe gerade , den gleichen LOG haben alle. Ich weiss ja nicht ob das wichtig sein könnte, aber als der alte adapter bei mir den dienst eingestellt ware, war ich gerade mit meinem toyota woanders zu besuch (ein Samstag Abend letzen Monat) seither meldet mein Adapter immer diese Adresse obwohl in der neuen App alles richtig angezeigt wird. Also hat sich vermutlich der ganze Logn auf eine ebenfalls neue Datenbank bei Toyota geändert. hier mal mein ioBroker LOG : starting. Version 0.2.6 in /opt/iobroker/node_modules/iobroker.toyota, node: v20.19.5, js-controller: 7.0.7 Login to Toyota Start token exchange Login successful Get Vehicles AxiosError: Request failed with status code 403 {"status":{"messages":{{"responseCode":"APIGW-403","description":"Unauthorized","detailedDescription":"Unauthorized client "}]}} Wird eigentlich noch weiterentwickelt ? + Kann man bald mit einer Lösung / Update rechnen ?! Grüße zyklop
  • Test Adapter LG ThinQ

    908
    2
    2 Stimmen
    908 Beiträge
    289k Aufrufe
    M
    Guten Morgen zusammen, ich habe eine LG SK9Y Soundbar... Die läuft über die App "LG Soundbar". Die LG ThinQ App findet Sie nicht per Wlan oder Bluetooth weil Sie vor dem Jahr 2024 ist. Gibt es einen Möglichkeit Sie einzubinden? Vielleicht mit einem anderen Adapter? Danke vorab für euren Input. Grüße
  • Tester für Zigbee Adapter 2.0.x gesucht

    zigbee 2.0.1
    529
    9
    10 Stimmen
    529 Beiträge
    103k Aufrufe
    D
    @mp_trixi Das geht auch automatisch, nur bei dem Ansicht, kommen die beim neu aufmachen, erst wenn es aktualisiert wird, also, spätestens nach 60 sek.
  • Test Tesla-Motors v1.0.0

    931
    4
    1 Stimmen
    931 Beiträge
    286k Aufrufe
    V
    Hallo, ich erhalte im Log alle paar Sekunden folgende Einträge: Was muss ich ändern, dass diese nicht mehr auftauchen? tesla-motors.0 2025-10-13 15:22:38.536 error TypeError: data.time_series is not iterable tesla-motors.0 2025-10-13 15:22:38.536 error https://owner-api.teslamotors.com/api/1/energy_sites/1689301590021784/calendar_history?kind=energy&time_zone=Europe/Berlin&period=lifetime&end_date=2025-10-13T15:22:35.474Z tesla-motors.0 2025-10-13 15:22:38.535 error General error tesla-motors.0 2025-10-13 15:22:38.409 error TypeError: data.time_series is not iterable tesla-motors.0 2025-10-13 15:22:38.409 error https://owner-api.teslamotors.com/api/1/energy_sites/1689301590021784/calendar_history?kind=energy&time_zone=Europe/Berlin&period=lifetime&end_date=2025-10-13T15:22:35.454Z tesla-motors.0 2025-10-13 15:22:38.408 error General error tesla-motors.0 2025-10-13 15:22:37.695 error TypeError: data.time_series is not iterable tesla-motors.0 2025-10-13 15:22:37.695 error https://owner-api.teslamotors.com/api/1/energy_sites/1689301590021784/calendar_history?kind=energy&period=day&time_zone=Europe%2FBerlin tesla-motors.0 2025-10-13 15:22:37.695 error General error tesla-motors.0 2025-10-13 15:22:37.541 error TypeError: data.time_series is not iterable tesla-motors.0 2025-10-13 15:22:37.540 error https://owner-api.teslamotors.com/api/1/energy_sites/1689301590021784/calendar_history?kind=energy&period=day&time_zone=Europe%2FBerlin tesla-motors.0 2025-10-13 15:22:37.540 error General error tesla-motors.0 2025-10-13 15:22:37.344 error {"response":null,"error":"https://powergate.prd.sn.tesla.services:443/api/v2/energy_site/backup_history => No valid dins were present in the request [[ /api/v2/energy_site/backup_history?kind=backup&site_id=STE20230917-00284&dins=&asset_site_id=f65443a9-b18d-49ba-9627-2726ed43104e ]]","error_description":""} tesla-motors.0 2025-10-13 15:22:37.344 error AxiosError: Request failed with status code 400 tesla-motors.0 2025-10-13 15:22:37.344 error https://owner-api.teslamotors.com/api/1/energy_sites/1689301590021784/history?kind=backup tesla-motors.0 2025-10-13 15:22:37.343 error General error tesla-motors.0 2025-10-13 15:22:37.146 error {"response":null,"error":"https://powergate.prd.sn.tesla.services:443/api/v2/energy_site/backup_history => No valid dins were present in the request [[ /api/v2/energy_site/backup_history?kind=backup&site_id=STE20230917-00284&dins=&asset_site_id=f65443a9-b18d-49ba-9627-2726ed43104e ]]","error_description":""} tesla-motors.0 2025-10-13 15:22:37.146 error {"response":null,"error":"https://powergate.prd.sn.tesla.services:443/api/v2/energy_site/backup_history => No valid dins were present in the request [[ /api/v2/energy_site/backup_history?kind=backup&site_id=STE20230917-00284&dins=&asset_site_id=f65443a9-b18d-49ba-9627-2726ed43104e ]]","error_description":""} tesla-motors.0 2025-10-13 15:22:37.146 error {"response":null,"error":"https://powergate.prd.sn.tesla.services:443/api/v2/energy_site/backup_history => No valid dins were present in the request [[ /api/v2/energy_site/backup_history?kind=backup&site_id=STE20230917-00284&dins=&asset_site_id=f65443a9-b18d-49ba-9627-2726ed43104e ]]","error_description":""} tesla-motors.0 2025-10-13 15:22:37.146 error {"response":null,"error":"https://powergate.prd.sn.tesla.services:443/api/v2/energy_site/backup_history => No valid dins were present in the request [[ /api/v2/energy_site/backup_history?kind=backup&site_id=STE20230917-00284&dins=&asset_site_id=f65443a9-b18d-49ba-9627-2726ed43104e ]]","error_description":""} tesla-motors.0 2025-10-13 15:22:37.146 error AxiosError: Request failed with status code 400 tesla-motors.0 2025-10-13 15:22:37.146 error https://owner-api.teslamotors.com/api/1/energy_sites/1689301590021784/history?kind=backup tesla-motors.0 2025-10-13 15:22:37.145 error General error
  • Test Adapter Samsung Smartthings v.0.0.x

    281
    4
    1 Stimmen
    281 Beiträge
    64k Aufrufe
    T
    @oxident Du hast recht. Sehr schade das auch mein Vorschlag vom 18. Februar ohne Echo bzw. Umsetzung ist. Ein Update hinsichtlich Benutzerfreundlichkeit und Performancesteigerung wäre für diesen Adapter absolut erforderlich ...
  • Test Adapter rainbird 1.x.x

    39
    1 Stimmen
    39 Beiträge
    3k Aufrufe
    FeuersturmF
    @tok sagte in Test Adapter rainbird 1.x.x: Nachdem der Debugmode aktiviert wurde, funktioniert jetzt auch die Kommunikation .. ? .. bekomme jetzt in den Objekten die Datenpunkte angezeigt. Werden die Daten weiterhin aktualisiert, wenn der Debug Mode aus ist? Funktioniert jetzt auch die Ansteuerung der Bewässerung? Google sagt zu ECONNRESET: Der ECONNRESET-Fehler ist eine Netzwerkmeldung, die auftritt, wenn ein TCP-Endpunkt (also eine Seite einer Netzwerkverbindung) die Verbindung unerwartet und abrupt trennt, wodurch eine vorher etablierte Verbindung beendet wird, bevor der Datenaustausch abgeschlossen ist. Die Daten werden Defaultmäßig alle 20s (Einstellung in der Instanz) abgerufen. Ich vermute die Fehlermeldung "Error in request from client for" bedeutet, das die angeforderten Daten vom Rainbird Controller nicht innerhalb der Timeoutzeit von 1s wo die Verbindung offen ist empfangen wurde (Quelle) Du könntest in jedem Fall ein issue beim Adapter aufmachen und auch ein etwas längeres Debug Log dort einfügen, so das man z.B. mehrere Zyklen der Abfrage vom Adapter sieht. Dann könnte man z.B. auch sehe, ob der Fehler immer kommt oder nur sporadisch.
  • 4 Stimmen
    1k Beiträge
    524k Aufrufe
    GarganoG
    @jayp666 Hast Du mal den cloudless Adapter probiert?
  • Test Adapter Signifylights

    43
    3 Stimmen
    43 Beiträge
    6k Aufrufe
    Stefan-Berlin1S
    @disaster123 Danke erstmal für solch tolle Bemühungen. Ich bekomme das nicht hin :-( Ich wollte schauen ob er meine LED Beleuchtung von Lumary findet oder meine WIZ Lampe. Ist im WLAN Integriert und auch er Alexa funktionabel. Ich hab iobroker über Docker meiner Synology laufen [image: 1760057161276-3.jpg] Iobroker rufe ich mit meinem Netzwerk auf: 192.168.188.200:8081 in den Einstellungen der APP: [image: 1760057232392-1.jpg] [image: 1760057238693-2.jpg] Protokoll: signifylights.0 2025-10-10 02:47:43.754 error adapter is unconfigured, udp target ip and/or udp mac address for auto update missing signifylights.0 2025-10-10 02:47:43.753 info config bind ip address: 0.0.0.0 signifylights.0 2025-10-10 02:47:43.745 info starting. Version 1.0.0 in /opt/iobroker/node_modules/iobroker.signifylights, node: v20.18.1, js-controller: 7.0.7 signifylights.0 2025-10-10 02:47:43.671 debug States connected to redis: 127.0.0.1:9000 signifylights.0 2025-10-10 02:47:43.606 debug States create User PubSub Client signifylights.0 2025-10-10 02:47:43.605 debug States create System PubSub Client signifylights.0 2025-10-10 02:47:43.591 debug Redis States: Use Redis connection: 127.0.0.1:9000 signifylights.0 2025-10-10 02:47:43.567 debug Objects connected to redis: 127.0.0.1:9001 signifylights.0 2025-10-10 02:47:43.563 debug Objects client initialize lua scripts signifylights.0 2025-10-10 02:47:43.524 debug Objects create User PubSub Client signifylights.0 2025-10-10 02:47:43.523 debug Objects create System PubSub Client signifylights.0 2025-10-10 02:47:43.522 debug Objects client ready ... initialize now signifylights.0 2025-10-10 02:47:43.497 debug Redis Objects: Use Redis connection: 127.0.0.1:9001
  • [Neuer Adapter] mediola-gateway

    Verschoben
    133
    1 Stimmen
    133 Beiträge
    22k Aufrufe
    T
    Hallo, möchte Funk Elero Rollladenantriebe über ein Gateway in den ioBroker einbinden. Dieses Gateway soll ausschließlich zur Kommunikation zwischen Elero Funkantrieben und dem ioBroker dienen. Welche Mindestanforderung vom Mediola Gateways "V6 mini" oder "V6" oder "V6+" sind hierzu wirklich erforderlich. Weitere Frage: ist hierzu eine weitere Lizenz erforderlich? Die Integration in den ioBroker soll ja mit Hilfe diesem Mediola-Adapter sehr gut funktionieren.
  • Shelly >= 10.0.0 mit verschlüsselten BLU-Geräten

    17
    6 Stimmen
    17 Beiträge
    962 Aufrufe
    mcm1957M
    @hardwarefehler Nur mal als ungetestete Idee Ev kannst du nen Alias dazwischen schalten u via getrennte States f schreiben u lesen die Schreiboperationen blocken. Und natürlich kannst auch ein issue beuim widget einstellen. Bei RO sollte es natürlich nichts schreiben ....
  • Test Freestyle Libre LibreLinkUp

    186
    4
    1 Stimmen
    186 Beiträge
    32k Aufrufe
    bahnuhrB
    @tombox Hab die Instanz nochmal neu gestartet. Jetzt kam keine Meldung mehr. Alles ok.
  • vis-2-widgets-collection

    301
    6
    6 Stimmen
    301 Beiträge
    71k Aufrufe
    G
    @carsten04 Zunächste einmal Kompliment für die Widgets. Ich bin Anfang der Woche darauf gestossen und ich glaube das ist genau das was ich gesucht habe. (---- Eine kurze Anmerkung/Frage: Bei "Ausprobieren" der Widgets habe ich versucht meine Rolladen (Homematic und shelly) damit zu steuern. Das funktioniert auch soweit ganz gut. Die Widgets habe ich per copy/paste eingefügt. Leider wird dann nicht immer der aktuelle Zustand (icon rechts oben) angezeigt. Wo genau stelle ich das ein? ---- gelöst. man muss den Rahmen einstellen) Eine zweite Anmerkung/Wunsch: Ich habe einige Werte (im Energiebereich) die ich anhand von gespeicherten Werten berechne. Wäre dies auch im Widget zu realisieren? Danke nochmals für die Arbeit und die Mühe.! rolladen.png
  • Test adapter email - ALPHA Versionen

    8
    1 Stimmen
    8 Beiträge
    302 Aufrufe
    mcm1957M
    @io2345 Ok und sorry, dann funktioniert der vorhandene PR offensichtlich nicht. Ich kann derzeit nur das Issue auf non.fixed setzen und schan ob wer Zeit hat das genauer anzusehen.
  • 5 Stimmen
    1k Beiträge
    340k Aufrufe
    L
    Hallo zusammen, ich habe mein Problem gefunden und behoben, hier kurz meine Lösung Symptom: Nach Umzug (Pi 5) markiert SmartControl alle Cron-Ausdrücke (z. B. * * * * *) als ungültig. Ursache: Im ioBroker-Verzeichnis lag cron-parser 5.4.0 (ESM). Diese Version exportiert in CJS keine parseExpression-Funktion → die SmartControl-Validierung schlägt fehl. Fix: cd /opt/iobroker npm rm cron-parser --silent npm i cron-parser@4.9.0 --save-exact iobroker upload smartcontrol iobroker restart smartcontrol Vielen Dank an alle für die Gute Unterstützung
  • Test/Support Adapter Skiinfo

    30
    1
    2 Stimmen
    30 Beiträge
    2k Aufrufe
    OliverIOO
    Neue Version 1.0.0 es wurde noch ein Filtzerknopf im browser widget eingeführt um nur noch auf die Favoriten einträge zu reduzieren Die Version wurde auf 1.0.0 angehoben um für die anstehende Skisaison eine Vollständigkeit anzuzeigen. [image: 1759882933049-319ad3d9-a3c6-476d-8950-af75903ae68d-image.png]
  • Test Adapter mihome-cloud

    227
    4
    1 Stimmen
    227 Beiträge
    44k Aufrufe
    haselchenH
    @holly200289 Bisher wohl nicht. Einfach weiter in diesem Thread und ins Issue (https://github.com/TA2k/ioBroker.mihome-cloud/issues/27) schauen.
  • Test Adapter IKEA-RODRET v0.0.x GitHub

    6
    0 Stimmen
    6 Beiträge
    253 Aufrufe
    A
    @mcm1957 Ja, Logging musste ich per Instanz korrekt einstellen :man-facepalming:
  • Test Adapter sbms v0.4.x Latest

    1
    0 Stimmen
    1 Beiträge
    72 Aufrufe
    Niemand hat geantwortet
  • Adapter Für clage durchlauferhitzer

    durchlauferhitzer
    15
    0 Stimmen
    15 Beiträge
    1k Aufrufe
    M
    @vod Hallo ich habe den CLAGE DSX Touch ohne Adapter per JS eingebunden: Dazu habe ich jeweils ein Skript zur Statusabfrage und zum Setzen des Sollwertes geschrieben. Hier das Skript zur Status Abfrage: // --------------------------------------------------- // Gemeinsame Funktion: Sekunden in Jahre, Tage, Stunden, Minuten umrechnen // --------------------------------------------------- function formatSecondsToString(seconds) { const Jahre = Math.floor(seconds / (365 * 24 * 3600)); seconds -= Jahre * 365 * 24 * 3600; const Tage = Math.floor(seconds / (24 * 3600)); seconds -= Tage * 24 * 3600; const Stunden = Math.floor(seconds / 3600); seconds -= Stunden * 3600; const Minuten = Math.floor(seconds / 60); return `${Jahre} J, ${Tage} T, ${Stunden} Std, ${Minuten} Min`; } // --------------------------------------------------- // Funktion: Fehlertexte für Error-Codes // --------------------------------------------------- function getErrorText(code) { const errors = [ { code: 0, text: "SYSTEM OK - Kein Fehler" }, { code: 10, text: "ERR BUS - Busfehler" }, { code: 11, text: "ERR V HI - Überspannung" }, { code: 12, text: "ERR V LO - Unterspannung" }, { code: 13, text: "ERR PHASE - Phasenfehler" }, { code: 21, text: "ERR CP - Bedienfeldfehler" }, { code: 22, text: "ERR SPI - SPI-Fehler" }, { code: 41, text: "ERR VC - Motorventil defekt" }, { code: 42, text: "ERR FILLING - Füllmodusfehler" }, { code: 43, text: "ERR LEAKAGE - Leckage im Gerät erkannt" }, { code: 44, text: "ERR SENSLK - Lecksensor defekt" }, { code: 45, text: "ERR STB OFF - Sicherheitsabschaltung überhitzt" }, { code: 51, text: "ERR TOUT - Auslaufsensor defekt" }, { code: 53, text: "ERR TIN - Zulauftemperatur über 70°C" }, { code: 56, text: "ERR SENSOUT - Auslaufsensor defekt" }, { code: 58, text: "ERR SENSIN - Zulaufsensor defekt" }, { code: 59, text: "ERR SENSWAP - Temperatursensor vertauscht" }, { code: 61, text: "ERR CAL HI - Steuerwert zu hoch" }, { code: 62, text: "ERR CAL LO - Steuerwert zu niedrig" }, { code: 63, text: "ERR HEATING - Heizstabfehler" }, { code: 75, text: "ERR FLOW HI - Durchfluss zu hoch (Luft im System)" }, { code: 76, text: "ERR TOUT HI - Auslauftemperatur zu hoch (Luft im System)" }, { code: 77, text: "ERR AIR - Luft im System" }, { code: 80, text: "ERR RFMOD - Funkmodulfehler" }, { code: 81, text: "ERR BOOTL - Bootloaderfehler" }, { code: 82, text: "ERR FW FAIL - Firmwarefehler" }, { code: 83, text: "ERR EEPROM - EEPROM-Fehler" }, { code: 88, text: "ERR LK REL - Ventil nach Leckage nicht freigegeben" }, { code: 90, text: "ERR RESIST - Wasserleitfähigkeit zu niedrig" }, { code: 99, text: "ERR DEVICE - Unbekannter Gerätefehler" }, { code: -1, text: "ERR UNAVAIL - Gerät unbekannt oder nicht verbunden" }, { code: -2, text: "ERR SERVER - Reserviert" }, { code: -3, text: "ERR TIMEOUT - Kommunikationszeitüberschreitung" }, { code: -4, text: "ERR SERVER - Syntaxfehler" }, { code: -7, text: "ERR SERVER - Authentifizierung fehlgeschlagen" }, { code: -8, text: "ERR SERVER - Befehl nicht ausgeführt" }, { code: -9, text: "ERR SERVER - Befehl verweigert" } ]; const entry = errors.find(e => e.code === code); return entry ? entry.text : `Unbekannter Fehlercode: ${code}`; } // --------------------------------------------------- // Datenpunkte // --------------------------------------------------- const BlueToothSignal = '0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Sonstiges.Bluetooth_Signal'; const FehlerDLE = '0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Sonstiges.Fehlermeldung'; const FehlerDLETXT = '0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Sonstiges.Fehlermeldung_TXT'; const DurchflussAktuell = '0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Aktuell.Durchfluss'; const LeistungAktuell = '0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Aktuell.Leistung'; const TemperaturSollwert = '0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Aktuell.Temperatur_Sollwert'; const BetriebGesamt = '0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Gesamt.Betriebsstunden'; const BetriebGesamtTXT = '0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Gesamt.Betriebsstunden_TXT'; const EnergieGesamt = '0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Gesamt.Energieverbrauch'; const EntnahmenGesamt = '0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Gesamt.Entnahmen'; const HeizdauerGesamt = '0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Gesamt.Heizdauer'; const HeizdauerGesamtTXT = '0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Gesamt.Heizdauer_TXT'; const WasserGesamt = '0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Gesamt.Wasserverbrauch'; // --------------------------------------------------- // Konfiguration auslesen (inkl. Polling) // --------------------------------------------------- function getConfig() { const username = getState('0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Konfiguration.Benutzername').val; const password = getState('0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Konfiguration.Passwort').val; const hostname = getState('0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Konfiguration.IP_Adresse').val; const deviceId = getState('0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Konfiguration.GeräteID').val; const pollFastMS = parseInt(getState('0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Konfiguration.Aktualisierung_schnell').val, 10) * 1000; const pollSlowMS = parseInt(getState('0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Konfiguration.Aktualisierung_langsam').val, 10) * 1000; const auth = 'Basic ' + Buffer.from(username + ':' + password).toString('base64'); return { hostname, deviceId, auth, pollFastMS, pollSlowMS }; } // --------------------------------------------------- // HTTPS Agent für Self-Signed Zertifikat // --------------------------------------------------- const https = require('https'); const agent = new https.Agent({ rejectUnauthorized: false }); // --------------------------------------------------- // Statuswerte abrufen (Intervall schnell) // --------------------------------------------------- const { hostname, deviceId, auth, pollFastMS, pollSlowMS } = getConfig(); setInterval(() => { https.get({ hostname, path: `/devices/status/${deviceId}`, headers: { Authorization: auth }, agent }, (res) => { let data = ''; res.on('data', chunk => data += chunk); res.on('end', () => { try { const json = JSON.parse(data); const status = json.devices[0].status; setState(BlueToothSignal, json.devices[0].rssi, true); setState(FehlerDLE, status.error, true); setState(FehlerDLETXT, getErrorText(status.error), true); setState(DurchflussAktuell, status.flow / 10, true); setState(LeistungAktuell, status.powerActual / 10, true); setState(TemperaturSollwert, parseFloat(status.setpoint) / 10, true); } catch (e) { log('Fehler beim Verarbeiten Status JSON: ' + e.message); } }); }).on('error', (e) => log('Fehler beim Abruf Status: ' + e.message)); }, pollFastMS); // --------------------------------------------------- // Setup/Gesamtwerte abrufen (Intervall langsam) // --------------------------------------------------- setInterval(() => { https.get({ hostname, path: `/devices/setup/${deviceId}`, headers: { Authorization: auth }, agent }, (res) => { let data = ''; res.on('data', chunk => data += chunk); res.on('end', () => { try { const json = JSON.parse(data); const setup = json.devices[0].setup; // Betriebsstunden setState(BetriebGesamt, setup.timerLifetime, true); setState(BetriebGesamtTXT, formatSecondsToString(setup.timerLifetime), true); // Energieverbrauch setState(EnergieGesamt, setup.totalPowerConsumption / 1000, true); // Entnahmen setState(EntnahmenGesamt, setup.totalTappings, true); // Heizdauer setState(HeizdauerGesamt, setup.timerPowerOn, true); setState(HeizdauerGesamtTXT, formatSecondsToString(setup.timerPowerOn), true); // Wasserverbrauch setState(WasserGesamt, setup.totalWaterConsumption, true); } catch (e) { log('Fehler beim Verarbeiten Setup JSON: ' + e.message); } }); }).on('error', (e) => log('Fehler beim Abruf Setup: ' + e.message)); }, pollSlowMS); Hier das Skript zum setzen des Sollwertes: const https = require('https'); // ------------------------------- // Datenpunkt für Sollwert // ------------------------------- const SollwertDP = '0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Steuern.Temperatur'; // ------------------------------- // Funktion zum Senden des Setpoints // ------------------------------- function sendSetpoint(value) { const username = getState('0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Konfiguration.Benutzername').val; const password = getState('0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Konfiguration.Passwort').val; const hostname = getState('0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Konfiguration.IP_Adresse').val; const deviceId = getState('0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Konfiguration.GeräteID').val; const auth = 'Basic ' + Buffer.from(username + ':' + password).toString('base64'); const body = `data=${value}`; const options = { hostname: hostname, path: `/devices/setpoint/${deviceId}`, method: 'PUT', headers: { 'Authorization': auth, 'Content-Type': 'application/x-www-form-urlencoded', 'Content-Length': Buffer.byteLength(body) }, rejectUnauthorized: false }; const req = https.request(options, (res) => { res.on('data', () => {}); res.on('end', () => { log(`Setpoint gesendet: ${value}`); }); }); req.on('error', (e) => log(`Fehler beim Senden des Setpoints: ${e.message}`)); req.write(body); req.end(); } // ------------------------------- // Listener auf den Datenpunkt // ------------------------------- // Immer auslösen, wenn der Benutzer oder ein Skript den Wert setzt (ack=false) on({ id: SollwertDP }, function(obj) { if (!obj.state.ack) { // Nur aktive Änderungen, nicht Updates vom Gerät const celsius = obj.state.val; const value = Math.round(celsius * 10); // z.B. 36°C → 360 sendSetpoint(value); } }); Die Dazu benötigten Datenpunkte müssen selbst angelegt und ausgefüllt werden: [image: 1759671544512-screenshot-2025-10-05-153846.png] Alternativ hier als JSON zum importieren: { "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer": { "common": { "name": "Bad Durchlauferhitzer" }, "type": "folder", "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759412939828, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer", "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Funktionen": { "common": { "name": "Funktionen" }, "type": "folder", "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759578793303, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Funktionen", "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Funktionen.AutoSet": { "common": { "name": "AutoSet", "desc": "Manuell erzeugt", "role": "state", "type": "boolean", "read": true, "write": true, "def": false }, "type": "state", "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759582693044, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Funktionen.AutoSet", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Funktionen.Standard_Temperatur": { "common": { "name": "Standard Temperatur", "desc": "Manuell erzeugt", "role": "state", "type": "number", "unit": "°C", "read": true, "write": true, "def": 0, "min": 20, "max": 60, "step": 0.5 }, "type": "state", "native": {}, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Funktionen.Standard_Temperatur", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759578866574 }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Konfiguration": { "common": { "name": "Konfiguration" }, "type": "folder", "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759412971118, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Konfiguration", "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Konfiguration.Aktualisierung_langsam": { "common": { "name": "Aktualisierung langsam", "desc": "Werte von Durchlauferhitzer aktualisieren - langsam", "role": "state", "type": "number", "unit": "s", "read": true, "write": true, "def": 0, "min": 1 }, "type": "state", "native": {}, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Konfiguration.Aktualisierung_langsam", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759665183086 }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Konfiguration.Aktualisierung_schnell": { "common": { "name": "Aktualisierung schnell", "desc": "Werte von Durchlauferhitzer aktualisieren - schnell", "role": "state", "type": "number", "unit": "s", "read": true, "write": true, "def": 0, "min": 1 }, "type": "state", "native": {}, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Konfiguration.Aktualisierung_schnell", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759664924339 }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Konfiguration.Benutzername": { "common": { "name": "Benutzername", "desc": "Manuell erzeugt", "role": "state", "type": "string", "read": true, "write": true, "def": "" }, "type": "state", "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759412992907, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Konfiguration.Benutzername", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Konfiguration.GeräteID": { "common": { "name": "GeräteID", "desc": "Manuell erzeugt", "role": "state", "type": "string", "read": true, "write": true, "def": "" }, "type": "state", "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759427647739, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Konfiguration.GeräteID", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Konfiguration.IP_Adresse": { "common": { "name": "IP Adresse", "desc": "Manuell erzeugt", "role": "state", "type": "string", "read": true, "write": true, "def": "" }, "type": "state", "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759413501192, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Konfiguration.IP_Adresse", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Konfiguration.Passwort": { "common": { "name": "Passwort", "desc": "Manuell erzeugt", "role": "state", "type": "string", "read": true, "write": true, "def": "" }, "type": "state", "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759413002904, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Konfiguration.Passwort", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte": { "common": { "name": "Werte" }, "type": "folder", "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759412978055, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte", "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Aktuell": { "common": { "name": "Aktuell" }, "type": "folder", "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759434486006, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Aktuell", "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Aktuell.Durchfluss": { "common": { "name": "Durchfluss", "desc": "Manuell erzeugt", "role": "state", "type": "number", "unit": "l/min", "read": true, "write": true, "def": 0 }, "type": "state", "native": {}, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Aktuell.Durchfluss", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759434530252 }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Aktuell.Leistung": { "common": { "name": "Leistung", "desc": "Manuell erzeugt", "role": "state", "type": "number", "unit": "kW", "read": true, "write": true, "def": 0 }, "type": "state", "native": {}, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Aktuell.Leistung", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759434617616 }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Aktuell.Temperatur_Sollwert": { "common": { "name": "Temperatur Sollwert", "desc": "Manuell erzeugt", "role": "state", "type": "number", "unit": "°C", "read": true, "write": false, "def": 0, "smartName": { "de": "Durchlauferhitzer", "smartType": "THERMOSTAT" } }, "type": "state", "native": {}, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Aktuell.Temperatur_Sollwert", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759496469006 }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Gesamt": { "common": { "name": "Gesamt" }, "type": "folder", "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759434664056, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Gesamt", "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Gesamt.Betriebsstunden": { "common": { "name": "Betriebsstunden", "desc": "Manuell erzeugt", "role": "state", "type": "number", "unit": "s", "read": true, "write": true, "def": 0 }, "type": "state", "native": {}, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Gesamt.Betriebsstunden", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759434696156 }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Gesamt.Betriebsstunden_TXT": { "common": { "name": "Betriebsstunden TXT", "desc": "Manuell erzeugt", "role": "state", "type": "string", "read": true, "write": true, "def": "" }, "type": "state", "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759443823142, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Gesamt.Betriebsstunden_TXT", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Gesamt.Energieverbrauch": { "common": { "name": "Energieverbrauch", "desc": "Manuell erzeugt", "role": "state", "type": "number", "unit": "kW/h", "read": true, "write": true, "def": 0 }, "type": "state", "native": {}, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Gesamt.Energieverbrauch", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759435061200 }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Gesamt.Entnahmen": { "common": { "name": "Entnahmen", "desc": "Manuell erzeugt", "role": "state", "type": "number", "read": true, "write": true, "def": 0 }, "type": "state", "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759434744809, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Gesamt.Entnahmen", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Gesamt.Heizdauer": { "common": { "name": "Heizdauer", "desc": "Manuell erzeugt", "role": "state", "type": "number", "unit": "s", "read": true, "write": true, "def": 0 }, "type": "state", "native": {}, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Gesamt.Heizdauer", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759434801561 }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Gesamt.Heizdauer_TXT": { "common": { "name": "Heizdauer TXT", "desc": "Manuell erzeugt", "role": "state", "type": "string", "read": true, "write": true, "def": "" }, "type": "state", "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759444762221, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Gesamt.Heizdauer_TXT", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Gesamt.Wasserverbrauch": { "common": { "name": "Wasserverbrauch", "desc": "Manuell erzeugt", "role": "state", "type": "number", "unit": "l", "read": true, "write": true, "def": 0 }, "type": "state", "native": {}, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Gesamt.Wasserverbrauch", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759434885532 }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Sonstiges": { "common": { "name": "Sonstiges" }, "type": "folder", "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759442327485, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Sonstiges", "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Sonstiges.Bluetooth_Signal": { "common": { "name": "Bluetooth Signal", "desc": "Manuell erzeugt", "role": "state", "type": "number", "read": true, "write": true, "def": "" }, "type": "state", "native": {}, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Sonstiges.Bluetooth_Signal", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759442400844 }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Sonstiges.Fehlermeldung": { "common": { "name": "Fehlermeldung", "desc": "Manuell erzeugt", "role": "state", "type": "number", "read": true, "write": true, "def": 0 }, "type": "state", "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759492157468, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Sonstiges.Fehlermeldung", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Sonstiges.Fehlermeldung_TXT": { "common": { "name": "Fehlermeldung TXT", "desc": "Manuell erzeugt", "role": "state", "type": "string", "read": true, "write": true, "def": "" }, "type": "state", "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759492329683, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Sonstiges.Fehlermeldung_TXT", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Steuern": { "common": { "name": "Steuern" }, "type": "folder", "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759445856632, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Steuern", "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }, "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Steuern.Temperatur": { "common": { "name": "Temperatur", "desc": "Manuell erzeugt", "role": "state", "type": "number", "unit": "°C", "read": false, "write": true, "def": 0, "min": 20, "max": 60, "step": 0.5, "smartName": { "de": "Durchlauferhitzer", "smartType": "THERMOSTAT" } }, "type": "state", "native": {}, "_id": "0_userdata.0.bNetVar.Sonstige_Funktionen.Bad_Durchlauferhitzer.Werte.Steuern.Temperatur", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1759496911907 } } Viel Spaß damit :-)
  • Test Adapter ioBroker.backitup v3.1.x

    backitup backitup backup ccu history mysql redis restore restore backup
    3k
    6 Stimmen
    3k Beiträge
    2m Aufrufe
    JB_SullivanJ
    Ich melde mich mal wieder - leider mit einer Fehlermeldung, welche unter BackitUp 3.3.7 aufgetreten ist (von jetzt auf gleich). ioB läuft auf einer Windows Installation - daher die Pfad Angabe. cifs: Error: EPERM: operation not permitted, stat 'C:\ioBroker\GLT\backups\influxDB_2025_09_30-02_01_05_backupiobroker.tar.gz' Es scheint so, als ob der Adapter die alten Dateien nicht löschen kann. Eingestellt sind 3 Sicherungen. Die Sicherungen von influxDB liegt jetzt aber schon bei 6 Sicherungen, aber auch bei den anderen Sicherungsdateien bin ich schon bei 5 Stück. Die die ioBroker Sicherung jedoch hat ihre 3 Dateien. Hat jemand eine Idee dazu? [image: 1759650221972-c18ceaea-95f8-49ed-9d54-1d0110ebf270-image.png] Nachtrag: Da sich die Dateien auch nicht über den Windows Explorer (Berechtigungs Konflik) löschen ließen, habe ich ioB neu gestartet. Sofort mit Beendigung von ioBroker ist die Datei dann auch gelöscht worden. Irgend ein Prozess aus der ioB Umgebung, hat sich die Datei offenbar "gekrallt" und keine weitere Aktion zugelassen.

240

Online

32.4k

Benutzer

81.4k

Themen

1.3m

Beiträge