Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. MarcIO

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    M
    • Profile
    • Following 0
    • Followers 1
    • Topics 7
    • Posts 84
    • Best 0
    • Groups 1

    MarcIO

    @MarcIO

    Starter

    0
    Reputation
    13
    Profile views
    84
    Posts
    1
    Followers
    0
    Following
    Joined Last Online

    MarcIO Follow
    Starter

    Latest posts made by MarcIO

    • RE: Binding-Wert aus JSON filtern

      @oliverio

      Dann war ich ja wohl mega verpeilt unterwegs.

      Ich danke dir auf jeden Fall, es funktioniert wie gewollt 🙂

      posted in Visualisierung
      M
      MarcIO
    • RE: Binding-Wert aus JSON filtern

      @oliverio said in Binding-Wert aus JSON filtern:

      leider passen die daten nicht zum template
      in den daten steht
      geraet_name

      Das habe ich im Nachhinein angepasst gehabt, deshalb stand im JSON noch die alte Version, aber ja hast natürlich richtig gesehen.

      @oliverio said in Binding-Wert aus JSON filtern:

      wie ich schon im vorigen post erwähnt habe, wendest du den template mechanismus nicht gut an. schau dir bitte die dokumentation zum widget im adapter readme nochmal an. kannst aber auch gerne hier fragen.

      Ja das stimmt, ich fühl mich iwie in IoBroker noch so manchmal fremd, trotz JavaScript-Kenntnisse. Aber nehme mir deinen Rat zu Herzen.

      @oliverio said in Binding-Wert aus JSON filtern:

      anmerkungen zu deinem ursprungstemplate

      • backgroundcolor ist fehlerhaft, habe hier mal #555555 verwendet

      Was genau scheitert denn an #e5e5e5? Ich habe es schon zuvor verwendet und bisher problemlos.

      Ich danke dir für deinen Skript. Das funktioniert nun einwandfrei! 🙂

      posted in Visualisierung
      M
      MarcIO
    • RE: Binding-Wert aus JSON filtern

      @oliverio

      [
        {
          "geraet_name": "Gerät A",
          "issue_name": "Nachbearbeiten",
          "issue_date": "24.09.2024",
          "issue_type": "warning",
        },
        {
          "geraet_name": "Test 4",
          "issue_name": "Vorrichtung nicht vorhanden",
          "issue_date": "04.05.2025",
          "issue_type": "warning",
        },
        {
          "geraet_name": "Auto",
          "issue_name": "defekt",
          "issue_date": "31.05.2025",
          "issue_type": "error",
        },
      
      
      posted in Visualisierung
      M
      MarcIO
    • RE: Binding-Wert aus JSON filtern

      @oliverio

      Super, danke dir!

      posted in Visualisierung
      M
      MarcIO
    • RE: Binding-Wert aus JSON filtern

      @oliverio Hey Oliver,

      Ich hatte doch mal ein Versuch gewagt und habe es mit deiner JSON-Template 3 Widget probiert. Habe nun das Problem, dass es im Edit der Vis funktioniert aber in Runtime die Funktionen einfach weg sind.

      So habe ich es gestaltet:

      <%
      debugger;
      let newList = data
        .map(el => {
          return {
            ...el,
            status: el['issue_type'] === "error" ? 'red' :
                    el['issue_type'] === "warning" ? 'yellow' :
                    el['issue_type'] === "success" ? 'green' : 'grey'
          };
        })
        .filter(item => item.machine_name === "Kaffeemaschine");
      
      let item = newList[0];
      let targetView = "Kueche";
      
      return `
        <button style="
          width: 672px;
          height: 538px;
          border: 4px solid ${status};
          border-radius: 8px;
          background-color: #
          cursor: pointer;
        "
        onclick="vis.changeView('${targetView}')">
        </button>
      `;
      %>
      
      

      In der Konsole auch nichts auffälliges entdeckt. Da ist zwar ein allgemeiner und ein alter Fehler über rssfeed, aber die anderen JSON-Templates funktionieren ja alle. Woran könnte es hier scheitern?

      Im Bearbeitungsmodus sehe ich die Farbe/Status korrekt und kann auch per Klick navigieren, aber wie erwähnt ist im Runtime nichts mehr da..

      posted in Visualisierung
      M
      MarcIO
    • RE: Binding-Wert aus JSON filtern

      @oliverio

      Von der Logik her nicht unbedingt, aber ich habe dieses Binding in nav-button verwendet und müsste es entsprechend in html/css/js nochmals machen.

      posted in Visualisierung
      M
      MarcIO
    • RE: Binding-Wert aus JSON filtern

      @oliverio

      Ja den kenne ich bereits und nutze es auch, aber für diesen Fall wäre es leider viel zu aufwändig.
      Wie schaut es denn mit getState aus? Ist es mittlerweile wieder sinnvoll damit zu arbeiten? Hatte nämlich in der Vergangenheit öfter mal Probleme damit in IoB.

      posted in Visualisierung
      M
      MarcIO
    • RE: Binding-Wert aus JSON filtern

      @oliverio

      Also einfach so annehmen? Ist ja mega verärgerlich..

      Gäbe es eine Alternative?

      posted in Visualisierung
      M
      MarcIO
    • RE: Binding-Wert aus JSON filtern

      @oliverio

      In der Konsole wird dies hier ausgegeben:

      [StandardFehler_V2] Fehler beim Parsen oder Filtern:"JSON Parse error: Unexpected identifier \"undefined\""
      

      Wüsste nicht warum dieser Zustand entstehen sollte und woher es auch kommen könnte. Findet er unter dem Pfad die JSON-Datei nicht oder kann er den Inhalt nicht auslesen?

      Aber der Skript wird ausgeführt, ich bekomme den Wert grau, standardmäßig ist es weiß.

      posted in Visualisierung
      M
      MarcIO
    • Binding-Wert aus JSON filtern

      Servus,

      Ich habe bisher in der Vis einzelne Datenpunkte oder auch mal einzelne Werte aus einer JSON als Bindings verwendet. Nun möchte ich erneut mit einer JSON arbeiten, allerdings müsste ich die Einträge nach Eigenschaften filtern. In diesem Falle nach dem Gerätenamen.
      So schaut meine JSON aus, diese wird aus einer Datenbank per Skript erzeugt:

      [
        {
          "geraet_name": "Gerät A",
          "issue_name": "Nachbearbeiten",
          "issue_date": "24.09.2024",
          "issue_type": "warning",
        },
        {
          "geraet_name": "Test 4",
          "issue_name": "Vorrichtung nicht vorhanden",
          "issue_date": "04.05.2025",
          "issue_type": "warning",
        },
        {
          "geraet_name": "Auto",
          "issue_name": "defekt",
          "issue_date": "31.05.2025",
          "issue_type": "error",
        },
      

      Und so habe ich es bisher versucht einzubinden:

      {path:0_userdata.0.Fehlermeldung.wo_issues_data_json; v:"Gerät A"; vis.StandardFehler_V2(path, v)}
      

      Und im Skript in der Vis:

      vis.StandardFehler_V2 = function(jsonString, Geraetename) {
          try {
              const daten = JSON.parse(jsonString);
      
              // Filtere nach Gerätenamen
              const eintraege = daten.filter(e => e.geraet_name === Geraetename);
      
              if (eintraege.length === 0) return 'green';
      
              const Error = eintraege.some(e => e.issue_type === 'error');
              const Warning = eintraege.some(e => e.issue_type === 'warning');
              const Notification = eintraege.some(e => e.issue_type === 'notification');
      
              if (Error) return 'red';
              if (Warning) return 'yellow';
              if (Notification) return 'green';
      
              return 'green'; 
          } catch (err) {
              console.error('[StandardFehler_V2] Fehler beim Parsen oder Filtern:', err.message);
              return 'grey';
          }
      };
      

      Das Ziel ist es je nach Fehlertyp eine Farbe für den Widget auszugeben. Hierzu wird der JSON-Eintrag nach dem Gerätenamen gefiltert und der Wert von issue_type wird abgefragt, dieser gibt dann die Farbe zurück.
      Kann allerdings nicht schlussfolgern woran es scheitert.

      posted in Visualisierung
      M
      MarcIO
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo