NEWS
iobroker, mqtt adapter ändert plötzlich alias
-
Danke, habe ich schon alles umgebaut und nutze jetzt "value".
Warum der iobroker oder adapter aber die Alies einfach umschreibt bleibt offen.@mickym
ich habe an den Einstellungen nichts wissentlich geändert - unten anbei.
Ich weiß auch noch nicht ein mal ob es der iobroker, der MQTT oder der Influx Adaper ist der die Alias einfach "umschreibt".Zur Vollständigkeit noch die Bilder der Einstellungen (MQTT und Influx)
Es gibt ein MQTT Adapter an den zwei Geräte sendenWir könnend das aber auch gerne an der Stelle beenden.
Ich nutze einfach den anderen Wert und hoffe so den BUG "umschiffen" zu können. -
@bitwicht sagte in iobroker, mqtt adapter ändert plötzlich alias:
Ich nutze einfach den anderen Wert und hoffe so den BUG "umschiffen" zu können.
welchen BUG!??
@bitwicht sagte in iobroker, mqtt adapter ändert plötzlich alias:
Warum der iobroker oder adapter aber die Alies einfach umschreibt bleibt offen.
du bist der erste, der so etwas behauptet.
mit Fakten bist du aber sehr sparsam.Ich habe nirgendwo deine ALIAS Konfiguration gesehen, und auch due Fragen nach deiner MQTT Struktur wurde nicht beantwortet.
-
Das sich der Name ändert kann ich nicht belegen da ich es bisher nichts im LOG gefunden habe
(ich dachte mir schon das es keiner glaubt).Die Alias ID ist Oben, gleich das erste Bild.
Was mit MQTT Struktur gemeint ist verstehe ich nicht.
Ein Netzwerk, alle Geräte hängen im gleichen Netzsegment (kein Routing, NATing).
iobroker ist der Server, die zwei Wasseruhren die Clients
oder was ist mit der Frage gemeint?Unter Objekten schaut es so aus:
Die Alias ID habe beim Datenpunkt unter Benutzerdefinierte Einstellungen im Influx Adapter eingestellt.
Unter: Objekte - MQTT - 0 - gibt es:
wasserzaehler-garten -> hier hat der Datenpunkt die Alias: Wasser-CAM-Garten
wasserzaehler-haus -> hier hat der Datenpunkt die Alias: Wasser-CAM-HausWenn jetzt der Fehler passiert, dass die CAM ein Buchstabe anstelle der Zahl sendet kommt im Log der Fehler, es werden keine weiteren Datenpunkte mehr geschrieben und der Alias Eintrag "Wasser-CAM-Haus" beim Datenpunkt wasserzaehler-haus ändert sich in "Wasser-CAM-Garten"
Besser kann ich es leider nicht beschreiben.
-
Ok an der mqtt - Konfiguration kann ich nichts genaues sehen. Du hast jetzt bei den Objekten nur die Folder im Screenshot gezeigt. Ein Alias musst Du natürlich auch auf einen State machen. Da Du ja das Problem hast, dass manchmal statt Zahlen auch Text kommt, kannst Du im Alias den Datenpunkt auf mixed oder gemischt stellen.
Ob die InfluxDB das mit macht kann ich nicht sagen. Falls die Influx damit nicht zurecht kommt mit Daten und Text gleichzeitig, kannst Du den Text zum Beispiel im Alias in 0 wandeln:
Du kannst auch in der Konvertierungsfunktion den Text auf -1 umrechnen und dann im Influx-Adapter sagen, dass alles ignoriert wird dessen Wert kleiner 0 ist.
-
@bitwicht sagte in iobroker, mqtt adapter ändert plötzlich alias:
ich dachte mir schon das es keiner glaubt
glauben ist das eine, aber glauben heisst "nicht wissen"!
um einer Sache nachgehen zu können bedarf es Fakten anhand das (versucht wrden kann) zu reproduzieren.
Diese Fakten haben wir bis jetzt nicht. -
@bitwicht sagte in iobroker, mqtt adapter ändert plötzlich alias:
Die Alias ID habe beim Datenpunkt unter Benutzerdefinierte Einstellungen im Influx Adapter eingestellt.
das ist aber für etwas ganz anderes.
außerdem ist das kein Datenpunkt, sondern ein Verzeichnis.und jetzt ist alles durcheinander!
der Influx Alias dient dazu bei Änderung einer ID weiterhin die Daten in die Historie der alten ID zu schreiben.
Aber diese ID gab es nicht (weil kein bestehender/ehemaliger DP)Jetzt ist es ein VERZEICHNIS!
Dort befinden sich mit Sicherheit mehrere DPs drin. -
@mickym
ich meine eine andere Alias (siehe Bild1 im obigen Beitrag)Das Ding heißt Alias ID und Screenshot habe ich auch beim ersten Artikel beigefügt.
Der Wert "raw" ist doch ein Datenpunkt oder?
mqtt
----> 0
-------> wasserzaehler-garten
-----------> main
---------------> Datenpunkt: raw
hier Einstellungen influx - AliasID: Wasser-CAM-Garten
-------> wasserzaehler-haus
-----------> main
---------------> Datenpunkt: raw
hier Einstellungen influx - AliasID: Wasser-CAM-HausUnd jetzt die Frage, warum er wenn der Fehler auftritt aus Wasser-CAM-Haus ein Wasser-CAM-Garten macht.
Vielleicht kommt er mit irgend etwas durcheinander aber dann kann nicht sein da es ja zwei komplett untrschiedliche Verzeichnisse sind (wenn das so heißt): wasserzaehler-garten/main/raw UND wasserzaehler-haus/main/raw
-
@bitwicht Ok - dann hat das aber eigentlich mit dem iobroker und mqtt nichts zu tun. Sondern es ist schlicht und ergreifend ggf. der Influx-Adapter, der die Alias-Id in der Datenbank nicht nutzt. Sprich dieser Alias benennt doch nur den Datenpunkt in der Influx-DB.
Das ändert aber vieles. Dann ist in meinen Augen einzig und allein eine mögliche Fehlerursache im Influx-Adapter zu suchen. Dann lass das mal mit dem Alias weg und schau, ob dann der Fehler immer noch auftritt.mqtt oder der iobroker generell sind damit aus dem Schneider und haben mit dem Fehler nichts zu tun.
Insofern muss ich @Homoran schon Recht geben, dass die ganze Beschreibung erst mal in die Irre führt.
-
@bitwicht sagte in iobroker, mqtt adapter ändert plötzlich alias:
Das Ding heißt Alias ID und Screenshot habe ich auch beim ersten Artikel beigefügt.
Meinst du den Konfigurationspunkt?
Habe dir doch gerade erklärt wozu der da ist
@homoran sagte in iobroker, mqtt adapter ändert plötzlich alias:
der Influx Alias dient dazu bei Änderung einer ID weiterhin die Daten in die Historie der alten ID zu schreiben.
der Influx-Alias hat nichts mit einen allgemeinen Alias zu tun.
Diese Aliase bei History und Influx gab es schon lange bevor es überhaupt allgemeine Aliase gab. -
@mickym sagte in iobroker, mqtt adapter ändert plötzlich alias:
dieser Alias benennt doch nur den Datenpunkt in der Influx-DB.
sollte er!
ich nutze influx nicht, sondern history. da funktioniert es komplett richtig.
und jetzt Vorsicht!
da kann man (in History) sogar fiktive IDs nehmen, die dann angelegt werden -
@homoran sagte in iobroker, mqtt adapter ändert plötzlich alias:
der Influx-Alias hat nichts mit einen allgemeinen Alias zu tun.
Diese Aliase bei History und Influx gab es schon lange bevor es überhaupt allgemeine Aliase gab.Na wie ich gerade beschrieb - im Prinzip reduziert sich nun alles auf den Influx-DB Adapter - und sowohl mqtt, iobroker etc. haben damit gar nichts zu tun. Das ist sehr irreführend gewesen. Ich würde einfach den Alias mal weg lassen. Das ist ja eigentlich nur Kosmetik in meinen Augen.
-
@mickym sagte in iobroker, mqtt adapter ändert plötzlich alias:
Ich würde einfach den Alias mal weg lassen.
Jetzt langsam dämmert es mir...
meinst du es ist gar kein "richtiger Alias" im Spiel?
Ich denke die Bindestriche sind dann ggf. ein Problem.
Vielleicht nur wenn der Inhalt ein String ist, der in ein Zahlenfeld geschrieben werden soll
...und dann als negativ interpretiert werden könnte? -
@homoran Genau. Ich denke das hat mit einem richtigen Alias gar nichts zu tun, sondern
Sondern, dass man damit nur anstelle der standardmässigen ID des Datenpunktes - unter diesem Namen gespeichert wird:
-
@mickym sagte in iobroker, mqtt adapter ändert plötzlich alias:
unter diesem Namen gespeichert wird:
und ob dieser Name wirklich funktioniert ist ggf. nicht getestet weil nicht vorgesehen gewesen.
da muss eine ID hin!
in der Form von Adapter.0.jetztDerName -
@homoran sagte in iobroker, mqtt adapter ändert plötzlich alias:
@mickym sagte in iobroker, mqtt adapter ändert plötzlich alias:
unter diesem Namen gespeichert wird:
und ob dieser Name wirklich funktioniert ist ggf. nicht getestet weil nicht vorgesehen gewesen.
da muss eine ID hin!
in der Form von Adapter.0.jetztDerNameIch widerspreche nur ungern - aber meines Erachtens hat dieser Name nur was mit der Benamsung in der Datenbank zu tun und mit keinem Datenpunkt im iobroker.
Ich habe gerade mal einen Datenpunkt unter mqtt - benutzt:
Vorher wurde der unter:
mqtt.1.shellies.licht.wohnzimmer.vitrine.relay.0.power
abgespeichert und mit der Definition eines Alias Vitrine-Wohnzimmer nun als neuer Datenpunkt in der influx DB:
Deshalb hat dieser Alias 0,0 mit dem iobroker System zu tun, sondern dient nur der Umbenennung der Datenreihe in der Influx DB
Wie gesagt ich habe keine Lösung für irgendwelches Fehlverhalten, aber WENN es etwas gibt, würde ich das EINZIG und ALLEINE dem Influx-Adapter zuordnen und nirgendwo sonst.
-
@mickym sagte in iobroker, mqtt adapter ändert plötzlich alias:
Ich widerspreche nur ungern -
darfst du aber gerne
@mickym sagte in iobroker, mqtt adapter ändert plötzlich alias:
meines Erachtens hat dieser Name nur was mit der Benamsung in der Datenbank zu tun und mit keinem Datenpunkt im iobroker.
korrekt!
Aber ich weiss nicht wie die Struktur der DB aufgebaut ist und ob da die entsprechenden Bezeichner der Namespaces notwendig sind, ohne bei entsprechend notwendiger Struktur undefined.undefined.Name anzulegen, oder Name.undefined.undefined , oder jede andere Möglichkeit, was zu dem erwähnten Problem führen würde
(alles rein hypothetisch)
-
@homoran sagte in iobroker, mqtt adapter ändert plötzlich alias:
Aber ich weiss nicht wie die Struktur der DB aufgebaut ist und ob da die entsprechenden Bezeichner der Namespaces notwendig sind, ohne bei entsprechend notwendiger Struktur undefined.undefined.Name anzulegen, oder Name.undefined.undefined , oder jede andere Möglichkeit, was zu dem erwähnten Problem führen würde
Der Name in der Influx-DB wird vom Adapter selbst angelegt - entweder über den vollständigen Pfad oder eben anscheinend über den Alias und immer in der iobroker Datenbank der Influx-DB (also im iobroker bucket - dieser Name ist ja fix).
Das habe ich jetzt ehrlich gesagt nicht verstanden.
- Ich habe ja bewusst mal den Alias ähnlich gewählt, wie der TE und das hat bei mir ja getan (s. Screenshot). Die Frage ist doch, wie ich das verstanden habe, wenn plötzlich ein anderer Datentyp reinkommt (also Text anstelle von Zahl), ob das den Adapter aus dem Tritt bringt.
Na gut - ich kann hier nicht viel weiterhelfen - hoffe aber insofern etwas zur Problemlösung beigetragen zu haben, dass man nicht wild sonst im iobroker, mqtt oder wo auch immer rumsucht.
Wie gesagt der TE kann ja auch einen richtigen Alias benutzen, um solche Texte dann ggf. in Zahlenwerte zu wandeln und die kann dann der Influx-Adapter ignorieren - das habe ich ja unten beschrieben.
Ansonsten soll der TE halt mal ein Issue bei dem Influx-Adapter auf gitHub eröffnen.
-
@mickym sagte in iobroker, mqtt adapter ändert plötzlich alias:
Das habe ich jetzt ehrlich gesagt nicht verstanden.
mein Datenbankwissen bezieht sich auf relationale Datenbanken wie dBase, Paradox u.ä.
dort muss es für jede "Ebene" einen (eindeutigen) Wert in der zugehörigen "Tabelle" geben, damit der Wert richtig zugeordnet werden kann.Die Ebenen wären Adapter --> Instanz --> State, jeweils per 1->viele verknüpft.
Aber wie soll ich wissen was ich denke, bevor ich lese was ich schreibe
Kommando zurück!
das kann schon aufgrund der erweiterten Objektstrukturen so nicht sein -
@homoran Die Zuordnung von einem Datenpunkt zu einer Datenreihe in der Datenbank ist in meinen Augen immer eine 1:1 Beziehung und alleine durch das Zahnrad neben dem Datenpunkt festgelegt.
- Was man dann da rein schreibt als Konfig wird in meinen Augen nie und nimmer was an dieser 1:1 Beziehung ändern - ausser der Adapter generell bringt irgendwas durcheinander, da dieser ja in die Datenbank letztlich schreibt und deshalb tun und lassen kann was er will.
Der wird ja dann von nichts mehr kontrolliert .
-
@mickym sagte in iobroker, mqtt adapter ändert plötzlich alias:
Deshalb hat dieser Alias 0,0 mit dem iobroker System zu tun, sondern dient nur der Umbenennung der Datenreihe in der Influx DB
"0,0" stimmt leider nicht. Wenn ich so wie der TE einen Alias "Wasser-CAM-Haus" eintrage:
... dann wird (sobald die ersten Daten geschrieben werden sollen) automatisch ein entsprechender Datenpunkt in "root" angelegt:
Ich habe das auch mal mit verschiedenen Datentypen durchgespielt. Alles was dabei passiert ist, dass der nicht passende Eintrag nicht geschrieben wird, weil der Datentyp nicht übereinstimmt. Der nächste passende wird wieder in die DB geschrieben. Die Aliasse bleiben bei mir aber unberührt und werden nicht umbenannt.