Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter Fiat Jeep v0.0.x

NEWS

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    892

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    3.3k

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    3.2k

Test Adapter Fiat Jeep v0.0.x

Geplant Angeheftet Gesperrt Verschoben Tester
178 Beiträge 37 Kommentatoren 34.2k Aufrufe 35 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • themuckT Offline
    themuckT Offline
    themuck
    schrieb am zuletzt editiert von
    #161

    Hier mein Script das Ladeplan 2/3 ausliest aber so wieder mit zurück gibt.

    Wenn das Auto abgeschlossen ist hats geklappt :D. Bei meinen Versuchen lag der Schlüssel immer im Auto. Dann zogen die Pläne irgendwie nicht.

    /**
     * ============================================================
     *  Fiat 500e – Zielladungs-Script für ioBroker JavaScript
     * ============================================================
     *  Autor:    basierend auf Blockly-Script von alw (ioBroker Forum)
     *  Version:  2.2.0
     *
     *  Funktion:
     *    - Erkennt automatisch wenn das Ladekabel eingesteckt wird
     *    - Lädt das Auto bis zum konfigurierbaren Ladeziel (default 80%)
     *    - Stoppt das Laden automatisch wenn das Ziel erreicht ist
     *    - Ladeplan 3 (schedules03) dient als Fernschalter (via Fiat App)
     *    - Debug-Ausgabe via ioBroker-Log
     *    - Robuste Fehlerbehandlung und Timeout-Schutz
     *
     *  Voraussetzungen:
     *    - ioBroker JavaScript-Adapter
     *    - Fiat-Adapter installiert und konfiguriert
     *
     *  Konfiguration:
     *    - VIN anpassen (ZFAXXX...)
     *    - adapterInstance anpassen falls der Fiat-Adapter nicht als "fiat.0" läuft
     *    - Datenpunkt für Ladeziel wird automatisch erstellt
     * ============================================================
     */
    
    // ============================================================
    //  IIFE – kapselt alle Variablen damit es keine Konflikte
    //  mit anderen ioBroker-Scripts im globalen Scope gibt
    // ============================================================
    (function () {
    
    // ============================================================
    //  KONFIGURATION – hier anpassen
    // ============================================================
    const CONFIG = {
        // Fahrzeug-Identifikationsnummer (VIN / FIN)
        vin: 'ZFAXXX...',
    
        // Instanz des Fiat-Adapters (z.B. 'fiat.0', 'fiat.1', 'meinAdapter.0')
        adapterInstance: 'fiat.0',
    
        // ioBroker Datenpunkt-Pfad für das Ladeziel (wird automatisch erstellt)
        // Wert kann in ioBroker-Admin oder VIS geändert werden
        chargeTargetDP: 'javascript.0.fiat.chargeTarget',
    
        // Standard-Ladeziel in Prozent (wird beim ersten Start gesetzt)
        chargeTargetDefault: 80,
    
        // Ladeplan-Zeiten: Laden aktiv (fast ganzer Tag)
        chargeStart: '00:00',
        chargeEnd:   '23:55',
    
        // Ladeplan-Zeiten: Laden blockiert (5-Minuten-Fenster das nie kommt)
        noChargeStart: '00:00',
        noChargeEnd:   '00:05',
    
        // Wie oft (in Minuten) der Ladestand während des Ladens abgefragt wird
        pollIntervalMinutes: 10,
    
        // Maximale Ladezeit in Stunden bevor das Script abbricht (Schutz vor Endlos-Schleife)
        maxChargeHours: 48,
    
        // ioBroker Datenpunkt für Debug-Nachrichten (wird automatisch angelegt)
        debugDP: 'javascript.0.fiat.debug',
    
        // Erstinitialisierung: einmalig auf TRUE setzen (Kabel muss draußen sein!)
        // Script sendet dann den No-Charge-Plan ans Auto und setzt den Wert selbst zurück.
        initializedDP: 'javascript.0.fiat.initialized',
    };
    
    // ============================================================
    //  INTERNE VARIABLEN – nicht ändern
    // ============================================================
    let pollInterval    = null;   // Referenz auf den aktiven Poll-Timer
    let chargeStartTime = null;   // Zeitstempel wann das Laden begann (für Timeout)
    let isCharging      = false;  // Interner Status ob wir gerade steuern
    
    // Abgeleitete ioBroker Datenpfade aus Adapter-Instanz und VIN
    const _base = `${CONFIG.adapterInstance}.${CONFIG.vin}`;
    const DP = {
        plugInStatus:       `${_base}.status.evInfo.battery.plugInStatus`,
        stateOfCharge:      `${_base}.status.evInfo.battery.stateOfCharge`,
        schedules03enable:  `${_base}.status.evInfo.schedules03.enableScheduleType`,
        s01_startTime:      `${_base}.status.evInfo.schedules01.startTime`,
        s01_endTime:        `${_base}.status.evInfo.schedules01.endTime`,
        deepRefresh:        `${_base}.remote.DEEPREFRESH`,
        cpplus:             `${_base}.remote.CPPLUS`,
    };
    
    // ============================================================
    //  MODUL: Logging
    //  Schreibt ins ioBroker-Log UND in den Datenpunkt javascript.0.fiat.debug
    // ============================================================
    function log(level, message) {
        const timestamp = new Date().toISOString();
        const fullMessage = `[Fiat500e] ${message}`;
    
        if (level === 'error') {
            console.error(fullMessage);
        } else if (level === 'warn') {
            console.warn(fullMessage);
        } else {
            console.log(fullMessage);
        }
    
        setState(CONFIG.debugDP, JSON.stringify({
            timestamp: timestamp,
            level:     level,
            message:   message,
            vin:       CONFIG.vin,
        }), true);
    }
    
    // ============================================================
    //  MODUL: Ladeziel lesen
    //  Liest den konfigurierbaren Ladeziel-Datenpunkt
    // ============================================================
    function getChargeTarget() {
        const val = getState(CONFIG.chargeTargetDP).val;
        // Plausibilitäts-Check: muss zwischen 20 und 100 liegen
        if (typeof val === 'number' && val >= 20 && val <= 100) {
            return val;
        }
        log('warn', `Ungültiges Ladeziel (${val}), nutze Default: ${CONFIG.chargeTargetDefault}%`);
        return CONFIG.chargeTargetDefault;
    }
    
    // ============================================================
    //  MODUL: Einzelnen Schedule aus Datenpunkten lesen
    //  Liest alle Felder eines Plans einzeln aus ioBroker und
    //  gibt ein fertiges Objekt zurück – unverändert wie im Auto
    // ============================================================
    function readSchedule(nr) {
        const base = `${CONFIG.adapterInstance}.${CONFIG.vin}.status.evInfo.schedules0${nr}`;
        return {
            cabinPriority:      getState(`${base}.cabinPriority`).val      || false,
            chargeToFull:       getState(`${base}.chargeToFull`).val       || false,
            enableScheduleType: getState(`${base}.enableScheduleType`).val || false,
            endTime:            getState(`${base}.endTime`).val            || '00:00',
            repeatSchedule:     getState(`${base}.repeatSchedule`).val     || false,
            scheduleType:       getState(`${base}.scheduleType`).val       || 'CHARGE',
            scheduledDays: {
                friday:    getState(`${base}.scheduledDays.friday`).val    || false,
                monday:    getState(`${base}.scheduledDays.monday`).val    || false,
                saturday:  getState(`${base}.scheduledDays.saturday`).val  || false,
                sunday:    getState(`${base}.scheduledDays.sunday`).val    || false,
                thursday:  getState(`${base}.scheduledDays.thursday`).val  || false,
                tuesday:   getState(`${base}.scheduledDays.tuesday`).val   || false,
                wednesday: getState(`${base}.scheduledDays.wednesday`).val || false,
            },
            startTime: getState(`${base}.startTime`).val || '00:00',
        };
    }
    
    // ============================================================
    //  MODUL: Ladeplan setzen
    //  - Plan 1: wird hardcoded gesetzt (nur Zeiten dynamisch)
    //  - Plan 2 & 3: live vom Auto gelesen und unverändert zurückgeschickt
    //  - Alles als JSON-String an CPPLUS senden
    // ============================================================
    function setChargeSchedule(startTime, endTime, callback) {
        log('info', `Setze Ladeplan: ${startTime} – ${endTime}`);
    
        // Plan 1: Ladeplan – nur Zeiten und Tage werden gesetzt
        const plan1 = {
            cabinPriority:      false,
            chargeToFull:       false,
            enableScheduleType: true,
            endTime:            endTime,
            repeatSchedule:     true,
            scheduleType:       'CHARGE',
            scheduledDays: {
                friday: true, monday: true, saturday: true,
                sunday: true, thursday: true, tuesday: true, wednesday: true,
            },
            startTime: startTime,
        };
    
        // Plan 2 & 3: unverändert vom Auto lesen
        const plan2 = readSchedule(2);
        const plan3 = readSchedule(3);
    
        log('info', `Plan 2 gelesen: ${plan2.scheduleType} ${plan2.startTime}–${plan2.endTime}`);
        log('info', `Plan 3 gelesen: ${plan3.scheduleType} ${plan3.startTime}–${plan3.endTime}`);
    
        // Alle 3 Pläne als JSON-String an CPPLUS senden
        setState(DP.cpplus, JSON.stringify([plan1, plan2, plan3]), false, (err) => {
            if (err) {
                log('error', `Fehler beim Setzen des Ladeplans: ${err}`);
                if (typeof callback === 'function') callback(err);
                return;
            }
    
            log('info', `Ladeplan gesendet: ${startTime} – ${endTime}`);
    
            if (typeof callback === 'function') callback(null);
        });
    }
    
    // ============================================================
    //  MODUL: Deep Refresh
    //  Fordert aktuelle Fahrzeugdaten vom Fiat-Server an
    // ============================================================
    function triggerDeepRefresh(callback) {
        log('info', 'Starte Deep Refresh...');
        setState(DP.deepRefresh, true, false, (err) => {
            if (err) {
                log('error', `Deep Refresh fehlgeschlagen: ${err}`);
                if (typeof callback === 'function') callback(err);
                return;
            }
            // 30 Sekunden warten bis die Daten vom Auto angekommen sind
            setTimeout(() => {
                log('info', 'Deep Refresh abgeschlossen');
                if (typeof callback === 'function') callback(null);
            }, 30000);
        });
    }
    
    // ============================================================
    //  MODUL: Lade-Polling stoppen
    //  Räumt den aktiven Poll-Timer auf
    // ============================================================
    function stopPolling() {
        if (pollInterval !== null) {
            clearInterval(pollInterval);
            pollInterval = null;
            log('info', 'Lade-Polling gestoppt');
        }
        isCharging = false;
    }
    
    // ============================================================
    //  MODUL: Laden beenden
    //  Setzt den "No Charge" Plan und stoppt das Polling
    // ============================================================
    function stopCharging(reason) {
        log('info', `Lade-Stopp: ${reason}`);
        stopPolling();
    
        setChargeSchedule(CONFIG.noChargeStart, CONFIG.noChargeEnd, (err) => {
            if (!err) {
                log('info', 'Auto wurde auf "Nicht laden" gesetzt – bereit für nächsten Zyklus');
            }
        });
    }
    
    // ============================================================
    //  MODUL: Lade-Polling starten
    //  Prüft alle X Minuten den Ladestand und stoppt bei Zielerreichung
    // ============================================================
    function startPolling() {
        if (isCharging) {
            log('warn', 'Polling läuft bereits – kein Doppelstart');
            return;
        }
    
        isCharging = true;
        chargeStartTime = Date.now();
        const maxChargeMs = CONFIG.maxChargeHours * 60 * 60 * 1000;
    
        log('info', `Lade-Polling gestartet (alle ${CONFIG.pollIntervalMinutes} min, max ${CONFIG.maxChargeHours}h)`);
    
        pollInterval = setInterval(() => {
            // Timeout-Schutz: Nach maxChargeHours abbrechen
            if (Date.now() - chargeStartTime > maxChargeMs) {
                log('warn', `Timeout nach ${CONFIG.maxChargeHours}h – Laden wird gestoppt`);
                stopCharging('Timeout erreicht');
                return;
            }
    
            // Kabel noch drin?
            const plugged = getState(DP.plugInStatus).val;
            if (!plugged) {
                log('info', 'Kabel wurde gezogen – Polling wird gestoppt');
                stopPolling();
                return;
            }
    
            // Notaus aktiv (schedules03)?
            const emergencyStop = getState(DP.schedules03enable).val;
            if (emergencyStop) {
                log('info', 'Notaus aktiv (schedules03=true) – Polling wird gestoppt');
                stopPolling();
                return;
            }
    
            // Deep Refresh um aktuellen Ladestand zu bekommen
            triggerDeepRefresh(() => {
                const soc    = getState(DP.stateOfCharge).val;
                const target = getChargeTarget();
    
                log('info', `Ladestand: ${soc}% / Ziel: ${target}%`);
    
                if (soc >= target) {
                    stopCharging(`Ladeziel ${target}% erreicht (aktuell ${soc}%)`);
                }
            });
    
        }, CONFIG.pollIntervalMinutes * 60 * 1000);
    }
    
    // ============================================================
    //  MODUL: Kabelstatus geändert – Hauptlogik
    // ============================================================
    function onPlugStatusChange(obj) {
        const plugged  = obj.state.val;
        const soc      = getState(DP.stateOfCharge).val;
        const target   = getChargeTarget();
        const emergency = getState(DP.schedules03enable).val;
    
        log('info', `Kabelstatus geändert: ${plugged ? 'Eingesteckt' : 'Gezogen'} | SOC: ${soc}% | Ziel: ${target}%`);
    
        // Kabel gezogen → aufräumen
        if (!plugged) {
            log('info', 'Kabel gezogen – Script wartet auf nächstes Einstecken');
            stopPolling();
    
            // Ladeplan für nächstes Mal vorbereiten (Charge-Zeiten wiederherstellen)
            if (!emergency) {
                setChargeSchedule(CONFIG.chargeStart, CONFIG.chargeEnd, () => {
                    log('info', 'Ladeplan für nächsten Zyklus vorbereitet');
                });
            }
            return;
        }
    
        // Kabel eingesteckt → prüfen ob wir steuern sollen
        if (emergency) {
            log('info', 'Notaus aktiv (schedules03=true) – Script ist deaktiviert');
            return;
        }
    
        if (soc >= target) {
            log('info', `Ladestand ${soc}% bereits >= Ziel ${target}% – kein Laden nötig`);
            stopCharging('Bereits am Ziel beim Einstecken');
            return;
        }
    
        // Laden starten
        log('info', `Starte Zielladung auf ${target}% (aktuell ${soc}%)`);
    
        // Erst Deep Refresh für genauen Startladestand
        triggerDeepRefresh(() => {
            const socFresh = getState(DP.stateOfCharge).val;
            log('info', `Ladestand nach Refresh: ${socFresh}%`);
    
            if (socFresh >= target) {
                log('info', 'Bereits am Ziel nach Refresh – kein Laden nötig');
                stopCharging('Bereits am Ziel nach Deep Refresh');
                return;
            }
    
            // Ladeplan aktivieren
            setChargeSchedule(CONFIG.chargeStart, CONFIG.chargeEnd, (err) => {
                if (err) {
                    log('error', 'Ladeplan konnte nicht gesetzt werden – abbruch');
                    return;
                }
                // Polling starten
                startPolling();
            });
        });
    }
    
    // ============================================================
    //  INITIALISIERUNG
    //  Wird einmal beim Script-Start ausgeführt
    // ============================================================
    function init() {
        log('info', '=== Fiat 500e Zielladungs-Script gestartet ===');
        log('info', `VIN: ${CONFIG.vin}`);
    
        // Ladeziel-Datenpunkt erstellen falls er noch nicht existiert
        createState(CONFIG.chargeTargetDP, CONFIG.chargeTargetDefault, {
            name:   'Fiat 500e Ladeziel (%)',
            type:   'number',
            unit:   '%',
            min:    20,
            max:    100,
            role:   'value',
            desc:   'Ladeziel für die automatische Zielladung (20-100%)',
        }, () => {
            log('info', `Ladeziel-Datenpunkt bereit: ${CONFIG.chargeTargetDP}`);
        });
    
        // Debug-Datenpunkt erstellen falls er noch nicht existiert
        createState(CONFIG.debugDP, '', {
            name:   'Fiat 500e Debug',
            type:   'string',
            role:   'value',
            desc:   'Letzter Debug-Log-Eintrag als JSON (timestamp, level, message)',
        }, () => {
            log('info', `Debug-Datenpunkt bereit: ${CONFIG.debugDP}`);
        });
    
        // Initialisierungs-Datenpunkt erstellen
        // Auf TRUE setzen (Kabel draußen!) um einmalig den No-Charge-Plan ans Auto zu senden
        createState(CONFIG.initializedDP, false, {
            name:   'Fiat 500e Initialisierung auslösen',
            type:   'boolean',
            role:   'button',
            desc:   'Einmalig TRUE setzen (Kabel muss draußen sein!) – Script sendet No-Charge-Plan und setzt Wert zurück',
        }, () => {
            log('info', `Initialisierungs-Datenpunkt bereit: ${CONFIG.initializedDP}`);
    
            // Auf Änderung horchen – wenn auf TRUE gesetzt wird No-Charge-Plan gesendet
            on({ id: CONFIG.initializedDP, val: true }, () => {
                const plugged = getState(DP.plugInStatus).val;
                if (plugged) {
                    log('warn', 'Initialisierung abgebrochen – Kabel ist noch eingesteckt! Bitte zuerst Kabel ziehen.');
                    setState(CONFIG.initializedDP, false, true);
                    return;
                }
                log('info', 'Initialisierung: sende No-Charge-Plan ans Auto...');
                setChargeSchedule(CONFIG.noChargeStart, CONFIG.noChargeEnd, (err) => {
                    if (!err) {
                        log('info', 'Initialisierung abgeschlossen – No-Charge-Plan gesetzt. Kabel kann jetzt eingesteckt werden.');
                    }
                    setState(CONFIG.initializedDP, false, true);
                });
            });
        });
    
        // Aktuellen Status beim Start prüfen
        // (falls Script neu gestartet wurde während Kabel schon steckt)
        const plugged   = getState(DP.plugInStatus).val;
        const soc       = getState(DP.stateOfCharge).val;
        const emergency = getState(DP.schedules03enable).val;
    
        log('info', `Startstatus: Kabel=${plugged}, SOC=${soc}%, Notaus=${emergency}`);
    
        if (plugged && !emergency) {
            const target = getChargeTarget();
            if (soc < target) {
                log('info', 'Kabel steckt bereits beim Start – starte Zielladung');
                onPlugStatusChange({ state: { val: true } });
            } else {
                log('info', 'Kabel steckt, aber Ziel bereits erreicht – kein Laden nötig');
            }
        }
    
        // Auf Kabelstatus-Änderungen horchen
        on({ id: DP.plugInStatus, change: 'ne' }, onPlugStatusChange);
    
        log('info', `Warte auf Kabeländerungen an: ${DP.plugInStatus}`);
        log('info', '=== Initialisierung abgeschlossen ===');
    }
    
    // ============================================================
    //  START
    // ============================================================
    init();
    
    })(); // Ende IIFE
    
    1 Antwort Letzte Antwort
    0
    • H Offline
      H Offline
      hvb
      schrieb am zuletzt editiert von hvb
      #162

      Login fehlgeschlagen / socket hang up (fiat.0, Adapter v0.0.8)

      Hi zusammen,

      seit heute bekomme ich durchgehend Login-Fehler beim Fiat-Adapter. Config ist unverändert, und die Zugangsdaten funktionieren in der Fiat-App problemlos.

      Log:

      fiat.0  2026-06-27 21:31:54.407  info   starting. Version 0.0.8 in /opt/iobroker/node_modules/iobroker.fiat, node: v22.22.2, js-controller: 7.2.2
      fiat.0  2026-06-27 21:32:04.320  error  Error: socket hang up
      fiat.0  2026-06-27 21:32:04.324  error  Login failed #1
      fiat.0  2026-06-27 21:32:04.325  error  Login failed
      

      Wichtig vielleicht: ich habe kurz vorher auf Node v22.22.2 upgedated. Kann gut sein, dass das nichts damit zu tun hat, aber der Timing passt verdächtig gut – daher wollte ich das dazuschreiben, falls es schon ähnliche Berichte nach einem Node-Update gibt.

      Was ich schon probiert habe:

      • Adapter mehrfach neu gestartet
      • E-Mail/Passwort neu eingegeben
      • Login in der Fiat-App nochmal bestätigt – klappt dort

      Sieht für mich nach einem abgebrochenen Handshake zum Login-Backend aus, nicht nach falschen Credentials. Hat jemand sowas auch nach einem Node-Update gesehen, oder hat sich evtl. was auf Fiat/Stellantis-Seite geändert?

      Kann bei Bedarf auch Debug-Logs nachliefern.

      H T 2 Antworten Letzte Antwort
      0
      • H hvb

        Login fehlgeschlagen / socket hang up (fiat.0, Adapter v0.0.8)

        Hi zusammen,

        seit heute bekomme ich durchgehend Login-Fehler beim Fiat-Adapter. Config ist unverändert, und die Zugangsdaten funktionieren in der Fiat-App problemlos.

        Log:

        fiat.0  2026-06-27 21:31:54.407  info   starting. Version 0.0.8 in /opt/iobroker/node_modules/iobroker.fiat, node: v22.22.2, js-controller: 7.2.2
        fiat.0  2026-06-27 21:32:04.320  error  Error: socket hang up
        fiat.0  2026-06-27 21:32:04.324  error  Login failed #1
        fiat.0  2026-06-27 21:32:04.325  error  Login failed
        

        Wichtig vielleicht: ich habe kurz vorher auf Node v22.22.2 upgedated. Kann gut sein, dass das nichts damit zu tun hat, aber der Timing passt verdächtig gut – daher wollte ich das dazuschreiben, falls es schon ähnliche Berichte nach einem Node-Update gibt.

        Was ich schon probiert habe:

        • Adapter mehrfach neu gestartet
        • E-Mail/Passwort neu eingegeben
        • Login in der Fiat-App nochmal bestätigt – klappt dort

        Sieht für mich nach einem abgebrochenen Handshake zum Login-Backend aus, nicht nach falschen Credentials. Hat jemand sowas auch nach einem Node-Update gesehen, oder hat sich evtl. was auf Fiat/Stellantis-Seite geändert?

        Kann bei Bedarf auch Debug-Logs nachliefern.

        H Offline
        H Offline
        hvb
        schrieb am zuletzt editiert von
        #163

        Nachtrag: Ich habe gerade gesehen, dass es im GitHub-Repo bereits einen offenen Issue zur Node.js-22-Kompatibilität gibt (#16, von Sept. 2024, vom ioBroker-Check-Bot eröffnet): https://github.com/TA2k/ioBroker.fiat/issues/16

        Der Issue scheint nie offiziell abgeschlossen worden zu sein. Könnte also gut sein, dass die Node-22-Kompatibilität nie richtig durchgetestet wurde und mein “socket hang up”-Problem genau daher kommt, seit ich auf v22.22.2 upgedated habe.

        Thomas BraunT 2 Antworten Letzte Antwort
        0
        • H hvb

          Nachtrag: Ich habe gerade gesehen, dass es im GitHub-Repo bereits einen offenen Issue zur Node.js-22-Kompatibilität gibt (#16, von Sept. 2024, vom ioBroker-Check-Bot eröffnet): https://github.com/TA2k/ioBroker.fiat/issues/16

          Der Issue scheint nie offiziell abgeschlossen worden zu sein. Könnte also gut sein, dass die Node-22-Kompatibilität nie richtig durchgetestet wurde und mein “socket hang up”-Problem genau daher kommt, seit ich auf v22.22.2 upgedated habe.

          Thomas BraunT Online
          Thomas BraunT Online
          Thomas Braun
          Most Active
          schrieb am zuletzt editiert von
          #164

          @hvb

          Dann moch doch einen Gegentest mit nodejs@20.

          iob nodejs-update 20
          

          bringt dich hin.

          Linux-Werkzeugkasten:
          https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
          NodeJS Fixer Skript:
          https://forum.iobroker.net/topic/68035/iob-node-fix-skript
          iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

          H 1 Antwort Letzte Antwort
          0
          • H hvb

            Nachtrag: Ich habe gerade gesehen, dass es im GitHub-Repo bereits einen offenen Issue zur Node.js-22-Kompatibilität gibt (#16, von Sept. 2024, vom ioBroker-Check-Bot eröffnet): https://github.com/TA2k/ioBroker.fiat/issues/16

            Der Issue scheint nie offiziell abgeschlossen worden zu sein. Könnte also gut sein, dass die Node-22-Kompatibilität nie richtig durchgetestet wurde und mein “socket hang up”-Problem genau daher kommt, seit ich auf v22.22.2 upgedated habe.

            Thomas BraunT Online
            Thomas BraunT Online
            Thomas Braun
            Most Active
            schrieb am zuletzt editiert von
            #165

            @hvb sagte:

            Der Issue scheint nie offiziell abgeschlossen worden zu sein.

            Das ist ja auch kein konkretes Ding sondern lediglich die Aufforderung an den Entwickler, nodejs@22 in die Testsuite aufzunehmen. Das sagt über die tatsächliche Kompatibiliät zu einer nodejs-Version nichts aus.

            Linux-Werkzeugkasten:
            https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
            NodeJS Fixer Skript:
            https://forum.iobroker.net/topic/68035/iob-node-fix-skript
            iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

            1 Antwort Letzte Antwort
            0
            • H hvb

              Login fehlgeschlagen / socket hang up (fiat.0, Adapter v0.0.8)

              Hi zusammen,

              seit heute bekomme ich durchgehend Login-Fehler beim Fiat-Adapter. Config ist unverändert, und die Zugangsdaten funktionieren in der Fiat-App problemlos.

              Log:

              fiat.0  2026-06-27 21:31:54.407  info   starting. Version 0.0.8 in /opt/iobroker/node_modules/iobroker.fiat, node: v22.22.2, js-controller: 7.2.2
              fiat.0  2026-06-27 21:32:04.320  error  Error: socket hang up
              fiat.0  2026-06-27 21:32:04.324  error  Login failed #1
              fiat.0  2026-06-27 21:32:04.325  error  Login failed
              

              Wichtig vielleicht: ich habe kurz vorher auf Node v22.22.2 upgedated. Kann gut sein, dass das nichts damit zu tun hat, aber der Timing passt verdächtig gut – daher wollte ich das dazuschreiben, falls es schon ähnliche Berichte nach einem Node-Update gibt.

              Was ich schon probiert habe:

              • Adapter mehrfach neu gestartet
              • E-Mail/Passwort neu eingegeben
              • Login in der Fiat-App nochmal bestätigt – klappt dort

              Sieht für mich nach einem abgebrochenen Handshake zum Login-Backend aus, nicht nach falschen Credentials. Hat jemand sowas auch nach einem Node-Update gesehen, oder hat sich evtl. was auf Fiat/Stellantis-Seite geändert?

              Kann bei Bedarf auch Debug-Logs nachliefern.

              T Offline
              T Offline
              tombox
              schrieb am zuletzt editiert von
              #166

              @hvb Wie sieht es mit der GitHub version aus?

              1 Antwort Letzte Antwort
              0
              • Thomas BraunT Thomas Braun

                @hvb

                Dann moch doch einen Gegentest mit nodejs@20.

                iob nodejs-update 20
                

                bringt dich hin.

                H Offline
                H Offline
                hvb
                schrieb am zuletzt editiert von
                #167

                @Thomas-Braun
                vor dem Update von 18 auf 22 hatte es funktioniert. Update habe ich durchgeführt, weil viele Adapter die 22 inzwischen zwingend voraussetzen.

                Thomas BraunT 1 Antwort Letzte Antwort
                0
                • H hvb

                  @Thomas-Braun
                  vor dem Update von 18 auf 22 hatte es funktioniert. Update habe ich durchgeführt, weil viele Adapter die 22 inzwischen zwingend voraussetzen.

                  Thomas BraunT Online
                  Thomas BraunT Online
                  Thomas Braun
                  Most Active
                  schrieb am zuletzt editiert von
                  #168

                  @hvb sagte:

                  Update habe ich durchgeführt, weil viele Adapter die 22 inzwischen zwingend voraussetzen.

                  Ist ja auch richtig. Du solltest aber auch regelmäßiger Updaten. nodejs@20 hast du übersprungen? Nicht gut.

                  Was sagt denn die GitHub-Version?
                  Und die Kiste sieht insgesamt wie aus?

                  iob diag
                  

                  sagt dir das.

                  Linux-Werkzeugkasten:
                  https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                  NodeJS Fixer Skript:
                  https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                  iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                  H 1 Antwort Letzte Antwort
                  0
                  • Thomas BraunT Thomas Braun

                    @hvb sagte:

                    Update habe ich durchgeführt, weil viele Adapter die 22 inzwischen zwingend voraussetzen.

                    Ist ja auch richtig. Du solltest aber auch regelmäßiger Updaten. nodejs@20 hast du übersprungen? Nicht gut.

                    Was sagt denn die GitHub-Version?
                    Und die Kiste sieht insgesamt wie aus?

                    iob diag
                    

                    sagt dir das.

                    H Offline
                    H Offline
                    hvb
                    schrieb am zuletzt editiert von
                    #169

                    @Thomas-Braun

                    fiat.0
                    2026-06-28 20:15:11.805	error	Login failed
                    
                    fiat.0
                    2026-06-28 20:15:11.805	error	Error: sessionInfo missing
                    
                    fiat.0
                    2026-06-28 20:15:11.805	error	sessionInfo missing
                    
                    fiat.0
                    2026-06-28 20:15:11.804	debug	{"callId":"019f0f714e7a7de894e7db00a608711b","errorCode":400006,"errorDetails":"Your request is blocked because of security issues.","errorMessage":"Invalid parameter value","apiVersion":2,"statusCode":400,"statusReason":"Bad Request","time":"2026-06-28T18:15:11.774Z","errorFlags":"missingKey"}
                    
                    fiat.0
                    2026-06-28 20:15:11.684	debug	{"callId":"019f0f714e1174cb98eea2f78e32b7d2","errorCode":0,"apiVersion":2,"statusCode":200,"statusReason":"OK","time":"2026-06-28T18:15:11.656Z","hasGmid":"ver2"}
                    
                    fiat.0
                    2026-06-28 20:15:11.437	info	starting. Version 0.0.11 (non-npm: TA2k/ioBroker.fiat) in /opt/iobroker/node_modules/iobroker.fiat, node: v22.22.2, js-controller: 7.2.2
                    
                    
                    
                    Thomas BraunT 1 Antwort Letzte Antwort
                    0
                    • H hvb

                      @Thomas-Braun

                      fiat.0
                      2026-06-28 20:15:11.805	error	Login failed
                      
                      fiat.0
                      2026-06-28 20:15:11.805	error	Error: sessionInfo missing
                      
                      fiat.0
                      2026-06-28 20:15:11.805	error	sessionInfo missing
                      
                      fiat.0
                      2026-06-28 20:15:11.804	debug	{"callId":"019f0f714e7a7de894e7db00a608711b","errorCode":400006,"errorDetails":"Your request is blocked because of security issues.","errorMessage":"Invalid parameter value","apiVersion":2,"statusCode":400,"statusReason":"Bad Request","time":"2026-06-28T18:15:11.774Z","errorFlags":"missingKey"}
                      
                      fiat.0
                      2026-06-28 20:15:11.684	debug	{"callId":"019f0f714e1174cb98eea2f78e32b7d2","errorCode":0,"apiVersion":2,"statusCode":200,"statusReason":"OK","time":"2026-06-28T18:15:11.656Z","hasGmid":"ver2"}
                      
                      fiat.0
                      2026-06-28 20:15:11.437	info	starting. Version 0.0.11 (non-npm: TA2k/ioBroker.fiat) in /opt/iobroker/node_modules/iobroker.fiat, node: v22.22.2, js-controller: 7.2.2
                      
                      
                      
                      Thomas BraunT Online
                      Thomas BraunT Online
                      Thomas Braun
                      Most Active
                      schrieb am zuletzt editiert von
                      #170

                      @hvb sagte:

                      2026-06-28 20:15:11.804 debug {"callId":"019f0f714e7a7de894e7db00a608711b","errorCode":400006,"errorDetails":"Your request is blocked because of security issues.","errorMessage":"Invalid parameter value","apiVersion":2,"statusCode":400,"statusReason":"Bad Request","time":"2026-06-28T18:15:11.774Z","errorFlags":"missingKey"}

                      Dürfte also nix mit nodejs zu tun haben.

                      Linux-Werkzeugkasten:
                      https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                      NodeJS Fixer Skript:
                      https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                      iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                      H 1 Antwort Letzte Antwort
                      0
                      • Thomas BraunT Thomas Braun

                        @hvb sagte:

                        2026-06-28 20:15:11.804 debug {"callId":"019f0f714e7a7de894e7db00a608711b","errorCode":400006,"errorDetails":"Your request is blocked because of security issues.","errorMessage":"Invalid parameter value","apiVersion":2,"statusCode":400,"statusReason":"Bad Request","time":"2026-06-28T18:15:11.774Z","errorFlags":"missingKey"}

                        Dürfte also nix mit nodejs zu tun haben.

                        H Offline
                        H Offline
                        hvb
                        schrieb am zuletzt editiert von
                        #171

                        @Thomas-Braun
                        andere Idee?

                        Credentials hab ich schon getauscht. In der App funktionieren sie.

                        Thomas BraunT H 2 Antworten Letzte Antwort
                        0
                        • H hvb

                          @Thomas-Braun
                          andere Idee?

                          Credentials hab ich schon getauscht. In der App funktionieren sie.

                          Thomas BraunT Online
                          Thomas BraunT Online
                          Thomas Braun
                          Most Active
                          schrieb am zuletzt editiert von
                          #172

                          @hvb sagte:

                          andere Idee?

                          iob diag
                          

                          anschauen. Zum Adapter selber kann dir wohl @tombox mehr sagen.

                          Linux-Werkzeugkasten:
                          https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                          NodeJS Fixer Skript:
                          https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                          iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                          1 Antwort Letzte Antwort
                          0
                          • H hvb

                            @Thomas-Braun
                            andere Idee?

                            Credentials hab ich schon getauscht. In der App funktionieren sie.

                            H Offline
                            H Offline
                            hvb
                            schrieb am zuletzt editiert von
                            #173

                            Iob diag muss ich nachliefern - bin grad mobil unterwegs.

                            Grundsätzlich:
                            Iob in docker (orbstack) auf einem Mac mini

                            Thomas BraunT T 2 Antworten Letzte Antwort
                            0
                            • H hvb

                              Iob diag muss ich nachliefern - bin grad mobil unterwegs.

                              Grundsätzlich:
                              Iob in docker (orbstack) auf einem Mac mini

                              Thomas BraunT Online
                              Thomas BraunT Online
                              Thomas Braun
                              Most Active
                              schrieb am zuletzt editiert von
                              #174

                              @hvb

                              Da wird dann vermutlich nicht viel bei herumkommen, iob diag ist auf Linux ausgelegt.

                              Linux-Werkzeugkasten:
                              https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                              NodeJS Fixer Skript:
                              https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                              iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                              1 Antwort Letzte Antwort
                              0
                              • H hvb

                                Iob diag muss ich nachliefern - bin grad mobil unterwegs.

                                Grundsätzlich:
                                Iob in docker (orbstack) auf einem Mac mini

                                T Offline
                                T Offline
                                tombox
                                schrieb am zuletzt editiert von
                                #175

                                @hvb nochmal die GitHub version installieren und testen

                                H 1 Antwort Letzte Antwort
                                0
                                • T tombox

                                  @hvb nochmal die GitHub version installieren und testen

                                  H Offline
                                  H Offline
                                  hvb
                                  schrieb am zuletzt editiert von
                                  #176

                                  @tombox

                                  Hier das log:

                                  fiat.0
                                  2026-06-28 23:01:03.378	error	Login failed
                                  
                                  fiat.0
                                  2026-06-28 23:01:03.378	error	Error: sessionInfo missing
                                  
                                  fiat.0
                                  2026-06-28 23:01:03.378	error	sessionInfo missing
                                  
                                  fiat.0
                                  2026-06-28 23:01:03.378	error	Gigya blocked the login (errorCode 400006, "Your request is blocked because of security issues."). This usually means the GMID cookie from the bootstrap was not sent back. Cookies for the login host: (empty)
                                  
                                  fiat.0
                                  2026-06-28 23:01:03.375	debug	{"callId":"019f100927de7253ba5c0c0bcdf67ad9","errorCode":400006,"errorDetails":"Your request is blocked because of security issues.","errorMessage":"Invalid parameter value","apiVersion":2,"statusCode":400,"statusReason":"Bad Request","time":"2026-06-28T21:01:03.367Z","errorFlags":"missingKey"}
                                  
                                  fiat.0
                                  2026-06-28 23:01:03.374	info	Step 2/5: accounts.login: {"statusCode":400,"errorCode":400006,"errorMessage":"Invalid parameter value","errorDetails":"Your request is blocked because of security issues.","errorFlags":"missingKey","callId":"019f100927de7253ba5c0c0bcdf67ad9"}
                                  
                                  fiat.0
                                  2026-06-28 23:01:03.252	info	Step 2/5: Gigya accounts.login
                                  
                                  fiat.0
                                  2026-06-28 23:01:03.252	info	Step 1/5: bootstrap body: {"statusCode":200,"errorCode":0,"callId":"019f1009277474d5a40525c11b20cd93"}
                                  
                                  fiat.0
                                  2026-06-28 23:01:03.252	info	Cookies after bootstrap: (empty)
                                  
                                  fiat.0
                                  2026-06-28 23:01:03.244	debug	Set-Cookie: ["gmid=gmid.ver4.AtLtQdsBtA.VaKjN0tiEY2N_3tTsl_E67NDbU1gC20jBO317daDRcit3M5y5mZu2G343VxlmEB2.HcMIDn5QZkCsIJp86gHnosyXGaltXOvCtNwxpwwlGEM2aHjmEbC5olhuNHLJxomOTfN-YbUy2SzEwkU-KQk5kA.sc3; expires=Mon, 28 Jun 2027 21:01:03 GMT; domain=.loginmyuconnect.fiat.com; path=/; secure; httponly","ucid=xMdlQ2k_7-QbRaJqiX_HPw; expires=Mon, 28 Jun 2027 21:01:03 GMT; domain=.loginmyuconnect.fiat.com; path=/; secure; httponly","hasGmid=ver2; expires=Mon, 28 Dec 2026 21:01:03 GMT; domain=.loginmyuconnect.fiat.com; path=/; secure"]
                                  
                                  fiat.0
                                  2026-06-28 23:01:03.244	info	Step 1/5: bootstrap http=200 set-cookie-count=3
                                  
                                  fiat.0
                                  2026-06-28 23:01:03.047	info	Step 1/5: Gigya bootstrap
                                  
                                  fiat.0
                                  2026-06-28 23:01:03.047	info	login() type=fiat brand=FIAT loginUrl=https://loginmyuconnect.fiat.com myuUrl=https://myuconnect.fiat.com loginApiKey=3_mOx_J2… apiKey=2wGyL6PH…
                                  
                                  fiat.0
                                  2026-06-28 23:01:03.029	info	starting. Version 0.0.11 (non-npm: TA2k/ioBroker.fiat) in /opt/iobroker/node_modules/iobroker.fiat, node: v22.22.2, js-controller: 7.2.2
                                  
                                  fiat.0
                                  2026-06-28 23:01:02.929	debug	States connected to redis: 127.0.0.1:9000
                                  
                                  fiat.0
                                  2026-06-28 23:01:02.874	debug	States create User PubSub Client
                                  
                                  fiat.0
                                  2026-06-28 23:01:02.873	debug	States create System PubSub Client
                                  
                                  fiat.0
                                  2026-06-28 23:01:02.823	debug	Redis States: Use Redis connection: 127.0.0.1:9000
                                  
                                  fiat.0
                                  2026-06-28 23:01:02.797	debug	Objects connected to redis: 127.0.0.1:9001
                                  
                                  fiat.0
                                  2026-06-28 23:01:02.795	debug	Objects client initialize lua scripts
                                  
                                  fiat.0
                                  2026-06-28 23:01:02.777	debug	Objects create User PubSub Client
                                  
                                  fiat.0
                                  2026-06-28 23:01:02.776	debug	Objects create System PubSub Client
                                  
                                  fiat.0
                                  2026-06-28 23:01:02.776	debug	Objects client ready ... initialize now
                                  
                                  fiat.0
                                  2026-06-28 23:01:02.761	debug	Redis Objects: Use Redis connection: 127.0.0.1:9001
                                  
                                  fiat.0
                                  2026-06-28 23:00:59.875	info	terminating
                                  
                                  fiat.0
                                  2026-06-28 23:00:59.874	info	terminating
                                  
                                  fiat.0
                                  2026-06-28 23:00:59.373	info	Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
                                  
                                  fiat.0
                                  2026-06-28 23:00:59.370	info	terminating
                                  
                                  fiat.0
                                  2026-06-28 23:00:59.351	info	Got terminate signal TERMINATE_YOURSELF
                                  
                                  
                                  T 1 Antwort Letzte Antwort
                                  0
                                  • H hvb

                                    @tombox

                                    Hier das log:

                                    fiat.0
                                    2026-06-28 23:01:03.378	error	Login failed
                                    
                                    fiat.0
                                    2026-06-28 23:01:03.378	error	Error: sessionInfo missing
                                    
                                    fiat.0
                                    2026-06-28 23:01:03.378	error	sessionInfo missing
                                    
                                    fiat.0
                                    2026-06-28 23:01:03.378	error	Gigya blocked the login (errorCode 400006, "Your request is blocked because of security issues."). This usually means the GMID cookie from the bootstrap was not sent back. Cookies for the login host: (empty)
                                    
                                    fiat.0
                                    2026-06-28 23:01:03.375	debug	{"callId":"019f100927de7253ba5c0c0bcdf67ad9","errorCode":400006,"errorDetails":"Your request is blocked because of security issues.","errorMessage":"Invalid parameter value","apiVersion":2,"statusCode":400,"statusReason":"Bad Request","time":"2026-06-28T21:01:03.367Z","errorFlags":"missingKey"}
                                    
                                    fiat.0
                                    2026-06-28 23:01:03.374	info	Step 2/5: accounts.login: {"statusCode":400,"errorCode":400006,"errorMessage":"Invalid parameter value","errorDetails":"Your request is blocked because of security issues.","errorFlags":"missingKey","callId":"019f100927de7253ba5c0c0bcdf67ad9"}
                                    
                                    fiat.0
                                    2026-06-28 23:01:03.252	info	Step 2/5: Gigya accounts.login
                                    
                                    fiat.0
                                    2026-06-28 23:01:03.252	info	Step 1/5: bootstrap body: {"statusCode":200,"errorCode":0,"callId":"019f1009277474d5a40525c11b20cd93"}
                                    
                                    fiat.0
                                    2026-06-28 23:01:03.252	info	Cookies after bootstrap: (empty)
                                    
                                    fiat.0
                                    2026-06-28 23:01:03.244	debug	Set-Cookie: ["gmid=gmid.ver4.AtLtQdsBtA.VaKjN0tiEY2N_3tTsl_E67NDbU1gC20jBO317daDRcit3M5y5mZu2G343VxlmEB2.HcMIDn5QZkCsIJp86gHnosyXGaltXOvCtNwxpwwlGEM2aHjmEbC5olhuNHLJxomOTfN-YbUy2SzEwkU-KQk5kA.sc3; expires=Mon, 28 Jun 2027 21:01:03 GMT; domain=.loginmyuconnect.fiat.com; path=/; secure; httponly","ucid=xMdlQ2k_7-QbRaJqiX_HPw; expires=Mon, 28 Jun 2027 21:01:03 GMT; domain=.loginmyuconnect.fiat.com; path=/; secure; httponly","hasGmid=ver2; expires=Mon, 28 Dec 2026 21:01:03 GMT; domain=.loginmyuconnect.fiat.com; path=/; secure"]
                                    
                                    fiat.0
                                    2026-06-28 23:01:03.244	info	Step 1/5: bootstrap http=200 set-cookie-count=3
                                    
                                    fiat.0
                                    2026-06-28 23:01:03.047	info	Step 1/5: Gigya bootstrap
                                    
                                    fiat.0
                                    2026-06-28 23:01:03.047	info	login() type=fiat brand=FIAT loginUrl=https://loginmyuconnect.fiat.com myuUrl=https://myuconnect.fiat.com loginApiKey=3_mOx_J2… apiKey=2wGyL6PH…
                                    
                                    fiat.0
                                    2026-06-28 23:01:03.029	info	starting. Version 0.0.11 (non-npm: TA2k/ioBroker.fiat) in /opt/iobroker/node_modules/iobroker.fiat, node: v22.22.2, js-controller: 7.2.2
                                    
                                    fiat.0
                                    2026-06-28 23:01:02.929	debug	States connected to redis: 127.0.0.1:9000
                                    
                                    fiat.0
                                    2026-06-28 23:01:02.874	debug	States create User PubSub Client
                                    
                                    fiat.0
                                    2026-06-28 23:01:02.873	debug	States create System PubSub Client
                                    
                                    fiat.0
                                    2026-06-28 23:01:02.823	debug	Redis States: Use Redis connection: 127.0.0.1:9000
                                    
                                    fiat.0
                                    2026-06-28 23:01:02.797	debug	Objects connected to redis: 127.0.0.1:9001
                                    
                                    fiat.0
                                    2026-06-28 23:01:02.795	debug	Objects client initialize lua scripts
                                    
                                    fiat.0
                                    2026-06-28 23:01:02.777	debug	Objects create User PubSub Client
                                    
                                    fiat.0
                                    2026-06-28 23:01:02.776	debug	Objects create System PubSub Client
                                    
                                    fiat.0
                                    2026-06-28 23:01:02.776	debug	Objects client ready ... initialize now
                                    
                                    fiat.0
                                    2026-06-28 23:01:02.761	debug	Redis Objects: Use Redis connection: 127.0.0.1:9001
                                    
                                    fiat.0
                                    2026-06-28 23:00:59.875	info	terminating
                                    
                                    fiat.0
                                    2026-06-28 23:00:59.874	info	terminating
                                    
                                    fiat.0
                                    2026-06-28 23:00:59.373	info	Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason
                                    
                                    fiat.0
                                    2026-06-28 23:00:59.370	info	terminating
                                    
                                    fiat.0
                                    2026-06-28 23:00:59.351	info	Got terminate signal TERMINATE_YOURSELF
                                    
                                    
                                    T Offline
                                    T Offline
                                    tombox
                                    schrieb am zuletzt editiert von
                                    #177

                                    @hvb nochmal installieren und testen

                                    H 1 Antwort Letzte Antwort
                                    0
                                    • T tombox

                                      @hvb nochmal installieren und testen

                                      H Offline
                                      H Offline
                                      hvb
                                      schrieb zuletzt editiert von
                                      #178

                                      @tombox

                                      Läuft. Keine Fehlermeldungen mehr.
                                      Kurzer Test aller verfügbaren Funktionen -> alles prima.

                                      Herzlichen Dank!

                                      1 Antwort Letzte Antwort
                                      0

                                      Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                      Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                      Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                      Registrieren Anmelden
                                      Antworten
                                      • In einem neuen Thema antworten
                                      Anmelden zum Antworten
                                      • Älteste zuerst
                                      • Neuste zuerst
                                      • Meiste Stimmen


                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      532

                                      Online

                                      33.0k

                                      Benutzer

                                      83.3k

                                      Themen

                                      1.3m

                                      Beiträge
                                      Community
                                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                      ioBroker Community 2014-2026
                                      logo
                                      • Anmelden

                                      • Du hast noch kein Konto? Registrieren

                                      • Anmelden oder registrieren, um zu suchen
                                      • Erster Beitrag
                                        Letzter Beitrag
                                      0
                                      • Home
                                      • Aktuell
                                      • Tags
                                      • Ungelesen 0
                                      • Kategorien
                                      • Unreplied
                                      • Beliebt
                                      • GitHub
                                      • Docu
                                      • Hilfe