NEWS
Visualisierung mit Node Red erstellen
-
@mickym Habe gerade diesen Beitragvon Dir entdeckt, aber ehrlich gesagt nicht ganz verstanden. Erstmal möchte ich ja nur die Werte vom Verbrauch in oder Red einbinden.
Habe gerade noch eine Idee. Da ich die Daten ja mit Influx logge, könnte ich sie auch von da nehmen. Mal schauen ob ich das hinbekomme
-
@damrak2022 Im Prinzip ist es vollkommen egal woher ein Wert stammt. Der Chart Node zeichnet einen Chart über alle Zahlenwerte über einen Zeitraum - ist also völlig egal woher der stammt.
Nun habe ich in der Flow einen "iobroker in node" und einen "iobroker out node" nehme und dazwischen setze ich den "Node Chart".
Normalerweise verliert der Chart Node nach jedem Neustart des NodeRed Adapters seine Daten wieder ausser Du speist sie wieder ein.
Wenn Du an den Ausgang eine iobroker OUT Node steckst, dann musst Du vorher aus dem Array was da rauskommt einen JSON String machen - das würde ich Dir aber erst mal nicht empfehlen.Im Prinzip musst Du ja nicht ALLES neu machen. Bislang hast Du wahrscheinlich Deine Werte geloggt in der Influx DB und über Grafana in VIS angezeigt - richtig?
-
Die Chart Node eignet sich wenn es Dir nicht ausmacht keinen langen Zeitraum darzustellen. Ich nutze die zum Beispiel um die Temperatur und die CPU Last oder die Temperaturen KURZFRISTIG in der Wohnung anzuzeigen
Ansonsten kannst Du genauso wie in VIS fertige Charts einbinden - bei Dir Grafana - ich habe den Flot Adapter im Einsatz - nutze das Charting aber nicht wirklich im Moment (das erste ist quasi ein externer Chart wie bei Dir Grafana):
-
Trotzdem am Anfang brauchst eigentlich nur eine iobroker-IN Node mit der Chart Node verbinden und es wird dann ab dem Zeitpunkt des Deploys Daten grafisch im Chart angezeigt. Ich würde halt nicht gerade einen Wochenwert auswählen, wo nur alle Wochen ein Wert rein kommt.
Am Besten Du nimmst als Datenpunkt den aktuellen Wert.
Häng halt eine Debug Node - direkt an Deine iobroker -IN Node - damit Du siehst, wie oft Daten ankommen.
Ansonsten kannst wie gesagt Deine grafana Charts wie in VIS auch in das Node-Red Dashboard einbinden.
-
@mickym Sorry, war einkaufen, muss das erstmal lesen
-
@mickym Ach das ist ja noch besser, wenn ich meine bestehenden Grafana Boards einbinden kann.
Irgendwas ist hier bei meiner Dashboard Konfiguration falsch
Warum habe ich hier zweimal Beleuchtung und zweimal Status drin?
Dann habe ich einmal ein Gauge Node für meine Batterie angelegt, aber ich kann keine Parent Group auswählen.
Mit der Numeric Node geht das zwar, aber die kann ja nicht richtig sein.Momentan nehme ich diese Anleitung zur Unterstützung: Link
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
Warum habe ich hier zweimal Beleuchtung und zweimal Status drin?
Weil das einmal als Tab definiert hast und einmal als Gruppe im Tab Übersicht.
Dann habe ich einmal ein Gauge Node für meine Batterie angelegt, aber ich kann keine Parent Group auswählen.
Mit der Numeric Node geht das zwar, aber die kann ja nicht richtig sein.
Du kannst grundsätzlich nur eine Gruppe auswählen und es gibt keine doppelten Verschachtelungen. Es gibt immer nur Groups (Kacheln) in einem Tab. Eine Group kann aber keine weiteren Groups enthalten.
-
Andy - ich will Dir trotzdem nochmal was grundsätzliches zur Überlegung geben. Du kannst ja NodeRed anstelle von Blockly als Logikmaschine in Zukunft nutzen, aber ob das so geschickt ist Dein Dashboard über das NodeRed Dashboard zu realisieren, solltest Du Dir 2 mal überlegen.
Erstens hast Du ja schon eine Menge Energie in Deine VIS gesteckt und soweit ich mich erinnere hast Du einen iobroker pro Account, damit Du aus der Ferne auf Deine VIS zugreifen kannst. Das wird mit dem NR Dashboard nicht funktionieren. Es gibt zwar ggf. andere Mittel - aber dann brauchst die Cloud des iobrokers nicht.
Ich will nur, dass Du diese Dinge einfach überdenkst - bevor Du einfach loslegst und dann vielleicht enttäuscht bist.
-
@mickym Ich danke Dir für die Anregungen. Ich kann aber nicht auf 2 Hochzeiten tanzen und möchte mich jetzt halt wirklich in Node Red einarbeiten, da mir das Ganze logischer erscheint, auch wenn ich hier natürlich noch Schwierigkeiten habe.
So sieht es bisher aus:
Probleme macht mir der unter Node mit dem Namen "Dimmschalter". Der greift den Datenpunkt vom Hue Dimmschalter Batteriestatus ab und soll in mir den Füllstand in einem Gauge Node darstellen, was bei mir aber irgendwie nicht klappt.
-
@damrak2022 ja das ist ja auch keine gauge Node - oder zumindest keine vom Dashboard - die hat ja eine andere Farbe- alle Dashboard Nodes haben doch so eine hellblaue Farbe.
-
@mickym Stimmt, ganz blöder Fehler von mir
-
@damrak2022 Desweiteren wird ja erst was geliefert, wenn HUE den Datenpunkt Batterie aktualisiert. Sonst kommt aus der iobroker-IN Node nichts raus. Wenn am Anfang gelesen werden soll, dann musst Du das in der iobroker-IN definieren:
Wie gesagt, Du kannst immer mit einer debug NOde prüfen, ob überhaupt was aus der iobroker-IN Node rauskommt. Wenn da nichts rauskommt, dann wird der Flow auch nicht getriggert.
-
@mickym Ja, ich muss noch schauen was beim Dimmschalter nicht stimmt, der hat nämlich 100% Füllstand
-
@damrak2022 Na beim Dimmen nimmst Du ja keine Gauge sondern einen slider - damit man Schalten kann. Da ziehst du an dem Slider - im Moment ist meine Schreibtischlampe auf 45% gedimmt.
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
ich muss noch schauen was beim Dimmschalter nicht stimmt, der hat nämlich 100% Füllstand
Immer den originalen Datenpunkt posten - eventuell ist das kein Zahlenwert sondern ein JSON - poste halt mal den Datenpunkt an dem Du den Dimmzustand ausliest.
Und bei der Batterie - würde ich % in die Units eintragen.
-
@mickym Ja, da hast Du recht. Habe alle meinen Lampen mit dem Slider eingerichtet. Mit Dimmschalter meinte ich den Batteriestand von diesem. Und da habe ich gerade im Datenpunkt gesehen das der leer ist, somit kann auch nichts angezeigt werden. Werde ich dann jetzt mal wechseln
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Ja, da hast Du recht. Habe alle meinen Lampen mit dem Slider eingerichtet. Mit Dimmschalter meinte ich den Batteriestand von diesem. Und da habe ich gerade im Datenpunkt gesehen das der leer ist, somit kann auch nichts angezeigt werden. Werde ich dann jetzt mal wechseln
Tja wo nichts ist - kann auch nichts angezeigt werden.
-
@mickym Wie immer CR2450 natürlich nicht vorhanden
-
@mickym Ich habe gerade mal dieses Script eingebunden:
[{"id":"fbbafb8d.8c3818","type":"exec","z":"ae220e4a.3c49d","command":"vcgencmd measure_temp","addpay":false,"append":"","useSpawn":"","timer":"","oldrc":false,"name":"RPi Temperatur","x":440,"y":200,"wires":[["17fa85a3.c0a5fa"],[],[]]},{"id":"610a759f.da34ec","type":"inject","z":"ae220e4a.3c49d","name":"aktualisierung 10sek","topic":"","payload":"","payloadType":"date","repeat":"10","crontab":"","once":false,"onceDelay":"","x":200,"y":200,"wires":[["fbbafb8d.8c3818","6b5302eb.fe0fbc","f8494c08.39fe8"]]},{"id":"17fa85a3.c0a5fa","type":"function","z":"ae220e4a.3c49d","name":"cutString","func":"str = msg.payload\nmsg.payload = str.substring(5,9);\nreturn msg;","outputs":1,"noerr":0,"x":660,"y":200,"wires":[["e8f154dc.299398","71f38a1c.ca6f64"]]},{"id":"4070b9bd.5796b8","type":"exec","z":"ae220e4a.3c49d","command":"sudo reboot","addpay":false,"append":"","useSpawn":"","timer":"","oldrc":false,"name":"Neustarten","x":430,"y":540,"wires":[[],[],[]]},{"id":"77a93271.11eabc","type":"exec","z":"ae220e4a.3c49d","command":"sudo shutdown -h now","addpay":false,"append":"","useSpawn":"","timer":"","oldrc":false,"name":"Herunterfahren","x":440,"y":620,"wires":[[],[],[]]},{"id":"6b5302eb.fe0fbc","type":"exec","z":"ae220e4a.3c49d","command":"top -d 1 -b -n2 | grep \"Cpu(s)\"|tail -n 1 | awk '{print $2 + $4}'","addpay":false,"append":"","useSpawn":"","timer":"","oldrc":false,"name":"CPU Last","x":420,"y":280,"wires":[["97612f41.a7f6e"],[],[]]},{"id":"f8494c08.39fe8","type":"exec","z":"ae220e4a.3c49d","command":"free | grep Mem | awk '{print 100*(($3+$5)/$2)}'","addpay":false,"append":"","useSpawn":"","timer":"","oldrc":false,"name":"RAM","x":410,"y":360,"wires":[["6ce43c7.2c89bc4"],[],[]]},{"id":"7b744c14.050354","type":"exec","z":"ae220e4a.3c49d","command":"df -h","addpay":false,"append":"","useSpawn":"","timer":"","oldrc":false,"name":"Speicherplatz","x":440,"y":440,"wires":[["403e1890.2fbab8"],[],[]]},{"id":"403e1890.2fbab8","type":"function","z":"ae220e4a.3c49d","name":"modifyString","func":"var re = /([0-9]{2})%/\nvar idx = msg.payload.search(re);\nvar str = msg.payload;\nif (idx >=0) {\n str = msg.payload.substring(idx, idx + 2);\n}\nmsg.payload = str;\nreturn msg;","outputs":1,"noerr":0,"x":670,"y":440,"wires":[["f574e160.da0f1"]]},{"id":"da61973.d30f268","type":"inject","z":"ae220e4a.3c49d","name":"aktualisierung 1min","topic":"","payload":"","payloadType":"date","repeat":"60","crontab":"","once":false,"onceDelay":"","x":200,"y":440,"wires":[["7b744c14.050354"]]},{"id":"37bde909.05a676","type":"ui_button","z":"ae220e4a.3c49d","name":"","group":"5fe5a9b.a8a6158","order":3,"width":0,"height":0,"passthru":false,"label":"Neu starten","color":"","bgcolor":"","icon":"","payload":"","payloadType":"str","topic":"","x":230,"y":540,"wires":[["4070b9bd.5796b8"]]},{"id":"12fa2be3.80e824","type":"ui_button","z":"ae220e4a.3c49d","name":"","group":"5fe5a9b.a8a6158","order":4,"width":0,"height":0,"passthru":false,"label":"Herunterfahren","color":"","bgcolor":"red","icon":"","payload":"","payloadType":"str","topic":"","x":240,"y":620,"wires":[["77a93271.11eabc"]]},{"id":"e8f154dc.299398","type":"ui_gauge","z":"ae220e4a.3c49d","name":"","group":"5fe5a9b.a8a6158","order":1,"width":0,"height":0,"gtype":"gage","title":"CPU Temperatur","label":"C","format":"{{value}}","min":0,"max":"100","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":910,"y":180,"wires":[]},{"id":"638024a7.6ca05c","type":"ui_gauge","z":"ae220e4a.3c49d","name":"","group":"6b432a4a.06ad54","order":1,"width":0,"height":0,"gtype":"gage","title":"CPU","label":"CPU","format":"{{value}}%","min":0,"max":"100","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":870,"y":300,"wires":[]},{"id":"d80d6326.88202","type":"ui_gauge","z":"ae220e4a.3c49d","name":"","group":"6b432a4a.06ad54","order":1,"width":0,"height":0,"gtype":"gage","title":"Speicher","label":"RAM","format":"{{value}}%","min":0,"max":"100","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":880,"y":360,"wires":[]},{"id":"f574e160.da0f1","type":"ui_gauge","z":"ae220e4a.3c49d","name":"","group":"6b432a4a.06ad54","order":1,"width":0,"height":0,"gtype":"gage","title":"Disk","label":"Speicherplatz","format":"{{value}}%","min":0,"max":"100","colors":["#00b500","#e6e600","#ca3838"],"seg1":"","seg2":"","x":870,"y":440,"wires":[]},{"id":"71f38a1c.ca6f64","type":"ui_chart","z":"ae220e4a.3c49d","name":"","group":"5fe5a9b.a8a6158","order":2,"width":0,"height":0,"label":"CPU Temperatur Verlauf","chartType":"line","legend":"false","xformat":"HH:mm:ss","interpolate":"linear","nodata":"","dot":false,"ymin":"","ymax":"","removeOlder":"24","removeOlderPoints":"","removeOlderUnit":"3600","cutout":0,"useOneColor":false,"colors":["#1f77b4","#aec7e8","#ff7f0e","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5"],"useOldStyle":true,"x":930,"y":240,"wires":[[],[]]},{"id":"6ce43c7.2c89bc4","type":"function","z":"ae220e4a.3c49d","name":"deleteWhitespace","func":"var str = msg.payload\nstr = str.trim();\nvar nr=parseInt(str);\nmsg.payload = nr.toFixed(1);\nreturn msg;","outputs":1,"noerr":0,"x":690,"y":360,"wires":[["d80d6326.88202"]]},{"id":"97612f41.a7f6e","type":"function","z":"ae220e4a.3c49d","name":"deleteWhitespace","func":"str = msg.payload\nmsg.payload = str.trim();\nreturn msg;","outputs":1,"noerr":0,"x":690,"y":280,"wires":[["638024a7.6ca05c"]]},{"id":"75f679fd.1125a8","type":"inject","z":"ae220e4a.3c49d","name":"Herunterfahren","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":260,"y":680,"wires":[["77a93271.11eabc"]]},{"id":"5fe5a9b.a8a6158","type":"ui_group","z":"ae220e4a.3c49d","name":"2","tab":"7e8708a2.0fc408","order":2,"disp":false,"width":"6","collapse":false},{"id":"6b432a4a.06ad54","type":"ui_group","z":"ae220e4a.3c49d","name":"1","tab":"7e8708a2.0fc408","order":1,"disp":false,"width":"6","collapse":false},{"id":"7e8708a2.0fc408","type":"ui_tab","z":"ae220e4a.3c49d","name":"Raspi Daten","icon":"dashboard","order":1}]
Da bekomme ich gerade einen Mega Schreck, vorausgesetzt die Daten stimmen.
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
Nun ja warum sollte das nicht stimmen? - Wenn Du einen Raspberry hast und Du deine Datenbank darauf laufen lässt und alles mögliche loggst, dann ist der Plattenplatz voll. du siehst ja, was für Befehle abgesetzt werden.
Zum Beispiel für den Plattenplatz: df -h
Im Prinzip hast Du sofort Handlungsbedarf - sonst ist Dein System im Nu gecrashed - weil der Plattenplatz voll ist.
Wenn Du diesen Befehl eingibst - dann kannst Du auf Kommandoebene sehen, in welchen Verzeichnissen besonders viel Speicherplatz auf Deiner SD Karte verbraucht hast. Wie groß ist denn Deine Karte?
sudo du -sh /*