Zefau / ioBroker.jarvis

jarvis - just another remarkable vis
https://forum.iobroker.net/topic/49776
Other
149 stars 38 forks source link

State Explorer vs. iobroker Objektbaum #2010

Closed Sineos closed 1 year ago

Sineos commented 1 year ago

Prerequisites / Voraussetzungen

Firefox Konsole:

downloadable font: rejected by sanitizer (font-family: "Material Icons" style:normal weight:400 stretch:100 src index:0) source: http://192.168.178.12:8082/jarvis/woff2/flUhRq6tzZclQEJ-Vdg-IuiaDsNcIhQ8tQ-83be7b2f.woff2
TypeError: n is undefined
    m http://192.168.178.12:8082/jarvis/js/QTree-0dc8bc4c.js:1
    expandNode http://192.168.178.12:8082/jarvis/js/index-aa124a2b.js:1
    expandNode http://192.168.178.12:8082/jarvis/js/index-aa124a2b.js:1
    mounted http://192.168.178.12:8082/jarvis/js/index-aa124a2b.js:1
    createHook http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    callWithErrorHandling http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    callWithAsyncErrorHandling http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    __weh http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    flushPostFlushCbs http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    flushJobs http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    promise callback*queueFlush http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    queueJob http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    effect http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    triggerEffect http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:1
    triggerEffects http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:1
    triggerRefValue http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:1
    set value http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:1
    Y http://192.168.178.12:8082/jarvis/js/index-aa124a2b.js:1
    kt/<.default</<.end</s[1]< http://192.168.178.12:8082/jarvis/js/index-aa124a2b.js:1
    withModifiers http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    callWithErrorHandling http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    callWithAsyncErrorHandling http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    emit$1 http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    w http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    x http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:25
    callWithErrorHandling http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    callWithAsyncErrorHandling http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    n http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    o http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:17
    _wrapEventTarget http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:17
    instrumentDOM http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:8
    addEventListener$1 http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    patchEvent http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    patchProp http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    L http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    D http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    P http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    be http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    run http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:1
    update http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    Ee http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    U http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    Z http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    P http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    $ http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    ee http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    P http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    $ http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    ee http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    P http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    $ http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    ee http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    P http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    $ http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    ee http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    P http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    $ http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    L http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
    D http://192.168.178.12:8082/jarvis/js/index-e8eb9d18.js:4
index-e8eb9d18.js:8:223

Describe the bug / Beschreibe den Fehler Der State Explorer zeigt nicht die vorhandenen Objekte aus dem Objektbaum von iobroker

Screenshots Iobroker Objekte: image

Jarvis State Explorer: image

Zefau commented 1 year ago

Der Channel / Folder ist die State angelegt und wird so auch durch Jarvis dargestellt.

Sineos commented 1 year ago

Der Channel / Folder ist die State angelegt und wird so auch durch Jarvis dargestellt.

Sorry, wenn ich auf dem Schlauch stehe, aber die Aussage verstehe ich nicht.

mqtt.0.zigbee2mqtt.DimmerKitchenEG --> Alle DPs haben den Typ State

Jarvis: image

Iobroker: image

Bei ein par passt es ja:

mqtt.0.zigbee2mqtt.BlindsJona --> An sich das Gleiche wie oben, nur hier passt es

Jarvis: image

Iobroker: image

Edit: Die Screenshots sind jetzt aus der Beta 6. Beta 8 geht bei mir überhaupt nicht. Kein einziger Schalter funktioniert. Das Verhalten bzgl. des State Explorers ist aber gleich

Zefau commented 1 year ago

Du hast einen Ordner DimmerKtichenEG, der aber als state angelegt ist in ioBroker. Das ist falsch. Wenn es ein Ordner ist, dann muss es als channel oder folder angelegt sein, damit er korrekt im StateExplorer angezeigt wird. Dass das im ioBroker geht ist falsch und der eigentliche Fehler, auch wenn es kulant ist.

Zefau commented 1 year ago

https://github.com/ioBroker/ioBroker.admin/issues/1772

Sineos commented 1 year ago

Ah, jetzt ist der Groschen gefallen. Danke für die Erklärung. Seltsam eigentlich, die hat Iobroker alle selber angelegt. Ich werde mal den kompletten Baum löschen.

Zefau commented 1 year ago

Kannst du machen, aber ich glaube, dass der zigbee2mqtt Adapter hier falsch arbeitet

Sineos commented 1 year ago

Kannst du machen, aber ich glaube, dass der zigbee2mqtt Adapter hier falsch arbeitet

Der Iobroker Baum ist vom reinen MQTT Adapter. Ich hab jetzt tatsächlich auf den zigbee2mqtt iobroker Adapter (https://github.com/o0shojo0o/ioBroker.zigbee2mqtt) umgestellt und damit klappt das problemlos. Schade nur, dass er beim Device Import diesen Adapter scheinbar nicht kennt.

mcuiobroker commented 1 year ago

Es gibt ein Programm dafür. https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/system-effektprog./v3-systemprogramme/adddevice Wenn es aber nur wenige DPs sind sollte man manuell hinzufügen.

Sineos commented 1 year ago

Manuell klappt gut. Die meisten Geräte brauchen eh nur einen oder max 3 DPs. Aber Faulheit rules 😉

P.S.: Wegen mir kann hier zu gemacht werden, oder willst du es noch stehen lassen @Zefau?

Zefau commented 1 year ago

Ich prüfe nochmal den Importer. MQTT sollte mit der Beta eigl. klappen bzw. sollte Zigbee einfach integrierbar sein.

Zefau commented 1 year ago

@Sineos kannst du mir mal ein Gerät aus zigbee2mqtt exportieren, damit ich es bei mir importieren und testen kann? Erstellt der zigbee2mqtt Adapter die Datenpunkte unter mqtt.0. oder zigbee2mqtt.0.?

image

Sineos commented 1 year ago

Der zigbee2mqtt Adapter zeigt das "problematische" Verhalten mit den Foldern nicht. Der reine mqtt Adapter leider schon (Subscribe auf zigbee2mqtt/#). Auch nach löschen des Trees und dem folgenden Neuaufbau hat sich das nicht gebessert.

In der angehängten Zip sind die Bäume beider Adapter. Vielen Dank für den unermüdlichen Einsatz!

Edit: Die Pfade sind jeweils:

zigbee2mqtt.0.xxx: zigbee2mqtt Adapter mqtt.0.zigbee2mqtt.xxx: Reiner mqtt Adapter

Zefau commented 1 year ago

@Sineos habe es runtergeladen, bitte wieder aus deinem Post löschen

Zefau commented 1 year ago

sehe ich das richtig, dass zigbee2mqtt nicht selbst einen Baum unter zigbee2mqtt.0 anlegt, sondern unter mqtt.0.zigbee2mqtt.? Außerdem scheinen die Knoten direkt unter mqtt.0.zigbee2mqtt. ohne Typ (weder channel noch folder) angelegt zu sein (was sich auch mit deinem Screenshot deckt).

Leider kann ich das nicht in den Importer integrieren :-( Da muss der Adapter-Entwickler von zigbee2mqtt mit einer ordentlichen Baum-Struktur arbeiten.

Zefau commented 1 year ago

Nachtrag: Ich sehe gerade, dass es gar keinen zigbee2mqtt Adapter gibt? Wie ist denn das realisiert? Mit https://github.com/Koenkk/zigbee2mqtt ?

Sineos commented 1 year ago

Ich glaube wir reden aneinander vorbei:

Zefau commented 1 year ago

Für Variante ii. und iii. habe ich den Iobroker Baum exportiert und oben angehängt

Du hast (2x) deinen gesamten ioBroker Baum exportiert, ohne Filter / Selektion.

https://github.com/o0shojo0o/ioBroker.zigbee2mqtt --> Verbindet sich über Websocket zur zigbee2mqtt Instanz und legt darüber die Datenpunkte an. Ligen dann in der Form zigbee2mqtt.0.xxx. Funktioniert wunderbar mit dem State Explorer

Das meinte ich und habe es nicht gefunden. Danke für den Link. Ich schaue nochmal.

Sineos commented 1 year ago

Du hast (2x) deinen gesamten ioBroker Baum exportiert, ohne Filter / Selektion.

😵‍💫 Ups, so war das natürlich nicht gedacht. Sorry und vielen Dank fürs Dranbleiben 👍