Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Node-Red
  5. Wert von mehreren empf. Objekten in eine Tabelle darstellen

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.9k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.3k

Wert von mehreren empf. Objekten in eine Tabelle darstellen

Geplant Angeheftet Gesperrt Verschoben Node-Red
56 Beiträge 6 Kommentatoren 8.1k Aufrufe 7 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • _ _R_A_L_F_

    @mickym Hallo mickym,
    zunächst mal Danke für deine schnelle und sehr ausführliche Rückmeldung.

    Ich habe jetzt alle Funktionen soweit durchprobiert aber so ganz klappen, will es nicht.
    Das Node-Red Dashboard verwende ich. Das Tabellen-UI habe ich getestet, jedoch fällt es eigentlich raus, da die Informationen von den Datenpunkten nicht nacheinander gleichzeitig kommen, sondern immer zu verschiedenen Zeiten einzeln.

    Dann habe ich über das join Node nun alle IoBroker Inputs zusammengefasst und daraus jeweils ein Wert-Objekt erstellt.
    Das sieht dann so aus:
    3b708763-467a-4afd-a7a7-a5ff19edb457-grafik.png

    Nun hätte ich ja alle Informationen vom Objekt inkl. Value für die Anzeige.

    Jedoch weiß ich nicht, wie ich das ganze im Template Node angeben muss. Zumindest funktioniert es nicht so, wie oben beschrieben oder ich wende es falsch an, was ich eher glaube :(

    Anbei der aktuelle Flow:


    [
    {
    "id": "91922d89.e761d8",
    "type": "tab",
    "label": "Flow 2",
    "disabled": false,
    "info": ""
    },
    {
    "id": "52e7a2f5.b5f414",
    "type": "ioBroker in",
    "z": "91922d89.e761d8",
    "name": "Aktueller-Verbrauch",
    "topic": "alias.0.10-Steckdose-SZ-Lade.load_power",
    "payloadType": "object",
    "onlyack": "",
    "func": "all",
    "gap": "",
    "fireOnStart": "false",
    "x": 390,
    "y": 300,
    "wires": [
    [
    "148e5752.10e3e1"
    ]
    ]
    },
    {
    "id": "aaad70d1.6ff95",
    "type": "ioBroker in",
    "z": "91922d89.e761d8",
    "name": "Gesamtverbrauch",
    "topic": "alias.0.10-Steckdose-SZ-Lade.energy",
    "payloadType": "object",
    "onlyack": "",
    "func": "all",
    "gap": "",
    "fireOnStart": "false",
    "x": 390,
    "y": 240,
    "wires": [
    [
    "148e5752.10e3e1"
    ]
    ]
    },
    {
    "id": "c1552bdd.a5ef58",
    "type": "ui_toast",
    "z": "91922d89.e761d8",
    "position": "dialog",
    "displayTime": "25",
    "highlight": "",
    "sendall": true,
    "outputs": 1,
    "ok": "OK",
    "cancel": "",
    "raw": true,
    "topic": "Infos",
    "name": "Steckdosen Infos",
    "x": 930,
    "y": 500,
    "wires": [
    []
    ]
    },
    {
    "id": "2f1b25e4.6d2ee2",
    "type": "template",
    "z": "91922d89.e761d8",
    "name": "Tabelle-Infos",
    "field": "payload",
    "fieldType": "msg",
    "format": "html",
    "syntax": "mustache",
    "template": "<style>\ntable, th, td {\n border: 0px solid black;\n border-collapse: collapse;\n}\nth, td {\n padding: 5px;\n text-align: center; \n}\n</style>\n\n<table>\n <tr>\n <th>Gesamtverbrauch</th>\n <th>Spannung</th>\n <th>Strom</th>\n </tr>\n <tr ng-repeat="(key, y) in msg.payload">\n <td>0.29 kWh</td>\n <td>{{y.payload.val["alias/0/10-Steckdose-SZ-Lade/voltage}} V</td>\n <td>30 A</td>\n </tr>\n</table> ",
    "output": "str",
    "x": 730,
    "y": 500,
    "wires": [
    [
    "c1552bdd.a5ef58"
    ]
    ]
    },
    {
    "id": "1f7401b0.11be16",
    "type": "ui_button",
    "z": "91922d89.e761d8",
    "name": "Infos",
    "group": "1047716f.3df1f7",
    "order": 3,
    "width": 2,
    "height": 1,
    "passthru": false,
    "label": "",
    "tooltip": "",
    "color": "#F2F2F2",
    "bgcolor": "#585858",
    "icon": "fa-2x fa-info",
    "payload": "",
    "payloadType": "str",
    "topic": "topic",
    "topicType": "msg",
    "x": 570,
    "y": 500,
    "wires": [
    [
    "2f1b25e4.6d2ee2"
    ]
    ]
    },
    {
    "id": "c2f8a79d.23dfe",
    "type": "ioBroker in",
    "z": "91922d89.e761d8",
    "name": "Aktueller-Stromfluss",
    "topic": "alias.0.10-Steckdose-SZ-Lade.current",
    "payloadType": "object",
    "onlyack": "",
    "func": "all",
    "gap": "",
    "fireOnStart": "false",
    "x": 390,
    "y": 360,
    "wires": [
    [
    "148e5752.10e3e1"
    ]
    ]
    },
    {
    "id": "52ca0601.07ac48",
    "type": "ioBroker in",
    "z": "91922d89.e761d8",
    "name": "Aktuelle-Spannung",
    "topic": "alias.0.10-Steckdose-SZ-Lade.voltage",
    "payloadType": "object",
    "onlyack": "",
    "func": "all",
    "gap": "",
    "fireOnStart": "false",
    "x": 390,
    "y": 420,
    "wires": [
    [
    "148e5752.10e3e1"
    ]
    ]
    },
    {
    "id": "6684c1f2.193aa8",
    "type": "debug",
    "z": "91922d89.e761d8",
    "name": "",
    "active": true,
    "tosidebar": true,
    "console": false,
    "tostatus": false,
    "complete": "false",
    "statusVal": "",
    "statusType": "auto",
    "x": 1000,
    "y": 420,
    "wires": []
    },
    {
    "id": "148e5752.10e3e1",
    "type": "join",
    "z": "91922d89.e761d8",
    "name": "Werte-zusammenfassen",
    "mode": "custom",
    "build": "object",
    "property": "payload.val",
    "propertyType": "msg",
    "key": "topic",
    "joiner": "\n",
    "joinerType": "str",
    "accumulate": false,
    "timeout": "",
    "count": "1",
    "reduceRight": false,
    "reduceExp": "",
    "reduceInit": "",
    "reduceInitType": "",
    "reduceFixup": "",
    "x": 770,
    "y": 420,
    "wires": [
    [
    "6684c1f2.193aa8"
    ]
    ]
    },
    {
    "id": "1047716f.3df1f7",
    "type": "ui_group",
    "name": "Steckdose",
    "tab": "cbec3488.c08d3",
    "order": 4,
    "disp": true,
    "width": "6",
    "collapse": false
    },
    {
    "id": "cbec3488.c08d3",
    "type": "ui_tab",
    "name": "Wohnzimmer",
    "icon": "weekend",
    "order": 2,
    "disabled": false,
    "hidden": false
    }
    ]

    Was mache ich noch falsch?

    Danke schon mal :)

    mickymM Online
    mickymM Online
    mickym
    Most Active
    schrieb am zuletzt editiert von mickym
    #5

    @_r_a_l_f_ So ich hab Dein Flow jetzt importiert - lass uns das in 2 Teilen bearbeiten.

    1. Kann ich davon ausgehen, dass alle 4 Datenpunkte EINES Verbrauchers mehr oder weniger gleichzeitig aktualisiert werden?
    2. Wenn nicht dann würde man das Objekt manuell zusammenstellen, dann brauche ich den Punkt der am häufigsten getriggert wird?
    3. Warum nimmst Du immer die Objekte - das ist furchtbar unübersichtlich - falls Du ein Timestamp brauchst - würde ich den selbst im Flow einfügen.

    Dass Deine Template NOde nicht funktioniert - habe ich unten in meinem Beitrag geschrieben, da die Angular Direktiven nur in dem Dashboard Kontext funktionieren.

    Im Prinzip habe ich Dir das alles geschrieben und auch entsprechend in meinem Flow dargestellt.

    Ich kann Dir schon helfen, aber dann müssten wir zeitnah zusammenarbeiten.

    EDIT: Es wird auch nicht im Popup funktionieren - Du kannst dafür einen eigenen Tab verwenden - den Du nur über einen Button aufrufst und der damit nicht im Navigationsmenü auftaucht.

    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

    1 Antwort Letzte Antwort
    0
    • _ _R_A_L_F_

      Hallo,

      ich habe eine Blitzwolf SHP13 und möchte gerne in einer HTML Tabelle die eingelesenen Werte (Gesamtverbrauch, Strom und Spannung) darstellen.
      Wie muss ich dies aber in der Tabelle eingeben, dass dies auch klappt?
      Sorry für das schlechte Bild :)
      Danke!
      bild.JPG

      David G.D Online
      David G.D Online
      David G.
      schrieb am zuletzt editiert von David G.
      #6

      @_r_a_l_f_

      Ich nehme einfach immer einen x-beliebigen Onlinegenerator für Tabellen.
      Die einfachen sind die besten.

      Ist das nicht leichter als es mit NodeRed zu machen?

      Zb eine kleine (und nicht schöne) Tabelle.
      Screenshot_20210428-211711_Fully Kiosk Browser.jpg

      <table>
       <tr>
        <td width=10% align=center>Kosten 2021</td>
        <TD width=10% align=center>Kosten pro Monat (hochgerechnet)</td>
       <td width=10% align=center>Kosten pro Jahr (hochgerechnet)</td>
       </tr>
       <tr>
        <td align=center>{sourceanalytix.0.sonoff__0__steckdose_kuehltruhe__ENERGY_Total.currentYear.costs.05_currentYear} €</td>
        <td align=center>{0_userdata.0.Zaehlen.Gefrierschrank.ca_verbrauch_monat} €</td>
        <td align=center>{0_userdata.0.Zaehlen.Gefrierschrank.ca_verbrauch_jahr} €</td>
       </tr>
      
      
      </table>
      

      (Ich weiß, dass die Spalten reiten keinen Sinn machen ^^).

      Nutze Lovelace. Keine Ahnung, ob man die Datenpunkte in anderen Visualisierungen auch so einbinden kann.

      Zeigt eure Lovelace-Visualisierung klick
      (Auch ideal um sich Anregungen zu holen)

      Meine Tabellen für eure Visualisierung klick

      _ 1 Antwort Letzte Antwort
      0
      • mickymM mickym

        @_r_a_l_f_

        Kannst Du bitte im Spoiler also den Flow noch in Code Tags packen - dann hab ich es leichter.

        @_r_a_l_f_ sagte in Wert von mehreren empf. Objekten in eine Tabelle darstellen:

        Ich habe jetzt alle Funktionen soweit durchprobiert aber so ganz klappen, will es nicht.
        Das Node-Red Dashboard verwende ich. Das Tabellen-UI habe ich getestet, jedoch fällt es eigentlich raus, da die Informationen von den Datenpunkten nicht nacheinander gleichzeitig kommen, sondern immer zu verschiedenen Zeiten einzeln.

        Das ist leider ein großes Missverständnis. Egal ob Du das Template oder die Tabellen UI nimmst, zum Zeitpunkt der Ausgabe muss/ liegt alles in einem Array vor. Ich verstehe auch nicht warum Du die Obkekte in Deine Objekte aufnimmst. Da hat kein ack etc. was zu suchen. Ich hab Dir doch in meinem Flow gezeigt, wie die Objekte aussehen sollten.

        Da ist nichts mit val, ack, ts etc.

        Sammeln tuts Du alle Objekte in einer Flow Variablen und gibst diese dann in der Tabelle aus:

        Ich geb zum Beispiel meine ganzen Shellies als Tabelle aus:

        51352cfb-e73e-4447-8dba-05cda5fe3836-image.png

        Die Objekte bzw. Zeilen werden in einer Flow Variablen gespeichert und die einzelnen Objekte angehängt. Sind alle Objekte drin wird das ganze Array als payload übergeben.
        6835b644-9ff6-4cd9-95ab-2c27ca5dbe88-image.png

        So sieht die Flow Variable dann aus und kannst Du dann auch der table Node in einem Rutsch übergeben.

        EDIT: Ich bin zwar gerade dabei das zu importieren - aber dass Du immer die Objekte nimmst anstatt Werte ist schon mal furchtbar nervig. ;) - Das würde ich als erstes ändern. Bei den Vorlagen ist es anscheinend auch besser - die Template NOde leer zu lassen und eigens zu posten - merke gerade, dass das sonst schwierig zum importieren ist. ;)

        _ Offline
        _ Offline
        _R_A_L_F_
        schrieb am zuletzt editiert von
        #7

        @mickym Danke für deine Bemühungen.

        bzgl. Spoiler, das mache ich das nächste mal so, ok, Sorry.

        Dann hat wohl die Basis schon nicht gestimmt, weshalb das Tabellen UI nicht klappte.

        Ich bin da noch blutiger Anfänger, daher bitte Geduld haben :)

        Wie in deinem Beispiel beschrieben, gibts du ja den Gesamtverbrauch in einem Datensatz und in einem zweiten, den anderen Gesamtverbrauch vor und verbindest dies mit dem join Node.
        Daher habe ich mich gewundert, warum ich nochmal ein Objekt erstellen muss, wenn ich ja eigentlich den Input schon als Objekt habe mit allen nötigen Infos.
        Aber wie machst du das, dass eben die Struktur von dem Objekt so aussieht, wie in deinem Flow Variablen Bild? Am Besten in Bezug mit meinem Flow im Speicher?

        Zur zweiten Frage:

        1. Die vier Datenpunkte stammen von einem Verbraucher und kommen mit einem Zeitversatz (Blitzwolf SHP13 ZigBee Steckdose)
        2. Die Spannung wird kontinuierlich getriggert und lebt, selbst wenn die Steckdose ausgeschalten ist.
        3. Ich dachte in dem Input IO Broker habe ich als Ausgabe in dem Objekt den Topic, Val (Wert), etc. Daher habe ich dieses Objekt direkt verwendet.

        Ach das ist ja blöd, dass es zum einem mit dem Template Node nicht funktioniert, wobei ich dazu sagen muss. Es reicht, wenn der Wert beim Popup Aufruf den letzten Wert hat und dieser dann auch so lange bleibt, bis das Popup geschlossen wird. Popup dachte ich mir würde schön aussehen. Eigentlich dachte ich mir, ich brauche ja in dem Template nur diesen Wert val vom Objekt mit dem Topic .../Voltage. Daher dachte ich nicht, dass es so kompliziert wird :D

        mickymM 1 Antwort Letzte Antwort
        0
        • David G.D David G.

          @_r_a_l_f_

          Ich nehme einfach immer einen x-beliebigen Onlinegenerator für Tabellen.
          Die einfachen sind die besten.

          Ist das nicht leichter als es mit NodeRed zu machen?

          Zb eine kleine (und nicht schöne) Tabelle.
          Screenshot_20210428-211711_Fully Kiosk Browser.jpg

          <table>
           <tr>
            <td width=10% align=center>Kosten 2021</td>
            <TD width=10% align=center>Kosten pro Monat (hochgerechnet)</td>
           <td width=10% align=center>Kosten pro Jahr (hochgerechnet)</td>
           </tr>
           <tr>
            <td align=center>{sourceanalytix.0.sonoff__0__steckdose_kuehltruhe__ENERGY_Total.currentYear.costs.05_currentYear} €</td>
            <td align=center>{0_userdata.0.Zaehlen.Gefrierschrank.ca_verbrauch_monat} €</td>
            <td align=center>{0_userdata.0.Zaehlen.Gefrierschrank.ca_verbrauch_jahr} €</td>
           </tr>
          
          
          </table>
          

          (Ich weiß, dass die Spalten reiten keinen Sinn machen ^^).

          Nutze Lovelace. Keine Ahnung, ob man die Datenpunkte in anderen Visualisierungen auch so einbinden kann.

          _ Offline
          _ Offline
          _R_A_L_F_
          schrieb am zuletzt editiert von
          #8

          @david-g Die Idee war die, das ich einen Info Button in Node Red neben der Steckdose eingeblendet habe, wo ich gerne ein Popup aufrufen möchte, der mir paar Zusatzinfos anzeigt von der Steckdose, die wiederum nicht ständig angezeigt werden müssen:
          f2f825dc-d465-43da-80b3-a54b5a5e023c-grafik.png

          Und das ist dann das Popup:
          14f806ef-ac84-4949-a1c6-a090710e7c5c-grafik.png

          Im Grund war meine Idee sowie du es beschrieben hast in deinem Tabellen Screenshot ;)

          mickymM 1 Antwort Letzte Antwort
          0
          • _ _R_A_L_F_

            @mickym Danke für deine Bemühungen.

            bzgl. Spoiler, das mache ich das nächste mal so, ok, Sorry.

            Dann hat wohl die Basis schon nicht gestimmt, weshalb das Tabellen UI nicht klappte.

            Ich bin da noch blutiger Anfänger, daher bitte Geduld haben :)

            Wie in deinem Beispiel beschrieben, gibts du ja den Gesamtverbrauch in einem Datensatz und in einem zweiten, den anderen Gesamtverbrauch vor und verbindest dies mit dem join Node.
            Daher habe ich mich gewundert, warum ich nochmal ein Objekt erstellen muss, wenn ich ja eigentlich den Input schon als Objekt habe mit allen nötigen Infos.
            Aber wie machst du das, dass eben die Struktur von dem Objekt so aussieht, wie in deinem Flow Variablen Bild? Am Besten in Bezug mit meinem Flow im Speicher?

            Zur zweiten Frage:

            1. Die vier Datenpunkte stammen von einem Verbraucher und kommen mit einem Zeitversatz (Blitzwolf SHP13 ZigBee Steckdose)
            2. Die Spannung wird kontinuierlich getriggert und lebt, selbst wenn die Steckdose ausgeschalten ist.
            3. Ich dachte in dem Input IO Broker habe ich als Ausgabe in dem Objekt den Topic, Val (Wert), etc. Daher habe ich dieses Objekt direkt verwendet.

            Ach das ist ja blöd, dass es zum einem mit dem Template Node nicht funktioniert, wobei ich dazu sagen muss. Es reicht, wenn der Wert beim Popup Aufruf den letzten Wert hat und dieser dann auch so lange bleibt, bis das Popup geschlossen wird. Popup dachte ich mir würde schön aussehen. Eigentlich dachte ich mir, ich brauche ja in dem Template nur diesen Wert val vom Objekt mit dem Topic .../Voltage. Daher dachte ich nicht, dass es so kompliziert wird :D

            mickymM Online
            mickymM Online
            mickym
            Most Active
            schrieb am zuletzt editiert von
            #9

            @_r_a_l_f_ Jetzt mal unabhängig vom Popup - das ist easy mit dem letzten Wert.

            Aber was soll in den Tabellen stehen - die letzten Werte aller Stromverbraucher oder eine Tabelle mit der Historie eines Stromverbrauchers?

            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

            1 Antwort Letzte Antwort
            0
            • _ _R_A_L_F_

              @david-g Die Idee war die, das ich einen Info Button in Node Red neben der Steckdose eingeblendet habe, wo ich gerne ein Popup aufrufen möchte, der mir paar Zusatzinfos anzeigt von der Steckdose, die wiederum nicht ständig angezeigt werden müssen:
              f2f825dc-d465-43da-80b3-a54b5a5e023c-grafik.png

              Und das ist dann das Popup:
              14f806ef-ac84-4949-a1c6-a090710e7c5c-grafik.png

              Im Grund war meine Idee sowie du es beschrieben hast in deinem Tabellen Screenshot ;)

              mickymM Online
              mickymM Online
              mickym
              Most Active
              schrieb am zuletzt editiert von mickym
              #10

              @_r_a_l_f_

              So der Flow ist erst mal fertig - Nun verstehe ich - da nur den aktuellen Wert brauchst - ist es zwar eine HTML Tabelle - aber Du brauchst die Angular Direktiven nicht - insofern kann man Dein Vorhaben fast so umsetzen, wie Du geplant hast.

              Damit geht das auch mit dem Popup - die HTML Styles musst Du aber wieder anpassen:

              Ich habe aber die iobroker in Nodes wieder auf Value umgestellt - im msg.topic kann man die Quelle ertrahieren. Das ganze wird dann in einer Flow Variable abgespeichert und aktualisiert.

              Hier also der 1. Teil:

              261096d7-6ff8-495b-8192-e1b5920c0ed3-image.png

              Das msg.topic wird gekürzt und nur vollständige Objekte werden geliefert, da ich ja davon ausgehe, dass alle 4 Werte Zeitnah aktualisiert werden. Deshalb wird das Objekt erst weiter geschickt wenn alle 4 Nodes geliefert haben - das habe ich also geändert.

              f28f6794-fef9-4533-b60e-791cd668eef4-image.png

              Das Objekt wird als Flow Variable unter dem Namen der Steckdose gespeichert:

              37d27d1a-0519-43b6-b601-aaaf9c91e758-image.png

              Hier dieser Teil des Flows:

              [
                 {
                     "id": "52e7a2f5.b5f414",
                     "type": "ioBroker in",
                     "z": "91922d89.e761d8",
                     "name": "Aktueller-Verbrauch",
                     "topic": "alias.0.10-Steckdose-SZ-Lade.load_power",
                     "payloadType": "value",
                     "onlyack": "",
                     "func": "all",
                     "gap": "",
                     "fireOnStart": "false",
                     "x": 390,
                     "y": 300,
                     "wires": [
                         [
                             "79498689.8c1ca8"
                         ]
                     ]
                 },
                 {
                     "id": "aaad70d1.6ff95",
                     "type": "ioBroker in",
                     "z": "91922d89.e761d8",
                     "name": "Gesamtverbrauch",
                     "topic": "alias.0.10-Steckdose-SZ-Lade.energy",
                     "payloadType": "value",
                     "onlyack": "",
                     "func": "all",
                     "gap": "",
                     "fireOnStart": "false",
                     "x": 390,
                     "y": 240,
                     "wires": [
                         [
                             "79498689.8c1ca8"
                         ]
                     ]
                 },
                 {
                     "id": "c2f8a79d.23dfe",
                     "type": "ioBroker in",
                     "z": "91922d89.e761d8",
                     "name": "Aktueller-Stromfluss",
                     "topic": "alias.0.10-Steckdose-SZ-Lade.current",
                     "payloadType": "value",
                     "onlyack": "",
                     "func": "all",
                     "gap": "",
                     "fireOnStart": "false",
                     "x": 390,
                     "y": 360,
                     "wires": [
                         [
                             "79498689.8c1ca8"
                         ]
                     ]
                 },
                 {
                     "id": "52ca0601.07ac48",
                     "type": "ioBroker in",
                     "z": "91922d89.e761d8",
                     "name": "Aktuelle-Spannung",
                     "topic": "alias.0.10-Steckdose-SZ-Lade.voltage",
                     "payloadType": "value",
                     "onlyack": "",
                     "func": "all",
                     "gap": "",
                     "fireOnStart": "false",
                     "x": 390,
                     "y": 420,
                     "wires": [
                         [
                             "79498689.8c1ca8"
                         ]
                     ]
                 },
                 {
                     "id": "148e5752.10e3e1",
                     "type": "join",
                     "z": "91922d89.e761d8",
                     "name": "Werte-zusammenfassen",
                     "mode": "custom",
                     "build": "object",
                     "property": "payload",
                     "propertyType": "msg",
                     "key": "topic",
                     "joiner": "",
                     "joinerType": "str",
                     "accumulate": false,
                     "timeout": "",
                     "count": "4",
                     "reduceRight": false,
                     "reduceExp": "",
                     "reduceInit": "",
                     "reduceInitType": "",
                     "reduceFixup": "",
                     "x": 930,
                     "y": 340,
                     "wires": [
                         [
                             "eb7185fa.62e3b8"
                         ]
                     ]
                 },
                 {
                     "id": "79498689.8c1ca8",
                     "type": "change",
                     "z": "91922d89.e761d8",
                     "name": "",
                     "rules": [
                         {
                             "t": "change",
                             "p": "topic",
                             "pt": "msg",
                             "from": ".*\\.(.*)$",
                             "fromt": "re",
                             "to": "$1",
                             "tot": "str"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 690,
                     "y": 340,
                     "wires": [
                         [
                             "148e5752.10e3e1"
                         ]
                     ]
                 },
                 {
                     "id": "eb7185fa.62e3b8",
                     "type": "change",
                     "z": "91922d89.e761d8",
                     "name": "",
                     "rules": [
                         {
                             "t": "set",
                             "p": "Steckdose-SZ-Lade",
                             "pt": "flow",
                             "to": "payload",
                             "tot": "msg"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 1230,
                     "y": 340,
                     "wires": [
                         []
                     ]
                 }
              ]
              

              So nun wenn man nur den aktuellen Wert braucht - dann brauchst Du die Iteration über ein Array nicht und kannst doch die Template Node nutzen.

              Wenn Du also Deinen Info Button drückst, wird die Flow Variable wieder abgerufen und in die payload geladen:

              51baab99-5e02-465a-abac-453959098fa3-image.png

              Hier der 2. Teil des Flows:

              [
                 {
                     "id": "c1552bdd.a5ef58",
                     "type": "ui_toast",
                     "z": "91922d89.e761d8",
                     "position": "dialog",
                     "displayTime": "25",
                     "highlight": "",
                     "sendall": true,
                     "outputs": 1,
                     "ok": "OK",
                     "cancel": "",
                     "raw": true,
                     "topic": "Infos",
                     "name": "Steckdosen Infos",
                     "x": 1090,
                     "y": 580,
                     "wires": [
                         []
                     ]
                 },
                 {
                     "id": "1f7401b0.11be16",
                     "type": "ui_button",
                     "z": "91922d89.e761d8",
                     "name": "Infos",
                     "group": "1047716f.3df1f7",
                     "order": 3,
                     "width": 2,
                     "height": 1,
                     "passthru": false,
                     "label": "",
                     "tooltip": "",
                     "color": "#F2F2F2",
                     "bgcolor": "#585858",
                     "icon": "fa-2x fa-info",
                     "payload": "",
                     "payloadType": "str",
                     "topic": "topic",
                     "topicType": "msg",
                     "x": 470,
                     "y": 580,
                     "wires": [
                         [
                             "b386e616.27c6b8"
                         ]
                     ]
                 },
                 {
                     "id": "16520087.a7118f",
                     "type": "template",
                     "z": "91922d89.e761d8",
                     "name": "",
                     "field": "payload",
                     "fieldType": "msg",
                     "format": "handlebars",
                     "syntax": "mustache",
                     "template": "<style>\n    \n    \n</style>\n\n<table>\n    <tr><th>Gesamtverbrauch</th><th>Spannung</th><th>Strom</th> <th>Spannung</th></tr>\n    <tr> <td>{{payload.energy}} kWh</td> <td>{{payload.load_power}} V</td> <td>{{payload.load_power}} A</td> <td>{{payload.voltage}} A</td> </tr>\n</table> ",
                     "output": "str",
                     "x": 880,
                     "y": 580,
                     "wires": [
                         [
                             "c21c0f27.b3da",
                             "c1552bdd.a5ef58"
                         ]
                     ]
                 },
                 {
                     "id": "b386e616.27c6b8",
                     "type": "change",
                     "z": "91922d89.e761d8",
                     "name": "",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "Steckdose-SZ-Lade",
                             "tot": "flow"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 660,
                     "y": 580,
                     "wires": [
                         [
                             "16520087.a7118f"
                         ]
                     ]
                 },
                 {
                     "id": "1047716f.3df1f7",
                     "type": "ui_group",
                     "name": "Steckdose",
                     "tab": "cbec3488.c08d3",
                     "order": 4,
                     "disp": true,
                     "width": "6",
                     "collapse": false
                 },
                 {
                     "id": "cbec3488.c08d3",
                     "type": "ui_tab",
                     "name": "Wohnzimmer",
                     "icon": "weekend",
                     "order": 2,
                     "disabled": false,
                     "hidden": false
                 }
              ]
              

              So kannst Du für das Popup schon HTML Code verwenden - ich habe mal alle Styles entfernt, sondern nur die Tabelle belassen.

              Falls Du Schwierigkeiten hast den Flow zu importieren - lösche kurz die Template Node aus.

              Hier ist der Inhalt der Template Node:

              <style>
                  
                  
              </style>
              
              <table>
                  <tr><th>Gesamtverbrauch</th><th>Spannung</th><th>Strom</th> <th>Spannung</th></tr>
                  <tr> <td>{{payload.energy}} kWh</td> <td>{{payload.load_power}} V</td> <td>{{payload.load_power}} A</td> <td>{{payload.voltage}} A</td> </tr>
              </table> 
              

              So siehst Du wie dann auf die Werte der Payload zugegriffen wird.

              Das kommt dann aus der Template Node raus und kann wie von Dir geplant in die notification Code weitergeleitet werden.

              Du siehst aus der Debug Node - das nun der HTML Code inkl. der Werte geschickt werden

              94f6a9b9-8a6d-4e4f-adf0-1f2aa1b84a7d-image.png

              So damit sollte Deine Anforderung gelöst sein!

              POPup funktioniert bei mir:

              3bc7616c-97c6-467d-b94b-4ff887f82b9a-image.png

              Ich habe gerade gesehen - ich habe 2 mal payload.load_power statt payload.current verwendet und auch die Werte sind natürlich Nonsense inkl. der Benennungen - aber ich denke das kannst Du selbst ändern. ;)

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              mickymM 1 Antwort Letzte Antwort
              0
              • mickymM mickym

                @_r_a_l_f_

                So der Flow ist erst mal fertig - Nun verstehe ich - da nur den aktuellen Wert brauchst - ist es zwar eine HTML Tabelle - aber Du brauchst die Angular Direktiven nicht - insofern kann man Dein Vorhaben fast so umsetzen, wie Du geplant hast.

                Damit geht das auch mit dem Popup - die HTML Styles musst Du aber wieder anpassen:

                Ich habe aber die iobroker in Nodes wieder auf Value umgestellt - im msg.topic kann man die Quelle ertrahieren. Das ganze wird dann in einer Flow Variable abgespeichert und aktualisiert.

                Hier also der 1. Teil:

                261096d7-6ff8-495b-8192-e1b5920c0ed3-image.png

                Das msg.topic wird gekürzt und nur vollständige Objekte werden geliefert, da ich ja davon ausgehe, dass alle 4 Werte Zeitnah aktualisiert werden. Deshalb wird das Objekt erst weiter geschickt wenn alle 4 Nodes geliefert haben - das habe ich also geändert.

                f28f6794-fef9-4533-b60e-791cd668eef4-image.png

                Das Objekt wird als Flow Variable unter dem Namen der Steckdose gespeichert:

                37d27d1a-0519-43b6-b601-aaaf9c91e758-image.png

                Hier dieser Teil des Flows:

                [
                   {
                       "id": "52e7a2f5.b5f414",
                       "type": "ioBroker in",
                       "z": "91922d89.e761d8",
                       "name": "Aktueller-Verbrauch",
                       "topic": "alias.0.10-Steckdose-SZ-Lade.load_power",
                       "payloadType": "value",
                       "onlyack": "",
                       "func": "all",
                       "gap": "",
                       "fireOnStart": "false",
                       "x": 390,
                       "y": 300,
                       "wires": [
                           [
                               "79498689.8c1ca8"
                           ]
                       ]
                   },
                   {
                       "id": "aaad70d1.6ff95",
                       "type": "ioBroker in",
                       "z": "91922d89.e761d8",
                       "name": "Gesamtverbrauch",
                       "topic": "alias.0.10-Steckdose-SZ-Lade.energy",
                       "payloadType": "value",
                       "onlyack": "",
                       "func": "all",
                       "gap": "",
                       "fireOnStart": "false",
                       "x": 390,
                       "y": 240,
                       "wires": [
                           [
                               "79498689.8c1ca8"
                           ]
                       ]
                   },
                   {
                       "id": "c2f8a79d.23dfe",
                       "type": "ioBroker in",
                       "z": "91922d89.e761d8",
                       "name": "Aktueller-Stromfluss",
                       "topic": "alias.0.10-Steckdose-SZ-Lade.current",
                       "payloadType": "value",
                       "onlyack": "",
                       "func": "all",
                       "gap": "",
                       "fireOnStart": "false",
                       "x": 390,
                       "y": 360,
                       "wires": [
                           [
                               "79498689.8c1ca8"
                           ]
                       ]
                   },
                   {
                       "id": "52ca0601.07ac48",
                       "type": "ioBroker in",
                       "z": "91922d89.e761d8",
                       "name": "Aktuelle-Spannung",
                       "topic": "alias.0.10-Steckdose-SZ-Lade.voltage",
                       "payloadType": "value",
                       "onlyack": "",
                       "func": "all",
                       "gap": "",
                       "fireOnStart": "false",
                       "x": 390,
                       "y": 420,
                       "wires": [
                           [
                               "79498689.8c1ca8"
                           ]
                       ]
                   },
                   {
                       "id": "148e5752.10e3e1",
                       "type": "join",
                       "z": "91922d89.e761d8",
                       "name": "Werte-zusammenfassen",
                       "mode": "custom",
                       "build": "object",
                       "property": "payload",
                       "propertyType": "msg",
                       "key": "topic",
                       "joiner": "",
                       "joinerType": "str",
                       "accumulate": false,
                       "timeout": "",
                       "count": "4",
                       "reduceRight": false,
                       "reduceExp": "",
                       "reduceInit": "",
                       "reduceInitType": "",
                       "reduceFixup": "",
                       "x": 930,
                       "y": 340,
                       "wires": [
                           [
                               "eb7185fa.62e3b8"
                           ]
                       ]
                   },
                   {
                       "id": "79498689.8c1ca8",
                       "type": "change",
                       "z": "91922d89.e761d8",
                       "name": "",
                       "rules": [
                           {
                               "t": "change",
                               "p": "topic",
                               "pt": "msg",
                               "from": ".*\\.(.*)$",
                               "fromt": "re",
                               "to": "$1",
                               "tot": "str"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 690,
                       "y": 340,
                       "wires": [
                           [
                               "148e5752.10e3e1"
                           ]
                       ]
                   },
                   {
                       "id": "eb7185fa.62e3b8",
                       "type": "change",
                       "z": "91922d89.e761d8",
                       "name": "",
                       "rules": [
                           {
                               "t": "set",
                               "p": "Steckdose-SZ-Lade",
                               "pt": "flow",
                               "to": "payload",
                               "tot": "msg"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 1230,
                       "y": 340,
                       "wires": [
                           []
                       ]
                   }
                ]
                

                So nun wenn man nur den aktuellen Wert braucht - dann brauchst Du die Iteration über ein Array nicht und kannst doch die Template Node nutzen.

                Wenn Du also Deinen Info Button drückst, wird die Flow Variable wieder abgerufen und in die payload geladen:

                51baab99-5e02-465a-abac-453959098fa3-image.png

                Hier der 2. Teil des Flows:

                [
                   {
                       "id": "c1552bdd.a5ef58",
                       "type": "ui_toast",
                       "z": "91922d89.e761d8",
                       "position": "dialog",
                       "displayTime": "25",
                       "highlight": "",
                       "sendall": true,
                       "outputs": 1,
                       "ok": "OK",
                       "cancel": "",
                       "raw": true,
                       "topic": "Infos",
                       "name": "Steckdosen Infos",
                       "x": 1090,
                       "y": 580,
                       "wires": [
                           []
                       ]
                   },
                   {
                       "id": "1f7401b0.11be16",
                       "type": "ui_button",
                       "z": "91922d89.e761d8",
                       "name": "Infos",
                       "group": "1047716f.3df1f7",
                       "order": 3,
                       "width": 2,
                       "height": 1,
                       "passthru": false,
                       "label": "",
                       "tooltip": "",
                       "color": "#F2F2F2",
                       "bgcolor": "#585858",
                       "icon": "fa-2x fa-info",
                       "payload": "",
                       "payloadType": "str",
                       "topic": "topic",
                       "topicType": "msg",
                       "x": 470,
                       "y": 580,
                       "wires": [
                           [
                               "b386e616.27c6b8"
                           ]
                       ]
                   },
                   {
                       "id": "16520087.a7118f",
                       "type": "template",
                       "z": "91922d89.e761d8",
                       "name": "",
                       "field": "payload",
                       "fieldType": "msg",
                       "format": "handlebars",
                       "syntax": "mustache",
                       "template": "<style>\n    \n    \n</style>\n\n<table>\n    <tr><th>Gesamtverbrauch</th><th>Spannung</th><th>Strom</th> <th>Spannung</th></tr>\n    <tr> <td>{{payload.energy}} kWh</td> <td>{{payload.load_power}} V</td> <td>{{payload.load_power}} A</td> <td>{{payload.voltage}} A</td> </tr>\n</table> ",
                       "output": "str",
                       "x": 880,
                       "y": 580,
                       "wires": [
                           [
                               "c21c0f27.b3da",
                               "c1552bdd.a5ef58"
                           ]
                       ]
                   },
                   {
                       "id": "b386e616.27c6b8",
                       "type": "change",
                       "z": "91922d89.e761d8",
                       "name": "",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "Steckdose-SZ-Lade",
                               "tot": "flow"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 660,
                       "y": 580,
                       "wires": [
                           [
                               "16520087.a7118f"
                           ]
                       ]
                   },
                   {
                       "id": "1047716f.3df1f7",
                       "type": "ui_group",
                       "name": "Steckdose",
                       "tab": "cbec3488.c08d3",
                       "order": 4,
                       "disp": true,
                       "width": "6",
                       "collapse": false
                   },
                   {
                       "id": "cbec3488.c08d3",
                       "type": "ui_tab",
                       "name": "Wohnzimmer",
                       "icon": "weekend",
                       "order": 2,
                       "disabled": false,
                       "hidden": false
                   }
                ]
                

                So kannst Du für das Popup schon HTML Code verwenden - ich habe mal alle Styles entfernt, sondern nur die Tabelle belassen.

                Falls Du Schwierigkeiten hast den Flow zu importieren - lösche kurz die Template Node aus.

                Hier ist der Inhalt der Template Node:

                <style>
                    
                    
                </style>
                
                <table>
                    <tr><th>Gesamtverbrauch</th><th>Spannung</th><th>Strom</th> <th>Spannung</th></tr>
                    <tr> <td>{{payload.energy}} kWh</td> <td>{{payload.load_power}} V</td> <td>{{payload.load_power}} A</td> <td>{{payload.voltage}} A</td> </tr>
                </table> 
                

                So siehst Du wie dann auf die Werte der Payload zugegriffen wird.

                Das kommt dann aus der Template Node raus und kann wie von Dir geplant in die notification Code weitergeleitet werden.

                Du siehst aus der Debug Node - das nun der HTML Code inkl. der Werte geschickt werden

                94f6a9b9-8a6d-4e4f-adf0-1f2aa1b84a7d-image.png

                So damit sollte Deine Anforderung gelöst sein!

                POPup funktioniert bei mir:

                3bc7616c-97c6-467d-b94b-4ff887f82b9a-image.png

                Ich habe gerade gesehen - ich habe 2 mal payload.load_power statt payload.current verwendet und auch die Werte sind natürlich Nonsense inkl. der Benennungen - aber ich denke das kannst Du selbst ändern. ;)

                mickymM Online
                mickymM Online
                mickym
                Most Active
                schrieb am zuletzt editiert von mickym
                #11

                @_R_A_L_F_

                So hier noch ein ganz anderer Ansatz ohne Variablen und eigentlich der einfachste Flow, um das Popup darzustellen.

                Trigger ist hier alleine der Druck auf den INFO Button. Das Problem ist immer dass man halt bei Euren Beschreibungen oft immer nur ein Teilanforderung bekommt.

                So hier also der einfachste Weg ohne Variablen:

                [
                   {
                       "id": "c1552bdd.a5ef58",
                       "type": "ui_toast",
                       "z": "91922d89.e761d8",
                       "position": "dialog",
                       "displayTime": "25",
                       "highlight": "",
                       "sendall": true,
                       "outputs": 1,
                       "ok": "OK",
                       "cancel": "",
                       "raw": true,
                       "topic": "Infos",
                       "name": "Steckdosen Infos",
                       "x": 1250,
                       "y": 580,
                       "wires": [
                           []
                       ]
                   },
                   {
                       "id": "1f7401b0.11be16",
                       "type": "ui_button",
                       "z": "91922d89.e761d8",
                       "name": "Infos",
                       "group": "1047716f.3df1f7",
                       "order": 3,
                       "width": 2,
                       "height": 1,
                       "passthru": false,
                       "label": "",
                       "tooltip": "",
                       "color": "#F2F2F2",
                       "bgcolor": "#585858",
                       "icon": "fa-2x fa-info",
                       "payload": "",
                       "payloadType": "str",
                       "topic": "topic",
                       "topicType": "msg",
                       "x": 170,
                       "y": 580,
                       "wires": [
                           [
                               "391d68b9.68e038"
                           ]
                       ]
                   },
                   {
                       "id": "16520087.a7118f",
                       "type": "template",
                       "z": "91922d89.e761d8",
                       "name": "",
                       "field": "payload",
                       "fieldType": "msg",
                       "format": "handlebars",
                       "syntax": "mustache",
                       "template": "<style>\n    \n    \n</style>\n\n<table>\n    <tr><th>Gesamtverbrauch</th><th>Spannung</th><th>Strom</th> <th>Spannung</th></tr>\n    <tr> <td>{{energy}} kWh</td> <td>{{load_power}} V</td> <td>{{current}} A</td> <td>{{voltage}} A</td> </tr>\n</table> ",
                       "output": "str",
                       "x": 1040,
                       "y": 580,
                       "wires": [
                           [
                               "c1552bdd.a5ef58"
                           ]
                       ]
                   },
                   {
                       "id": "391d68b9.68e038",
                       "type": "ioBroker get",
                       "z": "91922d89.e761d8",
                       "name": "energy",
                       "topic": "alias.0.10-Steckdose-SZ-Lade.energy",
                       "attrname": "energy",
                       "payloadType": "value",
                       "x": 340,
                       "y": 580,
                       "wires": [
                           [
                               "5df7bc62.86d424"
                           ]
                       ]
                   },
                   {
                       "id": "5df7bc62.86d424",
                       "type": "ioBroker get",
                       "z": "91922d89.e761d8",
                       "name": "load_power",
                       "topic": "alias.0.10-Steckdose-SZ-Lade.load_power",
                       "attrname": "load_power",
                       "payloadType": "value",
                       "x": 510,
                       "y": 580,
                       "wires": [
                           [
                               "292b85fd.1dc40a"
                           ]
                       ]
                   },
                   {
                       "id": "292b85fd.1dc40a",
                       "type": "ioBroker get",
                       "z": "91922d89.e761d8",
                       "name": "current",
                       "topic": "alias.0.10-Steckdose-SZ-Lade.current",
                       "attrname": "current",
                       "payloadType": "value",
                       "x": 700,
                       "y": 580,
                       "wires": [
                           [
                               "f4db5f00.19de9"
                           ]
                       ]
                   },
                   {
                       "id": "f4db5f00.19de9",
                       "type": "ioBroker get",
                       "z": "91922d89.e761d8",
                       "name": "voltage",
                       "topic": "alias.0.10-Steckdose-SZ-Lade.voltage",
                       "attrname": "voltage",
                       "payloadType": "value",
                       "x": 860,
                       "y": 580,
                       "wires": [
                           [
                               "16520087.a7118f"
                           ]
                       ]
                   },
                   {
                       "id": "1047716f.3df1f7",
                       "type": "ui_group",
                       "name": "Steckdose",
                       "tab": "cbec3488.c08d3",
                       "order": 4,
                       "disp": true,
                       "width": "6",
                       "collapse": false
                   },
                   {
                       "id": "cbec3488.c08d3",
                       "type": "ui_tab",
                       "name": "Wohnzimmer",
                       "icon": "weekend",
                       "order": 2,
                       "disabled": false,
                       "hidden": false
                   }
                ]
                

                c6df53f8-8f8d-4ecf-9264-bb112ba8c7af-image.png

                Damit wird zum Zeitpunkt des Drückens des Info Buttons quasi in Echtzeit die aktuellen Werte ausgelesen.

                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                _ F 2 Antworten Letzte Antwort
                0
                • mickymM mickym

                  @_R_A_L_F_

                  So hier noch ein ganz anderer Ansatz ohne Variablen und eigentlich der einfachste Flow, um das Popup darzustellen.

                  Trigger ist hier alleine der Druck auf den INFO Button. Das Problem ist immer dass man halt bei Euren Beschreibungen oft immer nur ein Teilanforderung bekommt.

                  So hier also der einfachste Weg ohne Variablen:

                  [
                     {
                         "id": "c1552bdd.a5ef58",
                         "type": "ui_toast",
                         "z": "91922d89.e761d8",
                         "position": "dialog",
                         "displayTime": "25",
                         "highlight": "",
                         "sendall": true,
                         "outputs": 1,
                         "ok": "OK",
                         "cancel": "",
                         "raw": true,
                         "topic": "Infos",
                         "name": "Steckdosen Infos",
                         "x": 1250,
                         "y": 580,
                         "wires": [
                             []
                         ]
                     },
                     {
                         "id": "1f7401b0.11be16",
                         "type": "ui_button",
                         "z": "91922d89.e761d8",
                         "name": "Infos",
                         "group": "1047716f.3df1f7",
                         "order": 3,
                         "width": 2,
                         "height": 1,
                         "passthru": false,
                         "label": "",
                         "tooltip": "",
                         "color": "#F2F2F2",
                         "bgcolor": "#585858",
                         "icon": "fa-2x fa-info",
                         "payload": "",
                         "payloadType": "str",
                         "topic": "topic",
                         "topicType": "msg",
                         "x": 170,
                         "y": 580,
                         "wires": [
                             [
                                 "391d68b9.68e038"
                             ]
                         ]
                     },
                     {
                         "id": "16520087.a7118f",
                         "type": "template",
                         "z": "91922d89.e761d8",
                         "name": "",
                         "field": "payload",
                         "fieldType": "msg",
                         "format": "handlebars",
                         "syntax": "mustache",
                         "template": "<style>\n    \n    \n</style>\n\n<table>\n    <tr><th>Gesamtverbrauch</th><th>Spannung</th><th>Strom</th> <th>Spannung</th></tr>\n    <tr> <td>{{energy}} kWh</td> <td>{{load_power}} V</td> <td>{{current}} A</td> <td>{{voltage}} A</td> </tr>\n</table> ",
                         "output": "str",
                         "x": 1040,
                         "y": 580,
                         "wires": [
                             [
                                 "c1552bdd.a5ef58"
                             ]
                         ]
                     },
                     {
                         "id": "391d68b9.68e038",
                         "type": "ioBroker get",
                         "z": "91922d89.e761d8",
                         "name": "energy",
                         "topic": "alias.0.10-Steckdose-SZ-Lade.energy",
                         "attrname": "energy",
                         "payloadType": "value",
                         "x": 340,
                         "y": 580,
                         "wires": [
                             [
                                 "5df7bc62.86d424"
                             ]
                         ]
                     },
                     {
                         "id": "5df7bc62.86d424",
                         "type": "ioBroker get",
                         "z": "91922d89.e761d8",
                         "name": "load_power",
                         "topic": "alias.0.10-Steckdose-SZ-Lade.load_power",
                         "attrname": "load_power",
                         "payloadType": "value",
                         "x": 510,
                         "y": 580,
                         "wires": [
                             [
                                 "292b85fd.1dc40a"
                             ]
                         ]
                     },
                     {
                         "id": "292b85fd.1dc40a",
                         "type": "ioBroker get",
                         "z": "91922d89.e761d8",
                         "name": "current",
                         "topic": "alias.0.10-Steckdose-SZ-Lade.current",
                         "attrname": "current",
                         "payloadType": "value",
                         "x": 700,
                         "y": 580,
                         "wires": [
                             [
                                 "f4db5f00.19de9"
                             ]
                         ]
                     },
                     {
                         "id": "f4db5f00.19de9",
                         "type": "ioBroker get",
                         "z": "91922d89.e761d8",
                         "name": "voltage",
                         "topic": "alias.0.10-Steckdose-SZ-Lade.voltage",
                         "attrname": "voltage",
                         "payloadType": "value",
                         "x": 860,
                         "y": 580,
                         "wires": [
                             [
                                 "16520087.a7118f"
                             ]
                         ]
                     },
                     {
                         "id": "1047716f.3df1f7",
                         "type": "ui_group",
                         "name": "Steckdose",
                         "tab": "cbec3488.c08d3",
                         "order": 4,
                         "disp": true,
                         "width": "6",
                         "collapse": false
                     },
                     {
                         "id": "cbec3488.c08d3",
                         "type": "ui_tab",
                         "name": "Wohnzimmer",
                         "icon": "weekend",
                         "order": 2,
                         "disabled": false,
                         "hidden": false
                     }
                  ]
                  

                  c6df53f8-8f8d-4ecf-9264-bb112ba8c7af-image.png

                  Damit wird zum Zeitpunkt des Drückens des Info Buttons quasi in Echtzeit die aktuellen Werte ausgelesen.

                  _ Offline
                  _ Offline
                  _R_A_L_F_
                  schrieb am zuletzt editiert von
                  #12

                  @mickym Hallo mickym, ich kann an der Stelle nur sagen: Vielen Vielen Dank :) :clap: :clap: .

                  Ich bin erst jetzt dazu gekommen, das ganze zu testen und habe daher direkt den zweiten Ansatz probiert und es klappt, wie es soll.

                  Das ist ab und an wirklich schwierig zu vermitteln, was man konkret vor hat aber ich denke jetzt ist wirklich eine Lösung entstanden, die funktioniert.

                  Wie gesagt, vielen herzlichen Dank nochmal für deine ausführlichen Beschreibungen, die Flows und der Lösung.

                  1 Antwort Letzte Antwort
                  0
                  • mickymM mickym

                    @_R_A_L_F_

                    So hier noch ein ganz anderer Ansatz ohne Variablen und eigentlich der einfachste Flow, um das Popup darzustellen.

                    Trigger ist hier alleine der Druck auf den INFO Button. Das Problem ist immer dass man halt bei Euren Beschreibungen oft immer nur ein Teilanforderung bekommt.

                    So hier also der einfachste Weg ohne Variablen:

                    [
                       {
                           "id": "c1552bdd.a5ef58",
                           "type": "ui_toast",
                           "z": "91922d89.e761d8",
                           "position": "dialog",
                           "displayTime": "25",
                           "highlight": "",
                           "sendall": true,
                           "outputs": 1,
                           "ok": "OK",
                           "cancel": "",
                           "raw": true,
                           "topic": "Infos",
                           "name": "Steckdosen Infos",
                           "x": 1250,
                           "y": 580,
                           "wires": [
                               []
                           ]
                       },
                       {
                           "id": "1f7401b0.11be16",
                           "type": "ui_button",
                           "z": "91922d89.e761d8",
                           "name": "Infos",
                           "group": "1047716f.3df1f7",
                           "order": 3,
                           "width": 2,
                           "height": 1,
                           "passthru": false,
                           "label": "",
                           "tooltip": "",
                           "color": "#F2F2F2",
                           "bgcolor": "#585858",
                           "icon": "fa-2x fa-info",
                           "payload": "",
                           "payloadType": "str",
                           "topic": "topic",
                           "topicType": "msg",
                           "x": 170,
                           "y": 580,
                           "wires": [
                               [
                                   "391d68b9.68e038"
                               ]
                           ]
                       },
                       {
                           "id": "16520087.a7118f",
                           "type": "template",
                           "z": "91922d89.e761d8",
                           "name": "",
                           "field": "payload",
                           "fieldType": "msg",
                           "format": "handlebars",
                           "syntax": "mustache",
                           "template": "<style>\n    \n    \n</style>\n\n<table>\n    <tr><th>Gesamtverbrauch</th><th>Spannung</th><th>Strom</th> <th>Spannung</th></tr>\n    <tr> <td>{{energy}} kWh</td> <td>{{load_power}} V</td> <td>{{current}} A</td> <td>{{voltage}} A</td> </tr>\n</table> ",
                           "output": "str",
                           "x": 1040,
                           "y": 580,
                           "wires": [
                               [
                                   "c1552bdd.a5ef58"
                               ]
                           ]
                       },
                       {
                           "id": "391d68b9.68e038",
                           "type": "ioBroker get",
                           "z": "91922d89.e761d8",
                           "name": "energy",
                           "topic": "alias.0.10-Steckdose-SZ-Lade.energy",
                           "attrname": "energy",
                           "payloadType": "value",
                           "x": 340,
                           "y": 580,
                           "wires": [
                               [
                                   "5df7bc62.86d424"
                               ]
                           ]
                       },
                       {
                           "id": "5df7bc62.86d424",
                           "type": "ioBroker get",
                           "z": "91922d89.e761d8",
                           "name": "load_power",
                           "topic": "alias.0.10-Steckdose-SZ-Lade.load_power",
                           "attrname": "load_power",
                           "payloadType": "value",
                           "x": 510,
                           "y": 580,
                           "wires": [
                               [
                                   "292b85fd.1dc40a"
                               ]
                           ]
                       },
                       {
                           "id": "292b85fd.1dc40a",
                           "type": "ioBroker get",
                           "z": "91922d89.e761d8",
                           "name": "current",
                           "topic": "alias.0.10-Steckdose-SZ-Lade.current",
                           "attrname": "current",
                           "payloadType": "value",
                           "x": 700,
                           "y": 580,
                           "wires": [
                               [
                                   "f4db5f00.19de9"
                               ]
                           ]
                       },
                       {
                           "id": "f4db5f00.19de9",
                           "type": "ioBroker get",
                           "z": "91922d89.e761d8",
                           "name": "voltage",
                           "topic": "alias.0.10-Steckdose-SZ-Lade.voltage",
                           "attrname": "voltage",
                           "payloadType": "value",
                           "x": 860,
                           "y": 580,
                           "wires": [
                               [
                                   "16520087.a7118f"
                               ]
                           ]
                       },
                       {
                           "id": "1047716f.3df1f7",
                           "type": "ui_group",
                           "name": "Steckdose",
                           "tab": "cbec3488.c08d3",
                           "order": 4,
                           "disp": true,
                           "width": "6",
                           "collapse": false
                       },
                       {
                           "id": "cbec3488.c08d3",
                           "type": "ui_tab",
                           "name": "Wohnzimmer",
                           "icon": "weekend",
                           "order": 2,
                           "disabled": false,
                           "hidden": false
                       }
                    ]
                    

                    c6df53f8-8f8d-4ecf-9264-bb112ba8c7af-image.png

                    Damit wird zum Zeitpunkt des Drückens des Info Buttons quasi in Echtzeit die aktuellen Werte ausgelesen.

                    F Offline
                    F Offline
                    frankyboy73
                    schrieb am zuletzt editiert von frankyboy73
                    #13

                    @mickym Hi, ich stehe auch gerade vor dem Problem, das ich mir die Daten meiner Tasmota Geräte in einer Tabelle ausgeben möchte. So ähnlich wie du es bei deinen Shellys umgesetzt hast.
                    Ob über die Table oder ui Node ist mir eigentlich egal. Habe schon etwas rumprobiert, kriege aber bis jetzt noch nichts ausgegeben. In der UI hatte ich wenigstens schon mal die Überschriften bzw. die Tabellenspalten nach meinen wünschen benennen können, aber hatte keine Werteausgabe.
                    Ich will zum Anfang erst mal nur den Namen des jeweiligen Gerätes und die Wlan Empfangsstärke darstellen.
                    Aus dem Topic ziehe ich mir den Namen sonoff.0.Gerätename.Wifi_RSSI, das kriege ich hin, per Change und Suche/Ersetzte. Die Empfangsstärke liegt als payload vor, also auch kein Thema.
                    Aber irgendwie kriege ich erst mal nicht den Namen ins Array. Und irgendwie weiß ich gar nicht was ich bei der Table Node einstellen muss. Werde aus der Doku irgendwie nicht schlau.
                    Wären bei mir ca. 24 Geräte, auslesen wollte ich sie per In Node und Wildcard.
                    So sieht mein Anfang aus. In der Join Node habe ich erst mal auf 2 Nachrichten eingestellt, damit ich nicht zu lange warten muss.
                    Tabelle1.jpg

                    [
                       {
                           "id": "c4520033.5cd87",
                           "type": "ioBroker in",
                           "z": "523fbe1.477244",
                           "name": "",
                           "topic": "sonoff.0.*.Wifi_RSSI",
                           "payloadType": "value",
                           "onlyack": "",
                           "func": "all",
                           "gap": "",
                           "fireOnStart": "false",
                           "x": 220,
                           "y": 3360,
                           "wires": [
                               [
                                   "8a66f986.67c3d8"
                               ]
                           ]
                       },
                       {
                           "id": "68664c1e.dad8c4",
                           "type": "debug",
                           "z": "523fbe1.477244",
                           "name": "",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "false",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 810,
                           "y": 3300,
                           "wires": []
                       },
                       {
                           "id": "98bb1c48.269fb",
                           "type": "ui_table",
                           "z": "523fbe1.477244",
                           "group": "1b6ce2ed.70c1ad",
                           "name": "",
                           "order": 2,
                           "width": 0,
                           "height": 0,
                           "columns": [],
                           "outputs": 0,
                           "cts": false,
                           "x": 810,
                           "y": 3420,
                           "wires": []
                       },
                       {
                           "id": "fa55aff4.7a27c",
                           "type": "join",
                           "z": "523fbe1.477244",
                           "name": "",
                           "mode": "custom",
                           "build": "array",
                           "property": "payload",
                           "propertyType": "msg",
                           "key": "topic",
                           "joiner": "\\n",
                           "joinerType": "str",
                           "accumulate": false,
                           "timeout": "",
                           "count": "2",
                           "reduceRight": false,
                           "reduceExp": "",
                           "reduceInit": "",
                           "reduceInitType": "",
                           "reduceFixup": "",
                           "x": 660,
                           "y": 3360,
                           "wires": [
                               [
                                   "98bb1c48.269fb",
                                   "68664c1e.dad8c4"
                               ]
                           ]
                       },
                       {
                           "id": "8a66f986.67c3d8",
                           "type": "change",
                           "z": "523fbe1.477244",
                           "name": "",
                           "rules": [
                               {
                                   "t": "change",
                                   "p": "topic",
                                   "pt": "msg",
                                   "from": "sonoff/0/",
                                   "fromt": "str",
                                   "to": "",
                                   "tot": "str"
                               },
                               {
                                   "t": "change",
                                   "p": "topic",
                                   "pt": "msg",
                                   "from": "/Wifi_RSSI",
                                   "fromt": "str",
                                   "to": "",
                                   "tot": "str"
                               }
                           ],
                           "action": "",
                           "property": "",
                           "from": "",
                           "to": "",
                           "reg": false,
                           "x": 450,
                           "y": 3360,
                           "wires": [
                               [
                                   "fa55aff4.7a27c",
                                   "8b3f2c28.82b14"
                               ]
                           ]
                       },
                       {
                           "id": "8b3f2c28.82b14",
                           "type": "debug",
                           "z": "523fbe1.477244",
                           "name": "",
                           "active": true,
                           "tosidebar": true,
                           "console": false,
                           "tostatus": false,
                           "complete": "false",
                           "statusVal": "",
                           "statusType": "auto",
                           "x": 840,
                           "y": 3220,
                           "wires": []
                       },
                       {
                           "id": "1b6ce2ed.70c1ad",
                           "type": "ui_group",
                           "name": "Start",
                           "tab": "d6de6fe8.c78c",
                           "order": 1,
                           "disp": false,
                           "width": "6",
                           "collapse": false
                       },
                       {
                           "id": "d6de6fe8.c78c",
                           "type": "ui_tab",
                           "name": "Motion2",
                           "icon": "dashboard",
                           "order": 21,
                           "disabled": false,
                           "hidden": false
                       }
                    ]
                    


                    Edit: Hi, bin jetzt doch schon mit der UI Node weiter gekommen. Sieht zwar noch nicht all zu schön aus, aber es funktioniert schon mal.
                    Tabelle2.jpg

                    Schöne Grüße Frank

                    mickymM 1 Antwort Letzte Antwort
                    0
                    • F frankyboy73

                      @mickym Hi, ich stehe auch gerade vor dem Problem, das ich mir die Daten meiner Tasmota Geräte in einer Tabelle ausgeben möchte. So ähnlich wie du es bei deinen Shellys umgesetzt hast.
                      Ob über die Table oder ui Node ist mir eigentlich egal. Habe schon etwas rumprobiert, kriege aber bis jetzt noch nichts ausgegeben. In der UI hatte ich wenigstens schon mal die Überschriften bzw. die Tabellenspalten nach meinen wünschen benennen können, aber hatte keine Werteausgabe.
                      Ich will zum Anfang erst mal nur den Namen des jeweiligen Gerätes und die Wlan Empfangsstärke darstellen.
                      Aus dem Topic ziehe ich mir den Namen sonoff.0.Gerätename.Wifi_RSSI, das kriege ich hin, per Change und Suche/Ersetzte. Die Empfangsstärke liegt als payload vor, also auch kein Thema.
                      Aber irgendwie kriege ich erst mal nicht den Namen ins Array. Und irgendwie weiß ich gar nicht was ich bei der Table Node einstellen muss. Werde aus der Doku irgendwie nicht schlau.
                      Wären bei mir ca. 24 Geräte, auslesen wollte ich sie per In Node und Wildcard.
                      So sieht mein Anfang aus. In der Join Node habe ich erst mal auf 2 Nachrichten eingestellt, damit ich nicht zu lange warten muss.
                      Tabelle1.jpg

                      [
                         {
                             "id": "c4520033.5cd87",
                             "type": "ioBroker in",
                             "z": "523fbe1.477244",
                             "name": "",
                             "topic": "sonoff.0.*.Wifi_RSSI",
                             "payloadType": "value",
                             "onlyack": "",
                             "func": "all",
                             "gap": "",
                             "fireOnStart": "false",
                             "x": 220,
                             "y": 3360,
                             "wires": [
                                 [
                                     "8a66f986.67c3d8"
                                 ]
                             ]
                         },
                         {
                             "id": "68664c1e.dad8c4",
                             "type": "debug",
                             "z": "523fbe1.477244",
                             "name": "",
                             "active": true,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "false",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 810,
                             "y": 3300,
                             "wires": []
                         },
                         {
                             "id": "98bb1c48.269fb",
                             "type": "ui_table",
                             "z": "523fbe1.477244",
                             "group": "1b6ce2ed.70c1ad",
                             "name": "",
                             "order": 2,
                             "width": 0,
                             "height": 0,
                             "columns": [],
                             "outputs": 0,
                             "cts": false,
                             "x": 810,
                             "y": 3420,
                             "wires": []
                         },
                         {
                             "id": "fa55aff4.7a27c",
                             "type": "join",
                             "z": "523fbe1.477244",
                             "name": "",
                             "mode": "custom",
                             "build": "array",
                             "property": "payload",
                             "propertyType": "msg",
                             "key": "topic",
                             "joiner": "\\n",
                             "joinerType": "str",
                             "accumulate": false,
                             "timeout": "",
                             "count": "2",
                             "reduceRight": false,
                             "reduceExp": "",
                             "reduceInit": "",
                             "reduceInitType": "",
                             "reduceFixup": "",
                             "x": 660,
                             "y": 3360,
                             "wires": [
                                 [
                                     "98bb1c48.269fb",
                                     "68664c1e.dad8c4"
                                 ]
                             ]
                         },
                         {
                             "id": "8a66f986.67c3d8",
                             "type": "change",
                             "z": "523fbe1.477244",
                             "name": "",
                             "rules": [
                                 {
                                     "t": "change",
                                     "p": "topic",
                                     "pt": "msg",
                                     "from": "sonoff/0/",
                                     "fromt": "str",
                                     "to": "",
                                     "tot": "str"
                                 },
                                 {
                                     "t": "change",
                                     "p": "topic",
                                     "pt": "msg",
                                     "from": "/Wifi_RSSI",
                                     "fromt": "str",
                                     "to": "",
                                     "tot": "str"
                                 }
                             ],
                             "action": "",
                             "property": "",
                             "from": "",
                             "to": "",
                             "reg": false,
                             "x": 450,
                             "y": 3360,
                             "wires": [
                                 [
                                     "fa55aff4.7a27c",
                                     "8b3f2c28.82b14"
                                 ]
                             ]
                         },
                         {
                             "id": "8b3f2c28.82b14",
                             "type": "debug",
                             "z": "523fbe1.477244",
                             "name": "",
                             "active": true,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "false",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 840,
                             "y": 3220,
                             "wires": []
                         },
                         {
                             "id": "1b6ce2ed.70c1ad",
                             "type": "ui_group",
                             "name": "Start",
                             "tab": "d6de6fe8.c78c",
                             "order": 1,
                             "disp": false,
                             "width": "6",
                             "collapse": false
                         },
                         {
                             "id": "d6de6fe8.c78c",
                             "type": "ui_tab",
                             "name": "Motion2",
                             "icon": "dashboard",
                             "order": 21,
                             "disabled": false,
                             "hidden": false
                         }
                      ]
                      


                      Edit: Hi, bin jetzt doch schon mit der UI Node weiter gekommen. Sieht zwar noch nicht all zu schön aus, aber es funktioniert schon mal.
                      Tabelle2.jpg

                      mickymM Online
                      mickymM Online
                      mickym
                      Most Active
                      schrieb am zuletzt editiert von
                      #14

                      @frankyboy73 Die Antwort ist relativ easy.

                      326258b4-895b-4fc9-a510-48795d2dc19e-image.png

                      Du brauchst also ein Objekt Array um die Tabelle darzustellen.

                      Also mit der ersten JOIN Node machst Du quasi die Objekte mit den Spalten.

                      OK - dann muss ich ja jetzt nicht mehr weiterschreiben, hast es ja selbst rausgefunden. ;)

                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                      F 1 Antwort Letzte Antwort
                      0
                      • mickymM mickym

                        @frankyboy73 Die Antwort ist relativ easy.

                        326258b4-895b-4fc9-a510-48795d2dc19e-image.png

                        Du brauchst also ein Objekt Array um die Tabelle darzustellen.

                        Also mit der ersten JOIN Node machst Du quasi die Objekte mit den Spalten.

                        OK - dann muss ich ja jetzt nicht mehr weiterschreiben, hast es ja selbst rausgefunden. ;)

                        F Offline
                        F Offline
                        frankyboy73
                        schrieb am zuletzt editiert von
                        #15

                        @mickym Hi, ja, hatte nur nicht das "verbinde jede Vollständige Nachricht" in der Join ausgewählt, sondern nur msg.payload.
                        Kann man da eigentlich noch irgendwas an der Ausrichtung machen, damit die Signalstärke weiter nach rechts kommt?
                        Das habe ich jetzt in der UI Node eingestellt.

                        <table>
                        
                        
                          
                           <tr><th width=100>Name</th><th width=100>Signal</th></tr>
                            <tr ng-repeat="(key, y) in msg.payload">
                           <td>{{y.topic}}</td><td>{{y.payload}}</td>
                        
                           </tr>
                           
                        </table>
                        

                        Schöne Grüße Frank

                        mickymM 1 Antwort Letzte Antwort
                        0
                        • F frankyboy73

                          @mickym Hi, ja, hatte nur nicht das "verbinde jede Vollständige Nachricht" in der Join ausgewählt, sondern nur msg.payload.
                          Kann man da eigentlich noch irgendwas an der Ausrichtung machen, damit die Signalstärke weiter nach rechts kommt?
                          Das habe ich jetzt in der UI Node eingestellt.

                          <table>
                          
                          
                            
                             <tr><th width=100>Name</th><th width=100>Signal</th></tr>
                              <tr ng-repeat="(key, y) in msg.payload">
                             <td>{{y.topic}}</td><td>{{y.payload}}</td>
                          
                             </tr>
                             
                          </table>
                          

                          mickymM Online
                          mickymM Online
                          mickym
                          Most Active
                          schrieb am zuletzt editiert von mickym
                          #16

                          @frankyboy73 Ach so - Du hast die Template Node nun genommen und nicht die table Node.

                          Zu Deiner Frage klar kannst Du das alles nach Deinen Bedürfnissen modifizieren:

                          Ich hatte erst kürzlich mit der template Node und verschiedenen Inputs gespielt und referriert: https://forum.iobroker.net/topic/49661/aus-string-eine-übersichtliche-liste-erstellen

                          dabei kannst in den Spalten natürlich auch Formatanweisungen unterbringen (s. hier):
                          https://forum.iobroker.net/topic/49661/aus-string-eine-übersichtliche-liste-erstellen/8

                          also kannst

                           align=center
                          oder
                          align=right
                          

                          für Zahlen besser geeignet.

                          Also in Deinem Fall:

                          <table>
                           
                           
                            
                             <tr><th width=100>Name</th><th width=100>Signal</th></tr>
                              <tr ng-repeat="(key, y) in msg.payload">
                             <td>{{y.topic}}</td><td  align=right>{{y.payload}}</td>
                           
                             </tr>
                             
                          </table>
                          

                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                          F 2 Antworten Letzte Antwort
                          0
                          • mickymM mickym

                            @frankyboy73 Ach so - Du hast die Template Node nun genommen und nicht die table Node.

                            Zu Deiner Frage klar kannst Du das alles nach Deinen Bedürfnissen modifizieren:

                            Ich hatte erst kürzlich mit der template Node und verschiedenen Inputs gespielt und referriert: https://forum.iobroker.net/topic/49661/aus-string-eine-übersichtliche-liste-erstellen

                            dabei kannst in den Spalten natürlich auch Formatanweisungen unterbringen (s. hier):
                            https://forum.iobroker.net/topic/49661/aus-string-eine-übersichtliche-liste-erstellen/8

                            also kannst

                             align=center
                            oder
                            align=right
                            

                            für Zahlen besser geeignet.

                            Also in Deinem Fall:

                            <table>
                             
                             
                              
                               <tr><th width=100>Name</th><th width=100>Signal</th></tr>
                                <tr ng-repeat="(key, y) in msg.payload">
                               <td>{{y.topic}}</td><td  align=right>{{y.payload}}</td>
                             
                               </tr>
                               
                            </table>
                            
                            F Offline
                            F Offline
                            frankyboy73
                            schrieb am zuletzt editiert von frankyboy73
                            #17

                            gelöscht, doppelt

                            Schöne Grüße Frank

                            1 Antwort Letzte Antwort
                            0
                            • mickymM mickym

                              @frankyboy73 Ach so - Du hast die Template Node nun genommen und nicht die table Node.

                              Zu Deiner Frage klar kannst Du das alles nach Deinen Bedürfnissen modifizieren:

                              Ich hatte erst kürzlich mit der template Node und verschiedenen Inputs gespielt und referriert: https://forum.iobroker.net/topic/49661/aus-string-eine-übersichtliche-liste-erstellen

                              dabei kannst in den Spalten natürlich auch Formatanweisungen unterbringen (s. hier):
                              https://forum.iobroker.net/topic/49661/aus-string-eine-übersichtliche-liste-erstellen/8

                              also kannst

                               align=center
                              oder
                              align=right
                              

                              für Zahlen besser geeignet.

                              Also in Deinem Fall:

                              <table>
                               
                               
                                
                                 <tr><th width=100>Name</th><th width=100>Signal</th></tr>
                                  <tr ng-repeat="(key, y) in msg.payload">
                                 <td>{{y.topic}}</td><td  align=right>{{y.payload}}</td>
                               
                                 </tr>
                                 
                              </table>
                              
                              F Offline
                              F Offline
                              frankyboy73
                              schrieb am zuletzt editiert von frankyboy73
                              #18

                              @mickym Ah, super. Sieht schon viel besser aus, danke.
                              Aber irgendwas mache ich noch falsch. Die Join gibt mir nach 24 Nachrichten das Array raus, das passt. Aber nicht von 24 Unterschiedlichen Geräten, manche Geräte senden Ihren Status öfter als andere. Ich habe einige Geräte jetzt doppelt oder dreifach in der Liste, dafür andere gar nicht und die Reihenfolge der Geräte ändert sich auch ständig.
                              Tabelle3.jpg
                              Oder habe ich das in der Join noch falsch? Muss ich da Verbinde jedes msg.topic einstellen?

                              Schöne Grüße Frank

                              mickymM 1 Antwort Letzte Antwort
                              0
                              • F frankyboy73

                                @mickym Ah, super. Sieht schon viel besser aus, danke.
                                Aber irgendwas mache ich noch falsch. Die Join gibt mir nach 24 Nachrichten das Array raus, das passt. Aber nicht von 24 Unterschiedlichen Geräten, manche Geräte senden Ihren Status öfter als andere. Ich habe einige Geräte jetzt doppelt oder dreifach in der Liste, dafür andere gar nicht und die Reihenfolge der Geräte ändert sich auch ständig.
                                Tabelle3.jpg
                                Oder habe ich das in der Join noch falsch? Muss ich da Verbinde jedes msg.topic einstellen?

                                mickymM Online
                                mickymM Online
                                mickym
                                Most Active
                                schrieb am zuletzt editiert von mickym
                                #19

                                @frankyboy73 Tja das ist ja logisch - weil Dein Array immer wächst. ;) - Das ist gut für LOG Einträge - aber nun musst Du Dir eine Logik ausdenken, dass Du wenn vom gleichen Gerät eine erneute Meldung kommt Du die entsprechenden Array Einträge löschst. Bei meiner Shelly Seite habe ich es mit Objekten gemacht und nicht mit einem Array. Wie man es mit einem Array zuordenen könnte weiss ich noch nicht.

                                Bei einem Objekt machst Du es so:

                                "Laptop" : { "signal": 72}

                                Bei einem Array weiss ich das noch nicht - jedenfalls musst Du das logisch so lösen, dass Du die alten Einträge durch neue überschreibst - und dann sendest Du ja immer das gesamte Objekt an die Node.

                                Also mit Objekten ist es easy - bei Arrays weiss ich noch nicht:

                                Du siehst ich habe das Laptop Objekt von 72 auf 52 aktualisiert über zusammengeführtes Objekt:

                                aa6e0f42-9c5f-4e94-8c57-a9908b56ef83-image.png

                                [
                                   {
                                       "id": "7b5d56ee.72bef8",
                                       "type": "join",
                                       "z": "db9946ec.089af8",
                                       "name": "",
                                       "mode": "custom",
                                       "build": "merged",
                                       "property": "payload",
                                       "propertyType": "msg",
                                       "key": "topic",
                                       "joiner": "\\n",
                                       "joinerType": "str",
                                       "accumulate": true,
                                       "timeout": "",
                                       "count": "1",
                                       "reduceRight": false,
                                       "reduceExp": "",
                                       "reduceInit": "",
                                       "reduceInitType": "",
                                       "reduceFixup": "",
                                       "x": 790,
                                       "y": 720,
                                       "wires": [
                                           [
                                               "776576ae.81ca48"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "984c9971.d20c28",
                                       "type": "inject",
                                       "z": "db9946ec.089af8",
                                       "name": "Laptop",
                                       "props": [
                                           {
                                               "p": "payload"
                                           }
                                       ],
                                       "repeat": "",
                                       "crontab": "",
                                       "once": false,
                                       "onceDelay": 0.1,
                                       "topic": "",
                                       "payload": "{\"Laptop\" : { \"signal\": 72}}",
                                       "payloadType": "json",
                                       "x": 610,
                                       "y": 660,
                                       "wires": [
                                           [
                                               "7b5d56ee.72bef8"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "fe2bac84.443a2",
                                       "type": "inject",
                                       "z": "db9946ec.089af8",
                                       "name": "Fernseher",
                                       "props": [
                                           {
                                               "p": "payload"
                                           }
                                       ],
                                       "repeat": "",
                                       "crontab": "",
                                       "once": false,
                                       "onceDelay": 0.1,
                                       "topic": "",
                                       "payload": "{\"Fernseher\" : { \"signal\": 100}}",
                                       "payloadType": "json",
                                       "x": 600,
                                       "y": 720,
                                       "wires": [
                                           [
                                               "7b5d56ee.72bef8"
                                           ]
                                       ]
                                   },
                                   {
                                       "id": "776576ae.81ca48",
                                       "type": "debug",
                                       "z": "db9946ec.089af8",
                                       "name": "",
                                       "active": true,
                                       "tosidebar": true,
                                       "console": false,
                                       "tostatus": false,
                                       "complete": "false",
                                       "statusVal": "",
                                       "statusType": "auto",
                                       "x": 950,
                                       "y": 720,
                                       "wires": []
                                   },
                                   {
                                       "id": "abb77f02.1ce33",
                                       "type": "inject",
                                       "z": "db9946ec.089af8",
                                       "name": "Laptop",
                                       "props": [
                                           {
                                               "p": "payload"
                                           }
                                       ],
                                       "repeat": "",
                                       "crontab": "",
                                       "once": false,
                                       "onceDelay": 0.1,
                                       "topic": "",
                                       "payload": "{\"Laptop\" : { \"signal\": 52}}",
                                       "payloadType": "json",
                                       "x": 610,
                                       "y": 780,
                                       "wires": [
                                           [
                                               "7b5d56ee.72bef8"
                                           ]
                                       ]
                                   }
                                ]
                                

                                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                F 1 Antwort Letzte Antwort
                                0
                                • mickymM mickym

                                  @frankyboy73 Tja das ist ja logisch - weil Dein Array immer wächst. ;) - Das ist gut für LOG Einträge - aber nun musst Du Dir eine Logik ausdenken, dass Du wenn vom gleichen Gerät eine erneute Meldung kommt Du die entsprechenden Array Einträge löschst. Bei meiner Shelly Seite habe ich es mit Objekten gemacht und nicht mit einem Array. Wie man es mit einem Array zuordenen könnte weiss ich noch nicht.

                                  Bei einem Objekt machst Du es so:

                                  "Laptop" : { "signal": 72}

                                  Bei einem Array weiss ich das noch nicht - jedenfalls musst Du das logisch so lösen, dass Du die alten Einträge durch neue überschreibst - und dann sendest Du ja immer das gesamte Objekt an die Node.

                                  Also mit Objekten ist es easy - bei Arrays weiss ich noch nicht:

                                  Du siehst ich habe das Laptop Objekt von 72 auf 52 aktualisiert über zusammengeführtes Objekt:

                                  aa6e0f42-9c5f-4e94-8c57-a9908b56ef83-image.png

                                  [
                                     {
                                         "id": "7b5d56ee.72bef8",
                                         "type": "join",
                                         "z": "db9946ec.089af8",
                                         "name": "",
                                         "mode": "custom",
                                         "build": "merged",
                                         "property": "payload",
                                         "propertyType": "msg",
                                         "key": "topic",
                                         "joiner": "\\n",
                                         "joinerType": "str",
                                         "accumulate": true,
                                         "timeout": "",
                                         "count": "1",
                                         "reduceRight": false,
                                         "reduceExp": "",
                                         "reduceInit": "",
                                         "reduceInitType": "",
                                         "reduceFixup": "",
                                         "x": 790,
                                         "y": 720,
                                         "wires": [
                                             [
                                                 "776576ae.81ca48"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "984c9971.d20c28",
                                         "type": "inject",
                                         "z": "db9946ec.089af8",
                                         "name": "Laptop",
                                         "props": [
                                             {
                                                 "p": "payload"
                                             }
                                         ],
                                         "repeat": "",
                                         "crontab": "",
                                         "once": false,
                                         "onceDelay": 0.1,
                                         "topic": "",
                                         "payload": "{\"Laptop\" : { \"signal\": 72}}",
                                         "payloadType": "json",
                                         "x": 610,
                                         "y": 660,
                                         "wires": [
                                             [
                                                 "7b5d56ee.72bef8"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "fe2bac84.443a2",
                                         "type": "inject",
                                         "z": "db9946ec.089af8",
                                         "name": "Fernseher",
                                         "props": [
                                             {
                                                 "p": "payload"
                                             }
                                         ],
                                         "repeat": "",
                                         "crontab": "",
                                         "once": false,
                                         "onceDelay": 0.1,
                                         "topic": "",
                                         "payload": "{\"Fernseher\" : { \"signal\": 100}}",
                                         "payloadType": "json",
                                         "x": 600,
                                         "y": 720,
                                         "wires": [
                                             [
                                                 "7b5d56ee.72bef8"
                                             ]
                                         ]
                                     },
                                     {
                                         "id": "776576ae.81ca48",
                                         "type": "debug",
                                         "z": "db9946ec.089af8",
                                         "name": "",
                                         "active": true,
                                         "tosidebar": true,
                                         "console": false,
                                         "tostatus": false,
                                         "complete": "false",
                                         "statusVal": "",
                                         "statusType": "auto",
                                         "x": 950,
                                         "y": 720,
                                         "wires": []
                                     },
                                     {
                                         "id": "abb77f02.1ce33",
                                         "type": "inject",
                                         "z": "db9946ec.089af8",
                                         "name": "Laptop",
                                         "props": [
                                             {
                                                 "p": "payload"
                                             }
                                         ],
                                         "repeat": "",
                                         "crontab": "",
                                         "once": false,
                                         "onceDelay": 0.1,
                                         "topic": "",
                                         "payload": "{\"Laptop\" : { \"signal\": 52}}",
                                         "payloadType": "json",
                                         "x": 610,
                                         "y": 780,
                                         "wires": [
                                             [
                                                 "7b5d56ee.72bef8"
                                             ]
                                         ]
                                     }
                                  ]
                                  

                                  F Offline
                                  F Offline
                                  frankyboy73
                                  schrieb am zuletzt editiert von frankyboy73
                                  #20

                                  @mickym Das schaue ich mir auf jeden Fall noch an, muss ja hinzukriegen sein.

                                  Ich habe es mir nur erstmal einfach gemacht, und lese jetzt per Injekt und Listen Node erst mal in bestimmten Intervallen die Signalstärke aus, da bekomme ich dann alle Nachrichten zu gleichen Zeit und habe keine Zwischennachrichten.:grinning:
                                  Tabelle4.jpg

                                  Schöne Grüße Frank

                                  mickymM 1 Antwort Letzte Antwort
                                  0
                                  • F frankyboy73

                                    @mickym Das schaue ich mir auf jeden Fall noch an, muss ja hinzukriegen sein.

                                    Ich habe es mir nur erstmal einfach gemacht, und lese jetzt per Injekt und Listen Node erst mal in bestimmten Intervallen die Signalstärke aus, da bekomme ich dann alle Nachrichten zu gleichen Zeit und habe keine Zwischennachrichten.:grinning:
                                    Tabelle4.jpg

                                    mickymM Online
                                    mickymM Online
                                    mickym
                                    Most Active
                                    schrieb am zuletzt editiert von mickym
                                    #21

                                    @frankyboy73 Nun wie gesagt mach mal Objekte aus Deinen Geräten - so wie ich das beschrieben habe

                                    {"Laptop":{"signal":52},"Fernseher":{"signal":100}}
                                    
                                    

                                    Über das zusammenführen in der JOIN Node wie unten beschrieben - wird dann das richtige Objekt akualisiert.

                                    In der template Node nutzt Du den Namen dann als Key:

                                    <table>
                                     
                                     
                                      
                                       <tr><th width=100>Name</th><th width=100>Signal</th></tr>
                                        <tr ng-repeat="(key, y) in msg.payload">
                                       <td>{{key}}</td><td  align=right>{{y.signal}}</td>
                                     
                                       </tr>
                                       
                                    </table>
                                    

                                    das funzt:

                                    352571f0-692e-48b3-8dd3-e56cfa957336-image.png

                                    Ich pass die JOIN Node noch an - damit Du das gleich gemäß Deines Outputs aus den iobroker Nodes verarbeiten kannst

                                    So damit ist es easy:

                                    c9a40885-b9df-44f1-9402-cbb3597243cf-image.png

                                    [
                                       {
                                           "id": "7b5d56ee.72bef8",
                                           "type": "join",
                                           "z": "db9946ec.089af8",
                                           "name": "",
                                           "mode": "custom",
                                           "build": "object",
                                           "property": "payload",
                                           "propertyType": "msg",
                                           "key": "topic",
                                           "joiner": "\\n",
                                           "joinerType": "str",
                                           "accumulate": true,
                                           "timeout": "",
                                           "count": "1",
                                           "reduceRight": false,
                                           "reduceExp": "",
                                           "reduceInit": "",
                                           "reduceInitType": "",
                                           "reduceFixup": "",
                                           "x": 650,
                                           "y": 760,
                                           "wires": [
                                               [
                                                   "776576ae.81ca48",
                                                   "5ee9498.643c4b8"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "776576ae.81ca48",
                                           "type": "debug",
                                           "z": "db9946ec.089af8",
                                           "name": "",
                                           "active": true,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "false",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 810,
                                           "y": 760,
                                           "wires": []
                                       },
                                       {
                                           "id": "5ee9498.643c4b8",
                                           "type": "ui_template",
                                           "z": "db9946ec.089af8",
                                           "group": "1b6ce2ed.70c1ad",
                                           "name": "",
                                           "order": 22,
                                           "width": "6",
                                           "height": "10",
                                           "format": "<table>\n \n \n  \n   <tr><th width=100>Name</th><th width=100>Signal</th></tr>\n    <tr ng-repeat=\"(key, y) in msg.payload\">\n   <td>{{key}}</td><td  align=right>{{y.signal}}</td>\n \n   </tr>\n   \n</table>",
                                           "storeOutMessages": true,
                                           "fwdInMessages": true,
                                           "resendOnRefresh": true,
                                           "templateScope": "local",
                                           "className": "",
                                           "x": 820,
                                           "y": 860,
                                           "wires": [
                                               []
                                           ]
                                       },
                                       {
                                           "id": "65840cd5.ec1804",
                                           "type": "inject",
                                           "z": "db9946ec.089af8",
                                           "name": "Laptop",
                                           "props": [
                                               {
                                                   "p": "payload"
                                               },
                                               {
                                                   "p": "topic",
                                                   "vt": "str"
                                               }
                                           ],
                                           "repeat": "",
                                           "crontab": "",
                                           "once": false,
                                           "onceDelay": 0.1,
                                           "topic": "Laptop",
                                           "payload": "72",
                                           "payloadType": "num",
                                           "x": 270,
                                           "y": 700,
                                           "wires": [
                                               [
                                                   "3747f6c0.589a6a"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "b25bb467.59c558",
                                           "type": "inject",
                                           "z": "db9946ec.089af8",
                                           "name": "Laptop",
                                           "props": [
                                               {
                                                   "p": "payload"
                                               },
                                               {
                                                   "p": "topic",
                                                   "vt": "str"
                                               }
                                           ],
                                           "repeat": "",
                                           "crontab": "",
                                           "once": false,
                                           "onceDelay": 0.1,
                                           "topic": "Fernseher",
                                           "payload": "100",
                                           "payloadType": "num",
                                           "x": 270,
                                           "y": 760,
                                           "wires": [
                                               [
                                                   "3747f6c0.589a6a"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "e3f5c00a.735fe",
                                           "type": "inject",
                                           "z": "db9946ec.089af8",
                                           "name": "Laptop",
                                           "props": [
                                               {
                                                   "p": "payload"
                                               },
                                               {
                                                   "p": "topic",
                                                   "vt": "str"
                                               }
                                           ],
                                           "repeat": "",
                                           "crontab": "",
                                           "once": false,
                                           "onceDelay": 0.1,
                                           "topic": "Laptop",
                                           "payload": "40",
                                           "payloadType": "num",
                                           "x": 270,
                                           "y": 820,
                                           "wires": [
                                               [
                                                   "3747f6c0.589a6a"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "3747f6c0.589a6a",
                                           "type": "change",
                                           "z": "db9946ec.089af8",
                                           "name": "",
                                           "rules": [
                                               {
                                                   "t": "move",
                                                   "p": "payload",
                                                   "pt": "msg",
                                                   "to": "payload.signal",
                                                   "tot": "msg"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 460,
                                           "y": 760,
                                           "wires": [
                                               [
                                                   "7b5d56ee.72bef8"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "1b6ce2ed.70c1ad",
                                           "type": "ui_group",
                                           "name": "Start",
                                           "tab": "d6de6fe8.c78c",
                                           "order": 1,
                                           "disp": false,
                                           "width": "6",
                                           "collapse": false
                                       },
                                       {
                                           "id": "d6de6fe8.c78c",
                                           "type": "ui_tab",
                                           "name": "Motion2",
                                           "icon": "dashboard",
                                           "order": 21,
                                           "disabled": false,
                                           "hidden": false
                                       }
                                    ]
                                    

                                    payload wird in ein Obejkt verschoben und das topic hast Du ja schon extrahiert.

                                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                    F mickymM 2 Antworten Letzte Antwort
                                    0
                                    • David G.D Online
                                      David G.D Online
                                      David G.
                                      schrieb am zuletzt editiert von David G.
                                      #22

                                      @_r_a_l_f_

                                      Wenn du möchtest, kann ich dir auch 3 Skripte für die Tabellen zu Verfügung stellen (blockly).

                                      Die entsprechenden Geräte werden jeweils automatisch erkannt.

                                      Was man sehen möchte und was nicht lässt sich mit ein wenig HTML leicht anpassen.

                                      Screenshot_20211204-143314_Fully Kiosk Browser.jpg

                                      Zeigt eure Lovelace-Visualisierung klick
                                      (Auch ideal um sich Anregungen zu holen)

                                      Meine Tabellen für eure Visualisierung klick

                                      1 Antwort Letzte Antwort
                                      0
                                      • mickymM mickym

                                        @frankyboy73 Nun wie gesagt mach mal Objekte aus Deinen Geräten - so wie ich das beschrieben habe

                                        {"Laptop":{"signal":52},"Fernseher":{"signal":100}}
                                        
                                        

                                        Über das zusammenführen in der JOIN Node wie unten beschrieben - wird dann das richtige Objekt akualisiert.

                                        In der template Node nutzt Du den Namen dann als Key:

                                        <table>
                                         
                                         
                                          
                                           <tr><th width=100>Name</th><th width=100>Signal</th></tr>
                                            <tr ng-repeat="(key, y) in msg.payload">
                                           <td>{{key}}</td><td  align=right>{{y.signal}}</td>
                                         
                                           </tr>
                                           
                                        </table>
                                        

                                        das funzt:

                                        352571f0-692e-48b3-8dd3-e56cfa957336-image.png

                                        Ich pass die JOIN Node noch an - damit Du das gleich gemäß Deines Outputs aus den iobroker Nodes verarbeiten kannst

                                        So damit ist es easy:

                                        c9a40885-b9df-44f1-9402-cbb3597243cf-image.png

                                        [
                                           {
                                               "id": "7b5d56ee.72bef8",
                                               "type": "join",
                                               "z": "db9946ec.089af8",
                                               "name": "",
                                               "mode": "custom",
                                               "build": "object",
                                               "property": "payload",
                                               "propertyType": "msg",
                                               "key": "topic",
                                               "joiner": "\\n",
                                               "joinerType": "str",
                                               "accumulate": true,
                                               "timeout": "",
                                               "count": "1",
                                               "reduceRight": false,
                                               "reduceExp": "",
                                               "reduceInit": "",
                                               "reduceInitType": "",
                                               "reduceFixup": "",
                                               "x": 650,
                                               "y": 760,
                                               "wires": [
                                                   [
                                                       "776576ae.81ca48",
                                                       "5ee9498.643c4b8"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "776576ae.81ca48",
                                               "type": "debug",
                                               "z": "db9946ec.089af8",
                                               "name": "",
                                               "active": true,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "false",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 810,
                                               "y": 760,
                                               "wires": []
                                           },
                                           {
                                               "id": "5ee9498.643c4b8",
                                               "type": "ui_template",
                                               "z": "db9946ec.089af8",
                                               "group": "1b6ce2ed.70c1ad",
                                               "name": "",
                                               "order": 22,
                                               "width": "6",
                                               "height": "10",
                                               "format": "<table>\n \n \n  \n   <tr><th width=100>Name</th><th width=100>Signal</th></tr>\n    <tr ng-repeat=\"(key, y) in msg.payload\">\n   <td>{{key}}</td><td  align=right>{{y.signal}}</td>\n \n   </tr>\n   \n</table>",
                                               "storeOutMessages": true,
                                               "fwdInMessages": true,
                                               "resendOnRefresh": true,
                                               "templateScope": "local",
                                               "className": "",
                                               "x": 820,
                                               "y": 860,
                                               "wires": [
                                                   []
                                               ]
                                           },
                                           {
                                               "id": "65840cd5.ec1804",
                                               "type": "inject",
                                               "z": "db9946ec.089af8",
                                               "name": "Laptop",
                                               "props": [
                                                   {
                                                       "p": "payload"
                                                   },
                                                   {
                                                       "p": "topic",
                                                       "vt": "str"
                                                   }
                                               ],
                                               "repeat": "",
                                               "crontab": "",
                                               "once": false,
                                               "onceDelay": 0.1,
                                               "topic": "Laptop",
                                               "payload": "72",
                                               "payloadType": "num",
                                               "x": 270,
                                               "y": 700,
                                               "wires": [
                                                   [
                                                       "3747f6c0.589a6a"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "b25bb467.59c558",
                                               "type": "inject",
                                               "z": "db9946ec.089af8",
                                               "name": "Laptop",
                                               "props": [
                                                   {
                                                       "p": "payload"
                                                   },
                                                   {
                                                       "p": "topic",
                                                       "vt": "str"
                                                   }
                                               ],
                                               "repeat": "",
                                               "crontab": "",
                                               "once": false,
                                               "onceDelay": 0.1,
                                               "topic": "Fernseher",
                                               "payload": "100",
                                               "payloadType": "num",
                                               "x": 270,
                                               "y": 760,
                                               "wires": [
                                                   [
                                                       "3747f6c0.589a6a"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "e3f5c00a.735fe",
                                               "type": "inject",
                                               "z": "db9946ec.089af8",
                                               "name": "Laptop",
                                               "props": [
                                                   {
                                                       "p": "payload"
                                                   },
                                                   {
                                                       "p": "topic",
                                                       "vt": "str"
                                                   }
                                               ],
                                               "repeat": "",
                                               "crontab": "",
                                               "once": false,
                                               "onceDelay": 0.1,
                                               "topic": "Laptop",
                                               "payload": "40",
                                               "payloadType": "num",
                                               "x": 270,
                                               "y": 820,
                                               "wires": [
                                                   [
                                                       "3747f6c0.589a6a"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "3747f6c0.589a6a",
                                               "type": "change",
                                               "z": "db9946ec.089af8",
                                               "name": "",
                                               "rules": [
                                                   {
                                                       "t": "move",
                                                       "p": "payload",
                                                       "pt": "msg",
                                                       "to": "payload.signal",
                                                       "tot": "msg"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 460,
                                               "y": 760,
                                               "wires": [
                                                   [
                                                       "7b5d56ee.72bef8"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "1b6ce2ed.70c1ad",
                                               "type": "ui_group",
                                               "name": "Start",
                                               "tab": "d6de6fe8.c78c",
                                               "order": 1,
                                               "disp": false,
                                               "width": "6",
                                               "collapse": false
                                           },
                                           {
                                               "id": "d6de6fe8.c78c",
                                               "type": "ui_tab",
                                               "name": "Motion2",
                                               "icon": "dashboard",
                                               "order": 21,
                                               "disabled": false,
                                               "hidden": false
                                           }
                                        ]
                                        

                                        payload wird in ein Obejkt verschoben und das topic hast Du ja schon extrahiert.

                                        F Offline
                                        F Offline
                                        frankyboy73
                                        schrieb am zuletzt editiert von frankyboy73
                                        #23

                                        @mickym Ok, danke. Sieht gut aus. Was mir noch gefehlt hatte war der Wert. Ich hatte nicht bedacht das ich das payload verschieben muss. Aber ist klar, wird ja sonst überschrieben.
                                        Aus einer deiner Antworten oben hatte ich auch geschlossen das man unbedingt ein Array senden muss, aber das galt wohl nur für die Table Node
                                        Tabelle5.jpg
                                        Tabelle6.jpg

                                        [
                                           {
                                               "id": "4fba2e91.ba123",
                                               "type": "ioBroker in",
                                               "z": "523fbe1.477244",
                                               "name": "",
                                               "topic": "sonoff.0.*.Wifi_RSSI",
                                               "payloadType": "value",
                                               "onlyack": "",
                                               "func": "all",
                                               "gap": "",
                                               "fireOnStart": "false",
                                               "x": 150,
                                               "y": 3480,
                                               "wires": [
                                                   [
                                                       "8169743.3f9c088"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "8169743.3f9c088",
                                               "type": "change",
                                               "z": "523fbe1.477244",
                                               "name": "",
                                               "rules": [
                                                   {
                                                       "t": "change",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "from": "sonoff/0/",
                                                       "fromt": "str",
                                                       "to": "",
                                                       "tot": "str"
                                                   },
                                                   {
                                                       "t": "change",
                                                       "p": "topic",
                                                       "pt": "msg",
                                                       "from": "/Wifi_RSSI",
                                                       "fromt": "str",
                                                       "to": "",
                                                       "tot": "str"
                                                   },
                                                   {
                                                       "t": "move",
                                                       "p": "payload",
                                                       "pt": "msg",
                                                       "to": "payload.signal",
                                                       "tot": "msg"
                                                   }
                                               ],
                                               "action": "",
                                               "property": "",
                                               "from": "",
                                               "to": "",
                                               "reg": false,
                                               "x": 370,
                                               "y": 3480,
                                               "wires": [
                                                   [
                                                       "64cd2c22.3109c4"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "64cd2c22.3109c4",
                                               "type": "join",
                                               "z": "523fbe1.477244",
                                               "name": "",
                                               "mode": "custom",
                                               "build": "object",
                                               "property": "payload",
                                               "propertyType": "msg",
                                               "key": "topic",
                                               "joiner": "\\n",
                                               "joinerType": "str",
                                               "accumulate": true,
                                               "timeout": "",
                                               "count": "1",
                                               "reduceRight": false,
                                               "reduceExp": "",
                                               "reduceInit": "",
                                               "reduceInitType": "",
                                               "reduceFixup": "",
                                               "x": 570,
                                               "y": 3480,
                                               "wires": [
                                                   [
                                                       "145bfeb3.137351",
                                                       "2477eeaa.9d90f2"
                                                   ]
                                               ]
                                           },
                                           {
                                               "id": "145bfeb3.137351",
                                               "type": "debug",
                                               "z": "523fbe1.477244",
                                               "name": "",
                                               "active": true,
                                               "tosidebar": true,
                                               "console": false,
                                               "tostatus": false,
                                               "complete": "false",
                                               "statusVal": "",
                                               "statusType": "auto",
                                               "x": 730,
                                               "y": 3420,
                                               "wires": []
                                           },
                                           {
                                               "id": "2477eeaa.9d90f2",
                                               "type": "ui_template",
                                               "z": "523fbe1.477244",
                                               "group": "826cf95e.399f38",
                                               "name": "",
                                               "order": 22,
                                               "width": "6",
                                               "height": "12",
                                               "format": "<table>\n \n \n  \n   <tr><th align=left width=100>Name</th><th width=50>Signal</th></tr>\n    <tr ng-repeat=\"(key, y) in msg.payload\">\n   <td>{{key}}</td><td  align=center>{{y.signal}}</td>\n \n   </tr>\n   \n</table>",
                                               "storeOutMessages": true,
                                               "fwdInMessages": true,
                                               "resendOnRefresh": true,
                                               "templateScope": "local",
                                               "x": 740,
                                               "y": 3480,
                                               "wires": [
                                                   []
                                               ]
                                           },
                                           {
                                               "id": "826cf95e.399f38",
                                               "type": "ui_group",
                                               "name": "Group 2",
                                               "tab": "8423237e.1d5c2",
                                               "order": 2,
                                               "disp": false,
                                               "width": "6",
                                               "collapse": false
                                           },
                                           {
                                               "id": "8423237e.1d5c2",
                                               "type": "ui_tab",
                                               "name": "Signalstärke",
                                               "icon": "dashboard",
                                               "order": 24,
                                               "disabled": false,
                                               "hidden": false
                                           }
                                        ]
                                        


                                        Dann kann ich mich ja jetzt an weitere Tabellen machen, supi.

                                        @_R_A_L_F_
                                        Hi, das ist nett, von Dir, aber ich bin von Blockly komplett weg und nutze stattdessen nur noch Node Red

                                        Schöne Grüße Frank

                                        1 Antwort Letzte Antwort
                                        0
                                        • mickymM mickym

                                          @frankyboy73 Nun wie gesagt mach mal Objekte aus Deinen Geräten - so wie ich das beschrieben habe

                                          {"Laptop":{"signal":52},"Fernseher":{"signal":100}}
                                          
                                          

                                          Über das zusammenführen in der JOIN Node wie unten beschrieben - wird dann das richtige Objekt akualisiert.

                                          In der template Node nutzt Du den Namen dann als Key:

                                          <table>
                                           
                                           
                                            
                                             <tr><th width=100>Name</th><th width=100>Signal</th></tr>
                                              <tr ng-repeat="(key, y) in msg.payload">
                                             <td>{{key}}</td><td  align=right>{{y.signal}}</td>
                                           
                                             </tr>
                                             
                                          </table>
                                          

                                          das funzt:

                                          352571f0-692e-48b3-8dd3-e56cfa957336-image.png

                                          Ich pass die JOIN Node noch an - damit Du das gleich gemäß Deines Outputs aus den iobroker Nodes verarbeiten kannst

                                          So damit ist es easy:

                                          c9a40885-b9df-44f1-9402-cbb3597243cf-image.png

                                          [
                                             {
                                                 "id": "7b5d56ee.72bef8",
                                                 "type": "join",
                                                 "z": "db9946ec.089af8",
                                                 "name": "",
                                                 "mode": "custom",
                                                 "build": "object",
                                                 "property": "payload",
                                                 "propertyType": "msg",
                                                 "key": "topic",
                                                 "joiner": "\\n",
                                                 "joinerType": "str",
                                                 "accumulate": true,
                                                 "timeout": "",
                                                 "count": "1",
                                                 "reduceRight": false,
                                                 "reduceExp": "",
                                                 "reduceInit": "",
                                                 "reduceInitType": "",
                                                 "reduceFixup": "",
                                                 "x": 650,
                                                 "y": 760,
                                                 "wires": [
                                                     [
                                                         "776576ae.81ca48",
                                                         "5ee9498.643c4b8"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "776576ae.81ca48",
                                                 "type": "debug",
                                                 "z": "db9946ec.089af8",
                                                 "name": "",
                                                 "active": true,
                                                 "tosidebar": true,
                                                 "console": false,
                                                 "tostatus": false,
                                                 "complete": "false",
                                                 "statusVal": "",
                                                 "statusType": "auto",
                                                 "x": 810,
                                                 "y": 760,
                                                 "wires": []
                                             },
                                             {
                                                 "id": "5ee9498.643c4b8",
                                                 "type": "ui_template",
                                                 "z": "db9946ec.089af8",
                                                 "group": "1b6ce2ed.70c1ad",
                                                 "name": "",
                                                 "order": 22,
                                                 "width": "6",
                                                 "height": "10",
                                                 "format": "<table>\n \n \n  \n   <tr><th width=100>Name</th><th width=100>Signal</th></tr>\n    <tr ng-repeat=\"(key, y) in msg.payload\">\n   <td>{{key}}</td><td  align=right>{{y.signal}}</td>\n \n   </tr>\n   \n</table>",
                                                 "storeOutMessages": true,
                                                 "fwdInMessages": true,
                                                 "resendOnRefresh": true,
                                                 "templateScope": "local",
                                                 "className": "",
                                                 "x": 820,
                                                 "y": 860,
                                                 "wires": [
                                                     []
                                                 ]
                                             },
                                             {
                                                 "id": "65840cd5.ec1804",
                                                 "type": "inject",
                                                 "z": "db9946ec.089af8",
                                                 "name": "Laptop",
                                                 "props": [
                                                     {
                                                         "p": "payload"
                                                     },
                                                     {
                                                         "p": "topic",
                                                         "vt": "str"
                                                     }
                                                 ],
                                                 "repeat": "",
                                                 "crontab": "",
                                                 "once": false,
                                                 "onceDelay": 0.1,
                                                 "topic": "Laptop",
                                                 "payload": "72",
                                                 "payloadType": "num",
                                                 "x": 270,
                                                 "y": 700,
                                                 "wires": [
                                                     [
                                                         "3747f6c0.589a6a"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "b25bb467.59c558",
                                                 "type": "inject",
                                                 "z": "db9946ec.089af8",
                                                 "name": "Laptop",
                                                 "props": [
                                                     {
                                                         "p": "payload"
                                                     },
                                                     {
                                                         "p": "topic",
                                                         "vt": "str"
                                                     }
                                                 ],
                                                 "repeat": "",
                                                 "crontab": "",
                                                 "once": false,
                                                 "onceDelay": 0.1,
                                                 "topic": "Fernseher",
                                                 "payload": "100",
                                                 "payloadType": "num",
                                                 "x": 270,
                                                 "y": 760,
                                                 "wires": [
                                                     [
                                                         "3747f6c0.589a6a"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "e3f5c00a.735fe",
                                                 "type": "inject",
                                                 "z": "db9946ec.089af8",
                                                 "name": "Laptop",
                                                 "props": [
                                                     {
                                                         "p": "payload"
                                                     },
                                                     {
                                                         "p": "topic",
                                                         "vt": "str"
                                                     }
                                                 ],
                                                 "repeat": "",
                                                 "crontab": "",
                                                 "once": false,
                                                 "onceDelay": 0.1,
                                                 "topic": "Laptop",
                                                 "payload": "40",
                                                 "payloadType": "num",
                                                 "x": 270,
                                                 "y": 820,
                                                 "wires": [
                                                     [
                                                         "3747f6c0.589a6a"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "3747f6c0.589a6a",
                                                 "type": "change",
                                                 "z": "db9946ec.089af8",
                                                 "name": "",
                                                 "rules": [
                                                     {
                                                         "t": "move",
                                                         "p": "payload",
                                                         "pt": "msg",
                                                         "to": "payload.signal",
                                                         "tot": "msg"
                                                     }
                                                 ],
                                                 "action": "",
                                                 "property": "",
                                                 "from": "",
                                                 "to": "",
                                                 "reg": false,
                                                 "x": 460,
                                                 "y": 760,
                                                 "wires": [
                                                     [
                                                         "7b5d56ee.72bef8"
                                                     ]
                                                 ]
                                             },
                                             {
                                                 "id": "1b6ce2ed.70c1ad",
                                                 "type": "ui_group",
                                                 "name": "Start",
                                                 "tab": "d6de6fe8.c78c",
                                                 "order": 1,
                                                 "disp": false,
                                                 "width": "6",
                                                 "collapse": false
                                             },
                                             {
                                                 "id": "d6de6fe8.c78c",
                                                 "type": "ui_tab",
                                                 "name": "Motion2",
                                                 "icon": "dashboard",
                                                 "order": 21,
                                                 "disabled": false,
                                                 "hidden": false
                                             }
                                          ]
                                          

                                          payload wird in ein Obejkt verschoben und das topic hast Du ja schon extrahiert.

                                          mickymM Online
                                          mickymM Online
                                          mickym
                                          Most Active
                                          schrieb am zuletzt editiert von mickym
                                          #24

                                          @mickym JA genau - ich mach Dir nun was mit mehren Spalten und Werten - da musst dann mit einer Flow Variablen und einer kleinen Function Node arbeiten - das ist wieder mal einer der Fälle wo ich es mit JSONATA noch nicht kann. Das Array ist nur für die table Node.

                                          In dem verlinkten Thread hab ich Dir ja gezeigt wie man mit der ng-repeat nun sowohl Arrays wie auch Objekte durchsucht.

                                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                          F 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          500

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe