Navigation

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

    NEWS

    • Amazon Alexa - ioBroker Skill läuft aus ?

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    R
    • Profile
    • Following 0
    • Followers 0
    • Topics 41
    • Posts 710
    • Best 38
    • Groups 2

    rewenode

    @rewenode

    Starter

    43
    Reputation
    163
    Profile views
    710
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    rewenode Follow
    Pro Starter

    Best posts made by rewenode

    • RE: Chat GPT - muss man gesehen haben

      @dieter_p Kann ich voll bestätigen. Man muss die vorgeschlagenen Lösungen unbedingt testen und kann sich nicht unbedingt darauf verlassen, dass das Programm auf Anhieb funktioniert. Allerdings ist ChatGPT verdammt gut darin, die eigenen Fehler im Dialog zu finden.

      Hab mir grad mal ein Programm schreiben lassen, was ich schon lange mal in Angriff nehmen wollte:

      1. Frage:
      Kannst du mir helfen, ein Python3 Programm für den Raspberry Pi zu schreiben, dass 4 Relais schalten kann? 
      

      Soweit, so gut, das war nicht schwer und korrekt. Also gleich eine Bitte hinterher:

      Wie könnte das Programm so erweitert werden, dass der Rasperry Pi dabei auf mqtt Nachrichten reagiert?
      

      Und jepp, fertig. Da hätte ich mit meinen rudimentären Python-Kenntnissen wohl etwas gebraucht.

      Jedenfalls habe ich nun ein Porgrammfragment, mit dem ich von ioB aus meinen Raspi per mqtt runterfahren lassen kann und Relais schalten kann 😊

      Bin mal gespannt wie es läuft.

      Gruß
      Reiner

      posted in Off Topic
      R
      rewenode
    • RE: Wert von mehreren empf. Objekten in eine Tabelle darstellen

      @garf Ich habe mich einige Zeit ebenfalls mit ui-table beschäftigt. Ich habe die node aber wieder gelöscht. Um tabulator nutzen zu können braucht man diese node nicht. Das kann man alles m.M. flexibler direkt mit html-template-nodes lösen.

      Warum nicht ui-table?

      • ui-table arbeitet mit einer recht alten tabulator Version (4.4 glaube ich). Aktuell ist 5.4. Da sich 5.x in wesentlichen Teilen (z.B. event-Modell) geändert hat, glaube ich nicht, dass sich ui-table einfach updaten läßt.
      • spätestens wenn man functions für events/formatter etc. einsetzen will, wird die Eingabe von Quelltext als stringified JSON schon zur Qual. Und die Tabellen werden erst durch den Einsatz von events etc richtig schön;-)
      • Die 4.x aus der ui-table hatte bei mir gelegentlich unschöne Bugs die mit Versionen 5.x (zumindest bei mir) nicht mehr aufgetreten sind. Beispiel war der letzte Gruppenheader der nicht korrekt refresht wurde. Egal mit welchem Browser ich getestet habe.

      Dagegen ist der Einsatz von tabulator im template-node ganz einfach.

      • man kann beliebige tabulator-Versionen verwenden
      • Man kann zum Test die Beispiele fast ohne irgendwelche Änderungen übernehmen. Hier ist die Eingabe von Quelltext direkt möglich.
      • Tabulator selbst muss nicht installiert werden, da die tabulator.js/css per CDN geladen werden kann. Das ist nur einmal für sämtliche Tabellen einer Site nötig. Ich verwende dazu ein eigenes template-node in der <head> Sektion.
      • für einfache Seiten kann das zur Not auch im Tabellen-template gemacht werden.
      • man kann tabulator bei Bedarf aber auch lokal z.B. per npm im html-static-ordner installieren
      • das template-node erlaubt es den vollen Funktionsumfang von tabulator zu nutzen.

      Hier mal einBeispiel flow für eine simple und eine etwas komplexere Tabelle.

      [
         {
             "id": "3d54326a34d7b285",
             "type": "comment",
             "z": "7f6e6cb859163193",
             "name": "egal in welcher gruppe, wirkt für alle Tabellen dieser Seite",
             "info": "",
             "x": 550,
             "y": 220,
             "wires": []
         },
         {
             "id": "cad117ac93c02a8a",
             "type": "ui_template",
             "z": "7f6e6cb859163193",
             "group": "866e364cfd7328d1",
             "name": "load tsbulstor.js/.css",
             "order": 1,
             "width": 0,
             "height": 0,
             "format": "<link href=\"https://unpkg.com/tabulator-tables@5.4/dist/css/tabulator.min.css\" rel=\"stylesheet\">\n<script type=\"text/javascript\" src=\"https://unpkg.com/tabulator-tables@5.4/dist/js/tabulator.min.js\"></script>",
             "storeOutMessages": true,
             "fwdInMessages": true,
             "resendOnRefresh": true,
             "templateScope": "global",
             "className": "",
             "x": 440,
             "y": 300,
             "wires": [
                 []
             ]
         },
         {
             "id": "357fbc37c1b58e1a",
             "type": "comment",
             "z": "7f6e6cb859163193",
             "name": "nur einmal für die komplette site nötig",
             "info": "",
             "x": 490,
             "y": 260,
             "wires": []
         },
         {
             "id": "365d1147f14c9f81",
             "type": "comment",
             "z": "7f6e6cb859163193",
             "name": "externe libs/css",
             "info": "",
             "x": 660,
             "y": 300,
             "wires": []
         },
         {
             "id": "8d802595263190fa",
             "type": "inject",
             "z": "7f6e6cb859163193",
             "name": "sample data in payload",
             "props": [
                 {
                     "p": "payload"
                 },
                 {
                     "p": "topic",
                     "vt": "str"
                 }
             ],
             "repeat": "",
             "crontab": "",
             "once": true,
             "onceDelay": 0.1,
             "topic": "",
             "payload": "[{\"Name\":\"na sowas\",\"Age\":\"30\",\"Color\":\"lime\",\"Prog\":70,\"Star\":\"3\"},{\"Name\":\"<i>DCJ</i>\",\"Age\":\"50\",\"Color\":\"dodgerblue\",\"Prog\":\"45\",\"Star\":2,\"Pass\":false,\"web\":\"\"},{\"Name\":\"Nick\",\"Age\":\"40\",\"Color\":\"darkred\",\"Prog\":95,\"Star\":\"5\",\"Pass\":true,\"web\":\"http://nodered.org\"},{\"Name\":\"Oli\"}]",
             "payloadType": "json",
             "x": 170,
             "y": 480,
             "wires": [
                 [
                     "d22d110ea73b8fa6"
                 ]
             ]
         },
         {
             "id": "d22d110ea73b8fa6",
             "type": "ui_template",
             "z": "7f6e6cb859163193",
             "group": "d38200b70febfed9",
             "name": "tabulator html/script",
             "order": 1,
             "width": "0",
             "height": "0",
             "format": "<!-- \n    Tabulator js/css is only needes if this the only table on this site \n    <script type=\"text/javascript\" src=https://unpkg.com/tabulator-tables@5.4/dist/js/tabulator.min.js></script>\n    <link rel=\"stylesheet\" href=https://unpkg.com/tabulator-tables@5.4/dist/css/tabulator.min.css />\n//-->\n\n<!-- \n    for syntax see https://tabulator.info\n\n//-->\n\n<div id=\"example-table\"></div>\n<script>\n    var table = new Tabulator(\"#example-table\", {\n        height:\"500px\",\n        placeholder:\"Keine Daten verfügbar!\",\n        layout:\"fitColumns\",\n        columns:[\n            {title:\"Name\", field:\"Name\", width:200},\n            {title:\"Age\", field:\"Age\" },\n            {title:\"web\", field:\"web\", formatter: \"link\"},    \n        ],\n    });\n\n    (function(scope) {\n        scope.$watch('msg', function(msg) {\n            if(msg) {\n                var tabledata = msg.payload;\n                table.replaceData(tabledata);\n            }\n        });\n    })(scope);\n</script>",
             "storeOutMessages": true,
             "fwdInMessages": true,
             "resendOnRefresh": true,
             "templateScope": "local",
             "className": "",
             "x": 440,
             "y": 480,
             "wires": [
                 []
             ]
         },
         {
             "id": "c0c06c204207e4be",
             "type": "comment",
             "z": "7f6e6cb859163193",
             "name": "simple table without ui-table node",
             "info": "",
             "x": 480,
             "y": 440,
             "wires": []
         },
         {
             "id": "33be1b745f019cbf",
             "type": "inject",
             "z": "7f6e6cb859163193",
             "name": "sample data in payload",
             "props": [
                 {
                     "p": "payload"
                 },
                 {
                     "p": "topic",
                     "vt": "str"
                 }
             ],
             "repeat": "",
             "crontab": "",
             "once": true,
             "onceDelay": 0.1,
             "topic": "",
             "payload": "[{\"window\":\"Zwischentür_vorn\",\"status\":\"closed\",\"ts\":\"10.10.22 08:04:02\",\"ort\":\"Aussen\"},{\"window\":\"Zwischentür_Hof\",\"status\":\"closed\",\"ts\":\"10.10.22 08:04:00\",\"ort\":\"Aussen\"},{\"window\":\"Büro_WGn\",\"status\":\"closed\",\"ts\":\"10.10.22 11:39:31\",\"ort\":\"EG\"},{\"window\":\"Haustür\",\"status\":\"closed\",\"ts\":\"10.10.22 08:03:04\",\"ort\":\"EG\"},{\"window\":\"Fenster_Gäste_WC\",\"status\":\"closed\",\"ts\":\"10.10.22 06:43:40\",\"ort\":\"EG\"},{\"window\":\"WG_Fenster_rechts\",\"status\":\"closed\",\"ts\":\"10.10.22 06:33:56\",\"ort\":\"EG\"},{\"window\":\"WG_Fenster_links\",\"status\":\"closed\",\"ts\":\"10.10.22 06:33:32\",\"ort\":\"EG\"},{\"window\":\"WG_Schiebetuer\",\"status\":\"closed\",\"ts\":\"10.10.22 06:27:30\",\"ort\":\"EG\"},{\"window\":\"WGTuer\",\"status\":\"closed\",\"ts\":\"10.10.22 06:26:57\",\"ort\":\"EG\"},{\"window\":\"Wirtschaftsraum_Fenster\",\"status\":\"closed\",\"ts\":\"03.10.22 02:04:44\",\"ort\":\"EG\"},{\"window\":\"Kellerküche_Fenster\",\"status\":\"open\",\"ts\":\"30.09.22 11:16:50\",\"ort\":\"Keller\"},{\"window\":\"Keller\",\"status\":\"closed\",\"ts\":\"10.10.22 12:29:44\",\"ort\":\"Keller\"},{\"window\":\"Sportraum_Fenster\",\"status\":\"closed\",\"ts\":\"10.10.22 08:27:42\",\"ort\":\"Keller\"},{\"window\":\"Billard_Fenster\",\"status\":\"closed\",\"ts\":\"10.10.22 08:27:26\",\"ort\":\"Keller\"},{\"window\":\"Vorratsraum_Fenster\",\"status\":\"closed\",\"ts\":\"10.10.22 08:27:07\",\"ort\":\"Keller\"},{\"window\":\"EWerkstatt_Fenster\",\"status\":\"closed\",\"ts\":\"10.10.22 04:50:57\",\"ort\":\"Keller\"},{\"window\":\"Safe\",\"status\":\"closed\",\"ts\":\"10.10.22 04:26:58\",\"ort\":\"Keller\"},{\"window\":\"Schlafstube_Fenster_links\",\"status\":\"open\",\"ts\":\"10.10.22 09:11:13\",\"ort\":\"OG\"},{\"window\":\"Schlafstube_Fenster_rechts\",\"status\":\"closed\",\"ts\":\"10.10.22 10:29:38\",\"ort\":\"OG\"},{\"window\":\"OG_Kinderzimmer_Fenster\",\"status\":\"closed\",\"ts\":\"10.10.22 02:41:40\",\"ort\":\"OG\"}]",
             "payloadType": "json",
             "x": 170,
             "y": 620,
             "wires": [
                 [
                     "d15cf69494e15f3f"
                 ]
             ]
         },
         {
             "id": "d15cf69494e15f3f",
             "type": "ui_template",
             "z": "7f6e6cb859163193",
             "group": "d38200b70febfed9",
             "name": "tabulator html/script",
             "order": 1,
             "width": "0",
             "height": "0",
             "format": "<!-- \n    Tabulator js/css is only needes if this the only table on this site \n    <script type=\"text/javascript\" src=https://unpkg.com/tabulator-tables@5.4/dist/js/tabulator.min.js></script>\n    <link rel=\"stylesheet\" href=https://unpkg.com/tabulator-tables@5.4/dist/css/tabulator.min.css />\n//-->\n\n<!-- \n    for syntax see https://tabulator.info\n\n//-->\n<div id=\"openWindowsTable\"></div>\n<script>\n    var openWindowsTable = new Tabulator(\"#openWindowsTable\", {\n        height:\"700px\" ,\n        placeholder:\"Keine Daten verfügbar!\",\n        layout: \"fitDataStretch\",\n        /*fit columns to width of table*/\n        \n        //pagination: \"local\",\n        /*paginate the data*/\n        \n        //paginationSize: 40,\n        /*allow 40 rows per page of data*/\n        \n        movableColumns: true,\n        /*allow column order to be changed*/\n        \n        /*colums format definitions*/\n        columns: [{\n            title: \"Fenster\",\n            field: \"window\",\n            width: 250\n            },\n            {\n            title: \"Status\",\n            field: \"status\",\n            formatter: function(cell, formatterParams, onRendered){\n                    //cell - the cell component\n                    //formatterParams - parameters set for the column\n                    //onRendered - function to call when the formatter has been rendered\n                    return \"<span style='color:Black; font-weight:bold;'>\" + cell.getValue() + \"</span>\"\n                },\n            },\n            {\n            title: \"Zeit\",\n            field: \"ts\",\n            //sorter: \"date\"\n            /* need moment.js\n            see https://github.com/olifolkerd/tabulator/issues/1631#issuecomment-716460821\n            */\n            },\n        ],\n         \n        columnDefaults:{ \n            tooltip:true,\n        },\n        \n        /*initial sorting */\n        initialSort:[\n            {column:\"status\", dir:\"desc\"}, //sort by this first\n            {column:\"ts\", dir:\"desc\"}, //then sort by this second\n        ],\n        \n        /* group by ort*/\n        groupBy: \"ort\",\n        groupStartOpen: true,\n\n        /* format groupHeader */\n        groupHeader: function(value, count, data, group) {\n            var r = \"<span style='color:black; margin-left:10px;'>(\" + count + \" Fenster)</span>\";\n            return value + r;\n        },\n        \n        /*format individal cell*/\n        rowFormatter: function(row) {\n            const cl = row.getCells();\n            cl[1].getElement().style.backgroundColor = (cl[1]._cell.value === 'open' ? '#F1948A' : '#82E0AA');\n        },\n\n    });\n\n    /* events */\n    \n    openWindowsTable.on(\"renderComplete\",function() {\n        let data = openWindowsTable.getData();\n        let groupHeaderList = document.querySelectorAll(\".tabulator-row.tabulator-group\");\n        let groups = Array.from(groupHeaderList, (group) => group.outerText.split('(')[0]);\n        \n        for (let i = 0; i < groups.length; i++) { const group=groups[i]; const statusOpen=data.some(g=> g.ort === group &&\n            g.status === 'open');\n            groupHeaderList[i].style.backgroundColor = (statusOpen) ? '#E74C3C' : '#2ECC71';\n        }\n    });\n\n    (function(scope) {\n        scope.$watch('msg', function(msg) {\n            if(msg) {\n                var tabledata = msg.payload;\n                openWindowsTable.replaceData(tabledata);\n            }\n        });\n    })(scope);\n</script>",
             "storeOutMessages": true,
             "fwdInMessages": true,
             "resendOnRefresh": true,
             "templateScope": "local",
             "className": "",
             "x": 440,
             "y": 620,
             "wires": [
                 []
             ]
         },
         {
             "id": "86051fbedf8a9049",
             "type": "comment",
             "z": "7f6e6cb859163193",
             "name": "table with events and groups",
             "info": "",
             "x": 460,
             "y": 580,
             "wires": []
         },
         {
             "id": "866e364cfd7328d1",
             "type": "ui_group",
             "name": "helpers",
             "tab": "464d85dfac9971a2",
             "order": 4,
             "disp": false,
             "width": "1",
             "collapse": false,
             "className": "helperGroup"
         },
         {
             "id": "d38200b70febfed9",
             "type": "ui_group",
             "name": "simple table",
             "tab": "702f174cb9f60360",
             "order": 1,
             "disp": true,
             "width": "10",
             "collapse": false,
             "className": ""
         },
         {
             "id": "464d85dfac9971a2",
             "type": "ui_tab",
             "d": true,
             "name": "Listen",
             "icon": "dashboard",
             "order": 1,
             "disabled": false,
             "hidden": false
         },
         {
             "id": "702f174cb9f60360",
             "type": "ui_tab",
             "name": "simpleTable",
             "icon": "fa-thin fa-table",
             "order": 3,
             "disabled": false,
             "hidden": false
         }
      ]
      

      32c9a808-88ee-4932-979e-c68b34e85a76-image.png

      • Die Daten werden als array of objects im payload oder einem beliebigen andern msg.xxxxx übergeben.
      • Sollen mehrere Tabellen auf dem gleichen widget erscheinen können sie in einem oder getrennten template-nodes definiert werden.
      • Bei mehreren Tabellen müssen alle Tabellen-Objects individuelle Namen habe, egal, ob sie im gleichen oder getrennten template-nodes definiert sind.
      • Die site faßt die script-teile aller template-nodes dieser site zusammen. Deshalb kann man z.B. die datenübernahme/event-handling etc in eigene template-nodes auslagern, was bei komplexen Tabellen für wesentlich mehr Übersicht sorgen kann. In den kleinen Beispielen mache ich davon keinen Gebrauch, habe aber guter Erfahrungen damit.

      Gruß
      Reiner

      KES777 created this issue in olifolkerd/tabulator

      closed moment is not defined at tabulator.js #1631

      posted in Node-Red
      R
      rewenode
    • RE: [Verkauft] CC2538+CC2592 ZigBee Stick

      @eMd sagte in [VERKAUFE] CC2538+CC2592 ZigBeeStick:

      Ich hab nur getauscht und angelernt, das Wars.

      Meinst du alle Aktoren neu gepairt?
      In dem Fall werde ich das Ganze bei meinen 20 Aktoren wohl aufs Wochenende verschieben 😧

      posted in Marktplatz
      R
      rewenode
    • RE: Node-Red Javascript Node - Berechnung ungewünscht doppelt

      @lemuba Ohne jetzt durch deinen kompletten Flow zu steigen. Der "Taupunkt" wird ja auch 2 mal getriggert. Einmal vom Subflow3(temperatur) und einmal vom Subflow6(feuchte).
      Statt dessen solltest du an den Taupunkt ein Objekt übergeben, welches sowohl die termeratur als auch die feuchte beinhaltet.
      Das könntest du leicht, wenn du den Input von "Taupunkt" direkt vom Output "Listen to GW1000 in Ecowitt Mode" abgreifst und Temp/Hum in "Taupunkt" extrahierst.

      posted in Skripten / Logik
      R
      rewenode
    • RE: Chat GPT - muss man gesehen haben

      @klassisch Den Nagel auf den Kopf getroffen.
      Und hier kommt noch dazu, dass dass System ja mit allen möglichen und unmöglichen Quellen aus dem Inet gefüttert wird.
      Und genau das macht mir Angst.

      posted in Off Topic
      R
      rewenode
    • RE: Bestimmte Daten aus Json extrahieren

      @kmxak sagte in Bestimmte Daten aus Json extrahieren:

      in blockly müsste man das auch easy einfügen können.

      wollte grad sagen: mach mal 😉

      Früher gab es Peitschen zum geißeln. Der moderne Hobbyprogrammierer nimmt JSONata, REBOL oder Regex 😉

      posted in Node-Red
      R
      rewenode
    • RE: [Verkauft] CC2538+CC2592 ZigBee Stick

      @dimaiv Also alle neu pairen - seufz... Müssen die alten Objekte vorher gelöscht werden? Oder einfach drüber lernen?

      Übrigens, Super saubere Arbeit!!! Nochmals Danke.

      posted in Marktplatz
      R
      rewenode
    • RE: JSONATA - Verständnisprobleme

      @mickym sagte in JSONATA - Verständnisprobleme:

      aber $v ist wohl immer ein skalarer Wert und nicht das Array an sich

      Ja $v, oder besser der erste Parameter, ist immer der array-Inhalt an der Stelle $i.
      Viel kürzer wird's dann wohl nicht werden, wenn es unbedingt ein Einzeiler sein soll.
      Der Verkettungsoparator schafft i.d.R. eine gute Übersichtlichkeit.
      Im konkreten Fall kannst du ihn natürlich vermeiden:

      $map($.$split("|"),function($v,$i,$arr){($i%2=0) ? {"niederschlag": $v,"zeit" : $arr[$i+1]}})
      

      Ich verwende i.d.R. eher $map() als #$i. Letzterer iteriert ja nicht unbedingt übder das komplette Array. Dass gibt dann schon mal Seiteneffekte.
      $map() iteriert ja schon per Definition über das komplette Array

      Gruß
      Reiner

      posted in Skripten / Logik
      R
      rewenode
    • RE: Adapter Hyundai (Bluelink) oder KIA (UVO)

      @tugsi sagte in Adapter Hyundai (Bluelink) oder KIA (UVO):

      Zwar etwas Offtopic, aber im Zusammenhang mit Ladung der 12V-Batterie mal eine Erklärung mit diversen Tests von den Autodoktoren am Kona.

      Also ich logge jetzt den SOC der 12V Batterie vom iq5 seit 10Tagen in Grafana.
      Ich kann da momentan noch überhaupt keine Logik erkennen. (Vlt. reichen da auch die 10 Tage noch nicht)
      Mal lädt er während der Fahrt, mal nicht. Mal bricht der 12V SOC während des Ladens ein. Mal ist das Gegenteil der Fall.
      Na ich werde mal weiter beobachten.

      posted in Tester
      R
      rewenode
    • RE: [Gelöst]: Use Hue Dimmer for Smart Plug via Red Note

      @Mathias-IO sagte in Use Hue Dimmer for Smart Plug via Red Note:

      Ich möchte jetzt mit der Information "button":1001 einen "on": true Befehl generieren der den Smart Plug einschaltet.

      Am Einfachsten mit einem change-node.
      Ich gehe mal davon aus, dass {"button":1001,"name":"On","action":"holded","updated":"2019-03-13T21:36:27+00:00"}
      Das eingehende payload-object ist und du willst, dass:

      wenn payload.button == 1001 dann soll payload.on == true ausgegeben werden. Falls das so ist, kannst du den change-node wie folgt benutzen.

      [{"id":"1fc6a7ed.3f78b8","type":"inject","z":"e3aa95de.b382","name":"payload.button == 1001","topic":"","payload":"{\"button\":1001,\"name\":\"On\",\"action\":\"holded\",\"updated\":\"2019-03-13T21:36:27+00:00\"}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":120,"y":80,"wires":[["b323ab8d.6c8988"]]},{"id":"262c935f.bf7b0c","type":"debug","z":"e3aa95de.b382","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":530,"y":80,"wires":[]},{"id":"b323ab8d.6c8988","type":"change","z":"e3aa95de.b382","name":"\"button\":1001 -> true","rules":[{"t":"set","p":"payload.on","pt":"msg","to":"(payload.button = 1001) ? true : false  ","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":80,"wires":[["262c935f.bf7b0c"]]},{"id":"da68cbf0.4b06f8","type":"inject","z":"e3aa95de.b382","name":"payload.button == 1002","topic":"","payload":"{\"button\":1002,\"name\":\"On\",\"action\":\"holded\",\"updated\":\"2019-03-13T21:36:27+00:00\"}","payloadType":"json","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":120,"y":140,"wires":[["b323ab8d.6c8988"]]}]
      

      Mit diesem Flow kannst du das Verhalten testen. Falls ich dich hinsichtlich der Objektstruktur falsch verstanden habe, musst du ggf, den change-node anpassen.
      Falls die alten Properties im payload stören (button/name usw.), kannst du sie im selben change-node löschen:

      change.png

      rewenode

      posted in Node-Red
      R
      rewenode

    Latest posts made by rewenode

    • RE: Zigbee PAN ID Update auf 3.05

      @rewenode Ok, vergiss den letzten Post. Hab wohl nicht richtig NVRam geklickt. Jetzt sind die Daten automatisch übernommen und alles läuft wie geschmiert.
      Herzlichen Dank für deine Hilfe und Geduld!

      posted in ioBroker Allgemein
      R
      rewenode
    • RE: Zigbee PAN ID Update auf 3.05

      @asgothian Sieht jetzt so aus:
      2025-10-04_15-10-35.png
      Muss ich die extPAN in die Einstellungen übertragen? da stehen nämlich immer noch 16D drin.

      posted in ioBroker Allgemein
      R
      rewenode
    • RE: Zigbee PAN ID Update auf 3.05

      @asgothian sagte in Zigbee PAN ID Update auf 3.05:

      Bist du sicher das die 16D erhalten bleiben, wenn du auf read nvram backup klickst ?

      Nein, da bin ich nicht sicher, das habe ich noch nicht gemacht. Wollte vorsichtshalber das Zigbee.0 verz. sichern.

      posted in ioBroker Allgemein
      R
      rewenode
    • RE: Zigbee PAN ID Update auf 3.05

      @asgothian Also,

      1. Adapter geupdated auf 3.05
      2. 2025-10-04_14-44-07.png
      3. 2025-10-04_14-46-04.png
      4. Zigbee startet alle Geräte arbeiten ok. Ein paar Warnungen im Log:
      zigbee.0
      false2025-10-04 14:38:50.474	warn	DeviceConfigure:0x50325ffffe29eae3 TS0101 Failed to configure. --> ZCL command 0x50325ffffe29eae3/1 genBasic.read(["manufacturerName","zclVersion","appVersion","modelId","powerSource",65534], {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"reservedBits":0,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))
      zigbee.0
      false2025-10-04 14:38:46.953	warn	DeviceConfigure:0x847127fffe29b7cd TS0601 Failed to configure. --> ZCL command 0x847127fffe29b7cd/1 genBasic.read(["manufacturerName","zclVersion","appVersion","modelId","powerSource",65534], {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"reservedBits":0,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))
      zigbee.0
      2025-10-04 14:38:42.681	warn	error removing /tmp/LYWSD03MMC.png : {"errno":-2,"code":"ENOENT","syscall":"lstat","path":"/tmp/LYWSD03MMC.png"}
      zigbee.0
      2025-10-04 14:38:42.651	warn	error removing /tmp/RTCGQ01LM.png : {"errno":-2,"code":"ENOENT","syscall":"lstat","path":"/tmp/RTCGQ01LM.png"}
      zigbee.0
      false2025-10-04 14:38:42.649	warn	error removing /tmp/MCCGQ01LM.png : {"errno":-2,"code":"ENOENT","syscall":"lstat","path":"/tmp/MCCGQ01LM.png"}
      zigbee.0
      false2025-10-04 14:38:42.648	warn	error removing /tmp/ZBMINI-L.png : {"errno":-2,"code":"ENOENT","syscall":"lstat","path":"/tmp/ZBMINI-L.png"}
      zigbee.0
      false2025-10-04 14:38:42.610	warn	error removing /tmp/TS0044_1.png : {"errno":-2,"code":"ENOENT","syscall":"lstat","path":"/tmp/TS0044_1.png"}
      zigbee.0
      false2025-10-04 14:38:42.608	warn	error removing /tmp/TS0042.png : {"errno":-2,"code":"ENOENT","syscall":"lstat","path":"/tmp/TS0042.png"}
      zigbee.0
      2025-10-04 14:38:42.606	warn	error removing /tmp/AC08560-DIM.png : {"errno":-2,"code":"ENOENT","syscall":"lstat","path":"/tmp/AC08560-DIM.png"}
      zigbee.0
      2025-10-04 14:38:42.604	warn	error removing /tmp/ZG-204Z.png : {"errno":-2,"code":"ENOENT","syscall":"lstat","path":"/tmp/ZG-204Z.png"}
      zigbee.0
      2025-10-04 14:38:42.603	warn	error removing /tmp/WSDCGQ11LM.png : {"errno":-2,"code":"ENOENT","syscall":"lstat","path":"/tmp/WSDCGQ11LM.png"}
      zigbee.0
      2025-10-04 14:38:39.990	warn	DeviceConfigure:0xa4c1380f4872d0f9 TS011F Failed to configure. --> ZCL command 0xa4c1380f4872d0f9/1 genBasic.read(["manufacturerName","zclVersion","appVersion","modelId","powerSource",65534], {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"reservedBits":0,"writeUndiv":false}) failed (Data request failed with error: 'No network route' (205))
      
      

      Scheint also erstmal ohne Probleme mit den 16D zu arbeiten.
      Gibt es einen zwingenden Grund die 16D auf die Schnelle loszuwerden?

      posted in ioBroker Allgemein
      R
      rewenode
    • RE: Zigbee PAN ID Update auf 3.05

      @asgothian kleine dumme Nachfrage. Muss ich zwischen 2. und 3. eine neue gewünschte ext. PAN eingeben? Oder macht er das selbst?

      posted in ioBroker Allgemein
      R
      rewenode
    • RE: Zigbee PAN ID Update auf 3.05

      @asgothian herzlichen Dank. Ich werde berichten🙂

      posted in ioBroker Allgemein
      R
      rewenode
    • Zigbee PAN ID Update auf 3.05

      Langes Wochenende, das wollte ich mal nutzen um Zigbee von 2.05 auf 3.05 zu bringen.
      ioB läuft bei mir im Docker:
      Plattform: docker (official image - v10.0.0)
      RAM: 3.8 GB
      Node.js: v20.18.0(20.19.5 / 22.20.0)
      NPM: 10.8.2(10.9.3)

      Sonoff USB Zigbee Stick 3.0 ca. 60 aktive Geräte.
      Alles läuft seit Jahren ohne Probleme.
      Aaaber, ich habe noch aus grauen Vorzeiten eine Extendet Pan ID: DDDDDDDDDDDDDDDD
      Ja, hab mal irgendwo gelesen das das keine gute Idee ist. Allerdings werde ich die wohl nicht mehr los ohne komplett neu anzulernen?
      Bei 60 Geräten und unzähligen Skripts etc. eine Horrorvorstellung.

      Muss ich mir Sorgen machen? Bzw. was muss ich beachten?
      Falls das schon irgendwo steht, bitte um Entschuldigung und wäre über einen entsprechenden Link dankbar.

      Gruß und schönes Wochenende

      posted in ioBroker Allgemein
      R
      rewenode
    • RE: Node-RED Nodes für externe ioBroker Integration

      @marc-berg Ja, das war wohl mein Fehler im EChart. Liegt an meinem vue-code im html-Template.
      Das Problem liegt daran, dass beim Unmounting die Daten zwar im chartData gespeichert werden, aber diese Daten beim erneuten Mounting verloren gehen - der chartData Proxy ist dann wieder leer.
      Ich hab das nicht hinbekommen. Jetzt hat mir Cloude eine localStore-Lösung reingebastelt 😉 Das sieht sehr gut aus. Jetzt muss ich nur noch Testen, ob meine restliche Funktionalität erhalten geblieben ist.
      Ist schon irre, was die LLMs so können. Ich habe von vue noch keinen Schimmer. Das wird Wochen dauern, bis ich da so einigermaßen durchgestiegen bin.
      Na jedenfalls brauche ich jetzt kein externes Caching mehr für den history Adapter.

      posted in Node-Red
      R
      rewenode
    • RE: Node-RED Nodes für externe ioBroker Integration

      @marc-berg Willkommen zurück😀 Ich versuche das nochmal nachzustellen. Inzwischen habe ich da ein eigenes Custom Chart mit Echart gebastelt, weil ich da ein paar Sachen haben wollte, die ich mit dem Standard-Chart nicht hin bekommen habe (Y-Achse links und rechts bei 2 Kurven, min/max Markline)
      Da hab ich das gleiche Problem. Kann also durchaus sein, dass das ein hausgemachtes Problem ist.

      posted in Node-Red
      R
      rewenode
    • RE: Node-RED Nodes für externe ioBroker Integration

      @marc-berg Und läuft wie geschmiert👍
      Ich hätte da mal ne Frage zum history.
      Wäre es möglich, den cache Mechanismus auch hier einzubauen?
      Bei Verwendung von charts in DB2 ist es schon nervig, dass das chart bei jedem Seitenwechsel leer ist.
      Ich habe mir externes chaching drumrum gebastelt und das läuft auch. Ich dachte nur wo du das so genial im iob-In gelöst hast, könnte das vlt. auch im iob-history sehr hilfreich sein.

      posted in Node-Red
      R
      rewenode
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo