NEWS
Hilfe bei Node Red Aufgabe
-
Nun ja. Im Prinzip (auch wenn ich manches anders machen würde) ist doch wie in einem Kochbuch alles haarklein beschrieben was man machen soll. Man muss es doch nur umsetzen? Wo kann ich helfen?
EDIT: Na ja so dringend scheint es ja nicht zu sein, da sich der TE nicht mehr meldet.
-
sorry für die verspätete Rückmeldung
ich habe fast alles richtig(wie beschrieben) umgesetzt und trotzdem fehlen mir noch viele Sachen!
schau dir mal bitte meine Arbeit an.
Das ist der Codeblock in JSON Foramt:[{"id":"9feb0d5017d91904","type":"tab","label":"MQTT","disabled":false,"info":"","env":[]},{"id":"e172cbc91f2d372f","type":"mqtt-broker","name":"Info-in","broker":"193.174.69.5","port":"10002","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"3","cleansession":true,"autoUnsubscribe":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""},{"id":"a740103cc1c0f505","type":"ui_base","theme":{"name":"theme-custom","lightTheme":{"default":"#0094CE","baseColor":"#0094CE","baseFont":"Times New Roman,Times,serif","edited":true,"reset":false},"darkTheme":{"default":"#097479","baseColor":"#5f2341","baseFont":"Impact,Impact,Charcoal,sans-serif","edited":true,"reset":false},"customTheme":{"name":"Untitled Theme 1","default":"#4B7930","baseColor":"#4B7930","baseFont":"-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif","reset":false},"themeState":{"base-color":{"default":"#4B7930","value":"#4B7930","edited":true},"page-titlebar-backgroundColor":{"value":"#4B7930","edited":false},"page-backgroundColor":{"value":"#111111","edited":false},"page-sidebar-backgroundColor":{"value":"#333333","edited":false},"group-textColor":{"value":"#6db046","edited":false},"group-borderColor":{"value":"#555555","edited":false},"group-backgroundColor":{"value":"#333333","edited":false},"widget-textColor":{"value":"#eeeeee","edited":false},"widget-backgroundColor":{"value":"#4b7930","edited":false},"widget-borderColor":{"value":"#333333","edited":false},"base-font":{"value":"-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif"}},"angularTheme":{"primary":"indigo","accents":"blue","warn":"red","background":"grey","palette":"light"}},"site":{"name":"Node-RED Dashboard","hideToolbar":"false","allowSwipe":"true","lockMenu":"false","allowTempTheme":"true","dateFormat":"DD/MM/YYYY","sizes":{"sx":48,"sy":48,"gx":6,"gy":6,"cx":6,"cy":6,"px":0,"py":0}}},{"id":"a99cad6cfe4753de","type":"mqtt-broker","name":"Temperatur","broker":"193.174.69.5","port":"10002","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"3","cleansession":true,"autoUnsubscribe":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closeRetain":"false","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willRetain":"false","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""},{"id":"0d2b5638cd5a7cd7","type":"ui_tab","name":"HOME","icon":"dashboard","order":2,"disabled":false,"hidden":false},{"id":"aefce03b6158a82d","type":"ui_group","name":"Nacrichten","tab":"0d2b5638cd5a7cd7","order":3,"disp":true,"width":6,"collapse":false},{"id":"e8c6fdf06e157bcd","type":"ui_group","name":"Ueberblick","tab":"0d2b5638cd5a7cd7","order":4,"disp":true,"width":"6","collapse":false},{"id":"ef2d206e6f3daf7e","type":"ui_group","name":"Temperatur","tab":"0d2b5638cd5a7cd7","order":2,"disp":true,"width":6,"collapse":false},{"id":"13d2bb0ce29cde20","type":"ui_group","name":"Steuerung","tab":"0d2b5638cd5a7cd7","order":1,"disp":true,"width":6,"collapse":false},{"id":"b82ce1da1a36f36a","type":"ui_spacer","z":"9feb0d5017d91904","name":"spacer","group":"aefce03b6158a82d","order":3,"width":6,"height":1},{"id":"2413395a0bbc22e0","type":"debug","z":"9feb0d5017d91904","name":"debug 7","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":340,"y":40,"wires":[]},{"id":"17806628373ccc74","type":"split","z":"9feb0d5017d91904","name":"","splt":";","spltType":"str","arraySplt":"2","arraySpltType":"len","stream":false,"addname":"","x":370,"y":100,"wires":[["5cf4c3601acad5e0","dcf32ca5072d517c"]]},{"id":"5cf4c3601acad5e0","type":"join","z":"9feb0d5017d91904","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":550,"y":100,"wires":[["6f2ffd9c00b7a70d","a278d424904ad7e9","13a6a57fe6074643","64d3abb0a196cc13"]]},{"id":"6f2ffd9c00b7a70d","type":"function","z":"9feb0d5017d91904","name":"table function node","func":"// Aktuelle Tabelle aus dem Flow-Speicher abrufen oder ein leeres Array erstellen\nvar currentTable = flow.get('tableData') || [];\n\n// Neues Messwert-Zeitstempel-Paar erstellen\nvar newValueTimestamp = {\n Value: msg.payload.Value,\n Timestamp: msg.payload.Timestamp\n};\n\n// Das neue Messwert-Zeitstempel-Paar zum Anfang des Arrays hinzufügen\ncurrentTable.unshift(newValueTimestamp);\n\n// Die Tabelle auf maximal 5 Einträge begrenzen\nif (currentTable.length > 5) {\n currentTable.pop();\n}\n\n// Den aktualisierten Tabelle-Daten wieder in den Flow-Speicher setzen\nflow.set('tableData', currentTable);\n\n// Den Payload auf die aktualisierte Tabelle setzen\nmsg.payload = currentTable;\n\nreturn msg;\n\n//Der Code oben erstellt ein Array namens currentTable, das die in der Tabelle anzuzeigenden Daten enthält. Dieses Array wird im Flow-Speicher gespeichert, sodass es zwischen verschiedenen \"function\"-Nodes und Zeitschritten gemeinsam genutzt werden kann.\n\n//Jedes Mal, wenn neue Messwert-Zeitstempel-Paare empfangen werden, wird ein neues Objekt newValueTimestamp erstellt, das die \"Value\" und \"Timestamp\" Eigenschaften enthält.\n\n//Das neue Messwert-Zeitstempel-Paar wird am Anfang des Arrays currentTable hinzugefügt. Dadurch wird sichergestellt, dass die neuesten Einträge zuerst angezeigt werden.\n\n//Wir überprüfen die Länge des Arrays und entfernen das älteste Element, wenn es mehr als 5 Einträge enthält, um die Anforderungen zu erfüllen.\n\n//Schließlich wird das aktualisierte currentTable-Array im Flow-Speicher aktualisiert, und der Payload wird auf das aktualisierte Array gesetzt.","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":810,"y":100,"wires":[["4f50d9e4be16fb3b","a44b79daab205922"]]},{"id":"dcf32ca5072d517c","type":"debug","z":"9feb0d5017d91904","name":"debug 8","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":520,"y":160,"wires":[]},{"id":"a278d424904ad7e9","type":"debug","z":"9feb0d5017d91904","name":"debug 9","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":800,"y":40,"wires":[]},{"id":"4f50d9e4be16fb3b","type":"ui_table","z":"9feb0d5017d91904","group":"ef2d206e6f3daf7e","name":"","order":1,"width":0,"height":0,"columns":[{"field":"Spalte:JSON","title":"SPALTE","width":"","align":"left","formatter":"html","formatterParams":{"target":"_blank"}},{"field":"Value.JSON ","title":"VALUE ","width":"","align":"left","formatter":"html","formatterParams":{"target":"_blank"}}],"outputs":0,"cts":false,"x":1090,"y":100,"wires":[]},{"id":"a44b79daab205922","type":"debug","z":"9feb0d5017d91904","name":"debug 10","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1080,"y":40,"wires":[]},{"id":"13a6a57fe6074643","type":"function","z":"9feb0d5017d91904","name":"chart function node","func":"// 1. Überprüfen, ob die Flow-Variable \"chartData\" bereits existiert oder ein leeres Array erstellen.\nvar chartData = flow.get('chartData') || [];\n\n// 2. Erstellen Sie ein neues Objekt mit den Werten aus der empfangenen Nachricht.\nvar newValueTimestamp = {\n x: msg.payload.Timestamp * 1000, // Multiplizieren Sie den Zeitstempel mit 1000, um ihn in Millisekunden umzuwandeln.\n y: msg.payload.Value\n};\n\n// 3. Fügen Sie das neue Objekt der \"chartData\"-Flow-Variable hinzu.\nchartData.push(newValueTimestamp);\n\n// 4. Stellen Sie sicher, dass die \"chartData\" nur die letzten 60 Einträge behält.\nif (chartData.length > 60) {\n chartData.shift(); // Entfernen Sie den ältesten Eintrag, um Platz für den neuen zu schaffen.\n}\n\n// 5. Erstellen Sie die Chart-Datenstruktur im JSON-Format.\nvar chartPayload = [\n {\n series: [\"Werte\"],\n data: [chartData],\n labels: [\"Zeit\"],\n }\n];\n\n// 6. Aktualisieren Sie die Flow-Variable mit den aktualisierten Chart-Daten.\nflow.set('chartData', chartData);\n\n// 7. Weisen Sie den Chart-Daten die Nachrichten-Payload zu.\nmsg.payload = chartPayload;\n\nreturn msg;\n\n\n//Der Code erstellt eine Flow-Variable namens \"chartData\", um die letzten 60 Werte zu speichern.\n\n//Er erstellt ein neues Objekt mit den Werten aus der empfangenen Nachricht und wandelt den Zeitstempel in Millisekunden um.\n\n//Das neue Objekt wird zur \"chartData\"-Flow-Variable hinzugefügt.\n\n//Der Code stellt sicher, dass nur die letzten 60 Einträge in der Flow-Variable gespeichert sind, wodurch eine FIFO-Queue implementiert wird.\n\n//Er erstellt die Chart-Datenstruktur im JSON-Format, wie in Ihrer Aufgabenstellung gefordert.\n\n//Die Flow-Variable \"chartData\" wird aktualisiert, um die aktuellen Daten zu speichern.\n\n//Schließlich wird die Chart-Datenstruktur an die Nachrichten-Payload übergeben, um sie an einen \"ui_chart\"-Node oder einen geeigneten Chart-Node für Ihr Dashboard weiterzuleiten.","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":810,"y":180,"wires":[["21171abf9686f3c3","dd1e74cea56d2958"]]},{"id":"21171abf9686f3c3","type":"ui_chart","z":"9feb0d5017d91904","name":"","group":"aefce03b6158a82d","order":2,"width":0,"height":0,"label":"Temperaturverlauf","chartType":"line","legend":"true","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"1","ymax":"120","removeOlder":1,"removeOlderPoints":"","removeOlderUnit":"1","cutout":0,"useOneColor":false,"useUTC":false,"colors":["#ff80ff","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"outputs":1,"useDifferentColor":false,"x":1070,"y":180,"wires":[["3a8ae4b3201f979a","dd1e74cea56d2958","3c50fedf03f9e063"]]},{"id":"3a8ae4b3201f979a","type":"debug","z":"9feb0d5017d91904","name":"debug 11","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1300,"y":180,"wires":[]},{"id":"e309bc39b72e3f4b","type":"ui_text","z":"9feb0d5017d91904","group":"aefce03b6158a82d","order":4,"width":0,"height":0,"name":"","label":"Temperatur","format":"{{msg.payload}} aktuelle Daten: ","layout":"row-spread","x":370,"y":220,"wires":[]},{"id":"64d3abb0a196cc13","type":"function","z":"9feb0d5017d91904","name":"usage function node","func":"// Annahme: msg.payload enthält die CPU-Auslastungsdaten im JSON-Format\n// Hier wird angenommen, dass die CPU-Auslastung als Zahl vorliegt\n\n// Neues Array für den Chart erstellen\nvar chartData = [];\n\n// Annahme: msg.payload enthält ein Array von CPU-Auslastungsdaten\nfor (var i = 0; i < msg.payload.length; i++) {\n // Annahme: msg.payload[i].timestamp enthält den Zeitstempel\n // Annahme: msg.payload[i].usage enthält die CPU-Auslastung\n chartData.push({\n x: msg.payload[i].timestamp,\n y: msg.payload[i].usage\n });\n}\n\n// Den umgewandelten Chart-Daten im Payload speichern\nmsg.payload = chartData;\n\nreturn msg;\n\n\n//Dieser Code geht davon aus, dass die CPU-Auslastungsdaten in msg.payload als Array von Objekten im JSON-Format vorliegen, wobei jedes Objekt einen Zeitstempel (timestamp) und die CPU-Auslastung (usage) enthält. Der Code erstellt ein neues Array (chartData), das die erforderliche Struktur für den Chart hat und setzt die umgewandelten Daten in den msg.payload.","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":820,"y":260,"wires":[["dd1e74cea56d2958","f6da6dcc83cffd46"]]},{"id":"dd1e74cea56d2958","type":"function","z":"9feb0d5017d91904","name":"function 3","func":"// Daten aus dem \"chart function node\" für Temperatur\nvar chartDataTemperature = flow.get('chartData') || [];\n\n// Daten aus dem \"usage function node\" für CPU-Auslastung\nvar chartDataUsage = flow.get('usageData') || [];\n\n// Annahme: msg.payload enthält die Temperaturdaten im JSON-Format\n// Hier wird angenommen, dass die Temperatur als Zahl vorliegt\n\n// Neues Array für den kombinierten Chart erstellen\nvar combinedChartData = [];\n\n// Annahme: msg.payload enthält ein Array von Temperaturdaten\nfor (var i = 0; i < msg.payload.length; i++) {\n // Annahme: msg.payload[i].Timestamp enthält den Zeitstempel\n // Annahme: msg.payload[i].Value enthält die Temperatur\n combinedChartData.push({\n x: msg.payload[i].Timestamp * 1000, // Multiplizieren Sie den Zeitstempel mit 1000, um ihn in Millisekunden umzuwandeln.\n y: msg.payload[i].Value\n });\n}\n\n// Fügen Sie die Temperaturdaten zum Array für den kombinierten Chart hinzu\ncombinedChartData.push(...chartDataTemperature);\n\n// Fügen Sie die CPU-Auslastungsdaten zum Array für den kombinierten Chart hinzu\ncombinedChartData.push(...chartDataUsage);\n\n// Die Länge des Arrays auf maximal 60 Einträge begrenzen\nif (combinedChartData.length > 60) {\n combinedChartData = combinedChartData.slice(-60);\n}\n\n// Erstellen Sie die Chart-Datenstruktur im JSON-Format für den neuen Chart\nvar combinedChartPayload = [\n {\n series: [\"Temperatur\", \"CPU Auslastung\"],\n data: [combinedChartData],\n labels: [\"Zeit\"],\n }\n];\n\n// Aktualisieren Sie die Flow-Variablen mit den aktualisierten Daten\nflow.set('combinedChartData', combinedChartData);\n\n// Weisen Sie den Chart-Daten die Nachrichten-Payload zu\nmsg.payload = combinedChartPayload;\n\nreturn msg;\n","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1280,"y":260,"wires":[["605023dfa492ba31","5d9d0ade23ef9a93"]]},{"id":"605023dfa492ba31","type":"ui_chart","z":"9feb0d5017d91904","name":"","group":"e8c6fdf06e157bcd","order":1,"width":0,"height":0,"label":"CPU-TEMP","chartType":"line","legend":"true","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"1","ymax":"120","removeOlder":1,"removeOlderPoints":"","removeOlderUnit":"1","cutout":0,"useOneColor":false,"useUTC":false,"colors":["#1f77b4","#aec7e8","#00ff00","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"outputs":1,"useDifferentColor":false,"x":1470,"y":260,"wires":[["dd1e74cea56d2958","381db56676b671d6","e3e8989def966284"]]},{"id":"43ef798cac2747a2","type":"mqtt in","z":"9feb0d5017d91904","name":"","topic":"red/cpuusage","qos":"2","datatype":"auto-detect","broker":"a99cad6cfe4753de","nl":false,"rap":true,"rh":0,"inputs":0,"x":130,"y":200,"wires":[["c01088ca1c12cb57","17806628373ccc74","e309bc39b72e3f4b"]]},{"id":"c01088ca1c12cb57","type":"debug","z":"9feb0d5017d91904","name":"debug 12","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":320,"y":260,"wires":[]},{"id":"4d69ad0fdeb8f182","type":"ui_dropdown","z":"9feb0d5017d91904","name":"","label":"Nachrichten auswaehlen","tooltip":"","place":"Select option","group":"aefce03b6158a82d","order":1,"width":0,"height":0,"passthru":true,"multiple":false,"options":[{"label":"","value":"Empfangende Daten fehlerhaft","type":"str"},{"label":"","value":"CPU überhitzt","type":"str"},{"label":"","value":"Übertragungsformat ungültig","type":"str"}],"payload":"","topic":"topic","topicType":"msg","x":390,"y":380,"wires":[["a618946bbf59df43","ca8b45229c19651f"]]},{"id":"2d965e5f99f7a9fc","type":"ui_button","z":"9feb0d5017d91904","name":"","group":"aefce03b6158a82d","order":6,"width":0,"height":0,"passthru":true,"label":"Checken","tooltip":"","color":"","bgcolor":"","icon":"","payload":"control","payloadType":"flow","topic":"topic","topicType":"msg","x":960,"y":380,"wires":[["d1f4194daa2a3117","7b0c83a4884010f0","08b72fee678a9928"]]},{"id":"a618946bbf59df43","type":"change","z":"9feb0d5017d91904","name":"Nachricht-umwandlung","rules":[{"t":"set","p":"control","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":740,"y":380,"wires":[["2d965e5f99f7a9fc","a6d9cf88fe66e5e1"]]},{"id":"d1f4194daa2a3117","type":"mqtt out","z":"9feb0d5017d91904","name":"","topic":"red/control","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"e172cbc91f2d372f","x":1170,"y":380,"wires":[]},{"id":"bd140bdabd7706eb","type":"mqtt in","z":"9feb0d5017d91904","name":"","topic":"red/control","qos":"2","datatype":"auto-detect","broker":"e172cbc91f2d372f","nl":false,"rap":true,"rh":0,"inputs":0,"x":1380,"y":600,"wires":[["e559997eb9e65748","26ee14425b9b731a"]]},{"id":"e559997eb9e65748","type":"ui_toast","z":"9feb0d5017d91904","position":"top right","displayTime":"3","highlight":"","sendall":true,"outputs":0,"ok":"OK","cancel":"","raw":false,"topic":"msg.topic","name":"","x":1580,"y":600,"wires":[]},{"id":"7b0c83a4884010f0","type":"function","z":"9feb0d5017d91904","name":"function 4","func":"// Den Payload auf \">Steuerpaket versendet!\" setzen\nmsg.payload = \">Steuerpaket versendet!\";\n\nreturn msg;\n","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1160,"y":460,"wires":[["5e4ceba81172d441"]]},{"id":"5e4ceba81172d441","type":"delay","z":"9feb0d5017d91904","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"5","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"allowrate":true,"outputs":1,"x":1380,"y":440,"wires":[["676fa42186e67f05","b4fc2c45b88a4000"]]},{"id":"676fa42186e67f05","type":"function","z":"9feb0d5017d91904","name":"function 5","func":"// Leeren Payload setzen, um die Anzeige zu löschen\nmsg.payload = \"\";\n\nreturn msg;\n","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1580,"y":460,"wires":[["d82433be2c36f6bc","f989298e3cac3bb2"]]},{"id":"d82433be2c36f6bc","type":"ui_text","z":"9feb0d5017d91904","group":"aefce03b6158a82d","order":5,"width":0,"height":0,"name":"","label":"Status","format":"{{msg.payload}}","layout":"row-spread","x":1750,"y":460,"wires":[]},{"id":"6c933531f8484a80","type":"ui_ui_control","z":"9feb0d5017d91904","name":"Klick-Liste","events":"all","x":590,"y":720,"wires":[["161eefb76b931db9","b32132e11e919d28","24a18bf9247f511e","ccf3723bea059331"]]},{"id":"161eefb76b931db9","type":"ui_button","z":"9feb0d5017d91904","name":"","group":"13d2bb0ce29cde20","order":1,"width":0,"height":0,"passthru":true,"label":"Temperatur","tooltip":"","color":"gelb","bgcolor":"","icon":"","payload":"{ \"group\": { \"hide\": [\"Überblick\", \"Nachrichten\"], \"show\": [\"Temperatur\"] } }","payloadType":"json","topic":"topic","topicType":"msg","x":890,"y":720,"wires":[["0b7018fc8a9f5f5a"]]},{"id":"24a18bf9247f511e","type":"ui_button","z":"9feb0d5017d91904","name":"","group":"13d2bb0ce29cde20","order":2,"width":0,"height":0,"passthru":true,"label":"Nachrichten","tooltip":"","color":"red","bgcolor":"","icon":"","payload":"{ \"group\": { \"hide\": [\"Temperatur\", \"Überblick\"], \"show\": [\"Nachrichten\"] } }","payloadType":"json","topic":"topic","topicType":"msg","x":890,"y":880,"wires":[["25cad911a8b23f68"]]},{"id":"b32132e11e919d28","type":"ui_button","z":"9feb0d5017d91904","name":"","group":"13d2bb0ce29cde20","order":3,"width":0,"height":0,"passthru":true,"label":"Ueberblick","tooltip":"","color":"green","bgcolor":"","icon":"","payload":"{ \"group\": { \"hide\": [\"Temperatur\", \"Nachrichten\"], \"show\": [\"Überblick\"] } }","payloadType":"json","topic":"topic","topicType":"msg","x":890,"y":800,"wires":[["ce5b613e5e90f203"]]},{"id":"cd61bb48ecc5fa34","type":"inject","z":"9feb0d5017d91904","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":360,"y":720,"wires":[["6c933531f8484a80","6e1e8ea38ae9dec8"]]},{"id":"ce5b613e5e90f203","type":"debug","z":"9feb0d5017d91904","name":"debug 13","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1320,"y":800,"wires":[]},{"id":"25cad911a8b23f68","type":"debug","z":"9feb0d5017d91904","name":"debug 14","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1300,"y":900,"wires":[]},{"id":"0b7018fc8a9f5f5a","type":"debug","z":"9feb0d5017d91904","name":"debug 15","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1300,"y":720,"wires":[]},{"id":"a6d9cf88fe66e5e1","type":"debug","z":"9feb0d5017d91904","name":"debug 16","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":880,"y":440,"wires":[]},{"id":"b4fc2c45b88a4000","type":"debug","z":"9feb0d5017d91904","name":"debug 17","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1540,"y":500,"wires":[]},{"id":"26ee14425b9b731a","type":"debug","z":"9feb0d5017d91904","name":"debug 18","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1540,"y":640,"wires":[]},{"id":"08b72fee678a9928","type":"debug","z":"9feb0d5017d91904","name":"debug 19","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1160,"y":420,"wires":[]},{"id":"ccf3723bea059331","type":"debug","z":"9feb0d5017d91904","name":"debug 20","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":680,"y":640,"wires":[]},{"id":"6e1e8ea38ae9dec8","type":"debug","z":"9feb0d5017d91904","name":"debug 21","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":560,"y":820,"wires":[]},{"id":"ca8b45229c19651f","type":"debug","z":"9feb0d5017d91904","name":"debug 22","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":580,"y":440,"wires":[]},{"id":"381db56676b671d6","type":"debug","z":"9feb0d5017d91904","name":"debug 23","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1620,"y":240,"wires":[]},{"id":"5d9d0ade23ef9a93","type":"debug","z":"9feb0d5017d91904","name":"debug 24","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1420,"y":220,"wires":[]},{"id":"f989298e3cac3bb2","type":"debug","z":"9feb0d5017d91904","name":"debug 25","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1740,"y":520,"wires":[]},{"id":"f6da6dcc83cffd46","type":"debug","z":"9feb0d5017d91904","name":"debug 26","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1000,"y":240,"wires":[]},{"id":"0738c99136f2e37d","type":"mqtt in","z":"9feb0d5017d91904","name":"","topic":"red/temperatur","qos":"2","datatype":"auto-detect","broker":"a99cad6cfe4753de","nl":false,"rap":true,"rh":0,"inputs":0,"x":140,"y":100,"wires":[["2413395a0bbc22e0","17806628373ccc74","e309bc39b72e3f4b"]]},{"id":"e3e8989def966284","type":"mqtt out","z":"9feb0d5017d91904","name":"","topic":"red/cpuusage","qos":"2","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"e172cbc91f2d372f","x":1700,"y":280,"wires":[]},{"id":"3c50fedf03f9e063","type":"mqtt out","z":"9feb0d5017d91904","name":"","topic":"red/cpuusage","qos":"2","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"e172cbc91f2d372f","x":1280,"y":120,"wires":[]},{"id":"6c3b4a3044a86f14","type":"mqtt in","z":"9feb0d5017d91904","name":"","topic":"red/cpuusage","qos":"2","datatype":"auto-detect","broker":"a99cad6cfe4753de","nl":false,"rap":true,"rh":0,"inputs":0,"x":130,"y":380,"wires":[["4d69ad0fdeb8f182"]]},{"id":"e43e352ac64d29f5","type":"mqtt in","z":"9feb0d5017d91904","name":"","topic":"red/cpuusage","qos":"2","datatype":"auto-detect","broker":"a99cad6cfe4753de","nl":false,"rap":true,"rh":0,"inputs":0,"x":250,"y":580,"wires":[[]]},{"id":"4e64ef64ed0a7940","type":"mqtt in","z":"9feb0d5017d91904","name":"","topic":"red/cpuusage","qos":"2","datatype":"auto-detect","broker":"a99cad6cfe4753de","nl":false,"rap":true,"rh":0,"inputs":0,"x":250,"y":640,"wires":[[]]},{"id":"4621c975af23bd92","type":"mqtt in","z":"9feb0d5017d91904","name":"","topic":"red/control","qos":"2","datatype":"auto-detect","broker":"e172cbc91f2d372f","nl":false,"rap":true,"rh":0,"inputs":0,"x":240,"y":520,"wires":[[]]}]
-
Es tut mir leid - aber so kann und will ich eigentlich auch nicht helfen. Ich hab zwar Deinen Flow importiert - aber ich bekomme keine Daten - ausserdem sind bestimmte Dinge einfach fehlerhaft.
Wieso schreibt man cpuusage in ein Textfeld für Temperatur - wie gesagt ich bekomme keine Daten und wenn dann muss sich Deine Fragestellung auf ein konkretes Problem beziehen - aber ich werde nicht einfach diese Aufgabe lösen - zudem ich keine Daten bekomme.
-
@mickym
unabhängig von der Daten , ich habe Gruppen unter den Tab 'Home' erstellt aber trotzdem im Dashboard wird nur die Gruppe 'Temperatur' gezeigt, die frage ist , wo sind die anderen Gruppen und wie kann man die richtig sichtbar machen ?
Danke im Voraus
VG -
@elia Kann ich leider nicht nachvollziehen. Ggf. hast Du irgendwie über die uicontrol mal was versteckt - ich sehe alle Gruppen
Du musst halt die Gruppennamen ggf. alle in die ui_control Node einspeisen
{ "group": { "show": [ "Ueberblick", "Nacrichten", "Temperatur" ] } }
Aber auch mit den ganzen Rechtschreibfehlern, die Du bei der Erstellung der Gruppen gemacht hast
-
@mickym ach
das wusste vom anfang an dass das bei mir irgendwas nicht stimmt !!
das was bei mir sichtbar ist
-
@elia Dann erstelle die Gruppen halt nochmal neu (z. Bsp. N_Steuerung, N_Nachrichten etc. ) und sie in den Nodes den neuen Gruppen zu - zum Schluss kannst die alten Gruppen im Dashboard ja wieder löschen und die neuen Gruppen wieder umbenennen.
Die Fehler kannst ja auch in den Gruppen beheben:
-
@mickym ich schau mal , danke sehr
-
@elia said in Hilfe bei Node Red Aufgabe:
@mickym ach
das wusste vom anfang an dass das bei mir irgendwas nicht stimmt !!
kann mir jemand auch bei NodeRed weiterhelfen ?
Gruß
Mellisawas hat diese meldung für eine bedeutung... nach jedem Deploy keine Fehlermeldung aber nach einem Neustart von Nodered erscheint das und das passwort der Fritzbox in den einstellungen ist auch raus im Flow
-
@ichweiss-lol Dein Credentials sind halt weg. du musst halt bei Deinen HomeAssistant in der Server Node wieder erneut ein Token generieren und rein machen bzw. für die FritzBox dein Benutzernamen und Passwort neu eingeben.
-
@mickym said in Hilfe bei Node Red Aufgabe:
@ichweiss-lol Dein Credentials sind halt weg. du musst halt bei Deinen HomeAssistant in der Server Node wieder erneut ein Token generieren und rein machen bzw. für die FritzBox dein Benutzernamen und Passwort neu eingeben.
in der Server Node ? wo finde ich das und wieso Token, habe ich ja noch nie gemacht.
-
@ichweiss-lol Na sonst kannst auf HA gar nicht zugreifen. Wie soll das denn sonst gehen? Aber es scheint ja dass Deine HA Node funktioniert. Jedenfalls dann halt in der FritzBox Node auch Deine Anmeldedaten eingeben. Normalerweise kannst Du auf HA gar nicht einfach zugreifen - aber vielleicht hast Du auch andere Nodes. Letztlich musst Du halt überall deine Anmeldedaten neu eingeben.
-
@mickym said in Hilfe bei Node Red Aufgabe:
@ichweiss-lol Na sonst kannst auf HA gar nicht zugreifen. Wie soll das denn sonst gehen? Aber es scheint ja dass Deine HA Node funktioniert. Jedenfalls dann halt in der FritzBox Node auch Deine Anmeldedaten eingeben. Normalerweise kannst Du auf HA gar nicht einfach zugreifen - aber vielleicht hast Du auch andere Nodes. Letztlich musst Du halt überall deine Anmeldedaten neu eingeben.
es funktioniert alles wunderbar... nur sobald ich NodeRed neustarte ist das Password nicht mehr drin.
-
@ichweiss-lol ist das der Nodered Adapter Du musst halt dann ein fixes Passwort für die Verschlüsselung eingeben, wenn Du NodeRed ohne Adapter betriebst.
-
@mickym said in Hilfe bei Node Red Aufgabe:
@ichweiss-lol ist das der Nodered Adapter Du musst halt dann ein fixes Passwort für die Verschlüsselung eingeben, wenn Du NodeRed ohne Adapter betriebst.
ein ADDON auf Home assistant
-
@ichweiss-lol Dann musst aber bei HomeAssistant nachfragen, wo die settings.js liegt, wenn Du NodeRed als AddOn im HA installierst.
/******************************************************************************* * Flow File and User Directory Settings * - flowFile * - credentialSecret * - flowFilePretty * - userDir * - nodesDir ******************************************************************************/ /** The file containing the flows. If not set, defaults to flows_<hostname>.json **/ flowFile: 'flows.json', /** By default, credentials are encrypted in storage using a generated key. To * specify your own secret, set the following property. * If you want to disable encryption of credentials, set this property to false. * Note: once you set this property, do not change it - doing so will prevent * node-red from being able to decrypt your existing credentials and they will be * lost. */ credentialSecret:
Entweder man setzt das auf false, wen HA aber hier selbst immer Credentials setzt dann ist flows_cred.json immer anders verschlüsselt und NodeRed kann das nicht mehr entschlüsseln. Das ist aber dann eine Frage für HomeAssistant und nichts mit NodeRed und auch nicht mit iobroker.