Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
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
    7
    1
    65

  • 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.

Scheduled Pinned Locked Moved JavaScript
6 Posts 3 Posters 535 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    C Offline
    coalado
    wrote on last edited by
    #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 Reply Last reply
    0
    • T Do not disturb
      T Do not disturb
      ticaki
      wrote on last edited by
      #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 Reply Last reply
      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
        wrote on last edited by
        #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 Replies Last reply
        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
          wrote on last edited by
          #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 Reply Last reply
          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 Do not disturb
            T Do not disturb
            ticaki
            wrote on last edited by
            #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 Reply Last reply
            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
              wrote on last edited by 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 Reply Last reply
              0
              Reply
              • Reply as topic
              Log in to reply
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes


              Support us

              ioBroker
              Community Adapters
              Donate

              477

              Online

              32.5k

              Users

              81.7k

              Topics

              1.3m

              Posts
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
              ioBroker Community 2014-2025
              logo
              • Login

              • Don't have an account? Register

              • Login or register to search.
              • First post
                Last post
              0
              • Home
              • Recent
              • Tags
              • Unread 0
              • Categories
              • Unreplied
              • Popular
              • GitHub
              • Docu
              • Hilfe