Zefau / ioBroker.jarvis

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

v3: Secondary state not visible #1065

Closed RkcCorian closed 2 years ago

RkcCorian commented 2 years ago

*Please note that you may restore an old layout via jarvis adapter configuration directly within ioBroker

Prerequisites / Voraussetzungen

alpha-80

Describe the bug / Beschreibe den Fehler A clear and concise description of what the bug / problem is. Eine genaue Beschreibung des Fehlers inkl. Herleitung, um diesen Nachstellen zu können.

When I configure a "secondaryStatesKeys" "LEVEL" right after configuration it is visible but get's lost after browser refresh. The problem for you might be that this is not allways the case. Several configured "secondaryStatesKeys" are normally visible but a few not.

Screenshots If applicable, add screenshots to help explain your problem. Sofern möglich, bitte Screenshots einfügen, um den Fehler bildlich zu erläutern.

Config for a working "secondaryStatesKeys" "LEVEL"

  "86a03f9c-8a64-4da3-8b21-1c7ba3d23b88": {
    "id": "86a03f9c-8a64-4da3-8b21-1c7ba3d23b88",
    "config": {
      "dense": false
    },
    "icon": "home-thermometer",
    "title": "Klima",
    "module": "StateList",
    "items": [
      {
        "type": "device",
        "deviceId": "wohnzimmerthermostat_cbfe1",
        "secondaryStatesKeys": [
          "OPERATION_MODE",
          "HUMIDITY_REL"
        ],
        "primaryStateKey": "TEMPERATURE_ACTUAL",
        "bodyElement": null,
        "bodyStateKey": null,
        "showState": true,
        "actionElement": null,
        "id": "6e29f01e-b4c0-4fdb-9f84-96913f2def3d"
      },
      {
        "type": "device",
        "deviceId": "wohnzimmerluftbefeuchter_bfa1b",
        "primaryStateKey": "HUMIDIFICATION",
        "secondaryStatesKeys": [],
        "bodyElement": null,
        "bodyStateKey": null,
        "showState": true,
        "actionElement": null,
        "id": "642e5faa-aa18-42c4-8ed8-0d9f1ff09f33"
      },
      {
        "type": "divider",
        "id": "f9cab539-22d4-4594-8b34-1eb16ccd8e9a"
      },
      {
        "type": "device",
        "deviceId": "balkonrollladenlinks_281b0",
        "primaryStateKey": "STATUS",
        "actionType": "state",
        "actionElement": null,
        "bodyStateKey": "",
        "bodyElement": null,
        "showState": true,
        "id": "8b05fd5b-f00c-463d-9bec-56ff48d31386",
        "secondaryStatesKeys": [
          "LEVEL"
        ]
      },
      {
        "type": "device",
        "deviceId": "balkonrollladenrechts_d6d1c",
        "primaryStateKey": "STATUS",
        "bodyElement": null,
        "bodyStateKey": "",
        "showState": true,
        "actionElement": null,
        "id": "e9534c1a-8351-4d8e-b06d-9ee8285b2ed9",
        "secondaryStatesKeys": [
          "LEVEL"
        ]
      },
      {
        "type": "device",
        "deviceId": "schrankwandrollladen_1c75d",
        "primaryStateKey": "STATUS",
        "bodyElement": "LastChangeBody",
        "bodyStateKey": "",
        "showState": true,
        "actionElement": null,
        "id": "ae860e5d-c63a-4b48-98e5-7ebfe8bd5b48",
        "secondaryStatesKeys": [
          "LEVEL"
        ]
      }
    ],
    "hideTitle": false,
    "link": "f0c1c414-de3c-42b1-a5ba-5ac9dd91a5b9"
  },

Screenshot image

Config for a non working "secondaryStatesKeys" "LEVEL"

  "75142168-f81b-465a-9021-22fe9c3c3029": {
    "id": "75142168-f81b-465a-9021-22fe9c3c3029",
    "config": {},
    "icon": "home-thermometer",
    "title": "Klima",
    "module": "StateList",
    "items": [
      {
        "type": "device",
        "deviceId": "küchenrollladen_96d80",
        "primaryStateKey": "STATUS",
        "bodyElement": null,
        "bodyStateKey": null,
        "showState": true,
        "actionElement": null,
        "id": "179b4f12-66c7-4ce3-9512-407552776615",
        "secondaryStatesKeys": [
          "LEVEL"
        ]
      }
    ],
    "hideTitle": false,
    "link": "f0c1c414-de3c-42b1-a5ba-5ac9dd91a5b9"
  },

Screenshot right after config image

Screenshot after Browser refresh image


Please note that bug reports may be closed if the information above are not given!

Bitte beachte, dass Bug-Reports ggf. einfach geschlossen werden, wenn die oben genannten Kriterien nicht angemessen gegeben sind!

Zefau commented 2 years ago

schau mal bitte mit v3.0.0-alpha.85

RkcCorian commented 2 years ago

@Zefau: Würde ich unglaublich gerne testen. Leider kann ich nicht, da ich lauter #1041 bekomme 😥

RkcCorian commented 2 years ago

Also... jetzt sehe ich zumindest konsistent gar keine SecondaryStates mehr

Bernd9000 commented 2 years ago

Hier bei mir auch, es wird kein Secondary state mehr angezeigt

mcuiobroker commented 2 years ago

MIt v3.0.0l-alpha.85 auch keine secondary.

Zefau commented 2 years ago

schaut mal bitte mit v3.0.0-alpha.86

mcuiobroker commented 2 years ago

Sind wieder da.

RkcCorian commented 2 years ago

@Zefau: Es funktioniert leider immer noch nicht (alpha-86). Folgendes.... Ich habe 2 Seiten: Wohnung und Räume. Bei Wohnung sind alle SecondaryState da, bei Räume kein einziges.

image

Zefau commented 2 years ago

Und die stehen auch noch korrekt in der Konfiguration bzw. wurden vor einigen alpha-Versionen korrekt angezeigt?

Was passiert, wenn du direkt auf die Seite navigierst beim Laden? Also die Tab-URL direkt aufrufst? Werden die Secondary States dann angezeigt (und die der Hauptseite "Wohnung" nicht mehr?) ?

RkcCorian commented 2 years ago

@Zefau: Ja, stehen korrekt drin. Etwas interessantes ist mir aber aufgefallen. Auch an anderer Stelle sind die SecondaryStates nicht sichtbar. Außerdem auch das Symbol. Bei folgendem Beispiel müsste sowohl Symbol als auch SecondaryState geladen werden... Das ist aber nicht reproduzierbar welche. 2 Beispiele, welche in unterschiedlichen Tabs, aber zeitlich nahe beieinander geladen wurden. image image

RkcCorian commented 2 years ago

@Zefau: Ergänzung:

Daher gibt es einen Unterschied, je nachdem von welcher Seite ist starte Es ist immer der Datenpunkt "LEVEL" meiner Rollläden betroffen

Darüber hinaus: Die SecondaryStates unter "Räume", welche in einem anderen Raum als dem ersten ("Wohnzimmer") sind laden tlw. nie. Bspw. nach einem manuellen Refresh explizit von "Küche". Küchenrollladen unter Sicherheit geht immer, Klima niemals. Auch hier ist immer "LEVEL" betroffen, welcher an mehreren Stellen angezeigt wird. image

Zefau commented 2 years ago

Hast du Warnings im Log?

RkcCorian commented 2 years ago

@Zefau: Hab gerade auch mal auf Debug stellt, allerdings keine Warnings. Er lädt einfach nicht "fertig" image

RkcCorian commented 2 years ago

@Zefau: Anbei mal die Konfig von einem Rollladen bei mir. Evtl. stimmt damit was nicht?!

  "balkonrollladenlinks_281b0": {
    "name": "Balkonrollladen Links",
    "icon": "window-shutter",
    "label": "",
    "function": "blind",
    "states": {
      "STATUS": {
        "showState": true,
        "state": "alias.0.Wohnzimmer.Balkonrollladen_Links.STATUS",
        "display": {
          "0": "Benutzer",
          "1": "Aussperrschutz",
          "2": "Lüften",
          "3": "Sonnenuntergang",
          "4": "Beschattung",
          "5": "Anwesenheitssimulation",
          "6": "Sonnenaufgang"
        },
        "icon": {
          "0": "account",
          "1": "lock-off-outline",
          "2": "tailwind",
          "3": "weather-sunset-down",
          "4": "shield-sun",
          "5": "human-greeting-proximity",
          "6": "weather-sunset-up"
        },
        "label": "Betriebsmodus",
        "action": "",
        "bodyElement": "LastChangeBody",
        "stateKey": "STATUS",
        "actionElement": null
      },
      "LEVEL": {
        "showState": false,
        "state": "alias.0.Wohnzimmer.Balkonrollladen_Links.LEVEL",
        "action": "alias.0.Wohnzimmer.Balkonrollladen_Links.BLIND_COMMAND",
        "display": {
          "0": "Oben 0",
          "50": "Mitte 50",
          "100": "Unten 100"
        },
        "icon": {
          "100": "window-shutter",
          "<100": "window-shutter-open"
        },
        "actionElement": "BlindLevelAction",
        "hide": false,
        "iconStyle": {
          "100": {
            "color": "#aaaaaa"
          }
        },
        "label": "Level",
        "properties": {
          "max": 0,
          "min": 100
        },
        "bodyElement": "LevelBody",
        "stateKey": "LEVEL",
        "BlindLevelActionConfig": {
          "activityState": "LEVEL",
          "stopAction": "LEVEL"
        }
      },
      "AZIMUTH": {
        "showState": true,
        "state": "alias.0.Wohnzimmer.Balkonrollladen_Links.AZIMUTH",
        "unit": "°",
        "icon": "axis-z-rotate-clockwise",
        "label": "Rollladenausrichtung",
        "action": "",
        "bodyElement": "LastChangeBody",
        "stateKey": "AZIMUTH",
        "actionElement": null
      },
      "AZIMUTH_RANGE_SHIELD_SUN": {
        "showState": true,
        "state": "alias.0.Wohnzimmer.Balkonrollladen_Links.AZIMUTH_RANGE_SHIELD_SUN",
        "unit": "°",
        "icon": "angle-acute",
        "label": "Beschattungsbereich (+/-)",
        "action": "",
        "bodyElement": "LastChangeBody",
        "stateKey": "AZIMUTH_RANGE_SHIELD_SUN",
        "actionElement": null
      }
    },
    "options": {},
    "attributes": {
      "imported": true,
      "manufacturer": {
        "name": "Alias Devices",
        "namespace": "alias"
      },
      "_created": 1613160982790,
      "_updated": 1623909310417
    },
    "id": "balkonrollladenlinks_281b0"
  }
Zefau commented 2 years ago

Nicht das ioBroker Log, sondern im Browser mit F12

Zefau commented 2 years ago

Konfiguration von Gerät sieht OK aus. Hast du noch das vom Layout / Widget zur Hand?

RkcCorian commented 2 years ago

Einmal Widget (anderer Rollladen, da kleiner und einfacher)

  "75142168-f81b-465a-9021-22fe9c3c3029": {
    "id": "75142168-f81b-465a-9021-22fe9c3c3029",
    "config": {},
    "icon": "home-thermometer",
    "title": "KlimaTest",
    "module": "StateList",
    "items": [
      {
        "type": "device",
        "deviceId": "küchenrollladen_96d80",
        "primaryStateKey": "STATUS",
        "bodyElement": null,
        "bodyStateKey": null,
        "showState": true,
        "actionElement": null,
        "id": "179b4f12-66c7-4ce3-9512-407552776615",
        "secondaryStatesKeys": [
          "LEVEL"
        ]
      }
    ],
    "hideTitle": false,
    "link": "f0c1c414-de3c-42b1-a5ba-5ac9dd91a5b9"
  }

Einmal Layout

      {
        "icon": "chef-hat",
        "title": "Küche",
        "id": "bb7c0910-8994-4eba-931c-fac4d17b37cb",
        "widgetsDesktop": [
          {
            "x": 0,
            "y": 0,
            "w": 4,
            "h": 3,
            "i": "341b73fe-10e5-464e-bf92-92f445e31c61",
            "moved": false,
            "scaleToFitContents": false,
            "items": [
              "44e5c7a1-f7bd-4457-81e7-c09be7089c0b"
            ]
          },
          {
            "x": 0,
            "y": 3,
            "w": 4,
            "h": 2,
            "i": "d356fcd4-b0b3-4b6e-87b6-0ee97c76b4d0",
            "moved": false,
            "items": [
              "75142168-f81b-465a-9021-22fe9c3c3029"
            ],
            "scaleToFitContents": false
          },
          {
            "x": 4,
            "y": 0,
            "w": 4,
            "h": 6,
            "i": "7827c215-9fb4-4eba-937a-8154564a3720",
            "moved": false,
            "scaleToFitContents": false,
            "items": [
              "0b6322d4-45fe-484d-ba3d-257a87d7ac99"
            ]
          }
        ],
        "widgetsSmartphone": []
      }
RkcCorian commented 2 years ago

Log... welche wären interessant?! image

RkcCorian commented 2 years ago

@Zefau : Welcher Fehler würde Dich für Details interessieren? Was würde Dir (und damit uns :-)) helfen?

Zefau commented 2 years ago

Die Fehler hängen alle nicht damit zusammen. Kannst du mal einen anderen Browser nutzen und dort in F12 schauen?

RkcCorian commented 2 years ago

Die Fehler hängen alle nicht damit zusammen. Kannst du mal einen anderen Browser nutzen und dort in F12 schauen?

Exakt gleiche Fehler in Mozilla image image

RkcCorian commented 2 years ago

@Zefau: Ich habe jetzt mal andere SecondaryStates konfiguriert. Spannend ist, dass ausschließlich "LEVEL" ein Problem verursacht. Andere Datenpunkte haben kein Problem. image image

RkcCorian commented 2 years ago

@Zefau: Hab jetzt nochmal was probiert. Ich habe "LEVEL" in "LEVEL_Test" umbenannt. Damit habe ich keine Probleme. Hast Du irgendwo "LEVEL" hard-codiert? Ist das irgendwo ein Schlüsselwort? Benenne ich es wieder mit "LEVEL" kommt das Problem wieder.

RkcCorian commented 2 years ago

@Zefau: Leider doch nicht, war wohl Zufall. Ich habe gerade alle "LEVEL" in "LEVEL_Bug" umbenannt, hat aber doch nicht geholfen

RkcCorian commented 2 years ago

@Zefau: Auch mein Test mit anderen Datenpunkten als Secondary konnte ich nicht reproduzieren. Ich denke die einzige verbliebene Gemeinsamkeit bei dem Fehler ist, dass es sich allesamt um Rollläden handelt. :-( Sorry für die Verwirrung und Falschmeldungen 😥

Zefau commented 2 years ago

Danke für deine Unterstützung.

Hast du den Fehler nur bei Rollläden?

RkcCorian commented 2 years ago

@Zefau: Ja, wirklich nur bei Rollläden. Mir ist inzw. aufgefallen dass es auch nicht nur SecondaryStates betrifft. Du siehst auf den Rolllädenbildern sowohl SecondaryStates als auch States (Links der BlindLevelAction), welche nicht laden. Evtl. ist es daher ein anderer Fehler... Was immer Dir hilft kann ich versuchen mit meinem bescheidenem Wissen zu ermitteln. Ggf. wäre auch eine DebugSession möglich

Zefau commented 2 years ago

Wie sieht es mit v3.0.0-alpha.90 aus?

RkcCorian commented 2 years ago

@Zefau: SecondStates bei Rollläden...

Seiteneinstellungen image

Fehlerbild 1 (lässt auch reproduzieren wenn die Seiten Wohnung und Räume vertauscht > Die Navigation führt zu dem Fehler und hat einen Einfluss)

Fehlerbild 2 Ist leider auch nach wie vor da, bzw. Level wird als SecondState nicht angezeigt image

Zefau commented 2 years ago

Kannst du nochmal in der "Konsole" schauen, ob es dort Fehler gibt? Du hast den Reiter "Elemente" angewählt und ich bin mir unsicher, ob das, was dort zu sehen ist, nicht doch etwas anderes ist.

Zefau commented 2 years ago

Und zum Verständnis: Du hast auf beiden Seiten jeweils dasselbe Widget verwendet, richtig? Oder hast du die Geräte in zwei Widgets gepackt?

Könntest du nochmal schauen, ob du den Fehler auch mit nicht-ALIAS Datenpunkten nachstellen kannst? Aktuell sind ja alles ALIAS-Datenpunkte, oder?

RkcCorian commented 2 years ago

@Zefau: Die Geräte sind in zwei verschiedenen Widgets.

Ich habe nun als Test alle ALIAS der Rollladen durch die "richtigen" DPs ersetzt. Nun gibt es keine Probleme mehr damit, zumindest konnte ich auf Surface, Tablet und Handy den Fehler nicht mehr nachstellen. Auch sind die Werte selber deutlich schneller da. Zum einen schneller ggü. dem vorherigen Zustand mit ALIAS, als auch ggü. allen anderen Daten, welche nach wie vor auf ALIAS basieren.

Gibt es hier generell ein Problem mit ALIAS (Daten die entweder gar nicht oder erst spät laden)?

Das wäre echt schlecht, da ich ein großer FAN der ALIAS bin (Abstraktion, alles an einer Stelle, sowie Formeln um die Daten "zurecht zu biegen"

RkcCorian commented 2 years ago

@Zefau: Im Zusammenhang mit ALIAS gibt es ja auch noch #1035

Zefau commented 2 years ago

dann mach ich dieses Issue zu, da der Fehler sicherlich mit ALIAS zusammenhängt.

Warum das so ist muss ich analysieren. Keine Ahnung, warum diese so besonders sind. jarvis behandelt diese wie normale Datenpunkte.

RkcCorian commented 2 years ago

@Zefau: Phuuu... nun weiß ich auch nicht wie ich weitermachen soll... Ich möchte ungerne alle ALIAS entfernen....

RkcCorian commented 2 years ago

@Zefau: Hast Du irgendwelche Timeoutzeiten drin? Sprich wenn die Daten von einem ALIAS zu lange brauchen...

Zefau commented 2 years ago

Ich schau heute Abend mal.

Timeout ist drin, aber für alle Datenpunkte gleich. Ich meine 20s

RkcCorian commented 2 years ago

Was mir auch aufgefallen ist... die Sonnenaufgangs- und -untergangszeit dauer recht lange zum laden. Ist irgendwann so aufgetreten.

RkcCorian commented 2 years ago

@Zefau: Welche genaue Bedeutung haben die Symbole? Muss ich jetzt zwangsweise bei den Rollläden auf die originalen DPs wechseln?! Wäre doof, da ich dort auch Umrechnungsformel drin hab image

RkcCorian commented 2 years ago

@Zefau:, @mcuiobroker : Gibt es die Möglichkeit einer Umrechnung direkt in JARVIS? Wenn ich den originalen DP reinschreibe muss ich halt noch umrechnen, was ich bislang im ALIAS mache

mcuiobroker commented 2 years ago

Was möchtest du wie umrechnen? Datenpunkt-Eigenschaften, siehe meine Doku https://mcuiobroker.gitbook.io/jarvis-infos/jarvis/beispiele/geraete-einstellungen/datenpunkt-eigenschaften/berechnungen-mit-statewert Symbole bedeuten, das für das Gerät keine Icon definiert wurde.

RkcCorian commented 2 years ago

In dem Fall kommt das Warndreieck nur manchmal, hab Fehler bei genau einem ALIAS, nämlich LEVEL. Warum auch immer lädt dieser oftmals nicht in JARVIS; ist zumeist sporadisch, bis auf eine Stelle, da lädt er zu 100% nicht. Ein neuer ALIAS bringt auch nicht.

RkcCorian commented 2 years ago
"alias": {
  "id": "bshb.0.hdm:HomeMaticIP:3014F711A00018DA185A704C.ShutterControl.level",
  "read": "val!=null ? Math.round(((val * 100) * -1) + 100) : 50",
  "write": "Math.round(((val) * -1) + 100) / 100"
},
mcuiobroker commented 2 years ago

Datenpunkt-Eigenschaften: {"value":"val => Math.round(((val * 100) * -1) + 100)"} Ist der Level da verkehrt herum genutzt?

RkcCorian commented 2 years ago

Klappt nicht... image

Da müssten 56% stehen, jedoch steht da 0,44 und die Einheit fehlt image image

RkcCorian commented 2 years ago

@Zefau: Mir ist etwas aufgefallen... es macht immer derjenige ALIAS Probleme, welcher mit dem BlindLevelAction konfiguriert wurde. Hierbei ist egal welcher ALIAS im speziellen, es ist aber immer dieser. Wenn ich für den DP anstelle des ALIAS den originalen DP nehme geht es. Es gibt daher einen wie auch immer gearteten Zusammenhang zw. dem BlindLevelAction und einem ALIAS

Zefau commented 2 years ago

Gilt das auch für https://github.com/Zefau/ioBroker.jarvis/issues/1035 ?

RkcCorian commented 2 years ago

@Zefau: Ja. Ich habe hier auch anstelle des ALIAS den original DP benutzen müssen

mcuiobroker commented 2 years ago

0,44 scheint der Val zu sein. Dann wird beim BlindLevelAction der val genutzt und nicht der value.

RkcCorian commented 2 years ago

Kann ich da was machen? Neben dem falsch angezeigten Wert fehlt dann auch auf einmal die Einheit