Hallo,
ich hab in meinem Dashboard eine Loganzeige in Form eines scrollbaren Textes angelegt
funktioniert soweit auch ganz gut, wenn der Tab geöffnet ist und eine neue Nachricht eintrifft.
Wird der Tab jedoch erst geöffnet, wenn die letzte Nachricht bereits eingetroffen ist, wird der Tab erst richtig angezeigt wenn eine neue Nachricht eingetragen wird.
Auch ein "aktualisieren" im Web-Browser hilft dann nicht
Was muss ich tun, damit die Seite korrekt aufgebaut wird?
Vielen Dank für Eure Hilfe....
Dashboard scrollbarer Text funktioniert nur wenn Tab geöffnet
Moderator: Co-Administratoren
-
- Beiträge: 54
- Registriert: 04.06.2018, 17:22
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 3 Mal
Dashboard scrollbarer Text funktioniert nur wenn Tab geöffnet
- Dateianhänge
-
- flows.txt
- (2.64 KiB) 36-mal heruntergeladen
-
- Beiträge: 54
- Registriert: 04.06.2018, 17:22
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 3 Mal
Re: Dashboard scrollbarer Text funktioniert nur wenn Tab geöffnet
Das Problem ist, dass der Text nur aktualisiert wird, wenn neue Nachrichten einlaufen.
Ist das nicht der Fall, wird bis dahin auch kein Text angezeigt
Als Notlösung speichere ich jetzt die Nachrichten und habe ich jetzt einen Reload - Button eingebaut um das Ganze zu triggern.
Ist nicht ganz so schön, aber funktioniert.
Kann man vom Dashboard Nachrichten bekommen, wenn ein bestimmter Tab aufgerufen wird?
Dann könnte ich das als Reload-Signal nutzen.
Vielen Dank
Ist das nicht der Fall, wird bis dahin auch kein Text angezeigt
Als Notlösung speichere ich jetzt die Nachrichten und habe ich jetzt einen Reload - Button eingebaut um das Ganze zu triggern.
Ist nicht ganz so schön, aber funktioniert.
Kann man vom Dashboard Nachrichten bekommen, wenn ein bestimmter Tab aufgerufen wird?
Dann könnte ich das als Reload-Signal nutzen.
Vielen Dank
-
- Beiträge: 54
- Registriert: 04.06.2018, 17:22
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 3 Mal
Re: Dashboard scrollbarer Text funktioniert nur wenn Tab geöffnet
Danke, damit hat es geklappt.
Entstanden ist daraus eine Log Seite.
Wer möchte kann den Flow gern verwenden. Benötigt wird "node-red-contrib-ring-buffer"
und liefert 2 Log-Listen
Alles was im topic "Error" oder "Alarm" enthält landet in der Error Liste, der Rest in der Info Liste.
Automatisch wird eine Uhrzeit hinzu gefügt. Gelistet wird dann "Uhrzeit", topic, payload
Vielen Dank für Eure Hilfe...
Entstanden ist daraus eine Log Seite.
Wer möchte kann den Flow gern verwenden. Benötigt wird "node-red-contrib-ring-buffer"
und liefert 2 Log-Listen
Alles was im topic "Error" oder "Alarm" enthält landet in der Error Liste, der Rest in der Info Liste.
Automatisch wird eine Uhrzeit hinzu gefügt. Gelistet wird dann "Uhrzeit", topic, payload
Vielen Dank für Eure Hilfe...
Code: Alles auswählen
[{"id":"4c57e8ea.6685f8","type":"template","z":"d2925832.343ec8","name":"","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"<!DOCTYPE html>\n<html>\n <head></head>\n <body>\n <ul>\n {{#payload}}\n <li>{{time}}, {{event}}</li>\n {{/payload}}\n </ul>\n</body>\n</html>","x":1060,"y":180,"wires":[["f394edc1.ce6ad"]]},{"id":"19a0bd4b.6245e3","type":"ui_template","z":"d2925832.343ec8","group":"c1be1683.223588","name":"Info","order":1,"width":20,"height":5,"format":"<style>\n\n #tex1 {\n font-weight:bolder;\n font-family: Menlo, monospace;\n font-size: 5;\n letter-spacing: 4px;\n color: black;\n }\n \n</style>\n<div ng-bind-html=\"msg.payload\" id=\"tex1\"></div>\n","storeOutMessages":true,"fwdInMessages":true,"resendOnRefresh":false,"templateScope":"local","x":1450,"y":180,"wires":[[]]},{"id":"3d7ce2d1.d9be2e","type":"ring-buffer","z":"d2925832.343ec8","name":"","capacity":"256","order":"new-to-old","sendOnlyIfFull":false,"pushAfterClear":false,"extra":false,"perTopic":false,"x":880,"y":180,"wires":[["4c57e8ea.6685f8"]]},{"id":"c6c0bd4f.4f0bb","type":"function","z":"d2925832.343ec8","name":"build String","func":"let Ereignis = msg.payload;\nlet Topic = msg.topic;\n\nvar now = new Date();\n\nvar hour = now.getHours();\nvar minute = now.getMinutes();\nvar second = now.getSeconds();\n\nif(hour.toString().length == 1) \n hour = '0'+hour;\n\nif(minute.toString().length == 1) \n minute = '0'+minute;\n\nif(second.toString().length == 1) \n second = '0'+second;\n\n\nmsg.payload = {\"time\" : hour+':'+minute+':'+second, \"event\" : Topic+', '+Ereignis};\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":410,"y":160,"wires":[["47a1fdd1.47fc54"]]},{"id":"b748bd72.b5e34","type":"comment","z":"d2925832.343ec8","name":"System Log schreiben","info":"","x":320,"y":120,"wires":[]},{"id":"8904ce05.c741","type":"ring-buffer","z":"d2925832.343ec8","name":"","capacity":"256","order":"new-to-old","sendOnlyIfFull":false,"pushAfterClear":false,"extra":false,"perTopic":false,"x":880,"y":60,"wires":[["953591e1.7db2b"]]},{"id":"953591e1.7db2b","type":"template","z":"d2925832.343ec8","name":"","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"<!DOCTYPE html>\n<html>\n <head></head>\n <body>\n <ul>\n {{#payload}}\n <li>{{time}}, {{event}}</li>\n {{/payload}}\n </ul>\n</body>\n</html>","x":1060,"y":60,"wires":[["dc95d6d7.41dce8"]]},{"id":"be51c345.02d37","type":"ui_template","z":"d2925832.343ec8","group":"90dbfbee.4d75c8","name":"Error","order":1,"width":"20","height":"5","format":"<style>\n\n #tex1 {\n font-weight:bolder;\n font-family: Menlo, monospace;\n font-size: 5;\n letter-spacing: 4px;\n color: black;\n }\n \n</style>\n<div ng-bind-html=\"msg.payload\" id=\"tex1\"></div>\n","storeOutMessages":true,"fwdInMessages":true,"resendOnRefresh":false,"templateScope":"local","x":1450,"y":60,"wires":[[]]},{"id":"47a1fdd1.47fc54","type":"switch","z":"d2925832.343ec8","name":"Error / Alarm?","property":"topic","propertyType":"msg","rules":[{"t":"cont","v":"Error","vt":"str"},{"t":"cont","v":"Alarm","vt":"str"},{"t":"else"}],"checkall":"false","repair":false,"outputs":3,"x":640,"y":160,"wires":[["8904ce05.c741"],["8904ce05.c741"],["3d7ce2d1.d9be2e"]],"outputLabels":["Error","Alarm","sonst"]},{"id":"dc95d6d7.41dce8","type":"function","z":"d2925832.343ec8","name":"Meldungen buffern","func":"// Meldungen buffern, damit ein Reload durchgeführt werden kann,\n// falls der Sys-Log Tab nicht aktiv war, wenn Meldungen auflaufen.\n//\n// Anzeige wird nur aktualisiert, wenn Nachrichten einlaufen.\n\nvar Text=context.get('Text') ;\nif (typeof Text==\"undefined\")\nText=\"Keine Meldungen\";\n\n// Benötigte Werte aus den einzelnen Eingangsmeassages extrahieren\n// und abspeichern\nswitch (msg.topic) {\n case 'Reload':\n msg.payload = Text;\n break;\n default:\n Text = msg.payload;\n context.set('Text',Text); // Wert speichern\n break;\n}\n\n\nreturn msg;\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1270,"y":60,"wires":[["be51c345.02d37"]]},{"id":"f394edc1.ce6ad","type":"function","z":"d2925832.343ec8","name":"Meldungen buffern","func":"// Meldungen buffern, damit ein Reload durchgeführt werden kann,\n// falls der Sys-Log Tab nicht aktiv war, wenn Meldungen auflaufen.\n//\n// Anzeige wird nur aktualisiert, wenn Nachrichten einlaufen.\n\nvar Text=context.get('Text') ;\nif (typeof Text==\"undefined\")\nText=\"Keine Meldungen\";\n\n// Benötigte Werte aus den einzelnen Eingangsmeassages extrahieren\n// und abspeichern\nswitch (msg.topic) {\n case 'Reload':\n msg.payload = Text;\n break;\n default:\n Text = msg.payload;\n context.set('Text',Text); // Wert speichern\n break;\n}\n\n\nreturn msg;\n\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":1270,"y":180,"wires":[["19a0bd4b.6245e3"]]},{"id":"dff2f5ea.8a4458","type":"ui_ui_control","z":"d2925832.343ec8","name":"","events":"all","x":900,"y":120,"wires":[["fbc9fef9.90a5c"]]},{"id":"fbc9fef9.90a5c","type":"change","z":"d2925832.343ec8","name":"topic Reload","rules":[{"t":"set","p":"topic","pt":"msg","to":"Reload","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":1070,"y":120,"wires":[["dc95d6d7.41dce8","f394edc1.ce6ad"]]},{"id":"95323502.871fd8","type":"comment","z":"d2925832.343ec8","name":"Reload bei Tab Change","info":"","x":1280,"y":120,"wires":[]},{"id":"c1be1683.223588","type":"ui_group","name":"Info","tab":"ba447e0f.ac1b9","order":2,"disp":true,"width":"20","collapse":true},{"id":"90dbfbee.4d75c8","type":"ui_group","name":"Error","tab":"ba447e0f.ac1b9","order":1,"disp":true,"width":20,"collapse":true},{"id":"ba447e0f.ac1b9","type":"ui_tab","name":"System-Log","icon":"fa-file","order":16,"disabled":false,"hidden":false}]
-
- Beiträge: 54
- Registriert: 04.06.2018, 17:22
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 3 Mal
Re: Dashboard scrollbarer Text funktioniert nur wenn Tab geöffnet
Hallo,
ich habe noch ein kleines Problem gefunden.
Ich habe noch einen Inject-Node eingebaut, um die Liste zu löschen. Dazu sende ich "msg.clearAll" an den ring buffer.
Dieser wird auch gelöscht, aber in der Anzeige werden weiterhin die alten Einträge angezeigt
Kann mir jemand sagen, was ich noch tun muss, damit auch die Anzeige "gelöscht" wird?
Ein zusätzlicher Aufruf vom topic Reload hat nicht geholfen
Vielen Dank.....
ich habe noch ein kleines Problem gefunden.
Ich habe noch einen Inject-Node eingebaut, um die Liste zu löschen. Dazu sende ich "msg.clearAll" an den ring buffer.
Dieser wird auch gelöscht, aber in der Anzeige werden weiterhin die alten Einträge angezeigt
Kann mir jemand sagen, was ich noch tun muss, damit auch die Anzeige "gelöscht" wird?
Ein zusätzlicher Aufruf vom topic Reload hat nicht geholfen
Vielen Dank.....