Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • 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. ioBroker Allgemein
  4. Wichtiger Hinweis für Redis Installationen!

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    18
    1
    623

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

Wichtiger Hinweis für Redis Installationen!

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
90 Beiträge 22 Kommentatoren 24.9k Aufrufe 20 Watching
  • Ä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.
  • haus-automatisierungH haus-automatisierung

    @apollon77 Vielen Dank für die Info! Wäre es eventuell sinnvoll, das Thema auch noch in dieser Dokumentation zu ergänzen? https://github.com/ioBroker/ioBroker.js-controller#redis-as-database

    apollon77A Offline
    apollon77A Offline
    apollon77
    schrieb am zuletzt editiert von apollon77
    #3

    @haus-automatisierung Ja da kommt es noch rein :-))

    EDIT: Ist erweitert ... Aktuell zudiesem deutschen Post verlinkt, Englische Übersetzung noch nötig

    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
    M 1 Antwort Letzte Antwort
    1
    • apollon77A apollon77

      @haus-automatisierung Ja da kommt es noch rein :-))

      EDIT: Ist erweitert ... Aktuell zudiesem deutschen Post verlinkt, Englische Übersetzung noch nötig

      M Offline
      M Offline
      Marty56
      schrieb am zuletzt editiert von
      #4

      @apollon77 Danke für den Hinweis.
      Was mich noch interessieren würde, wäre die Auswirkung dieser falschen Redis Konfiguration. Ich hatte den Server mindestens 1 Jahr mit der falschen Konfiguration laufen und habe es nicht bemerkt.

      HW:NUC (16 GB Ram)
      OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

      Thomas BraunT Meister MopperM apollon77A D 4 Antworten Letzte Antwort
      0
      • M Marty56

        @apollon77 Danke für den Hinweis.
        Was mich noch interessieren würde, wäre die Auswirkung dieser falschen Redis Konfiguration. Ich hatte den Server mindestens 1 Jahr mit der falschen Konfiguration laufen und habe es nicht bemerkt.

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

        @marty56

        Die Verwendung einer anderern locale als C führt zu einer geänderten Sortierreihenfolge von Sonderzeichen.

        Dadurch kann es dann bei Aktionen mit Adapterfamilien wie z. B. vis / vis-widget / vis-IRGENDWAS bei Installationen / Deinstallationen zu ungewolltem Verhalten führen.

        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
        • M Marty56

          @apollon77 Danke für den Hinweis.
          Was mich noch interessieren würde, wäre die Auswirkung dieser falschen Redis Konfiguration. Ich hatte den Server mindestens 1 Jahr mit der falschen Konfiguration laufen und habe es nicht bemerkt.

          Meister MopperM Online
          Meister MopperM Online
          Meister Mopper
          schrieb am zuletzt editiert von
          #6

          Interessant ist jetzt für mich, ob es auch in Ordnung ist, wenn man abweichend von den dargestellten Ergebnissen dieses hat (da läuft nur ein iobroker und redis):

          thomas@ioTest:~$ redis-cli
          127.0.0.1:6379> EVAL "return 'c-i.t' >= 'c.' and 'c-i.t' < 'c.香'" 1 1
          (nil)
          127.0.0.1:6379>
          
          thomas@ioTest:~$ locale
          LANG=de_DE.UTF-8
          LANGUAGE=
          LC_CTYPE="de_DE.UTF-8"
          LC_NUMERIC="de_DE.UTF-8"
          LC_TIME="de_DE.UTF-8"
          LC_COLLATE="de_DE.UTF-8"
          LC_MONETARY="de_DE.UTF-8"
          LC_MESSAGES="de_DE.UTF-8"
          LC_PAPER="de_DE.UTF-8"
          LC_NAME="de_DE.UTF-8"
          LC_ADDRESS="de_DE.UTF-8"
          LC_TELEPHONE="de_DE.UTF-8"
          LC_MEASUREMENT="de_DE.UTF-8"
          LC_IDENTIFICATION="de_DE.UTF-8"
          LC_ALL=
          

          Sollte ich jetzt auch etwas verändern?

          Proxmox und HA

          apollon77A 1 Antwort Letzte Antwort
          0
          • Meister MopperM Meister Mopper

            Interessant ist jetzt für mich, ob es auch in Ordnung ist, wenn man abweichend von den dargestellten Ergebnissen dieses hat (da läuft nur ein iobroker und redis):

            thomas@ioTest:~$ redis-cli
            127.0.0.1:6379> EVAL "return 'c-i.t' >= 'c.' and 'c-i.t' < 'c.香'" 1 1
            (nil)
            127.0.0.1:6379>
            
            thomas@ioTest:~$ locale
            LANG=de_DE.UTF-8
            LANGUAGE=
            LC_CTYPE="de_DE.UTF-8"
            LC_NUMERIC="de_DE.UTF-8"
            LC_TIME="de_DE.UTF-8"
            LC_COLLATE="de_DE.UTF-8"
            LC_MONETARY="de_DE.UTF-8"
            LC_MESSAGES="de_DE.UTF-8"
            LC_PAPER="de_DE.UTF-8"
            LC_NAME="de_DE.UTF-8"
            LC_ADDRESS="de_DE.UTF-8"
            LC_TELEPHONE="de_DE.UTF-8"
            LC_MEASUREMENT="de_DE.UTF-8"
            LC_IDENTIFICATION="de_DE.UTF-8"
            LC_ALL=
            

            Sollte ich jetzt auch etwas verändern?

            apollon77A Offline
            apollon77A Offline
            apollon77
            schrieb am zuletzt editiert von
            #7

            @meister-mopper Interessant ... Das wichtige ist aber das die Antwort (nil) ist und damit ist alles ok.

            Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

            • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
            • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
            1 Antwort Letzte Antwort
            1
            • M Marty56

              @apollon77 Danke für den Hinweis.
              Was mich noch interessieren würde, wäre die Auswirkung dieser falschen Redis Konfiguration. Ich hatte den Server mindestens 1 Jahr mit der falschen Konfiguration laufen und habe es nicht bemerkt.

              apollon77A Offline
              apollon77A Offline
              apollon77
              schrieb am zuletzt editiert von
              #8

              @marty56 AM Ende ist es aufgefallen weil bei einem User ein install/upgrade/"upload vis" auch Adapter wie "vis-material" mit der Versionsnummer und Logo von Vis in den metadaten überschrieben hat, wenn die installiert waren.

              Ggf hätte es auch passieren können das beim Versuch "vis" zu löschen plötzlich auch "vis-*" Instanzen mit gelöscht worden wären.

              AM besten nach dem Fix einmal "iob upload all" machen um ggf Effekte zu beheben. Wenn du aber keine Adapter hast wo es andere gibt die ein "-" und weitere Zeichen haben gab es ggf gar keine Unterschiede

              Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

              • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
              • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
              1 Antwort Letzte Antwort
              0
              • M Marty56

                @apollon77 Danke für den Hinweis.
                Was mich noch interessieren würde, wäre die Auswirkung dieser falschen Redis Konfiguration. Ich hatte den Server mindestens 1 Jahr mit der falschen Konfiguration laufen und habe es nicht bemerkt.

                D Offline
                D Offline
                darkiop
                Most Active
                schrieb am zuletzt editiert von
                #9

                @marty56 sagte in Wichtiger Hinweis für Redis Installationen!:

                @apollon77 Danke für den Hinweis.
                Was mich noch interessieren würde, wäre die Auswirkung dieser falschen Redis Konfiguration. Ich hatte den Server mindestens 1 Jahr mit der falschen Konfiguration laufen und habe es nicht bemerkt.

                Dem schließe ich mich an :) Aber gut, besser vor dem merken korrigieren ;)

                127.0.0.1:6379> EVAL "return 'c-i.t' >= 'c.' and 'c-i.t' < 'c.香'" 1 1
                (integer) 1
                
                
                LANG=de_DE.UTF-8
                LANGUAGE=
                LC_CTYPE="de_DE.UTF-8"
                LC_NUMERIC="de_DE.UTF-8"
                LC_TIME="de_DE.UTF-8"
                LC_COLLATE="de_DE.UTF-8"
                LC_MONETARY="de_DE.UTF-8"
                LC_MESSAGES="de_DE.UTF-8"
                LC_PAPER="de_DE.UTF-8"
                LC_NAME="de_DE.UTF-8"
                LC_ADDRESS="de_DE.UTF-8"
                LC_TELEPHONE="de_DE.UTF-8"
                LC_MEASUREMENT="de_DE.UTF-8"
                LC_IDENTIFICATION="de_DE.UTF-8"
                LC_ALL=
                

                Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

                apollon77A 1 Antwort Letzte Antwort
                1
                • D darkiop

                  @marty56 sagte in Wichtiger Hinweis für Redis Installationen!:

                  @apollon77 Danke für den Hinweis.
                  Was mich noch interessieren würde, wäre die Auswirkung dieser falschen Redis Konfiguration. Ich hatte den Server mindestens 1 Jahr mit der falschen Konfiguration laufen und habe es nicht bemerkt.

                  Dem schließe ich mich an :) Aber gut, besser vor dem merken korrigieren ;)

                  127.0.0.1:6379> EVAL "return 'c-i.t' >= 'c.' and 'c-i.t' < 'c.香'" 1 1
                  (integer) 1
                  
                  
                  LANG=de_DE.UTF-8
                  LANGUAGE=
                  LC_CTYPE="de_DE.UTF-8"
                  LC_NUMERIC="de_DE.UTF-8"
                  LC_TIME="de_DE.UTF-8"
                  LC_COLLATE="de_DE.UTF-8"
                  LC_MONETARY="de_DE.UTF-8"
                  LC_MESSAGES="de_DE.UTF-8"
                  LC_PAPER="de_DE.UTF-8"
                  LC_NAME="de_DE.UTF-8"
                  LC_ADDRESS="de_DE.UTF-8"
                  LC_TELEPHONE="de_DE.UTF-8"
                  LC_MEASUREMENT="de_DE.UTF-8"
                  LC_IDENTIFICATION="de_DE.UTF-8"
                  LC_ALL=
                  
                  apollon77A Offline
                  apollon77A Offline
                  apollon77
                  schrieb am zuletzt editiert von
                  #10

                  @darkiop ja die Nummer hat uns bissl beschäftigt bis wir auf diesen Grund kamen ;-))

                  Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                  • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                  • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                  1 Antwort Letzte Antwort
                  0
                  • apollon77A apollon77

                    Hi,

                    English version below ...

                    wer ioBroker mit Redis einsetzt - vor allem wenn auch die Objects im Redis liegen - muss bitte sicherstellen das eine Systemeinstellung korrekt gesetzt ist. Auf diese haben wir leider keinen direkten Einfluss weil er von dem Betriebssystem abhängt wo der Redis-Server installiert ist und läuft.

                    Am Ende geht es um die eingestellte Locale des Systems. Die Locale hat einen Einfluss wie im Redis Zeichenketten verglichen werden, was ggf zu falschen Antworten führen kann.

                    Systemeinstellung testen

                    Um zu testen ob etwas geändert werden muss gibt es zwei Wege:

                    1.) Über redis-cli an der Kommandozeile die Redis-Shell öffnen und dann EVAL "return 'c-i.t' >= 'c.' and 'c-i.t' < 'c.香'" 1 1 ausführen. Wenn das Ergebnis (nil) ist 8siehe Grafik unten) ist alles ok und nichts muss geändert werden. Sollte das Ergebnis allerdings "1" sagen, so ist die Locale falsch eingestellt und muss korrigiert werden

                    2.) An einer normalen SSH Shell locale eingeben und schauen was bei "LANG" gesetzt ist, wenn die Ausgabe "LANG=C" (oder "LANG=" (nichts)) enthält, noch schauen ob bei "LC_ALL" etwas gesetzt ist. Falls eins davon zB "en-GB.UTF-8" oder "de-DE.UTF-8" oder ein anderer String als "C" bzw "leer" ist , so muss dieser korrigiert werden.

                    So ist es ok!
                    Bildschirmfoto 2022-02-28 um 21.51.53.png

                    Systemeinstellung korrigieren

                    Um die Einstellung zu korrigieren gibt es drei Optionen

                    Option 1: Konfiguration Redis-Server anpassen

                    Dazu muss das Service-File des Redis-Services editiert werden.

                    • Hierzu mittels systemctl status redis-server den Pfad des Service Files rausfinden
                      Bildschirmfoto 2022-02-28 um 21.58.07.png
                    • Dann das Service File editieren mit dem Texteditor (und mit sudo) Eurer Wahl (im Falle hier ist es in /lib/systemd/system/redis-server.service). Dort unter [Service] (das gibts schon) eine Zeile einfügen, dass es dann so aussieht:
                    ...
                    [Service]
                    Environment="LC_ALL=C"
                    ...
                    
                    • Danach mittels sudo systemctl daemon-reload das Service aktualisieren das die Änderungen bekannt sind
                    • Mit sudo systemctl restart redis den Dienst neu starten oder Rebooten.

                    Danach bitte Test wiederholen.

                    Option 2: Systemweite Änderung

                    Hierzu gilt aber zu bedenken das das ggf auch andere Auswirkungen haben kann (nicht auf ioBroker! aber ggf auf andere Software). Wenn auf dem System nur ioBroker und Redis läuft oder nur der Redis dann ist das ggf der einfachste Weg.

                    sudo localectl set-locale LANG=C

                    Dann Rebooten. Dann gern nochmal das obige testen, was jetzt gefixt sein sollte.

                    Wir planen das mit js-controller 4.1 (Q4/22) das zu prüfen und die User darauf hinzuweise, bis dahin muss es allerdings so reichen :-)

                    Option 3: via Redis Config:

                    siehe https://forum.iobroker.net/post/1114246


                    English version:

                    Hi,

                    if you use ioBroker with Redis - especially if the objects are located in Redis - please make sure that one system setting is set correctly. Unfortunately we have no direct influence on this because it depends on the operating system where the Redis server is installed and running.

                    At the end it is about the set locale of the system. The locale has an influence on how strings are compared in Redis, which can lead to wrong answers.

                    Test system settings

                    To test if something has to be changed there are two ways:

                    1. Open the Redis shell via redis-cli at the command line and then EVAL "return 'c-i.t' >= 'c.' and 'c-i.t' < 'c.香'" 1 1 execute. If the result is (nil) (see graphic below) everything is ok and nothing needs to be changed. However, if the result says "1", then the locale is set incorrectly and needs to be corrected.

                    2. At a normal SSH shell type locale and look what is set at "LANG", if the output contains "LANG=C" (or "LANG=" (nothing)), still look if something is set at "LC_ALL". If one of them is e.g. "en-GB.UTF-8" or "de-DE.UTF-8" or another string than "C" or "empty" it must be corrected.

                    So it is ok!
                    Bildschirmfoto 2022-02-28 um 21.51.53.png

                    Correct system setting

                    There are three options to correct the setting

                    Option 1: Adjust the configuration of the Redis server.

                    To do this, the service file of the Redis service must be edited.

                    • Use systemctl status redis-server to find out the path of the service file.
                      Bildschirmfoto 2022-02-28 um 21.58.07.png
                    • Then edit the service file with the text editor (and with sudo) of your choice (in the case here it is in /lib/system/system/redis-server.service). There under [Service] (that already exists) insert a line, that it looks like this:
                    ...
                    [Service]
                    Environment="LC_ALL=C"
                    ...
                    
                    • Afterwards with sudo systemctl daemon-reload update the service so that the changes are known.
                    • Restart or reboot the service with sudo systemctl restart redis.

                    After that please repeat the test.

                    Option 2: System wide change

                    But keep in mind that this may have other effects (not on ioBroker! but possibly on other software). If the system runs only ioBroker and Redis or only Redis then this might be the easiest way.

                    sudo localectl set-locale LANG=C

                    Then reboot. Then test the above again, which should be fixed now.

                    Option 3: via Redis Config:

                    see https://forum.iobroker.net/post/1114246

                    We plan to test this with js-controller 4.1 (Q4/22) and inform the users about it, but until then it has to do like this :-)

                    Ingo

                    hydrotecH Offline
                    hydrotecH Offline
                    hydrotec
                    schrieb am zuletzt editiert von
                    #11

                    @apollon77

                    Hallo Ingo,

                    seit erscheinen dieses Threads hat mich das Thema "Redis" etwas mehr beschäftigt. Ich bin Neueinsteiger bei Redis, und die Informationen im Web bezüglich der Einstellungen zur Redis Datenbank und locale sagen nicht wirklich viel aus. Beziehungsweise, in der Dokumentation von Redis finde ich nichts zu diesem Thema. Auf dieser Seite konnte ich zumindest schon einmal herausfinden das der große Unterschied von c zu x.UTF-8 an der Single-/Multibyte-Unicode-Kodierung liegt.
                    Dennoch bleibt bei mir die ein oder andere Frage noch offen.

                    Aktuell habe ich zwei Container (LXD/LXC) aufgesetzt, je einen für ioBroker und Redis. Beide mit der Einstellung "LOKALE=de-DE.UTF-8".

                    1.) Muss ich beide Container auf "LANG=C" umstellen, oder reicht es die Konfiguration des Redis-Server anzupassen?

                    2.) Kann die Umstellung während des laufenden Betriebs vorgenommen, bzw. sollte ioBroker vorher gestoppt, oder gar auf "jsonl:jsonl" umgestellt werden?

                    3.) Wie verhält es sich mit mySQL/MariaDB, sollte hier auch die locale beachtet und auf "LANG=C" umgestellt werden?

                    Eventuell kannst du mir etwas weiterhelfen.

                    Dankeschön
                    Gruß, Karsten

                    Ubuntu 22.04 LTS (LXD/LXC)
                    admin: v6.3.5
                    js-controller: v4.0.24
                    node: v18.16.1
                    npm: v9.5.1
                    repository: stable

                    apollon77A 1 Antwort Letzte Antwort
                    0
                    • apollon77A apollon77

                      Hi,

                      English version below ...

                      wer ioBroker mit Redis einsetzt - vor allem wenn auch die Objects im Redis liegen - muss bitte sicherstellen das eine Systemeinstellung korrekt gesetzt ist. Auf diese haben wir leider keinen direkten Einfluss weil er von dem Betriebssystem abhängt wo der Redis-Server installiert ist und läuft.

                      Am Ende geht es um die eingestellte Locale des Systems. Die Locale hat einen Einfluss wie im Redis Zeichenketten verglichen werden, was ggf zu falschen Antworten führen kann.

                      Systemeinstellung testen

                      Um zu testen ob etwas geändert werden muss gibt es zwei Wege:

                      1.) Über redis-cli an der Kommandozeile die Redis-Shell öffnen und dann EVAL "return 'c-i.t' >= 'c.' and 'c-i.t' < 'c.香'" 1 1 ausführen. Wenn das Ergebnis (nil) ist 8siehe Grafik unten) ist alles ok und nichts muss geändert werden. Sollte das Ergebnis allerdings "1" sagen, so ist die Locale falsch eingestellt und muss korrigiert werden

                      2.) An einer normalen SSH Shell locale eingeben und schauen was bei "LANG" gesetzt ist, wenn die Ausgabe "LANG=C" (oder "LANG=" (nichts)) enthält, noch schauen ob bei "LC_ALL" etwas gesetzt ist. Falls eins davon zB "en-GB.UTF-8" oder "de-DE.UTF-8" oder ein anderer String als "C" bzw "leer" ist , so muss dieser korrigiert werden.

                      So ist es ok!
                      Bildschirmfoto 2022-02-28 um 21.51.53.png

                      Systemeinstellung korrigieren

                      Um die Einstellung zu korrigieren gibt es drei Optionen

                      Option 1: Konfiguration Redis-Server anpassen

                      Dazu muss das Service-File des Redis-Services editiert werden.

                      • Hierzu mittels systemctl status redis-server den Pfad des Service Files rausfinden
                        Bildschirmfoto 2022-02-28 um 21.58.07.png
                      • Dann das Service File editieren mit dem Texteditor (und mit sudo) Eurer Wahl (im Falle hier ist es in /lib/systemd/system/redis-server.service). Dort unter [Service] (das gibts schon) eine Zeile einfügen, dass es dann so aussieht:
                      ...
                      [Service]
                      Environment="LC_ALL=C"
                      ...
                      
                      • Danach mittels sudo systemctl daemon-reload das Service aktualisieren das die Änderungen bekannt sind
                      • Mit sudo systemctl restart redis den Dienst neu starten oder Rebooten.

                      Danach bitte Test wiederholen.

                      Option 2: Systemweite Änderung

                      Hierzu gilt aber zu bedenken das das ggf auch andere Auswirkungen haben kann (nicht auf ioBroker! aber ggf auf andere Software). Wenn auf dem System nur ioBroker und Redis läuft oder nur der Redis dann ist das ggf der einfachste Weg.

                      sudo localectl set-locale LANG=C

                      Dann Rebooten. Dann gern nochmal das obige testen, was jetzt gefixt sein sollte.

                      Wir planen das mit js-controller 4.1 (Q4/22) das zu prüfen und die User darauf hinzuweise, bis dahin muss es allerdings so reichen :-)

                      Option 3: via Redis Config:

                      siehe https://forum.iobroker.net/post/1114246


                      English version:

                      Hi,

                      if you use ioBroker with Redis - especially if the objects are located in Redis - please make sure that one system setting is set correctly. Unfortunately we have no direct influence on this because it depends on the operating system where the Redis server is installed and running.

                      At the end it is about the set locale of the system. The locale has an influence on how strings are compared in Redis, which can lead to wrong answers.

                      Test system settings

                      To test if something has to be changed there are two ways:

                      1. Open the Redis shell via redis-cli at the command line and then EVAL "return 'c-i.t' >= 'c.' and 'c-i.t' < 'c.香'" 1 1 execute. If the result is (nil) (see graphic below) everything is ok and nothing needs to be changed. However, if the result says "1", then the locale is set incorrectly and needs to be corrected.

                      2. At a normal SSH shell type locale and look what is set at "LANG", if the output contains "LANG=C" (or "LANG=" (nothing)), still look if something is set at "LC_ALL". If one of them is e.g. "en-GB.UTF-8" or "de-DE.UTF-8" or another string than "C" or "empty" it must be corrected.

                      So it is ok!
                      Bildschirmfoto 2022-02-28 um 21.51.53.png

                      Correct system setting

                      There are three options to correct the setting

                      Option 1: Adjust the configuration of the Redis server.

                      To do this, the service file of the Redis service must be edited.

                      • Use systemctl status redis-server to find out the path of the service file.
                        Bildschirmfoto 2022-02-28 um 21.58.07.png
                      • Then edit the service file with the text editor (and with sudo) of your choice (in the case here it is in /lib/system/system/redis-server.service). There under [Service] (that already exists) insert a line, that it looks like this:
                      ...
                      [Service]
                      Environment="LC_ALL=C"
                      ...
                      
                      • Afterwards with sudo systemctl daemon-reload update the service so that the changes are known.
                      • Restart or reboot the service with sudo systemctl restart redis.

                      After that please repeat the test.

                      Option 2: System wide change

                      But keep in mind that this may have other effects (not on ioBroker! but possibly on other software). If the system runs only ioBroker and Redis or only Redis then this might be the easiest way.

                      sudo localectl set-locale LANG=C

                      Then reboot. Then test the above again, which should be fixed now.

                      Option 3: via Redis Config:

                      see https://forum.iobroker.net/post/1114246

                      We plan to test this with js-controller 4.1 (Q4/22) and inform the users about it, but until then it has to do like this :-)

                      Ingo

                      OliverIOO Offline
                      OliverIOO Offline
                      OliverIO
                      schrieb am zuletzt editiert von
                      #12

                      @apollon77

                      Ich hab noch eine Kombination.
                      Ich verwende redis in einem docker container auf alpine basis.
                      alpine hat erst einmal keine locale.
                      daher lässt sich 2) nicht abfragen. Aber wenn ich es richtig interpretiere,
                      dann geht ihr immer vom stand ohne locale aus und andere lokalisationen führen ggfs zu Problemen.
                      dann dürfte es mit alpine keine probleme geben

                      1. ergibt bei mir
                        (nil)

                      Meine Adapter und Widgets
                      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                      Links im Profil

                      apollon77A 1 Antwort Letzte Antwort
                      0
                      • hydrotecH hydrotec

                        @apollon77

                        Hallo Ingo,

                        seit erscheinen dieses Threads hat mich das Thema "Redis" etwas mehr beschäftigt. Ich bin Neueinsteiger bei Redis, und die Informationen im Web bezüglich der Einstellungen zur Redis Datenbank und locale sagen nicht wirklich viel aus. Beziehungsweise, in der Dokumentation von Redis finde ich nichts zu diesem Thema. Auf dieser Seite konnte ich zumindest schon einmal herausfinden das der große Unterschied von c zu x.UTF-8 an der Single-/Multibyte-Unicode-Kodierung liegt.
                        Dennoch bleibt bei mir die ein oder andere Frage noch offen.

                        Aktuell habe ich zwei Container (LXD/LXC) aufgesetzt, je einen für ioBroker und Redis. Beide mit der Einstellung "LOKALE=de-DE.UTF-8".

                        1.) Muss ich beide Container auf "LANG=C" umstellen, oder reicht es die Konfiguration des Redis-Server anzupassen?

                        2.) Kann die Umstellung während des laufenden Betriebs vorgenommen, bzw. sollte ioBroker vorher gestoppt, oder gar auf "jsonl:jsonl" umgestellt werden?

                        3.) Wie verhält es sich mit mySQL/MariaDB, sollte hier auch die locale beachtet und auf "LANG=C" umgestellt werden?

                        Eventuell kannst du mir etwas weiterhelfen.

                        Dankeschön
                        Gruß, Karsten

                        apollon77A Offline
                        apollon77A Offline
                        apollon77
                        schrieb am zuletzt editiert von
                        #13

                        @hydrotec
                        1.) redis Server reicht.
                        2.) gute Frage, weiß ich nicht. Ich denke geht im Betrieb aber sicher ist iobroker stoppen, redis konfig ändern und neu starten, iobroker neu starten
                        3.) keine Ahnung wie eine MySQL da tickt und ob Bzw wie relevant das da ist bei queries.

                        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                        hydrotecH 1 Antwort Letzte Antwort
                        1
                        • OliverIOO OliverIO

                          @apollon77

                          Ich hab noch eine Kombination.
                          Ich verwende redis in einem docker container auf alpine basis.
                          alpine hat erst einmal keine locale.
                          daher lässt sich 2) nicht abfragen. Aber wenn ich es richtig interpretiere,
                          dann geht ihr immer vom stand ohne locale aus und andere lokalisationen führen ggfs zu Problemen.
                          dann dürfte es mit alpine keine probleme geben

                          1. ergibt bei mir
                            (nil)
                          apollon77A Offline
                          apollon77A Offline
                          apollon77
                          schrieb am zuletzt editiert von
                          #14

                          @oliverio (Nil) ist gut und damit keine Probleme.

                          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                          1 Antwort Letzte Antwort
                          0
                          • ostseereiterO Offline
                            ostseereiterO Offline
                            ostseereiter
                            schrieb am zuletzt editiert von
                            #15

                            Hi ich komme nicht auf die Schell

                            andy@debian:~$ redis-cli
                            -bash: redis-cli: Kommando nicht gefunden.
                            
                            

                            Gruß OSR

                            Plattform
                            Linux x64 CPUs2 AMD G-T56N Processor 1646 MHz 8GB RAM

                            Meister MopperM Thomas BraunT 2 Antworten Letzte Antwort
                            0
                            • ostseereiterO ostseereiter

                              Hi ich komme nicht auf die Schell

                              andy@debian:~$ redis-cli
                              -bash: redis-cli: Kommando nicht gefunden.
                              
                              
                              Meister MopperM Online
                              Meister MopperM Online
                              Meister Mopper
                              schrieb am zuletzt editiert von
                              #16

                              @ostseereiter sagte in Wichtiger Hinweis für Redis Installationen!:

                              Hi ich komme nicht auf die Schell

                              Läuft denn redis? sudo systemctl status redis

                              Proxmox und HA

                              1 Antwort Letzte Antwort
                              0
                              • ostseereiterO ostseereiter

                                Hi ich komme nicht auf die Schell

                                andy@debian:~$ redis-cli
                                -bash: redis-cli: Kommando nicht gefunden.
                                
                                
                                Thomas BraunT Online
                                Thomas BraunT Online
                                Thomas Braun
                                Most Active
                                schrieb am zuletzt editiert von
                                #17

                                @ostseereiter

                                Das muss auch installiert sein.

                                apt policy redis-tools
                                

                                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

                                ostseereiterO 1 Antwort Letzte Antwort
                                0
                                • Thomas BraunT Thomas Braun

                                  @ostseereiter

                                  Das muss auch installiert sein.

                                  apt policy redis-tools
                                  
                                  ostseereiterO Offline
                                  ostseereiterO Offline
                                  ostseereiter
                                  schrieb am zuletzt editiert von
                                  #18

                                  @thomas-braun
                                  Ist wohl nicht installiert braucht man das?

                                  
                                  andy@debian:~$ sudo systemctl status redis
                                  [sudo] Passwort für andy:
                                  Unit redis.service could not be found.
                                  
                                  

                                  Gruß OSR

                                  Plattform
                                  Linux x64 CPUs2 AMD G-T56N Processor 1646 MHz 8GB RAM

                                  Thomas BraunT 1 Antwort Letzte Antwort
                                  0
                                  • ostseereiterO ostseereiter

                                    @thomas-braun
                                    Ist wohl nicht installiert braucht man das?

                                    
                                    andy@debian:~$ sudo systemctl status redis
                                    [sudo] Passwort für andy:
                                    Unit redis.service could not be found.
                                    
                                    
                                    Thomas BraunT Online
                                    Thomas BraunT Online
                                    Thomas Braun
                                    Most Active
                                    schrieb am zuletzt editiert von Thomas Braun
                                    #19

                                    @ostseereiter

                                    Um

                                    redis-cli
                                    

                                    aufzurufen braucht es die redis-tools. Da ist das nämlich drin.

                                    Bei dir läuft aber gar kein redis. Was haste also vor?

                                    Oder läuft da was anderes?

                                    systemctl status redis-server.service redis.service
                                    

                                    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

                                    ostseereiterO 1 Antwort Letzte Antwort
                                    0
                                    • Thomas BraunT Thomas Braun

                                      @ostseereiter

                                      Um

                                      redis-cli
                                      

                                      aufzurufen braucht es die redis-tools. Da ist das nämlich drin.

                                      Bei dir läuft aber gar kein redis. Was haste also vor?

                                      Oder läuft da was anderes?

                                      systemctl status redis-server.service redis.service
                                      
                                      ostseereiterO Offline
                                      ostseereiterO Offline
                                      ostseereiter
                                      schrieb am zuletzt editiert von
                                      #20

                                      @thomas-braun sagte in Wichtiger Hinweis für Redis Installationen!:

                                      systemctl status redis-server.service redis.service

                                      Ich habe nix vor dann ist es ja ok wenn ich es nicht installiert habe. Dann ist ja alles im grünen Bereich. Ich wüsste auch gar nicht wozu man das braucht.

                                      andy@debian:~$ systemctl status redis-server.service redis.service
                                      Unit redis-server.service could not be found.
                                      Unit redis.service could not be found.
                                      
                                      

                                      Gruß OSR

                                      Plattform
                                      Linux x64 CPUs2 AMD G-T56N Processor 1646 MHz 8GB RAM

                                      apollon77A 1 Antwort Letzte Antwort
                                      0
                                      • ostseereiterO ostseereiter

                                        @thomas-braun sagte in Wichtiger Hinweis für Redis Installationen!:

                                        systemctl status redis-server.service redis.service

                                        Ich habe nix vor dann ist es ja ok wenn ich es nicht installiert habe. Dann ist ja alles im grünen Bereich. Ich wüsste auch gar nicht wozu man das braucht.

                                        andy@debian:~$ systemctl status redis-server.service redis.service
                                        Unit redis-server.service could not be found.
                                        Unit redis.service could not be found.
                                        
                                        
                                        apollon77A Offline
                                        apollon77A Offline
                                        apollon77
                                        schrieb am zuletzt editiert von
                                        #21

                                        @ostseereiter naja schon etwas verwirrend. Nutzt du nun redis als db oder nicht? Wenn ein „iob status“ nicht sagt das es als redis läuft dann ist dieser thread für dich komplett irrelevant

                                        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                        ostseereiterO 1 Antwort Letzte Antwort
                                        0
                                        • apollon77A apollon77

                                          @ostseereiter naja schon etwas verwirrend. Nutzt du nun redis als db oder nicht? Wenn ein „iob status“ nicht sagt das es als redis läuft dann ist dieser thread für dich komplett irrelevant

                                          ostseereiterO Offline
                                          ostseereiterO Offline
                                          ostseereiter
                                          schrieb am zuletzt editiert von
                                          #22

                                          @apollon77 sagte in Wichtiger Hinweis für Redis Installationen!:

                                          iob status

                                          ok alles klar dann ist ja gut.

                                          
                                          iobroker is running on this host.
                                          
                                          
                                          Objects type: jsonl
                                          States  type: jsonl
                                          

                                          Gruß OSR

                                          Plattform
                                          Linux x64 CPUs2 AMD G-T56N Processor 1646 MHz 8GB RAM

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

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

                                          682

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          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