Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reboot Problem - Adapter startet nicht nach Systemstart #203

Open
Dragon0501 opened this issue Feb 10, 2022 · 9 comments
Open

Reboot Problem - Adapter startet nicht nach Systemstart #203

Dragon0501 opened this issue Feb 10, 2022 · 9 comments
Labels
bug Something isn't working duplicate This issue or pull request already exists

Comments

@Dragon0501
Copy link

Ich habe ein Problem mit dem Adapter nach einem Reboot des Brokers. Wenn ich den Adapter noch einmal neu starte ist es kein Problem mehr und er wird grün. Der automatische Adapterstart beim Reboot des Brokers führt aber dazu, dass er sich nicht mit Gerät oder Dienst verbindet. Ich hatte den selben Effekt mal beim FB-Checkprsence Adapter. Da lag es daran, dass der History Adapter noch nicht lief beim Booten. Der Entwickler hat dann eine Prüfung in den Adapterstart mit eingebaut. Das funktionierte einwandfrei. Ist es möglich einen solchen Test auf Abhängigkeiten auch hier gleich mit einzubauen? Das Problem besteht schon seit geraumer Zeit und ist kein aktuell neues Problem.

Meine aktuell installierte Version des Adapters ist die 2.4.0, aber wie gesagt ist kein neues Problem, sondern existiert schon länger.

Screenshot 2022-02-10 09 59 53

@sansonifabio
Copy link

Das Problem kann ich auch bestätigen, selbes Verhalten. Startet zum Beispiel ioBroker neu dann bleibt der Nuki Adapter gelb starte ich den Nuki Adapter neu verbindet er sich und wird grün.

@Superwuzy
Copy link

Superwuzy commented Mar 16, 2022

Ich kann das Problem ebenfalls bestätigen. Daher habe ich vorerst wieder auf den Nuki-Adapter aktiviert. Die Thematik besteht aber schon länger. Nach jedem Start meines PI muss ich den Adapter manuell neu starten. Dann läuft er.

@Grothesk242
Copy link

#118

@sansonifabio
Copy link

sansonifabio commented Jun 19, 2022

Guten morgen zusammen;
gibt es was neues dazu? Das Problem besteht bei mir immer noch, auch mit der letzten Adapter Version
v2.6.5 und auch mit NPM 16.5.1

PlatformBetriebssystem:linux
Architektur:x64
CPUs:8
Geschwindigkeit:3196 MHz
Modell:Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz
RAM:7.4 GB
System-Betriebszeit:1 T. 12:20:25
Node.js:v16.15.1
time:1655619881161
timeOffset:-120
Adapter-Anzahl:420
NPM:8.11.0
Datenträgergröße:467.0 GB
freier Festplattenspeicher:437.5 GB
Betriebszeit:1 T. 12:20:22
Aktive Instanzen:22
Pfad:/opt/iobroker/

@sansonifabio
Copy link

sansonifabio commented Jul 2, 2022

Also ich konnte den Fehler wohl was eingrenzen, wenn man den Web Adapter installiert hat und er nach dem booten von ioBroker vor dem Nuki Adapter offline ist verbindet sich Nuki nicht richtig
Ist der Web Adapter vor Nuki Online, wird der Nuki Adapter direckt grün. Es wär schön wenn sich das mal ein Entwickler anschauen könnte und auch User das mal mit testen könnten.
Vielen Dank
Fabio

Nachtrag 03.07:
Da sich anscheinnend hier nichts tut, habe ich den Adapter gestern gelöscht weil er mir doch einige Probleme bereitet.
Danke an alle.

@achimmm
Copy link

achimmm commented Feb 26, 2023

Es sieht so aus, dass der Adapter bei gelb korrekt funktioniert.

Ich konnte das Problem wie folgt umschiffen:

  • beim beenden des Adapters setzt dieser den Connection DP nicht auf false.
  • scheinbar gibt es beim Start ein Problem, dass dann - wenn schon auf True - durch irgendeine Konstellation nicht auf True bleibt, sondern auf false toggelt
  • Durch händisches setzen auf false nach dem beenden des Adapters und danach einem Neustart wird der Adapter schön grün
  • Manuelle Lösung: ein Script, das beim beenden des Adapters den connection DP auf false setzt
  • Automatische Lösung: ein dev müsste beim beenden des Adapters in Nuki-extended.js ab Zeile 94 den Connection dp auf false setzen.

@r748
Copy link

r748 commented Feb 27, 2023

@achimmm Vielen Dank für den wertvollen Hinweis!!!

Ich habe das nervige Problem vorläufig mit folgendem kleinen JavaScript gelöst. Funktioniert einwandfrei! Vielleicht hilft es ja jemandem weiter...

/**
 * Hilfsfunktion damit der Nuki-Extended Adapter nach einem Neustart grün wird anstatt gelb
 */
on({id: 'system.adapter.nuki-extended.0.alive', change: "ne"}, function (obj) {
    if (!obj.state.val) {
        setState("nuki-extended.0.info.connection", false);
    }
});

@r748
Copy link

r748 commented Feb 28, 2023

Wie ich gemerkt habe, reicht bei einem Neustart von ioBroker mein obiges Skript nicht, da der Javascript-Adapter in diesem Fall das Stoppen des Nuki-Extended-Adapters nicht erkennt und somit den connection Wert nicht auf false stellen kann. Ich habe mein Helferscript daher wie folgt angepasst. Damit wird der Nuki-Extended-Adapter auch nach einem ioBroker-Neustart immer grün statt gelb:

/**
 * Überwacht den Status des Nuki-Extended Adapters und setzt beim Stoppen
 * den connected Wert auf false
 */
on({id: 'system.adapter.nuki-extended.0.alive', change: "ne"}, function (obj) {
    if (!obj.state.val) {
        setState("nuki-extended.0.info.connection", false);
    }
});

/**
 * Nuki-Extended Adapter ggf. neu starten oder den connection Wert auf false setzen
 * damit der Adapter beim Neustart grün wird
 */
function fixNukiExtendedState() {
    let isNukiExtendedAlive = getState("system.adapter.nuki-extended.0.alive").val;
    let isNukiExtendedConnected = getState("system.adapter.javascript.0.connected").val;
    let isNukiExtendedAdapterConnected = getState("nuki-extended.0.info.connection").val;

    // Nuki-Extended Adapter läuft nicht, aber connection Wert ist true
    if (!isNukiExtendedAlive && isNukiExtendedAdapterConnected) {
        // Connection Wert auf false setzen
        setState("nuki-extended.0.info.connection", false);
        console.log("Fixing Nuki-Extended connection state");
    }
    // Nuki-Extended Adapter läuft und ist gelb
    else if (isNukiExtendedAlive && !isNukiExtendedConnected) {
        // Nuki extended neu starten
        exec("iobroker restart nuki-extended.0", function (error, stdout, stderr) { if (error != null) log(error.message); });
        console.log("Restarting Adapter Nuki-Extended");
    }
}

// Funktion beim Start des Javascript Adapters ausführen, damit der Nuki-Extended Adapter
// beim Neustart von ioBroker grün wird
fixNukiExtendedState();

@Schwabendidi
Copy link

@r748 Danke für das Script! Funktioniert bei mir ohne Anpassung auf Anhieb.

@mcm1957 mcm1957 added bug Something isn't working duplicate This issue or pull request already exists labels Jun 26, 2023
@mcm1957 mcm1957 changed the title Reboot Problem Reboot Problem - Adapter startet nicht nach Systemstart Jun 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working duplicate This issue or pull request already exists
Projects
None yet
Development

No branches or pull requests

8 participants