NEWS
Werte in die Adapter-Datenbank schreiben
-
Ich habe einen adapter für die Abfrage von Werten eines Wechselrichters (Solarmax geschrieben).
Diese Werte habe ich in einem Array und möchte sie in die Objektdatenbank schreiben. Damit komme ich allerdings nicht klar. Es werden irgendwie zu viele Kategorien "iobroker.solarmax adapter" geschrieben:

Und die wichtigen Objekte werden nicht reingeschrieben.
Hier ist der Log:

Hier ist mein Code:
https://github.com/SimonBard/iobroker.solarmax -
Ich habe in der main.js zuerst ein objekt erzeugt:
this.setObjectNotExists('data.Power', { type: 'channel', common: { name: 'name', type: 'number', read: false, write: true, unit: 'W' }, native: {} });und dann in der lib den Wert mit
__adapter.setState('data.Power', values[i], true);gesetzt (siehe github). Im Log steht auch State...changed: 1580, aber er wird in der Objektübersicht nicht angezeigt oder als null angezeigt.
-
Ich glaube das Objekt wurde ohne Rolle angelegt und deshalb nicht sichtbar.
Füge unterhalb von " type: 'number', " das Attribut " role: 'value', " ein:this.setObjectNotExists('data.Power', { type: 'channel', common: { name: 'name', type: 'number', role: 'value', read: false, write: true, unit: 'W' }, native: {} });Und installiere den Adapter neu, damit das unsichtbare Element gelöscht wird.
Damit hat es bei meinem Versuch geklappt.Edit: Hab es nochmal eingehend getestet, es liegt nicht (nur?) an der Rolle sondern auch an dem type: 'channel'. Tausche dies mit state und füge die Rolle hinzu, instanz neu installieren dann sollte es passen. Ob das ein Bug ist, oder gewollt weiß ich nicht.
-
Ich glaube das Objekt wurde ohne Rolle angelegt und deshalb nicht sichtbar.
Füge unterhalb von " type: 'number', " das Attribut " role: 'value', " ein:this.setObjectNotExists('data.Power', { type: 'channel', common: { name: 'name', type: 'number', role: 'value', read: false, write: true, unit: 'W' }, native: {} });Und installiere den Adapter neu, damit das unsichtbare Element gelöscht wird.
Damit hat es bei meinem Versuch geklappt.Edit: Hab es nochmal eingehend getestet, es liegt nicht (nur?) an der Rolle sondern auch an dem type: 'channel'. Tausche dies mit state und füge die Rolle hinzu, instanz neu installieren dann sollte es passen. Ob das ein Bug ist, oder gewollt weiß ich nicht.
@Schnup89 : Besten Dank, das hat wunderbar funktioniert. Ist irgendwo dokumentiert, wie man vorgehen sollte und was die Eigenschaften bedeuten?
-
@Schnup89 : Besten Dank, das hat wunderbar funktioniert. Ist irgendwo dokumentiert, wie man vorgehen sollte und was die Eigenschaften bedeuten?
@godlich2019 Habe eben beim durchforsten der Anleitungen die States gefunden:
https://github.com/ioBroker/ioBroker/blob/master/doc/STATE_ROLES.md#state-rolesUnd auch den Hinweis dass jeder State eine Rolle haben muss:
https://github.com/ioBroker/ioBroker.repositories#example-of-readme-md
Requierements, Punkt 10.Viele Grüße
Schnup
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