Ankündigung

Einklappen
Keine Ankündigung bisher.

Key-Value-Pairs speichern

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Key-Value-Pairs speichern

    Hallo zusammen,
    ich versuche mich gerade an den ersten Rules und schon kommen zig Fragen auf.
    Zum Hintergrund: Ich steige von Wiregate auf Openhab um...

    Die Rules will ich u. a. nutzen, um diverse Szenen zu generieren etc.
    Hierbei würde ich gerne Key-Value-Pairs speichern und auch in der Rule wieder abrufen. Muss ich hierfür für jeden Wert ein eigenes Item anlegen oder wie macht ihr sowas?

    Beispiel:
    Starte Regel
    Prüfe, ob Funktion "Arbeiten" bereits aktiv (über ein Dummy-Item?)
    Prüfe, ob Funktion "Arbeiten" gesperrt (über ein 2. Dummy-Item?)
    Doing ...
    Speicher Status und ggf. Sperre in die Items

    Das hatte ich in den Wiregate-Plugins bisher über Key-Value-Pairs persistiert.
    Mit MapDB hab ich dazu noch keine Lösung gefunden, das mit dem Items ist ok, aber könnte m. E. einfacher gehen!?

    Danke schon mal!
    VG
    ...good byte...

    #2
    openHAB arbeitet anders als Wiregate, weshalb man natürlich auch die Denkweise für Problemlösungen anpassen muss.

    Was meinst Du mit Szenen?
    Handelt es sich um exklusive Szenen, also solche, die gegenseitig ablösend sind (also immer maximal eine Szene aktiv)?
    Was meinst Du mit gesperrt?
    Es gibt sehr ausgeklügelte Rules um eine Szenensteuerung zu realisieren, inklusive der Möglichkeit, Szenen über die Oberfläche zu speichern. Die Rules dazu sind allerdings eher von der heftigen Sorte.
    Ansonsten kannst Du Listen verwenden, um Sollwerte für Items abzulegen. Wenn einzelne Szenen für den Abruf gesperrt werden sollen, muss die Information irgendwo abgefragt und gespeichert werden, das passiert am besten über ein Switch Item pro Sperre.

    Kommentar


      #3
      Hi udo1toni, Du bist hier auch immer unterwegs ;-) Danke dafür!!!

      Genau, deswegen möchte ich OpenHab besser verstehen lernen, um die für mich optimalen Lösungen zu finden.

      Bei mir sind in Szenen diverse Punkte abgedeckt, in der Szene "ArbeitenBuero" z. B. Heizung auf Komfort und sperren, Lichter ein, andere aus, Steckdosen ein, Rollo steuern, in Zukunft Alexa steuern etc. - also eine Sammlung von Definitionen.
      Manche Szenen sperren sich gegenseitig (z. B. Baden und Duschen), manche Szenen möchte ich nicht aufrufen oder nicht beenden, wenn ich dies manuell starte/beende.
      Bei anderen Scripts speichere ich unterschiedlichste Werte aktuell in Key-Value-Pairs zwischen, so bin ich es halt von Redis o. ä. gewohnt ;-)
      Wie meinst Du "Listen verwenden" - ein Hashtable in den Variablen?
      Die Variablen in den Rules sind werden beim speichern der Rule gesetzt und behalten den Wert, der innerhalb der Rule gesetzt werden, bis die Datei neu gespeichert oder OpenHab neu gestartet wird? Das wäre schon mal - fast - permanent und damit könnte ich in einigen Fällen gut leben!

      Hast Du mir noch einen Link zu den "heftigen" Rules?

      Danke für die Ideen.
      ...good byte...

      Kommentar


        #4
        Genau, Hashtable war das Wort...
        Wenn Du die Hashtable außerhalb der Rule definierst, bleibt sie so lange erhalten, bis Du sie änderst.

        Kommentar

        Lädt...
        X