Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Node-Red - Speichern von Helligkeitszuständen

NEWS

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    11
    1
    294

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    1.8k

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    11
    1
    777

Node-Red - Speichern von Helligkeitszuständen

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
10 Beiträge 2 Kommentatoren 1.3k Aufrufe 2 Beobachtet
  • Ä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.
  • KeromidaK Offline
    KeromidaK Offline
    Keromida
    schrieb am zuletzt editiert von Keromida
    #1

    Hallo zusammen!

    Ich bin noch ziemlich neu in der ioBroker und Node-Red-Welt und bin gerade dabei die ersten Konfigurationen durchzuführen. Ich wollte als erstes eine Routine für einen einfachen Hue Smart Button und einer Hue Birne Steuern. Der Button soll den Helligkeitszustand der Birne mit dem Drücken auf den Button so verändern, dass immer der zuletzt aktive Zustand aufrechterhalten wird, nur eben mit einmaligem Drücken die Lampe ausgeschaltet und bei wiederholtem Drücken eingeschaltet wird. Leider erlaubt der HUE-Adapter nicht, dass vergangene Werte zwischengespeichert werden, wodurch ich Zustände speichern muss. Leider fehlt mir hier aktuell die technische Grundlage und auch langes Suchen nach Möglichkeiten die Helligkeit zu speichern und abzurufen brachte keinen Erfolg. Einzig allein fand ich Anleitungen wie man Lampen an- und ausschaltet. Das bringt mich jedoch nicht weiter, da die Problematik ist, dass die Birne immer wieder bei 100% angeschaltet wird anstelle von z.B. 50% Helligkeit. Daher muss ich die Helligkeit steuern anstelle des klassischen Verständnisses der booleschen Lampenoperatoren. Ich habe versucht über Node-Red eine Datei zu erstellen in die ich den letzten aktiven Zustand einer Lampe schreibe, und bei einer Änderung den Zustand nur überschreibe, komme aber hier ehrlich gesagt nicht weiter. Ich hoffe jemand kann mir bei der Lösung des Problems weiterhelfen. Besten Dank!

    Viele Grüße
    Keromida

    mickymM 1 Antwort Letzte Antwort
    0
    • KeromidaK Keromida

      Hallo zusammen!

      Ich bin noch ziemlich neu in der ioBroker und Node-Red-Welt und bin gerade dabei die ersten Konfigurationen durchzuführen. Ich wollte als erstes eine Routine für einen einfachen Hue Smart Button und einer Hue Birne Steuern. Der Button soll den Helligkeitszustand der Birne mit dem Drücken auf den Button so verändern, dass immer der zuletzt aktive Zustand aufrechterhalten wird, nur eben mit einmaligem Drücken die Lampe ausgeschaltet und bei wiederholtem Drücken eingeschaltet wird. Leider erlaubt der HUE-Adapter nicht, dass vergangene Werte zwischengespeichert werden, wodurch ich Zustände speichern muss. Leider fehlt mir hier aktuell die technische Grundlage und auch langes Suchen nach Möglichkeiten die Helligkeit zu speichern und abzurufen brachte keinen Erfolg. Einzig allein fand ich Anleitungen wie man Lampen an- und ausschaltet. Das bringt mich jedoch nicht weiter, da die Problematik ist, dass die Birne immer wieder bei 100% angeschaltet wird anstelle von z.B. 50% Helligkeit. Daher muss ich die Helligkeit steuern anstelle des klassischen Verständnisses der booleschen Lampenoperatoren. Ich habe versucht über Node-Red eine Datei zu erstellen in die ich den letzten aktiven Zustand einer Lampe schreibe, und bei einer Änderung den Zustand nur überschreibe, komme aber hier ehrlich gesagt nicht weiter. Ich hoffe jemand kann mir bei der Lösung des Problems weiterhelfen. Besten Dank!

      Viele Grüße
      Keromida

      mickymM Online
      mickymM Online
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #2

      @keromida Na dann beschreib doch mal, was Du schon versucht hast undworan Du gescheitert bist, vielleicht kann man Dir dann ja weiterhelfen und dann schreibst vielleicht auch, warum Du das in eine Datei und nicht in einem Datenpunkt speicherst.

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      KeromidaK 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @keromida Na dann beschreib doch mal, was Du schon versucht hast undworan Du gescheitert bist, vielleicht kann man Dir dann ja weiterhelfen und dann schreibst vielleicht auch, warum Du das in eine Datei und nicht in einem Datenpunkt speicherst.

        KeromidaK Offline
        KeromidaK Offline
        Keromida
        schrieb am zuletzt editiert von
        #3

        @mickym Ich muss gesehen, dass ich nicht damit gerechnet hätte darauf noch eine Antwort zu bekommen. Danke für die schnelle Rückmeldung!

        Das mit den Daten auslesen ist mir in den Sinn gekommen, da ich aus der Welt der Microcontroller komme und wenn Daten zwischengespeichert werden müssen werden diese entweder in Form eines Datenpaketes das zur Laufzeit erstellt wird zwischengespeichert oder eben ausgelagert. Da mir die Datenpunkte nicht bekannt waren bin ich auf die Datei ausgewichen. Das mit den Datenpunkten macht an der Stelle selbstverständlich mehr Sinn. Ich bin inzwischen soweit, dass ich den Button einlesen kann inedm ich über ein inject das letzte Update vom Button einlesen kann, dass die Routine ansteuert das Button-Event auszulesen (Einfacher Druck oder gedrückt gehaltene Taste). Das Event lese ich über ein Switch aus und lese damit dann aus, welche Helligkeit zum aktuell aktiven Zustand die Lampe besitzt. Diesen Zustand wollte ich in eine Datei zwischenspeichern. Das Prozedere habe ich natürlich nun revidiert, aber , auf die Gefahr hin, dass ich mich hier vollkommen blamiere, ich sehe aktuell keine Anweisung in Node-Red wie ich auf einen Datenpunkt zugreife geschweige denn einen erstelle. Google hat leider nur bedingt weitergeholfen. Ich hoffe ihr könnt mir ein gutes Einsteigertutorial empfehlen oder eventuell einen Workaround für die Verwendung von Datenpunkten. Ich wäre darüber sehr dankbar.

        mickymM 1 Antwort Letzte Antwort
        0
        • KeromidaK Keromida

          @mickym Ich muss gesehen, dass ich nicht damit gerechnet hätte darauf noch eine Antwort zu bekommen. Danke für die schnelle Rückmeldung!

          Das mit den Daten auslesen ist mir in den Sinn gekommen, da ich aus der Welt der Microcontroller komme und wenn Daten zwischengespeichert werden müssen werden diese entweder in Form eines Datenpaketes das zur Laufzeit erstellt wird zwischengespeichert oder eben ausgelagert. Da mir die Datenpunkte nicht bekannt waren bin ich auf die Datei ausgewichen. Das mit den Datenpunkten macht an der Stelle selbstverständlich mehr Sinn. Ich bin inzwischen soweit, dass ich den Button einlesen kann inedm ich über ein inject das letzte Update vom Button einlesen kann, dass die Routine ansteuert das Button-Event auszulesen (Einfacher Druck oder gedrückt gehaltene Taste). Das Event lese ich über ein Switch aus und lese damit dann aus, welche Helligkeit zum aktuell aktiven Zustand die Lampe besitzt. Diesen Zustand wollte ich in eine Datei zwischenspeichern. Das Prozedere habe ich natürlich nun revidiert, aber , auf die Gefahr hin, dass ich mich hier vollkommen blamiere, ich sehe aktuell keine Anweisung in Node-Red wie ich auf einen Datenpunkt zugreife geschweige denn einen erstelle. Google hat leider nur bedingt weitergeholfen. Ich hoffe ihr könnt mir ein gutes Einsteigertutorial empfehlen oder eventuell einen Workaround für die Verwendung von Datenpunkten. Ich wäre darüber sehr dankbar.

          mickymM Online
          mickymM Online
          mickym
          Most Active
          schrieb am zuletzt editiert von mickym
          #4

          @keromida Nun sobald Du das Objekt eingelesen hast - egal ob Du es im Moment mit einer Inject Node triggerst oder später mit etwas anderem - hast Du dann ja ein Objekt oder einen einzelnen Wert. Diesen Wert/Zustand speicherst Du in einem Datenpunkt ab. Dies machst Du in dem Du eine iobroker-out Node nutzt. Wenn Du den Datenpunkt vorher im iobroker bereits angelegt hast, wird der direkt dort rein geschrieben, falls nicht, dann kannst Du das im iobroker-out Node konfigurieren, was für ein Datenpunkt geschrieben wird. In diesem Fall musst Du aber darauf achten, dass Du dem Node-Red Adapter im iobroker die Berechtigung erteilst, Datenpunkte zu schreiben.

          0016919f-165c-4787-958c-013ab4ff20eb-image.png

          @keromida sagte in Node-Red - Speichern von Helligkeitszuständen:

          ich sehe aktuell keine Anweisung in Node-Red wie ich auf einen Datenpunkt zugreife geschweige denn einen erstelle.

          Dies machst Du in dem Du unter dem Topic den Pfad zu dem entsprechenden Datenpunkt definierst!

          Lesen bzw. Zugreifen tust Du über eine iobroker in Node.

          Hilfe findest Du in den Hilfetexten zu den Nodes!

          922c4955-3222-41f9-a4ff-369bf342fa3d-image.png

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          KeromidaK 1 Antwort Letzte Antwort
          1
          • mickymM mickym

            @keromida Nun sobald Du das Objekt eingelesen hast - egal ob Du es im Moment mit einer Inject Node triggerst oder später mit etwas anderem - hast Du dann ja ein Objekt oder einen einzelnen Wert. Diesen Wert/Zustand speicherst Du in einem Datenpunkt ab. Dies machst Du in dem Du eine iobroker-out Node nutzt. Wenn Du den Datenpunkt vorher im iobroker bereits angelegt hast, wird der direkt dort rein geschrieben, falls nicht, dann kannst Du das im iobroker-out Node konfigurieren, was für ein Datenpunkt geschrieben wird. In diesem Fall musst Du aber darauf achten, dass Du dem Node-Red Adapter im iobroker die Berechtigung erteilst, Datenpunkte zu schreiben.

            0016919f-165c-4787-958c-013ab4ff20eb-image.png

            @keromida sagte in Node-Red - Speichern von Helligkeitszuständen:

            ich sehe aktuell keine Anweisung in Node-Red wie ich auf einen Datenpunkt zugreife geschweige denn einen erstelle.

            Dies machst Du in dem Du unter dem Topic den Pfad zu dem entsprechenden Datenpunkt definierst!

            Lesen bzw. Zugreifen tust Du über eine iobroker in Node.

            Hilfe findest Du in den Hilfetexten zu den Nodes!

            922c4955-3222-41f9-a4ff-369bf342fa3d-image.png

            KeromidaK Offline
            KeromidaK Offline
            Keromida
            schrieb am zuletzt editiert von
            #5

            @mickym Vielen Dank! Jetzt stehe ich nur noch vor dem Problem wie ich die Sachen genau ansprechen muss, damit ich den in den Datenpunkt einbinde und auch wieder auslesen kann. Wie muss dafür genau der ioBroker out beziehungsweise iobroker in (oder get??) konfiguriert sein, damit ich die Werte in einen korrekten Zusammenhang bringe? Es geht mir da eigentlich darum, dass ich den Topic auswählen muss und den Namen, aber ich habe noch nicht ganz nachvollzogen wie diese abgelegt werden in dem Datenpunkt.

            mickymM 1 Antwort Letzte Antwort
            0
            • KeromidaK Keromida

              @mickym Vielen Dank! Jetzt stehe ich nur noch vor dem Problem wie ich die Sachen genau ansprechen muss, damit ich den in den Datenpunkt einbinde und auch wieder auslesen kann. Wie muss dafür genau der ioBroker out beziehungsweise iobroker in (oder get??) konfiguriert sein, damit ich die Werte in einen korrekten Zusammenhang bringe? Es geht mir da eigentlich darum, dass ich den Topic auswählen muss und den Namen, aber ich habe noch nicht ganz nachvollzogen wie diese abgelegt werden in dem Datenpunkt.

              mickymM Online
              mickymM Online
              mickym
              Most Active
              schrieb am zuletzt editiert von
              #6

              @keromida Du nimmst den iobroker-In Node, der triggert Deinen Flow automatisch, wenn sich der Wert des Datenpunktes ändert oder neu geschrieben wird. Mit dem iobroker-out Node schreibst Du den Datenpunkt. Die get-Node nimmst Du nur, wenn Du innerhalb eines Flows den Datenpunkt auslesen willst (also nicht getriggert wird).

              Welchen Datenpunkt - legst Du im Topic der In- bzw Out Nodes fest. Du kannst die Datenpunkte vorher im iobroker anlegen oder durch die iobroker-out Node anlegen lassen, wenn in der Adapterkonfig wie unten beschrieben die Erstellung von Fremd Objekten zugelassen ist.
              Du kannst aber auch den Pfad aus dem iobroker direkt über die Zwischenablage ins Topic kopieren:

              Also einfach mit der Maus in der 1. Spalte rechts auf den Datenpunkt fahren bis das Symbol kommt, um den gesamten Pfad in die Zwischenablage zu kopieren:

              screen.png

              und dann in der In oder out Node in den Topic kopieren

              screen.png

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              KeromidaK 1 Antwort Letzte Antwort
              0
              • mickymM mickym

                @keromida Du nimmst den iobroker-In Node, der triggert Deinen Flow automatisch, wenn sich der Wert des Datenpunktes ändert oder neu geschrieben wird. Mit dem iobroker-out Node schreibst Du den Datenpunkt. Die get-Node nimmst Du nur, wenn Du innerhalb eines Flows den Datenpunkt auslesen willst (also nicht getriggert wird).

                Welchen Datenpunkt - legst Du im Topic der In- bzw Out Nodes fest. Du kannst die Datenpunkte vorher im iobroker anlegen oder durch die iobroker-out Node anlegen lassen, wenn in der Adapterkonfig wie unten beschrieben die Erstellung von Fremd Objekten zugelassen ist.
                Du kannst aber auch den Pfad aus dem iobroker direkt über die Zwischenablage ins Topic kopieren:

                Also einfach mit der Maus in der 1. Spalte rechts auf den Datenpunkt fahren bis das Symbol kommt, um den gesamten Pfad in die Zwischenablage zu kopieren:

                screen.png

                und dann in der In oder out Node in den Topic kopieren

                screen.png

                KeromidaK Offline
                KeromidaK Offline
                Keromida
                schrieb am zuletzt editiert von
                #7

                @mickym Super, vielen Dank. Jetzt läuft es wie ich wollte. Ich habe aber noch eine Frage. Wenn ich einen Datenpunkt erstelle, gilt dieser dann nur für 1 Objekt? D.h. ich habe bei mir den Datenpunkt Lights_Brightness_Levels abgelegt. Darin ist jetzt der Wert Office.Desklight abgelegt mit seinem Helligkeitswert. Wenn ich jetzt eine zweite Lampe in den gleichen Datenpunkt legen will, geht das überhaupt? Sodass ich mehr oder weniger ein Array erzeuge oder eine Datenliste. Ich habe gesehen, dass man Sachen als Objekte anlegen kann und dann eine Form von CSV-Datei erstellen kann mit der man dann die Daten auslesen kann, aber so recht leuchtet mir nicht ein, ob sich das lohnt, da wenn wir annehmen, dass mehrere Personen simultan Schalter und Taster drücken können, stellt sich mir die Frage, ob die CSV-Datei den simultanen Zugriff überhaupt erlaubt.

                mickymM 1 Antwort Letzte Antwort
                0
                • KeromidaK Keromida

                  @mickym Super, vielen Dank. Jetzt läuft es wie ich wollte. Ich habe aber noch eine Frage. Wenn ich einen Datenpunkt erstelle, gilt dieser dann nur für 1 Objekt? D.h. ich habe bei mir den Datenpunkt Lights_Brightness_Levels abgelegt. Darin ist jetzt der Wert Office.Desklight abgelegt mit seinem Helligkeitswert. Wenn ich jetzt eine zweite Lampe in den gleichen Datenpunkt legen will, geht das überhaupt? Sodass ich mehr oder weniger ein Array erzeuge oder eine Datenliste. Ich habe gesehen, dass man Sachen als Objekte anlegen kann und dann eine Form von CSV-Datei erstellen kann mit der man dann die Daten auslesen kann, aber so recht leuchtet mir nicht ein, ob sich das lohnt, da wenn wir annehmen, dass mehrere Personen simultan Schalter und Taster drücken können, stellt sich mir die Frage, ob die CSV-Datei den simultanen Zugriff überhaupt erlaubt.

                  mickymM Online
                  mickymM Online
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von mickym
                  #8

                  @keromida In der Regel erstellt man / Du für jedes Gerät einen eigenen Datenpunkt, man kann diese ja hierarchisch gliedern und ist dann auch flexibler diese insgesamt mit Wildcards anzusprechen.
                  Nehmen wir mal an Du hast mehrere Lampen und legst die alle unter 0_userdata.0 in folgender Form an:

                  0_userdata.0.Lampen.Lampe1.state
                  0_userdata.0.Lampen.Lampe1.brightness
                  0_userdata.0.Lampen.Lampe1.color
                  0_userdata.0.Lampen.Lampe2.state
                  0_userdata.0.Lampen.Lampe2.brightness
                  0_userdata.0.Lampen.Lampe2.color

                  Wenn Du mit Wildcards arbeitest kannst Du mit 0_userdata.0.Lampen.* alle Lampen mit allen Zuständen abfragen. Mit 0_userdata.0.Lampen.*.brightness kannst Du die Helligkeit aller Lampen abfragen usw. Du bekommst aber sowieso für jedes Gerät Zustand eine Nachricht und das ist auch sinnvoll.

                  Objekte kannst Du nicht als Datenpunkte richtig anlegen. Es ist aus den Gründen die Du beschreibst auch nicht sinnvoll, da dadurch wirklich einer den anderen blockieren kann.

                  Wenn man wirklich Objekte in einem Datenpunkt zusammenfassen will, dann macht man das über ein Java Objekt, dass man vor Speicherung in einen Javastring umwandelt.

                  In der InjectNode gibt es visuellen Editor mit dem Du ein JavaObjekt erzeugen kannst und dann über die JSON Node als String in einer Node abspeichern kannst.

                  Wenn Du wirklich mehrere Geräte in einem Datenpunkt verarbeiten bzw. Speichern willst dann führ Dir einfach mal folgendes Beispiel vor Augen:

                  Über die Inject Node erstelle ich 2 Lampen in einem Objekt, wobei jede Lampe wieder ein Objekt im Moment mit einer Eigenschaft Brightness hat.

                  8b3825ff-4844-4730-86e0-8905d42231d2-image.png

                  Man sieht man legt hier sogar den Typ fest zum Beispiel eine Zahl für Brightness.
                  Im JSON Format (nicht JSON String) sieht das so aus

                  ef6efd7b-840d-4b2d-adc9-d3f620d49554-image.png

                  und wenn Du das in einer debug Node ausgibst - siehst Du, dass es sich um ein Objekt handelt.

                  a76d2b8e-4942-43d2-990f-15ff53fc64c7-image.png

                  Wenn Du so ein Objekt in einem Punkt abspeichern willst, dann wandelst Du es mit einer JSON Node in einen String um.

                  ca4b8e78-c3c5-4a64-8a96-9cc832b59c0f-image.png

                  Nun hast Du aus dem Objekt einen String gemacht - den kannst Du nun mit einer iobroker Out Node abspeichern. So speicherst Du halt generell Objekte in einem Datenpunkt.

                  Beim Wiederauslesen erhälst Du natürlich wieder einen String, den Du wieder mit einer JSON Node in ein Java Objekt umwandelst.

                  Dann kannst Du wieder ganz easy mit msg.payload.Lampe1.Brightness auf den Helligkeitswert der Lampe1 zugreifen.

                  Aber wie gesagt mehrere Zustände in einem Objekt zusammenzufassen bringt immer mehr die Gefahr von Kollisionen und ist in diesem Fall somit weniger empfehlenswert

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  KeromidaK 1 Antwort Letzte Antwort
                  1
                  • mickymM mickym

                    @keromida In der Regel erstellt man / Du für jedes Gerät einen eigenen Datenpunkt, man kann diese ja hierarchisch gliedern und ist dann auch flexibler diese insgesamt mit Wildcards anzusprechen.
                    Nehmen wir mal an Du hast mehrere Lampen und legst die alle unter 0_userdata.0 in folgender Form an:

                    0_userdata.0.Lampen.Lampe1.state
                    0_userdata.0.Lampen.Lampe1.brightness
                    0_userdata.0.Lampen.Lampe1.color
                    0_userdata.0.Lampen.Lampe2.state
                    0_userdata.0.Lampen.Lampe2.brightness
                    0_userdata.0.Lampen.Lampe2.color

                    Wenn Du mit Wildcards arbeitest kannst Du mit 0_userdata.0.Lampen.* alle Lampen mit allen Zuständen abfragen. Mit 0_userdata.0.Lampen.*.brightness kannst Du die Helligkeit aller Lampen abfragen usw. Du bekommst aber sowieso für jedes Gerät Zustand eine Nachricht und das ist auch sinnvoll.

                    Objekte kannst Du nicht als Datenpunkte richtig anlegen. Es ist aus den Gründen die Du beschreibst auch nicht sinnvoll, da dadurch wirklich einer den anderen blockieren kann.

                    Wenn man wirklich Objekte in einem Datenpunkt zusammenfassen will, dann macht man das über ein Java Objekt, dass man vor Speicherung in einen Javastring umwandelt.

                    In der InjectNode gibt es visuellen Editor mit dem Du ein JavaObjekt erzeugen kannst und dann über die JSON Node als String in einer Node abspeichern kannst.

                    Wenn Du wirklich mehrere Geräte in einem Datenpunkt verarbeiten bzw. Speichern willst dann führ Dir einfach mal folgendes Beispiel vor Augen:

                    Über die Inject Node erstelle ich 2 Lampen in einem Objekt, wobei jede Lampe wieder ein Objekt im Moment mit einer Eigenschaft Brightness hat.

                    8b3825ff-4844-4730-86e0-8905d42231d2-image.png

                    Man sieht man legt hier sogar den Typ fest zum Beispiel eine Zahl für Brightness.
                    Im JSON Format (nicht JSON String) sieht das so aus

                    ef6efd7b-840d-4b2d-adc9-d3f620d49554-image.png

                    und wenn Du das in einer debug Node ausgibst - siehst Du, dass es sich um ein Objekt handelt.

                    a76d2b8e-4942-43d2-990f-15ff53fc64c7-image.png

                    Wenn Du so ein Objekt in einem Punkt abspeichern willst, dann wandelst Du es mit einer JSON Node in einen String um.

                    ca4b8e78-c3c5-4a64-8a96-9cc832b59c0f-image.png

                    Nun hast Du aus dem Objekt einen String gemacht - den kannst Du nun mit einer iobroker Out Node abspeichern. So speicherst Du halt generell Objekte in einem Datenpunkt.

                    Beim Wiederauslesen erhälst Du natürlich wieder einen String, den Du wieder mit einer JSON Node in ein Java Objekt umwandelst.

                    Dann kannst Du wieder ganz easy mit msg.payload.Lampe1.Brightness auf den Helligkeitswert der Lampe1 zugreifen.

                    Aber wie gesagt mehrere Zustände in einem Objekt zusammenzufassen bringt immer mehr die Gefahr von Kollisionen und ist in diesem Fall somit weniger empfehlenswert

                    KeromidaK Offline
                    KeromidaK Offline
                    Keromida
                    schrieb am zuletzt editiert von Keromida
                    #9

                    @mickym Super vielen lieben Dank! Deine Erklärungen haben mir den Einstieg sehr erleichtert! Jetzt läuft endlich korrekt die Button Anbindung und auch schon der Smart Home Taster von GIRA. Das JSON Format ist für mich eine interessante Geschichte, damit ich per Fernzugriff mir den Zustand der Lichter im Haus holen kann. Danke vielmals nochmal an der Stelle für die Unterstützung!

                    Edit: Mir ist jetzt doch noch ein Problem aufgefallen. Ich habe über yahka die Lampe nun eingebunden. Jetzt habe ich einen On_State definiert der TRUE bzw. FALSE ist, je nachdem wie der Zustand der Lampe ist. Leider wird der On Zustand ( == TRUE) nicht von yahka erkannt, beziehungsweise sagt mir HomeKit, dass der Zustand der Lampe aus ist obwohl der nach State Table auf On ist.. Gibt es hierfür einen Workaround oder woher kommt die Problematik, dass die Zustände nicht korrekt abgebildet werden?

                    Edit 2: Für alle interessierten. Bin jetzt auf die Lösung des Problems gestoßen. HomeKit definiert On und Off nicht als boole'sche Algebra (TRUE / FALSE) sondern über Integerwerte als bool'sche Algebra (1 / 0). Anbei ein Screenshot der Implementierung über den yahka Adapter.
                    HomeKit.png

                    mickymM 1 Antwort Letzte Antwort
                    0
                    • KeromidaK Keromida

                      @mickym Super vielen lieben Dank! Deine Erklärungen haben mir den Einstieg sehr erleichtert! Jetzt läuft endlich korrekt die Button Anbindung und auch schon der Smart Home Taster von GIRA. Das JSON Format ist für mich eine interessante Geschichte, damit ich per Fernzugriff mir den Zustand der Lichter im Haus holen kann. Danke vielmals nochmal an der Stelle für die Unterstützung!

                      Edit: Mir ist jetzt doch noch ein Problem aufgefallen. Ich habe über yahka die Lampe nun eingebunden. Jetzt habe ich einen On_State definiert der TRUE bzw. FALSE ist, je nachdem wie der Zustand der Lampe ist. Leider wird der On Zustand ( == TRUE) nicht von yahka erkannt, beziehungsweise sagt mir HomeKit, dass der Zustand der Lampe aus ist obwohl der nach State Table auf On ist.. Gibt es hierfür einen Workaround oder woher kommt die Problematik, dass die Zustände nicht korrekt abgebildet werden?

                      Edit 2: Für alle interessierten. Bin jetzt auf die Lösung des Problems gestoßen. HomeKit definiert On und Off nicht als boole'sche Algebra (TRUE / FALSE) sondern über Integerwerte als bool'sche Algebra (1 / 0). Anbei ein Screenshot der Implementierung über den yahka Adapter.
                      HomeKit.png

                      mickymM Online
                      mickymM Online
                      mickym
                      Most Active
                      schrieb am zuletzt editiert von
                      #10

                      @keromida Überprüf generell auch mal deine Node-Red Adapter Einstellungen und ich empfehle Dir den Haken, dass alles in Strings umgewandelt wird rauszunehmen.

                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                      1 Antwort Letzte Antwort
                      0

                      Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                      Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                      Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                      Registrieren Anmelden
                      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

                      456

                      Online

                      32.9k

                      Benutzer

                      83.0k

                      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