Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. js-controller 2 jetzt für alle im Stable

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    js-controller 2 jetzt für alle im Stable

    This topic has been deleted. Only users with topic management privileges can see it.
    • apollon77
      apollon77 last edited by


      Überblick über einige der neuen Features


      1. 0_userdata.0 als offizieller Platz für eigene Dateien, Objekte und States

      Eine oft gestellte Frage ist, wo man eigene Objekte und States unterbringen kann, oder auch wo eigene Grafiken für Visualisierungen abgelegt werden sollen.
      Ab sofort existiert mit 0_userdata.0 ein Platz dafür. Ein Beispiel-State ist bereits angelegt, welcher problemlos gelöscht oder angepasst werden kann.

      Wichtig Wer seine States bisher in javascript.X ablegt und das für die eigenen Bedürfnisse ausreicht, kann dies weiterhin ohne Probleme tun. Wer jedoch seine Skripte auf mehrere JavaScript-Instanzen verteilt möchte ggf. einen besseren Platz, wie 0_userdata.0, nutzen 🙂 Ebenso eigene Ordner auf oberster Ebene (z.B. MeineObjekte.0.x) können weiterhin genutzt werden - so lange halt bis ein Adapter mit diesem Namen kommt ...

      Dateien können über den vis-Uploader (ab Version >1.2.2) und die ioBroker-Kommandozeilen-Tools hochgeladen werden. Ein manuelles reinkopieren von Dateien in den Ordner funktionieren nicht mehr.
      Alle Dateien und Objekte sind natürlich auch vom Backup enthalten.
      Wer bisher eigene Dateien in vis.0 oder (per IQontrol Upload-Tool) iqontrol.meta gespeichert hat, kann das natürlich ebenfalls weiterhin nutzen.

      2. Compact Modus und Compact Gruppen

      Eines der großen Vorteile von ioBroker ist, dass jeder Adapter als eigener Prozess ausgeführt wird. Das macht das System sehr stabil - bei Problemen betreffen diese nur den einen Adapter und nicht das ganze System. Andererseits benötigt dieser Ansatz allerdings auch etwas mehr RAM. Für Systeme mit wenig verfügbarem RAM (z.B. Raspi Nano oder Raspi 1 mit 512MB RAM), die oft als Slave-Systeme eingesetzt werden, ist die Anzahl der Adapter damit limitiert.

      Der Compact Modus löst dieses Problem dadurch, dass mehrere Adapter zusammen in einem Prozess laufen und damit der RAM-Bedarf deutlich geringer ist (es werden etwa 20-30MB je Adapter-Instanz eingespart). Dies geht aber zu Lasten der Stabilität, da ein fehlerhafter Adapter auch alle anderen Adapter im gleichen Prozess betrifft und diese sich ggf. ebenfalls neu starten.

      Adapter-Instanzen können dazu, um das Risiko etwas zu verteilen, in mehrere Gruppen aufgeteilt werden. Jede Gruppe startet einen eigenen Prozess, in dem dann alle Instanzen dieser Gruppe ausgeführt werden. Die Gruppe 0 ist speziell: Hier Mitglied zu sein bedeutet, dass der betreffende Adapter im Haupt-js-controller-Prozess ausgeführt wird. Dies ergibt die größte RAM-Ersparnis - allerdings auch das größte Risiko, da ein fehlerhafter Adapter den js-controller negativ beeinflussen kann. Als Standard werden Instanzen in der Gruppe 1 ausgeführt, wenn der Compact Modus für die entsprechende Instanz aktiviert wird.

      Ob ein Adapter den Compact Modus unterstützt, hängt vom jeweiligen Adapter ab. Diese Information wird künftig noch in der Adapterliste aufgenommen. Aktuell werden nur Adapter die als daemon ausgeführt werden auch im Compact Modus gestartet (also keine scheduled-Adapter). Auch wenn der Adapter generell den Compact-Mode unterstützt muss die Nutzung pro Instanz einzeln aktiviert werden!

      Zurzeit gibt es zur Konfiguration des Compact Modus noch keine Unterstützung im Admin! Die Konfiguration erfolgt per Kommandozeilen-Aufruf. Die wichtigsten Kommandos sind:

      • iobroker compact enable zum generellen Aktivieren des Compact Modus für den aktuellen js-controller Host. ioBroker muss danach neu gestartet werden, damit die Änderung aktiv wird.
      • iobroker list instances zeigt zusätzliche jetzt auch den Status des Compact Modus der Adapterinstanzen an.
      • iobroker compact <adaptername>.<instanz> status zeigt den Compact Modus Status der Instanz an.
      • iobroker compact <adaptername>.<instanz> enable 2 aktiviert die Ausführung im Compact Modus in Gruppe „2“. Nur der Adapter wird dabei neu gestartet. Diese Konfiguration kann bei laufendem ioBroker erfolgen.

      Falls es Probleme gibt (z.B. ein Adapter läuft nicht mehr sauber oder bleibt "hängen" beim Stoppen), dann bitte ein Issue beim Adapter öffnen. Ansonsten bitte hier im Thread posten, damit wir prüfen können woran es liegt.


      3. Installations-Quelle von Adaptern wird gespeichert

      ioBroker-Adapter werden im Normalfall aus dem Latest- oder Stable-Repository von npm installiert. Falls ein Adapter auf einen anderen Host verschoben wird oder das System neu installiert werden muss, wird versucht die gleiche Version wieder von npm zu installieren. Im Normalfall klappt das auch. Falls ein Adapter allerdings testweise von GitHub installiert wurde, ist dieser Stand bzw. diese Version ggf. nicht auf npm verfügbar. Damit kann die gleiche Version nicht automatisch neu installiert werden. Dies ändert sich nun.

      Für alle neuen Adapterinstallationen nach dem Update merkt sich ioBroker den genauen GitHub-Stand einer Custom-Installation und kann diesen Stand dann wieder nachinstallieren.

      Auch an der Adapterinstallation selbst, dem Upload und ähnlichem wurde einiges überarbeitet und optimiert. Es wurden einige Sonderfälle behoben, wo Teile der upload-Logik nicht korrekt ausgeführt wurden. Auch ein Fehler der beim Upload beispielsweise von material für Probleme gesorgt hat ist behoben.


      4. Redis-Unterstützung nun auch für Objekte und Files

      Standardmäßig werden Objekte und Zustände (States) in einer ioBroker-eigenen Datenbank verwaltet und in JSON-Dateien gespeichert. Mit dieser eigenen Lösung wird keine weitere Software benötigt.

      Seit einiger Zeit ist es bereits möglich, Zustände alternativ in einer optimierten Redis-Datenbank zu speichern. Ab einiger gewissen Anzahl an Zustandsänderungen pro Sekunde kann durch den Einsatz von Redis die Gesamtsystemlast zurückgehen bzw. auf mehrere Systeme verteilt werden. Redis bringt allerdings auch einen Mehraufwand mit, da diese Software installiert, verwaltet und gesichert werden will, damit es bei Updates oder im Problemfall nicht zu einem Datenverlust kommt.

      Mit js-controller 2 erlaubt ioBroker nun auch Objekte und die Dateien, die aktuell auf dem Master-System im Dateisystem abgelegt sind, in der Redis-Datenbank zu verwalten.
      Wichtig: Ausführliche Informationen zu Redis mit ioBroker (inklusive Infos WANN was für wen Sinn macht und was eher nicht!! Damit ihr wisst was ihr tut) findet ihr auch unter https://forum.iobroker.net/topic/26327/redis-in-iobroker-überblick

      Wichtig: Vor allem die Verlagerung von Dateien in die Redis-Datenbank kann dazu führen, dass diese recht groß werden kann (gern mehrere hundert MB). Da Redis alle Daten immer im RAM hält, ist diese Option nur für Systeme geeignet, die genügend RAM-Ressourcen zur Verfügung haben. Ebenso die CPU Belastung wird bei einem redis/redis System ggf. leicht höher sein, weil Daten anders verarbeitet werden müssen.

      Die Verlagerung von Dateien in die Datenbank führt zu einer deutlich größeren Flexibilität. Aufgrund dieser Änderung gibt es quasi keine lokalen Daten im Dateisystem mehr. In Summe wird die Redis-Datenbank zur zentralen Datenhaltung des ioBroker-Systems, da sie sämtliche Daten beinhaltet. Alle js-controller und Adapter verbinden sich dann mit dieser zentralen Datenbank.

      Mit dem js-controller 2.x kann sogar eine Redis-Sentinel Installation zur Steigerung der Systemverfügbarkeit genutzt werden (quasi ein Redis-HA-Cluster). Das ist eine erste Grundlage für die Bereitstellung eines hochverfügbaren ioBroker-Systems, das Ausfälle einzelner Serverkomponenten kompensieren kann. Diese Option sollte man allerdings aktuell nur austesten, wenn man weiß was man tut 😉 Dazu in späteren Updates mehr.

      Mit dem Einzug der verschiedenen Speichermöglichkeiten für Dateien, Objects und States wurde der Befehl iobroker setup custom überarbeitet. Zum einen zeigt er mehr Informationen an. Zusätzlich ist er jetzt aber auch in der Lage, bei einem Wechsel der Datenhaltung die Daten in alle Richtungen zu migrieren. So ist ein Wechsel jederzeit möglich.

      Wer Redis nutzen will sollte vorab prüfen ob Redis installiert ist und man verbinden kann (z.B. redis-clisollte eine Redis Shell geben).

      Unter dem bereits weiter oben genannten Link https://forum.iobroker.net/topic/26327/redis-in-iobroker-überblick findet ihr eine Zusammenfassung zum Thema "Redis und ioBroker" und dieser Thread kann auch Informationsquelle oder erste Anlaufstelle bei Problemen sein.


      5. "Alias"-Feature

      ioBroker stellt mit seinen inzwischen über 300 Adaptern eine sehr breite Palette an Funktionen bereit. Allerdings hat sich herausgestellt, dass jeder Adapter z.B. je nach angebundenen Systemen durchaus individuelle Strukturen bezüglich der Ablage der bereitgestellten Datenpunkte implementiert. Dies bringt vor allem bei eigenen Skripten aber auch bei Visualisierungen oder der Nutzung für die Cloud/IoT und Assistenten gewisse Herausforderungen mit sich.

      Auch beim Austausch von Geräten zwischen verschiedenen Herstellern muss man so gelegentlich aufgrund der Änderungen bei den Datenpunkten seine Skripte anpassen. Visualisierungsadapter und der iot-Adapter versuchen z.B. anhand der Rollen von Datenpunkten den Typ von Geräten zu erkennen, um diese korrekt anzuzeigen bzw. an Amazon bzw. Google zu melden. Dabei stehen die Adapter manchmal auf verlorenem Posten, weil bestimmte Adapter Informationen zu Rollen u.ä. gar nicht liefern können - vor allem MQTT, modbus u.ä. sind hier betroffen.

      Das Alias Feature, das nun direkt im js-controller verankert ist, stellt den neuen Namespace "alias.0" für Objekte zur Verfügung. Das Feature erlaubt es, Geräte mit einer stabilen Struktur und sauberen Rollen anzulegen. Das erfolgt jetzt zuerst manuell, später auch z.B. mittels des kommenden "Devices"-Adapters, der sich gerade in Entwicklung befindet.

      Auch dieses Feature hat noch keine vollständige Unterstützung im Admin, was allerdings noch kommen wird.

      Nach der Definition des Alias-Objects kann im neuen Bereich common.alias die ID des Quellobjekts im jeweiligen Adapter definiert werden. Ab dann werden alle Daten in beide Richtungen zwischen den Objekten synchronisiert. Zusätzlich kann interessanterweise eine read und write Funktion definiert werden, um einfache Umrechnungen vorzunehmen (z.B. Wh <--> kWh).

      Weitere (technische) Details haben wir unter Alias Information in der js-controller README bereitgestellt.

      Chaot 1 Reply Last reply Reply Quote 2
      • sigi234
        sigi234 Forum Testing Most Active @apollon77 last edited by sigi234

        @apollon77

        Unter Windows aber noch nicht möglich?
        Im Installer noch nicht drinnen.

        1 Reply Last reply Reply Quote 0
        • marcuskl
          marcuskl last edited by

          Sollte das hier eigentlich nicht Vergangenheit sein ?

          host.iobroker	2019-11-15 19:35:25.343	warn	instance system.adapter.radar2.0 already running with pid 2761
          host.iobroker	2019-11-15 19:35:23.840	info	stopInstance system.adapter.radar2.0 killing pid 2761
          host.iobroker	2019-11-15 19:35:22.840	info	stopInstance system.adapter.radar2.0 send kill signal
          host.iobroker	2019-11-15 19:35:22.838	info	stopInstance system.adapter.radar2.0 (force=false, process=true)
          host.iobroker	2019-11-15 19:35:22.837	info	"system.adapter.radar2.0" enabled
          host.iobroker	2019-11-15 19:35:22.218	info	stopInstance system.adapter.radar2.0 killing pid 2761
          host.iobroker	2019-11-15 19:35:21.217	info	stopInstance system.adapter.radar2.0 send kill signal
          host.iobroker	2019-11-15 19:35:21.215	info	stopInstance system.adapter.radar2.0 (force=false, process=true)
          host.iobroker	2019-11-15 19:35:21.212	info	"system.adapter.radar2.0" disabled
          
          apollon77 1 Reply Last reply Reply Quote 0
          • apollon77
            apollon77 @marcuskl last edited by

            @marcuskl es kann immer noch passieren das Prozesse „hängenbleiben“. Die Erkennung und Behandlung der Fälle sollten aber besser laufen. Für den minim Auszug fehlt mir jetzt ein bissl Kontext.

            marcuskl 1 Reply Last reply Reply Quote 0
            • marcuskl
              marcuskl @apollon77 last edited by

              @apollon77 Was soll ich noch raussuchen ?

              1 Reply Last reply Reply Quote 0
              • apollon77
                apollon77 last edited by

                Was hast du denn getan? Adapter restart im Admin oder wie? Läuft denn noch ein Radar2 Prozess mit de me genannten Prozess id?

                Dann kill mal manuell. Mich wundert das der Radar2 im log nichts sagt ...

                crunchip marcuskl 2 Replies Last reply Reply Quote 0
                • crunchip
                  crunchip Forum Testing Most Active @apollon77 last edited by

                  @apollon77 habe ich auch immer wider mit dem radar2.
                  Heute z.b. nachdem ich iobroker gestoppt hatte und einen snapshot zurück spielte.

                  1 Reply Last reply Reply Quote 0
                  • marcuskl
                    marcuskl @apollon77 last edited by

                    @apollon77 Ich habe was in der Adapterkonfiguration von radar geändert und danach startet der Adapter ja neu.
                    Prozesse finde ich nur eine Radar und de me nicht:

                    root@iobroker:~# ps -e
                      PID TTY          TIME CMD
                        1 ?        00:00:02 systemd
                        2 ?        00:00:00 kthreadd
                        3 ?        00:00:00 ksoftirqd/0
                        5 ?        00:00:00 kworker/0:0H
                        6 ?        00:00:00 kworker/u4:0
                        7 ?        00:00:03 rcu_sched
                        8 ?        00:00:00 rcu_bh
                        9 ?        00:00:00 migration/0
                       10 ?        00:00:00 lru-add-drain
                       11 ?        00:00:00 watchdog/0
                       12 ?        00:00:00 cpuhp/0
                       13 ?        00:00:00 cpuhp/1
                       14 ?        00:00:00 watchdog/1
                       15 ?        00:00:00 migration/1
                       16 ?        00:00:00 ksoftirqd/1
                       18 ?        00:00:00 kworker/1:0H
                       19 ?        00:00:00 kdevtmpfs
                       20 ?        00:00:00 netns
                       21 ?        00:00:00 khungtaskd
                       22 ?        00:00:00 oom_reaper
                       23 ?        00:00:00 writeback
                       24 ?        00:00:00 kcompactd0
                       26 ?        00:00:00 ksmd
                       27 ?        00:00:00 khugepaged
                       28 ?        00:00:00 crypto
                       29 ?        00:00:00 kintegrityd
                       30 ?        00:00:00 bioset
                       31 ?        00:00:00 kblockd
                       32 ?        00:00:00 devfreq_wq
                       33 ?        00:00:00 watchdogd
                       35 ?        00:00:00 kswapd0
                       36 ?        00:00:00 vmstat
                       48 ?        00:00:00 kthrotld
                       49 ?        00:00:00 ipv6_addrconf
                       84 ?        00:00:00 bioset
                       85 ?        00:00:00 bioset
                       86 ?        00:00:00 bioset
                       87 ?        00:00:00 bioset
                       88 ?        00:00:00 bioset
                       89 ?        00:00:00 bioset
                       90 ?        00:00:00 bioset
                       91 ?        00:00:00 bioset
                       92 ?        00:00:00 kworker/u4:1
                       93 ?        00:00:00 ata_sff
                       94 ?        00:00:00 scsi_eh_0
                       95 ?        00:00:00 scsi_tmf_0
                       96 ?        00:00:00 scsi_eh_1
                       97 ?        00:00:00 scsi_tmf_1
                       99 ?        00:00:00 bioset
                      102 ?        00:00:00 scsi_eh_2
                      103 ?        00:00:00 scsi_tmf_2
                      104 ?        00:00:00 bioset
                      364 ?        00:00:00 kworker/0:1H
                      412 ?        00:00:00 jbd2/sda1-8
                      413 ?        00:00:00 ext4-rsv-conver
                      434 ?        00:00:00 kworker/1:1H
                      442 ?        00:00:00 systemd-journal
                      444 ?        00:00:00 kauditd
                      468 ?        00:00:00 systemd-udevd
                      490 ?        00:00:00 kworker/u5:1
                      516 ?        00:00:00 ttm_swap
                      613 ?        00:00:00 irqbalance
                      614 ?        00:00:00 rsyslogd
                      615 ?        00:00:00 bluetoothd
                      617 ?        00:00:00 cron
                      620 ?        00:00:00 dbus-daemon
                      638 ?        00:00:00 systemd-logind
                      639 ?        00:00:01 avahi-daemon
                      643 ?        00:00:00 sshd
                      650 ?        00:00:00 avahi-daemon
                      651 tty1     00:00:00 agetty
                      667 ?        00:00:00 systemd-timesyn
                      674 ?        00:00:00 dhclient
                     1953 ?        00:00:00 sshd
                     1955 ?        00:00:00 systemd
                     1956 ?        00:00:00 (sd-pam)
                     1962 pts/0    00:00:00 bash
                     2092 ?        00:07:00 iobroker.js-con
                     2111 ?        00:01:51 io.admin.0
                     2126 ?        00:01:30 io.javascript.0
                     2141 ?        00:00:06 io.info.0
                     2160 ?        00:01:14 io.iot.0
                     2317 ?        00:00:07 io.lgtv.0
                     2528 ?        00:00:06 io.web.0
                     2547 ?        00:00:11 io.sonoff.0
                     2562 ?        00:00:06 io.broadlink2.0
                     2577 ?        00:00:09 io.telegram.0
                     2607 ?        00:01:04 io.shelly.0
                     2626 ?        00:00:29 io.tr-064.0
                     2641 ?        00:00:05 io.sayit.0
                     2656 ?        00:00:09 io.upnp.0
                     2671 ?        00:00:09 io.simple-api.0
                     2686 ?        00:00:07 io.tankerkoenig
                     2697 ?        00:00:35 io.lovelace.0
                     2712 ?        00:00:34 io.proxmox.0
                     2727 ?        00:00:05 io.sayit.1
                     2746 ?        00:00:07 io.tuya.0
                     2761 ?        00:00:09 io.radar2.0
                     2793 ?        00:00:13 io.chromecast.0
                     2809 ?        00:00:08 io.influxdb.0
                     2844 ?        00:00:07 io.sourceanalyt
                     2863 ?        00:00:07 io.tankerkoenig
                     2963 ?        00:00:01 kworker/1:0
                     3284 ?        00:00:00 kworker/1:1
                     3290 ?        00:00:00 hci0
                     3291 ?        00:00:00 hci0
                     3292 ?        00:00:00 kworker/u5:2
                     3380 ?        00:00:00 sh <defunct>
                     3465 ?        00:00:09 io.zigbee.0
                     3476 ?        00:00:00 kworker/0:1
                     3682 ?        00:00:00 sshd
                     3688 pts/1    00:00:00 bash
                     3721 ?        00:00:00 kworker/0:0
                     3760 ?        00:00:00 kworker/u4:2
                     3779 ?        00:00:00 kworker/0:2
                     3786 pts/1    00:00:00 ps
                    
                    
                    apollon77 1 Reply Last reply Reply Quote 0
                    • apollon77
                      apollon77 @marcuskl last edited by

                      @marcuskl sagte in js-controller 2 jetzt für alle im Stable:

                      2761 ? 00:00:09 io.radar2.0

                      Da ist er aber 🙂

                      Kille den mal.

                      marcuskl 1 Reply Last reply Reply Quote 0
                      • apollon77
                        apollon77 last edited by

                        Scheinbar ist das Stable File nicht aktualisiert worden ... komisch. Aber die 2.1.0 sollte bald bei allen nach und nach auftauchen.

                        1 Reply Last reply Reply Quote 0
                        • marcuskl
                          marcuskl @apollon77 last edited by

                          @apollon77 ja das habe ich ja gesagt, ich finde nur diesen einen und nicht 2.
                          Ich habe diesen auch schon gekillt, hat aber nichts geändert, beim start von Radar wieder das selbe Problem.

                          apollon77 2 Replies Last reply Reply Quote 0
                          • apollon77
                            apollon77 @marcuskl last edited by

                            @marcuskl dann starte bitte Radar2 mal im loglevel silly und lass kurz laufen und restarte dann mal. Dann poste mal das log

                            1 Reply Last reply Reply Quote 0
                            • Chaot
                              Chaot @apollon77 last edited by

                              @apollon77 Habe jetzt das 2.1.0 Update gemacht.
                              Was mir schon bei 2.0.43 aufgefallen ist das der "Tuya" Adapter nicht mehr richtig arbeitet:

                              host.ioBroker	2019-11-15 21:18:54.422	info	"system.adapter.tuya.0" disabled
                              tuya.0	2019-11-15 21:18:27.143	error	(5662) 5303504684f3eb21724b: Error: connection timed out
                              host.ioBroker	2019-11-15 21:18:19.403	info	instance system.adapter.tuya.0 started with pid 5662
                              

                              Aber ich habe noch keine Gelegenheit gehabt um den Fehler näher einzugrenzen.

                              apollon77 1 Reply Last reply Reply Quote 0
                              • ?
                                A Former User @apollon77 last edited by

                                @apollon77
                                Vielen Dank, läuft problemlos auf 5 Clients und dem Host. Konnte alle problemlos updaten, ohne Fehlermeldungen.
                                71 Instanzen ohne Probleme...

                                1 Reply Last reply Reply Quote 0
                                • apollon77
                                  apollon77 @marcuskl last edited by

                                  @marcuskl ALso ich kann es auch bei mir mit dem radar2 nachstellen. Irgendwie hängt der beim beenden und reagiert nicht auf einen kill. Andere Adapter machen das wie Sie sollen. Leg bitte dazu mal ein issue beim Adapter an. Muss sich der Dev ansehen

                                  marcuskl 1 Reply Last reply Reply Quote 0
                                  • apollon77
                                    apollon77 @Chaot last edited by

                                    @Chaot Was genau ist denn der Fehler? Das "connection timed out"? Dann kann er keine Verbindung zu dem Gerät herstellen ... wüsste nicht was das mit dem controller zu tun hat.Mach ggf mal das Gerät Stromlos und restarte es

                                    1 Reply Last reply Reply Quote 0
                                    • Diginix
                                      Diginix last edited by Diginix

                                      Bei mir hing gerade der radar2 Adapter und ein Skripte welches auf das Objekt system.adapter.radar2.0.connected hört warf den Fehler dass das Objekt nicht existiert.

                                      2019-11-15 21:24:00.014  - warn: javascript.0 (27906) getState "system.adapter.radar2.0.connected" not found (3)
                                      

                                      Es ist zwar da war aber wertelos. Bis JS-Controller 1.5 waren alive und connected immer ausnahmslos entweder true oder fase, aber nicht leer. Und wieso sagt das Log not found obwohl das Objekt vorhanden ist?

                                      bdb02314-2aae-4ea8-a95b-0623fdd2c602-image.png

                                      Edit: Es gab einen Zombiprozess der mit pkill nicht zu töten war.

                                      diginix@host:/opt/iobroker/log$ sudo pkill -f io.radar2.0
                                      diginix@host:/opt/iobroker/log$ ps aux | grep radar
                                      iobroker   457  0.0  2.1 824208 85064 ?        Sl   19:34   0:06 io.radar2.0
                                      

                                      Nur mit kill -9 457 konnte ich ihn beenden.

                                      apollon77 1 Reply Last reply Reply Quote 0
                                      • apollon77
                                        apollon77 @Diginix last edited by apollon77

                                        @Diginix alive und connected werden mit einem "expire" von glaube ca. 30s auf "true" gesetzt während der Adapter läuft. Normalerweise wird der Wert alle 15s neu gesetzt und damit bleibt er "true". Wenn Adapter gestoppt setzt der Controller auf false ohne expire.

                                        Falls der Adapter jetzt hängenbleibt und damit der Wert "expired" wird der State auf null gesetzt und ist Wert-los ... genau das meckert JavaScript in dem Fall ggf an.

                                        In controller 1.5 wurde bei einem expire (und file DB) nicht der State gelöscht sondern der Wert auf "null" (für dich dann auch false) gesetzt. Bei redis DB aber gelöscht wie jetzt. Mit js.controller 2 ziehen wir das gleich.

                                        1 Reply Last reply Reply Quote 0
                                        • Diginix
                                          Diginix last edited by

                                          Hm, ok dann muss ich mal schauen was ich am Skript ändern kann.
                                          Aktuell habe ich andauern ein Zombie vom radar2 v1.2.0 (mit gepatchter myAdapter.js).
                                          Lief mit JS-Controller 1.5.14 monatelang stabil. Hoffe das fängt sich wieder mit 2.x.

                                          apollon77 1 Reply Last reply Reply Quote 0
                                          • apollon77
                                            apollon77 @Diginix last edited by

                                            @Diginix Es kann sehr gut sein das in der myAdapter Lib von Frank noch irgendwo was drin steckt was bisher keinen Fehler wirft aber solche hänger verursacht ... Hoffen wir mal das Frank bald wieder zeit findet. leg doch bitte ein Issue an mit so vielen Infos wie es geht

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            488
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            js-controller js-controller 2
                                            74
                                            556
                                            141821
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo