ioBroker Datenpunkte anlegen – So geht’s!

Veröffentlicht von Lukas am

Hast du dich mal so richtig mit den Objekten in ioBroker befasst? Ich meine so wirklich mit vielen Hintergründen und zusätzlichen Infos, die dir dein Leben leichter machen können? Vermutlich schon, oder? Doch weißt du auch schon, wie du in ioBroker Datenpunkte anlegen kannst?

Ich sage dir ganz ehrlich, gerade so die ersten Tage mit ioBroker war für mich vieles schwierig. Ich habe viele Fehler gemacht und musste einiges wieder ausbessern. Aber dadurch habe ich dazugelernt und kann dir heute in diesem Artikel tolle Hintergründe und Tipps geben, die dir dein Leben mit ioBroker viel leichter machen.

In diesem Artikel möchte ich mir mit dir ansehen, wie wir in ioBroker Datenpunkte anlegen können und welche zwei „Arten“ von Datenpunkten wir unterscheiden können. Mit Arten meine ich dabei nicht, dass es zwei verschiedene Sorten gibt. Sondern eher, dass Datenpunkte aus zwei verschiedenen Quellen kommen können.

Eine der Quellen bist du als Anwender. Und genau darauf wollen wir heute hinaus!

Also lehn dich zurück und genieße die nächsten Zeilen. Denn jetzt stehst du als Anwender absolut im Vordergrund!

ioBroker Objekte

Woher kommen in ioBroker Datenpunkte?

In ioBroker finden wir unsere Datenpunkte unter dem Menüpunkt Objekte. Dort befinden sich quasi alle Variablen unseres Smart Homes, auf die wir oft sogar einen Einfluss haben. Auf Basis dieser Datenpunkte können wir Skripte erstellen und einen Überblick über unsere Geräte behalten.

Wichtig dabei zu wissen ist natürlich, dass nicht jeder Datenpunkt zwangsläufig genutzt werden muss. Häufig benötigt man nur einen Bruchteil, da einige Informationen auch nicht direkt für die Automatisierung genutzt werden können oder in diesem Kontext sinnlos sind. Hängt aber natürlich auch vom jeweiligen Anwendungsfall ab.

So ist es kein Wunder, dass ich bei inzwischen mehr als 120.000 Datenpunkten nur einen Bruchteil für die Steuerung meines Smart Homes brauchen kann.

Doch woher kommen überhaupt so viele Datenpunkte?

Im Kern ist es sehr einfach und schnell erklärt. Denn Datenpunkte kommen entweder aus der Verbindung zu anderen Geräten oder dadurch, dass sie durch den Benutzer selbst angelegt werden.

Intel NUC 11 NUC11PAHi5 Panther Canyon Mini PC, i5-1135G7, 16GB RAM, 512GB SSD,...*
  • [Kleine Größe, große Leistung] NUC11PAHi5 (auch bekannt als Panther Canyon) ist ein Intel Nuc...
  • [Memory King, Speed Maniac] NUC11PAHi5 verfügt über 16 GB Dual-Channel-DDR4 RAM, was Ihr...
  • [Visuelle Explosion, Anzeige auf mehreren Bildschirmen] Intel NUC 11 unterstützt 4K-Anzeige oder...

Zuletzt aktualisiert 19.03.2024 / (*) Affiliate Links / (**) Affiliate Links, Preis kann abweichen (andere Plattform) / Bilder von der Amazon Product Advertising API / Der angegebene Preis kann seit der letzten Aktualisierung gestiegen sein.

Datenpunkte aus Adaptern

Die Datenpunkte aus Adapter haben einen ganz elementaren Zweck im System. Sie stellen die Brücke zwischen deinen Skripten und dem eigentlichen Gerät her. Nehmen wir uns als Beispiel hierfür mal eine Lampe vor.

Diese Lampe kann ich nun einschalten, dimmen und deren Farbe verändern. Jede dieser Option wird in der Regel über einen eigenen Datenpunkt abgebildet. So gibt es zum Beispiel Datenpunkte zum reinen Ein- und Ausschalten, jene zum Steuern des Farbe oder andere zum Kontrollieren der Helligkeit.

Alle Geräte im Smart Home, die über einen eigenen Adapter verfügen, können so ihre Steuerungsoptionen mit ioBroker teilen. Dabei gibt es natürlich eine Unmenge an Geräten, die hier eingebunden werden können. Lampen, Steckdosen, Schalter, Taster, … Naja, die Liste ist wirklich sehr lang.

Wichtig zu wissen ist außerdem, dass du diese Datenpunkte in der Regel nicht dauerhaft löschen kannst. Denn spätestens beim nächsten Neustart werden diese wieder in deinen ioBroker eingelesen und stehen wieder zur Verfügung. Das kann dir auch beim Umbenennen der Datenpunkte passieren.


Stay connected!

Das Smart Home ist ständig verbunden, warum nicht auch wir?

Folge mir auf der Plattform deiner Wahl.


Eigene Datenpunkte in ioBroker

Im Gegensatz zu Datenpunkten, die aus Adaptern resultieren, können eigene Datenpunkte nach Belieben angepasst, verändert und vor allem verwendet werden.

Diese Datenpunkte kannst du zum Beispiel nutzen, um eigene Werte zu speichern und sie in verschiedenen Skripten zu nutzen. Es ist damit auch möglich, dass Skripte untereinander Daten austauschen, obwohl sie nicht in einem direkten Zusammenhang zueinander stehen.

Ein klassisches Beispiel war für mich, dass ich so einen Zähler einbauen konnte, der mir die Anzahl der durchgeführten Müllleerungen speichert. Verändert wurde der Zähler dabei über das Smartphone, sobald ich einen NFC-Tag gescannt habe. Die aktuelle Anzahl der Müllleerungen konnte ich visualisieren oder (so mache ich es aktuell) am Ende des Jahres in einer Übersichts-Email versenden.

Eigene Datenpunkte in ioBroker sind also immer dann hilfreich, wenn du etwas speichern möchtest, das sich nicht über die „herkömmlichen“ Datenpunkte lösen lässt. Was auch immer es ist, meist ist es möglich.

Jetzt mehr erfahren:  Die besten ioBroker VIS Vorlagen

In ioBroker Datenpunkte anlegen

Gut. Nun wissen wir schon etwas mehr über die Datenpunkte an sich und können besser einordnen, wofür eigene Datenpunkte genutzt werden können. Das bringt uns auch gleich zum nächsten Thema, denn nun wollen wir wirklich in ioBroker Datenpunkte anlegen.

Dazu wechseln wir auf die Ansicht der Objekte, wählen den Ordner 0_userdata und darin den Unterordner 0. Du kannst natürlich auch andere Ordner anlegen, wenn dir das lieber ist. Achte aber unbedingt darauf, dass du dich im Ordner 0_userdata befindest. Dieser Ordner beinhaltet alle Datenpunkte, die du als Benutzer anlegst.

Anders als von vielen immer wieder gesagt, solltest du eigene Datenpunkte nicht im Ordner javascript machen. Dort gehören sie definitiv nicht hin. Und ja, auch ich habe ganz zu Beginn diesen Fehler gemacht und bin immer noch dabei, meine eigenen Datenpunkte umzustellen. Aber aus Fehlern lernt man nun mal. So ist das auch im Smart Home.

Man muss natürlich auch dazu sagen, dass es zu Beginn üblich war, eigene Datenpunkte im Javascript-Ordner zu platzieren (Quelle: smarthome-tricks.de). Heute macht man das allerdings nicht mehr, da die Entwickler einen eigenen Platz dafür geschaffen haben.

Klicke nun oben auf das Plus und erstelle so einen neuen Datenpunkt. Dabei musst du nun selbst auswählen, um welche Art von Datenpunkt es sich dabei handeln soll. Lass uns daher im nachfolgenden Abschnitt noch ein wenig auf die verschiedenen Arten von Datenpunkten zu sprechen kommen.

ioBroker Datenpunkte anlegen
Jetzt mehr erfahren:  ioBroker Backup erstellen - So geht's!

Die Typen von Datenpunkten

Tatsächlich sind viele der Datenpunkte, die du erstellen kannst, selbsterklärend. Dennoch möchte ich hier einmal kurz auf die verschiedenen Arten eingehen, da gerade Einsteigern die Unterscheidung nicht immer ganz so leicht fällt.

  • Verzeichnis: Diesen Typ wählst du, wenn du ein Unterverzeichnis erstellen möchtest, das wiederum Datenpunkte enthalten kann. Es ist also ein Ordner. Ähnlich wie am PC oder Mac.
  • Kanal: Ein Kanal erstellt einen neuen Ordner. Dieser erhält jedoch nach dem Erstellen direkt den Typ Channel.
  • Gerät: Ähnlich wie bei einem Kanal wird hier ein neuer Ordner erstellt. Er erhält allerdings direkt den Typ Gerät.
  • Datenpunkt: Hiermit kannst du einen klassischen Datenpunkt erstellen, der später einen oder mehrere Werte beinhaltet und für Skripte genutzt werden kann.

Nachdem du nun den Typ Datenpunkt ausgewählt hast, erscheint eine neue Zeile. In dieser Zeile kannst du den Zustandstyp auswählen. Auch hier stehen wieder mehrere Möglichkeiten zur Verfügung, die wir uns ebenfalls nochmals genauer ansehen wollen.

  • Boolean: Ein boolscher Wert stellt zwei Auswahlmöglichkeiten zur Verfügung. Hier kann der Zustand entweder wahr oder falsch sein.
  • String: Ein String beinhaltet alphanumerische Zeichen. Also kannst du dort Buchstaben und Zahlen kombinieren. Für das reine Speichern von Zahlen eignet sich dieser Datentyp jedoch nicht.
  • Number: Unschwer zu erraten ist, dass man mit diesem Datentyp zahlen speichern kann. Der große Vorteil besteht darin, dass man diese Zahlen später für mathematische Vorgänge weiterverarbeiten kann.
  • Array: Ein Array ist eine Liste. Sie speichert mehrere Werte und ist daher als eine Art Sammlung von Werten zu verstehen. Einem Array kann man neue Werte hinzufügen, alte verändern und auch Werte löschen.
  • JSON: Dieser Datentyp ist dazu in der Lage, Daten in Form von JSON zu speichern. Im Regelfall wirst du nur selten von diesem Datentyp Gebrauch machen müssen. Außer du rufst vielleicht direkt Daten von einer Schnittstelle ab.
  • Object: Jetzt wird es etwas komplexer. Denn mit diesem Datentyp kannst du ganze Objekte speichern. Ein Objekt ist dabei ein kompletter Datenpunkt. Das bedeutet, dass du in diesen Zustand einen anderen Datenpunkt laden kannst.
  • Mixed: Mit diesem Datenpunkt bist du zwar flexibel, hast dich aber im Grunde nicht festgelegt. Du solltest ihn dann nutzen, wenn die Werte zum Speichern variieren und keinem bestimmten Typ zugeordnet werden können.

Eigene Datenpunkte verwalten

Anders als bei Adapter-Datenpunkten … Nein, Quatsch!

Jeder Datenpunkt, völlig egal ob selbst angelegt oder vom Adapter geliefert lässt sich bearbeiten. Der einzige Unterschied besteht quasi darin, dass du bei eigenen Datenpunkten wirklich der Chef bist. Das bedeutet, dass Änderungen nicht durch den Adapter rückgängig gemacht werden oder jemand anderes mitmischt.

Du kannst sie nach deinen eigenen Vorstellungen in Skripten nutzen, anpassen und auswerten. Der einzig große Unterschied, wenn man so möchte, besteht darin, dass diese Datenpunkte beim Löschen eines Adapters erhalten bleiben. Also du musst diese Datenpunkte tatsächlich wirklich selbst verwalten.

Da sie jedoch alle im Ordner 0_userdata liegen ist dir sofort klar, ob es sich dabei um einen selbst erstellten Datenpunkt handeln, was wiederum die Verwaltung wesentlich einfacher macht. Würdest du hingegen eigene Datenpunkte in die anderen Ordner speichern, verlierst du irgendwann den Überblick. Das kannst du mir glauben.

Wichtig zu wissen ist außerdem, dass du eigene Datenpunkte nur dann anlegen musst, wenn du sie gezielt für ein Skript oder etwas anderes brauchst. Denn viele Kleinigkeiten lassen sich auch ohne eigenen Datenpunkt umsetzen, so dass die Erstellung in vielen Fällen überflüssig sein dürfte. Nichtsdestotrotz ist es in einem solch flexiblen System wichtig zu wissen, dass auch du deine Daten für die Weiterverarbeitung unterbringen kannst und ioBroker dich an dieser Stelle nicht beschränkt.

In ioBroker Datenpunkte anlegen? Ab sofort kein Problem mehr!

Eigene Datenpunkte anpassen

Nachdem du nun Datenpunkte angelegt hast, kannst du diese noch weiter anpassen. Der Vorteil dabei besteht darin, dass du zum Beispiel die Einheit (bei Zahlen) angeben kannst. Du kannst außerdem ein Icon hinterlegen sowie Minimum- und Maximum-Werte definieren.

Das hilft dir später dabei, dass du einen besseren Überblick über deine Datenpunkte behältst.

Um derartige Werte und Einheiten zu setzen, musst du in die Ansicht für Objekte in ioBroker navigieren. Dort angekommen, suchst du dir den entsprechenden Datenpunkt aus und klickst dann auf das Stiftsymbol an der rechten Seite der Zeile. Daraufhin öffnet sich ein Fenster, in dem du auf den Bereich Common wechselst. Du findest diesen an der Oberseite des Dialogs.

Einheit in Datenpunkten von ioBroker

In meinem Beispiel siehst du, dass ich die Einheit des Datenpunkts festgelegt, aber keine Minimum- und Maximumwerte definiert habe. Das liegt in meinem Fall daran, dass ich bislang noch nicht dazu gekommen bin. Schließlich ist mir das Erklären gerade einen Tick wichtiger. 🙂

Um die Einstellungen zu treffen musst du nicht in den Expertenmodus wechseln.

Kategorien: ioBroker

Lukas

Hi, ich bin Lukas, ein leidenschaftlicher Wirtschaftsinformatiker und Smart Home-Enthusiast. Seit Jahren teile ich meine Erfahrungen und Kenntnisse über Hausautomation und Digitalisierung auf meinem Blog. Meine fachliche Expertise in IT-Systemen und Netzwerken ermöglicht es mir, komplexe Smart Home-Lösungen zu entwerfen und zu implementieren, speziell mit dem Einsatz von ioBroker. Mein persönliches Smart Home-Projekt, das ich auf einem selbst konfigurierten Server-Cluster in meinem Keller betreibe, ist ein Zeugnis meiner Fähigkeiten und meines Engagements für intelligente Technologie.In meinem Blog erkundest du die faszinierende Welt der Hausautomation, mit besonderem Fokus auf ioBroker, und erhältst Einblicke in die neuesten Trends und besten Praktiken. Ob du ein Anfänger oder ein erfahrener Smart Home-Nutzer bist, hier findest du nützliche Tipps, um dein Zuhause sicherer, komfortabler und effizienter zu gestalten.Folge mir auf Social Media über die Links oben, um keine Updates zu verpassen. Ich freue mich darauf, dich auf der Reise zu einem fortschrittlichen und vollwertigen Smart Home zu begleiten!

12 Kommentare

Schiro · 18. August 2023 um 09:10

eine Zahl vom Terminal (raspi) in einen Datenpunkt kopieren

    Lukas · 19. August 2023 um 21:17

    Hallo Schiro,

    da lautet das magische Wort „exec“. In der Praxis nutzt man das aber meines Wissens nach nicht ganz so häufig.
    Im ioBroker-Forum gibt es dazu aber auch einen eigenen Thread. Schau dort unbedingt mal vorbei.

    Smarte Grüße

Martin · 11. Juni 2023 um 18:06

Das Geile an 4 Stunden googeln : niemand erklärt einem wie man userdata Datenpunkte SETZT
mit javascript
So gehts:

userdata stromzaehler directory unter userdata_0.0 kreieren

„allephasen“ Datenpunkt kreieren.
„allephasen“ ist typ „datenpunkt“, Zustandstyp „number“
Mit „objekt bearbeiten“ habe ich „rolle“ auf „value“ gesetzt , ist default auf „state“
endlich:

setState(„0_userdata.0.stromzaehler.allephasen“ , summe, true);

„summe“ ist ein float-Wert, bei mir die summe aus den 3 Leistungswerten die mein smartmeter ausgibt.

Zu guter Letzt habe ich noch die „history“ für „allepahsen“ aktiviert, man möchte ja mal
vielleicht was plotten

Meine Fresse, das hat mich echt den letzten Nerv gekostet.

    Lukas · 11. Juni 2023 um 18:30

    Hallo Martin,

    danke, dass du uns allen das in dieser Gelassenheit erklärt hast.

    Smarte Grüße

Christian · 3. Dezember 2022 um 07:30

Gibt es irgendeine Möglichkeit, das Aktualisieren der Datenpunkte vom Adapter zu verhindern?
Konkret legt mir ein Adapter einen Datenpunkt immer als ‚Zahl‘ an, ich benötige diesen aber als ‚Zeichenkette‘, sonst werden Kommazahlen falsch interpretiert, wenn ich diese von fhem aus beschreibe.
Kann ich in ioBroker irgendwie per script diese Änderung vornehmen oder geht das nur per Maus im webinterface?

    Lukas · 3. Dezember 2022 um 07:53

    Hallo Christian,

    wenn du ein Problem mit Kommazahlen hast, dann wird es wohl am Datentyp bzw. am jeweiligen System liegen.
    Du kannst natürlich den Datentyp des Datenpunkts anpassen, aber bei Zahlen ist ein String niemals ratsam. Ein String ist eine alphanumerische Zeichenkette und muss beim Weiterverarbeiten wieder entsprechend umgewandelt werden.
    Was du jedoch tun kannst, ist dir einen zweiten Datenpunkt anzulegen. Diesen beschreibst du per Skript automatisch und der enthält deinen String. So hast du sowohl den originalen Datenpunkt, als auch den zur Weiterverarbeitung.
    Aber grundsätzlich würde ich schauen, warum hier nur der String funktioniert. Das sollte so nicht sein.

    Hast du es schon mal mit einem Punkt statt einem Komma versucht? Kommazahlen werden in Systemen üblicherweise durch einen Punkt getrennt.

    Smarte Grüße

      Christian · 3. Dezember 2022 um 14:14

      Danke für Deine Antwort, Lukas. Mit Kommazahl meinte ich den Punkt.
      Ist etwas komplex, das Ganze. Ich versuche, auf meinem fhem-System ein Plissee von homematic IP (HmIP-HDM2) zu nutzen. Das wird von der ccu3 nicht komplett unterstützt und läuft daher auch in fhem nicht. Am Accesspoint kann ich es dafür aber anmelden und den in iobroker als Adapter anlegen. Steuern will ich aber nicht in iobroker, sondern in fhem, exportiere daher die Geräte an fhem. Das geht soweit ganz gut, nur dass fhem und iobroker hier irgendwas in der Kommunikation verhaspeln. Mir ist klar, dass das eine komplizierte Hintereinanderreihung ist.
      Langer Rede kurzer Sinn:
      set fhem.0.send2ioB hmip.0.devices.30142E1B4C00008882440318.channels.1.primaryShadingLevel 0.32
      setzt das Plissee auf 0.32, wenn ich als Zeichenkette einstelle und auf 0, wenn ich Zahl verwende.
      Mit Komma statt Punkt ändert sich nichts für Zahl, bei Zeichenkette wir der Wert mit Komma gesetzt, aber das Plissee fährt nicht.
      Das mit dem zweiten Datenpunkt versuche ich mal. Bin in iobroker kompletter Neuling, habe das nur wegen des Plissees parallel zu fhem installiert.

        Lukas · 3. Dezember 2022 um 15:31

        Hallo Christian,

        genau, am besten probierst du das mal mit einem zweiten Datenpunkt. Ansonsten ist das natürlich auch ein sehr individueller Fall, für den eine Standardlösung zu finden sehr schwierig ist.
        Daher kann ich leider auch nur etwas um die Sache herum raten und hoffen, dass es irgendwie klappt.

        Smarte Grüße

          Christian · 10. Dezember 2022 um 15:49

          Habe es nun anders gelöst und den code gepatched, der bei Typ ‚Zahl‘ die Nachkommastellen (eigentlich korrekterweise) entfernen würde.
          https://forum.iobroker.net/topic/5031/fhem-adapter/635

          Lukas · 10. Dezember 2022 um 17:00

          Hallo Christian,

          danke, dass du noch zur Lösung des Rätsels beiträgst. Ich hoffe, dass so auch andere etwas aus der Sache mitnehmen können.
          Und natürlich super, dass du einen Weg gefunden hast!

          Smarte Grüße

Thomas · 16. August 2022 um 15:51

Ich würde es super finden, wenn Du hier noch ergänzt, wie man z.B wie früher in Iobroker min/max Werte € Zeichen oder ähnliches hinzufügt. LG

    Lukas · 16. August 2022 um 16:07

    Hallo Thomas,

    ich checke das ab und werde das dann in den Artikel aufnehmen. Danke für den Tipp! 🙂

    Smarte Grüße

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert