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. Skripten / Logik
  4. JavaScript
  5. States in Redis (States) DB die es in IOBroker nicht gibt.

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    112

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

States in Redis (States) DB die es in IOBroker nicht gibt.

Geplant Angeheftet Gesperrt Verschoben JavaScript
6 Beiträge 3 Kommentatoren 535 Aufrufe 2 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.
  • C Offline
    C Offline
    coalado
    schrieb am zuletzt editiert von
    #1

    Begrifflichkeiten: State: Zustand Object: Objekt
    Ich habe kürzlich auf Redis für die States gewechselt und die vorherige DB migriert. Die ObjektDB habe ich auf JSONLines belassen.

    Ich habe leider Probleme mit den Selektoren - Selektoren geben bei mir einfach nicht immer alle States zurück - ich konnte bisher nicht rauskriegen an was das liegt.

    Bei $("*") fehlen also oft viele States.

    Deswegen habe ich als "Workaround" versucht mich direkt auf Redis zu verbinden und die States da zu lesen - klappt prima.
    Allerdings treffe ich jetzt auf viele States die es in Redis gibt, aber in IOBroker nicht.
    z.B. "io.0_userdata.0.ext.myScenes.0.devices.lights.Gästebad"
    Dabei handelt es sich um einen State den es tatsöchlich früher mal gab, der inzwischen aber nicht mehr existiert. Dazu gibt es kein Objekt in IOBroker,(existsObject -> false) und es gibt keinen State in IOBroker (existsState -> false), allerdings existiert der Eintrag in der Redis DB.

    Wie kann das sein? Ich habe ca 13000 keys in Redis, und es scheint als wären viele davon veraltet.
    Das riecht früher oder später nach Problemen.

    1 Antwort Letzte Antwort
    0
    • T Nicht stören
      T Nicht stören
      ticaki
      schrieb am zuletzt editiert von
      #2

      Zu dem Redis kann ich dir nicht helfen, aber definiere "es fehlen viele States". Ich finde per selektor 600 mehr als ich habe ^^

      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

      Spenden

      C 1 Antwort Letzte Antwort
      0
      • T ticaki

        Zu dem Redis kann ich dir nicht helfen, aber definiere "es fehlen viele States". Ich finde per selektor 600 mehr als ich habe ^^

        C Offline
        C Offline
        coalado
        schrieb am zuletzt editiert von
        #3

        @ticaki

        Also grundsätzlich sind "600 mehr als ich habe" auch irgendwie falsch, oder?
        "Es fehlen States":
        Ich kann es nicht genau eingrenzen. Es sind zeitweise nicht alle enthalten (Nicht alle die ich z.B. in der Admin/Objects Ansicht habe, und auch nicht alle die ich in Redis habe).
        Irgendwann sind dann mal wieder plötzlich alle da. Ich konnte bisher nicht rausfinden was genau dazu führt, und wieso es dann wieder plötzlich korrekt ist. Eventl. ein falsch implementierter Cache, kaputte DB, ein Javascript Adapter Neustart, oder oder oder...

        Ich schaffe es leider auch nicht das Problem zuverlässig nachzustellen.

        Zum Anwendungsfall:
        Ich gebe Datenpunkten, die ich gerne als Alias hätte einen Namen wie alias.sensor.temperature.wohnzimmer. Ein Script läuft durch alle States, sucht nach Namen die mit alias. anfangen, und erstellt automatisch einen passenden Alias - und löscht alle anderen.

        Das geht natürlich mächtig schief, wenn ich keine zuverlässige Methode habe durch alle tatsächlich existierenden States zu loopen.
        Dieses Problem gab es übrigens auch vor meinem Wechsel zu Redis.

        paul53P T 2 Antworten Letzte Antwort
        0
        • C coalado

          @ticaki

          Also grundsätzlich sind "600 mehr als ich habe" auch irgendwie falsch, oder?
          "Es fehlen States":
          Ich kann es nicht genau eingrenzen. Es sind zeitweise nicht alle enthalten (Nicht alle die ich z.B. in der Admin/Objects Ansicht habe, und auch nicht alle die ich in Redis habe).
          Irgendwann sind dann mal wieder plötzlich alle da. Ich konnte bisher nicht rausfinden was genau dazu führt, und wieso es dann wieder plötzlich korrekt ist. Eventl. ein falsch implementierter Cache, kaputte DB, ein Javascript Adapter Neustart, oder oder oder...

          Ich schaffe es leider auch nicht das Problem zuverlässig nachzustellen.

          Zum Anwendungsfall:
          Ich gebe Datenpunkten, die ich gerne als Alias hätte einen Namen wie alias.sensor.temperature.wohnzimmer. Ein Script läuft durch alle States, sucht nach Namen die mit alias. anfangen, und erstellt automatisch einen passenden Alias - und löscht alle anderen.

          Das geht natürlich mächtig schief, wenn ich keine zuverlässige Methode habe durch alle tatsächlich existierenden States zu loopen.
          Dieses Problem gab es übrigens auch vor meinem Wechsel zu Redis.

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #4

          @coalado sagte: ein Javascript Adapter Neustart, oder oder oder...

          Der Neustart der Javascript-Instanz synchronisiert den Puffer der JS-Instanz mit dem js-controller.

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Antwort Letzte Antwort
          0
          • C coalado

            @ticaki

            Also grundsätzlich sind "600 mehr als ich habe" auch irgendwie falsch, oder?
            "Es fehlen States":
            Ich kann es nicht genau eingrenzen. Es sind zeitweise nicht alle enthalten (Nicht alle die ich z.B. in der Admin/Objects Ansicht habe, und auch nicht alle die ich in Redis habe).
            Irgendwann sind dann mal wieder plötzlich alle da. Ich konnte bisher nicht rausfinden was genau dazu führt, und wieso es dann wieder plötzlich korrekt ist. Eventl. ein falsch implementierter Cache, kaputte DB, ein Javascript Adapter Neustart, oder oder oder...

            Ich schaffe es leider auch nicht das Problem zuverlässig nachzustellen.

            Zum Anwendungsfall:
            Ich gebe Datenpunkten, die ich gerne als Alias hätte einen Namen wie alias.sensor.temperature.wohnzimmer. Ein Script läuft durch alle States, sucht nach Namen die mit alias. anfangen, und erstellt automatisch einen passenden Alias - und löscht alle anderen.

            Das geht natürlich mächtig schief, wenn ich keine zuverlässige Methode habe durch alle tatsächlich existierenden States zu loopen.
            Dieses Problem gab es übrigens auch vor meinem Wechsel zu Redis.

            T Nicht stören
            T Nicht stören
            ticaki
            schrieb am zuletzt editiert von
            #5

            @coalado

            Das hängt davon ab, ob $() das selbe sind wie States in der Objektansicht. Ich denke mal die Zählung ist anders.

            Ich weiß aber auch nicht genau wie der Javascript-Adapter in diesem Punkt funktioniert. z.B. bekommst bei einer Prüfungszählung mit existsState()eine andere Zahl raus als bei einer Prüfung mit await existsStateAsync(). Was ich aber vermute ist das der Javascript-Adapter Cache nicht synchron ist, wenn du States vermisst.

            Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

            Spenden

            paul53P 1 Antwort Letzte Antwort
            0
            • T ticaki

              @coalado

              Das hängt davon ab, ob $() das selbe sind wie States in der Objektansicht. Ich denke mal die Zählung ist anders.

              Ich weiß aber auch nicht genau wie der Javascript-Adapter in diesem Punkt funktioniert. z.B. bekommst bei einer Prüfungszählung mit existsState()eine andere Zahl raus als bei einer Prüfung mit await existsStateAsync(). Was ich aber vermute ist das der Javascript-Adapter Cache nicht synchron ist, wenn du States vermisst.

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von paul53
              #6

              @ticaki sagte: mit existsState()eine andere Zahl raus als bei einer Prüfung mit await existsStateAsync()

              existsState() holt in der synchronen Version die Zustände aus dem Puffer der JS-Instanz, existsStateAsync() erhält - wie die asynchrone Version von existsState() - die Zustände vom js-controller.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              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

              786

              Online

              32.5k

              Benutzer

              81.7k

              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