Dashboard
Moderator: Co-Administratoren
- Psi
- Beiträge: 512
- Registriert: 09.08.2018, 19:58
- Wohnort: Nürnberg
- Hat sich bedankt: 27 Mal
- Danksagung erhalten: 90 Mal
Dashboard
Hi RedMatic Fans,
wie erstellt ihr eure Dashboards?
* Mit node-red Dashboard? Seid ihr damit zufrieden oder fehlt etwas?
* ioBroker VIS?
* Was wären noch gute Optionen?
Ich finde es sehr chick über die Nodes direkt ein Dashboard zu befüttern allerdings finde ich die mitgelieferten Widgets etwas mau und spiele aktuell mit dem Gedanken hier selbst ein paar Nodes zu erstellen.
Beste Grüße
wie erstellt ihr eure Dashboards?
* Mit node-red Dashboard? Seid ihr damit zufrieden oder fehlt etwas?
* ioBroker VIS?
* Was wären noch gute Optionen?
Ich finde es sehr chick über die Nodes direkt ein Dashboard zu befüttern allerdings finde ich die mitgelieferten Widgets etwas mau und spiele aktuell mit dem Gedanken hier selbst ein paar Nodes zu erstellen.
Beste Grüße
Re: Dashboard
Ich finde die Möglichkeit über Node-RED bisher am besten. Ich habe noch ein wenig Schwierigkeiten die Daten aus Arrays zu ziehen und im Dashboard anzeigen zu lassen. Wenn ich mir das noch beigebracht habe wird es wirklich mächtig. Man kann ja wirklich alles auswerten
-
- Beiträge: 393
- Registriert: 25.01.2017, 10:51
- Wohnort: Bei Berlin
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 8 Mal
Re: Dashboard
Ich setze nach einigen Umwegen (Mediola, Homehub) auf ioBroker. Mit ioBroker.Vis kann ich meine Anwendung auf dem Tablett so visualisieren, dass auch meine Frau damit zurecht kommt. Alle Kalender sind integriert und auch Alexa lässt sich einfach einbinden.
Ich bin erst seit einer Woche auf das Projekt RedMatic aufwerksam geworden. Bisher habe ich Addons auf der CCU2 restriktiv installiert: Die Arbeit an der WebGui war extrem lahm. Auf dem RaspberryMatic fliegt das System. Nun traue ich mich auch, einige Addons zusätzlich zu CUxD zu stallieren.
Das Dashboard in RedMatic ist hübsch, die Icons sind genial, ich weiss nur nicht, wie man daraus eine schöne Visualisierung wie Mediola oder ioBroker baut.
Ich bin erst seit einer Woche auf das Projekt RedMatic aufwerksam geworden. Bisher habe ich Addons auf der CCU2 restriktiv installiert: Die Arbeit an der WebGui war extrem lahm. Auf dem RaspberryMatic fliegt das System. Nun traue ich mich auch, einige Addons zusätzlich zu CUxD zu stallieren.
Das Dashboard in RedMatic ist hübsch, die Icons sind genial, ich weiss nur nicht, wie man daraus eine schöne Visualisierung wie Mediola oder ioBroker baut.
RaspberryMatic-3.59.6 auf Tinkerboard S, CUxD 2.6, XML-1.20, ioBroker (HM,HMIP, Zigbee, Zwave und Shelly) und Alexa in einer VM unter Proxmox, VitoComfort 200
-
- Beiträge: 3978
- Registriert: 12.07.2009, 20:01
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 176 Mal
- Kontaktdaten:
Re: Dashboard
Im Moment nutze ich für meine Wallmounts noch "statische" Dashboards, realisiert mit https://www.webcomponents.org/element/@ ... tt-wrapper
Connected sich direkt auf den MQTT Broker und ist über Cordova als Android App verpackt. Sieht z.B. so aus: Auf dem Handy nutze ich die Home App und Node-RED Dashboard.
Hab die Tage begonnen was neues zu bauen, vom Prinzip das gleiche wie DashUI/ioBroker.vis, allerdings mit zeitgemäßer Technologie, nutzt Node-RED als Backend, denke ich werde das bis Weihnachten veröffentlichen.
Connected sich direkt auf den MQTT Broker und ist über Cordova als Android App verpackt. Sieht z.B. so aus: Auf dem Handy nutze ich die Home App und Node-RED Dashboard.
Hab die Tage begonnen was neues zu bauen, vom Prinzip das gleiche wie DashUI/ioBroker.vis, allerdings mit zeitgemäßer Technologie, nutzt Node-RED als Backend, denke ich werde das bis Weihnachten veröffentlichen.
-
- Beiträge: 6847
- Registriert: 22.05.2012, 08:40
- System: CCU
- Hat sich bedankt: 25 Mal
- Danksagung erhalten: 499 Mal
Re: Dashboard
Ich selber nutze IPSView und Mediola NEO in Kombination mit IP-Symcon. Als Grafiktool nutzte ich ergänzend Colibrico Design Studio.
- Psi
- Beiträge: 512
- Registriert: 09.08.2018, 19:58
- Wohnort: Nürnberg
- Hat sich bedankt: 27 Mal
- Danksagung erhalten: 90 Mal
Re: Dashboard
Geht also in alle Richtungen
Kommerzielle Produkte sind für mich raus und es muss im Browser laufen.
VIS und ioBroker hab ich persönlich noch nicht probiert da mir bislang RedMatic all nötigen "Adapter" und Logikbausteine zur Verfügung stellt.
Zudem gefällt mir die feste Größe der VIS Dashboards gar nicht. Ich will das am PC, Tablet und Handy benutzen können und nicht für jede Auflösung ein eigenes Dashboard bauen müssen.
Die Widgets von Node-RED sind allerdings recht allgemein und ich überlege gerade ob man hier spezifische SmartHome Widgets erstellen sollte.
Kommerzielle Produkte sind für mich raus und es muss im Browser laufen.
VIS und ioBroker hab ich persönlich noch nicht probiert da mir bislang RedMatic all nötigen "Adapter" und Logikbausteine zur Verfügung stellt.
Zudem gefällt mir die feste Größe der VIS Dashboards gar nicht. Ich will das am PC, Tablet und Handy benutzen können und nicht für jede Auflösung ein eigenes Dashboard bauen müssen.
Die Widgets von Node-RED sind allerdings recht allgemein und ich überlege gerade ob man hier spezifische SmartHome Widgets erstellen sollte.
Re: Dashboard
Hallo,
Die Idee ist super es ist leider nicht so prall mit den zb Gauge .
Versuche gerade andere rein zu bringen Rgraph und StellSeries klappt schon mal fürs erste ganz gut.
Nur habe ich eine Problem bei den anzeigen der StellSeries ab 2 stück überlagern sie sich immer , wenn ich sie in einer gruppe habe oder tab habe bzw es ergibt auch ein leeres feld.
Mache ich einen neuen tab auf kann ich ein zweites anlegen.
Hat jemand eine Idee wie mann das anderes machen kann ??
Danke
Gruß
Zetzi
Die Idee ist super es ist leider nicht so prall mit den zb Gauge .
Versuche gerade andere rein zu bringen Rgraph und StellSeries klappt schon mal fürs erste ganz gut.
Nur habe ich eine Problem bei den anzeigen der StellSeries ab 2 stück überlagern sie sich immer , wenn ich sie in einer gruppe habe oder tab habe bzw es ergibt auch ein leeres feld.
Mache ich einen neuen tab auf kann ich ein zweites anlegen.
Hat jemand eine Idee wie mann das anderes machen kann ??
Danke
Gruß
Zetzi
Re: Dashboard
Hier der Node Red Code
Code: Alles auswählen
[{"id":"b9c35b86.50d178","type":"ui_template","z":"774a4184.2feac","group":"77f2ff7a.6c7c6","name":"Compass","order":1,"width":"4","height":"4","format":"<script src=\"/myjs/tween-min.js\"></script>\n<script src=\"/myjs/steelseries-min.js\"></script>\n<script>\nvar compass;\n (function(scope){ \n scope.$watch('msg', function(msg) {\n if (typeof(msg.value) != \"undefined\")compass.setValueAnimated(msg.value);\n \n });\n })(scope);\n\n \n\n compass = new steelseries.Compass('compass', {\n gaugeType: steelseries.GaugeType.TYPE4,\n \n size: 190,\n \n rotateFace: true,\n //\n //titleString: \"Charge\",\n //unitString: \"AMPS\",\n // threshold: 11.9,\n // minValue: 0,\n // maxValue: 10,\n // thresholdRising: false,\n //lcdVisible: true,\n \n });\n//cog.steelseries.BackgroundColor.(steelseries.BackgroundColor.WHITE); \n compass.setFrameDesign(steelseries.FrameDesign.BRASS);\n compass.setValueAnimated(0); \n \n //cog.setPointerType(steelseries.PointerType.TYPE9);\n \n\n\n</script>\n\n<canvas id=\"compass\" width=\"190\" height=\"190\"></canvas>\n","storeOutMessages":true,"fwdInMessages":true,"templateScope":"local","x":557.0185546875,"y":103.03465270996094,"wires":[[]]},{"id":"3f270afa.2c89e6","type":"ui_template","z":"774a4184.2feac","group":"77f2ff7a.6c7c6","name":"Horizon","order":3,"width":"4","height":"4","format":"<script src=\"/myjs/tween-min.js\"></script>\n<script src=\"/myjs/steelseries-min.js\"></script>\n<script>\nvar horizon;\n (function(scope){ \n scope.$watch('msg', function(msg) {\n if (typeof(msg.value) != \"undefined\")horizon.setValueAnimated(msg.value);\n //if (typeof(msg.hor) != \"undefined\")horizon.setHorAnimated(msg.hor);\n //if (typeof(msg.value) != \"undefined\")horizon.setValueAnimated(value);\n // (msg.value);\n //if (typeof(msg.roll) != \"undefined\")horizon.setRollAnimated(roll);\n \n \n });\n })(scope);\n\n \n\n horizon = new steelseries.Level('horizon', {\n gaugeType: steelseries.GaugeType.TYPE4,\n size: 190,\n //textOrientationFixed: true,\n //decimalsVisible:true,\n //pointerColor: ORANGE.\n //foregroundType:\n //backgroundVisible:false,\n //foregroundVisible:false,\n \n });\n horizon.setFrameDesign(steelseries.FrameDesign.CHROME); \n horizon.setValueAnimated(0); \n \n //level.setPointerType(steelseries.PointerType.TYPE9);\n \n\n\n</script>\n\n<canvas id=\"horizon\" width=\"190\" height=\"190\"></canvas>\n","storeOutMessages":true,"fwdInMessages":true,"templateScope":"local","x":553.0184745788574,"y":145.0346565246582,"wires":[[]]},{"id":"eeacc6fb.6aedd8","type":"ccu-rpc-event","z":"774a4184.2feac","name":"S300 Mobile Temperatur:","iface":"CUxD","ccuConfig":"38263145.35ea0e","rooms":"Test-Mobile","roomsRx":"str","functions":"","functionsRx":"str","device":"","deviceRx":"str","deviceName":"S300TH-ID-4","deviceNameRx":"str","deviceType":"","deviceTypeRx":"str","channel":"","channelRx":"str","channelName":"","channelNameRx":"str","channelType":"","channelTypeRx":"str","datapoint":"TEMPERATURE","datapointRx":"str","change":true,"working":false,"cache":true,"topic":"${CCU}/${Interface}/${channelName}/${datapoint}","x":207.01973152160645,"y":319.0198097229004,"wires":[["737195de.b40dfc","47068775.c7f268","c8f384f8.063d58"]]},{"id":"737195de.b40dfc","type":"combine-statistic","z":"774a4184.2feac","name":"Durchschnitt","topic":"192","operator":"mean","defer":250,"timeout":0,"distinction":"topic","x":417.0197162628174,"y":348.4437532424927,"wires":[["6fae9fe7.b16a8"]]},{"id":"6fae9fe7.b16a8","type":"ui_text","z":"774a4184.2feac","group":"ae3aa0fe.4e842","order":3,"width":"0","height":"0","name":"","label":"S300 Mobile Temperatur:","format":"{{msg.payload}}°C","layout":"row-left","x":624.0268859863281,"y":322.44016456604004,"wires":[]},{"id":"47068775.c7f268","type":"ui_gauge","z":"774a4184.2feac","name":"","group":"26dcc212.44b7be","order":3,"width":"3","height":"2","gtype":"gage","title":"S300 Mobile Gauge","label":"C","format":"{{value }}","min":"-60","max":"20","colors":["#00ff00","#ffff00","#ff0000"],"seg1":"-18","seg2":"-17","x":937.0119113922119,"y":323.26558685302734,"wires":[]},{"id":"c8f384f8.063d58","type":"function","z":"774a4184.2feac","name":"","func":"msg.value=msg.payload;\nreturn msg;","outputs":1,"noerr":0,"x":717.0197296142578,"y":215.01980209350586,"wires":[["7f9c8b28.e6c244"]]},{"id":"7f9c8b28.e6c244","type":"ui_template","z":"774a4184.2feac","group":"77f2ff7a.6c7c6","name":"Kühltrue","order":5,"width":"4","height":"4","format":"<script src=\"/myjs/tween-min.js\"></script>\n<script src=\"/myjs/steelseries-min.js\"></script>\n<script>\nvar speed;\n (function(scope){ \n scope.$watch('msg', function(msg) {\n if (typeof(msg.value) != \"undefined\")speed.setValueAnimated(msg.value);\n \n });\n })(scope);\n\n\n speed = new steelseries.Radial('speed', {\n gaugeType: steelseries.GaugeType.TYPE2,\n size:190,\n \n titleString: \"Kühltruhe\",\n unitString: \"Temp\",\n //threshold: 11.9,\n minValue: -30,\n maxValue: -0,\n thresholdRising: false,\n lcdVisible: true,\n \n });\n \n \n \n speed.setFrameDesign(steelseries.FrameDesign.CHROME);\n speed.setValueAnimated(0);\n speed.setThreshold(50);\n speed.blinkUserLed(0);\n speed.setOdoValue(0);\n\n\n\n</script>\n\n<canvas id=\"speed\" width=\"190\" height=\"190\"></canvas>","storeOutMessages":false,"fwdInMessages":false,"templateScope":"local","x":725.0185546875,"y":266.03466796875,"wires":[[]]},{"id":"fd2cd1ff.48d65","type":"ui_template","z":"774a4184.2feac","group":"77f2ff7a.6c7c6","name":"rgraph","order":2,"width":"4","height":"4","format":"<script src=\"/myjs/tween-min.js\"></script>\n<script src=\"/myjs/steelseries-min.js\"></script>\n<script>\nvar radial4;\n (function(scope){ \n scope.$watch('msg', function(msg) {\n if (typeof(msg.value) != \"undefined\") radial4.setValueAnimated(msg.value);\n if (typeof(msg.threshold) != \"undefined\") radial4.setThreshold(msg.threshold);\n if (typeof(msg.odo) != \"undefined\")radial4.setOdoValue(msg.odo); \n if (typeof(msg.userLed) != \"undefined\") radial4.setUserLedOnOff(msg.userLed); \n if (typeof(msg.trend) != \"undefined\")\n {\n if (msg.trend==1) radial4.setTrend(steelseries.TrendState.UP);\n if (msg.trend==0) radial4.setTrend(steelseries.TrendState.STEADY);\n if (msg.trend==-1) radial4.setTrend(steelseries.TrendState.DOWN);\n if (msg.trend==-2) radial4.setTrend(steelseries.TrendState.OFF);\n }\n });\n })(scope);\n\n var sections = [steelseries.Section(0, 25, 'rgba(0, 0, 220, 0.3)'),\n steelseries.Section(25, 50, 'rgba(0, 220, 0, 0.3)'),\n steelseries.Section(20, 90, 'rgba(220, 220, 0, 0.3)') ],\n\n // Define one area\n areas = [steelseries.Section(0, 18, 'rgba(220, 0, 0, 0.3)')],\n\n radial4 = new steelseries.Radial('canvasRadial4', {\n gaugeType: steelseries.GaugeType.TYPE4,\n size: 190,\n section: sections,\n area: areas,\n titleString: \"Wohnzimmer\",\n unitString: \"Temp C\",\n threshold: 50,\n thresholdRising: false,\n userLedVisible: true,\n useOdometer: true,\n lcdVisible: true,\n trendVisible: true\n });\n \n radial4.setFrameDesign(steelseries.FrameDesign.BLACK_METAL);\n radial4.setValueAnimated(0);\n radial4.setThreshold(50);\n radial4.blinkUserLed(0);\n radial4.setOdoValue(0);\nradial4.setPointerType(steelseries.PointerType.TYPE6);\n\n</script>\n\n<canvas id=\"canvasRadial4\" width=\"201\" height=\"201\"></canvas>","storeOutMessages":true,"fwdInMessages":false,"templateScope":"local","x":529.0185546875,"y":713.0000152587891,"wires":[[]]},{"id":"c9d5b2a9.64c19","type":"inject","z":"774a4184.2feac","name":"Set needle to 88","topic":"","payload":"88","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":"","x":179.0185546875,"y":493.00001525878906,"wires":[["34c9d792.374ff8"]]},{"id":"c114872b.216858","type":"inject","z":"774a4184.2feac","name":"Set needle to 33","topic":"","payload":"33","payloadType":"num","repeat":"","crontab":"","once":false,"x":179.0185546875,"y":533.0000152587891,"wires":[["34c9d792.374ff8"]]},{"id":"34c9d792.374ff8","type":"function","z":"774a4184.2feac","name":"","func":"msg.value=msg.payload;\nreturn msg;","outputs":1,"noerr":0,"x":349.0185546875,"y":513.0000152587891,"wires":[["fd2cd1ff.48d65","75dbbd74.5699a4","91c6c3d8.4aeff"]]},{"id":"919aad3b.19bcf","type":"inject","z":"774a4184.2feac","name":"Set threshhold to 60","topic":"","payload":"60","payloadType":"num","repeat":"","crontab":"","once":false,"x":189.0185546875,"y":573.0000152587891,"wires":[["aee2e8bd.2d0048"]]},{"id":"5c102803.8c80d8","type":"inject","z":"774a4184.2feac","name":"Set threshold to 30","topic":"","payload":"30","payloadType":"num","repeat":"","crontab":"","once":false,"x":189.0185546875,"y":613.0000152587891,"wires":[["aee2e8bd.2d0048"]]},{"id":"aee2e8bd.2d0048","type":"function","z":"774a4184.2feac","name":"","func":"msg.threshold=msg.payload;\nreturn msg;","outputs":1,"noerr":0,"x":349.0185546875,"y":593.0000152587891,"wires":[["fd2cd1ff.48d65"]]},{"id":"c1f5d55c.eb61d8","type":"inject","z":"774a4184.2feac","name":"Set user LED ON","topic":"","payload":"true","payloadType":"bool","repeat":"","crontab":"","once":false,"x":179.0185546875,"y":654.0000152587891,"wires":[["e49c1093.45e04"]]},{"id":"efbca441.fe6e98","type":"inject","z":"774a4184.2feac","name":"Setuser LED OFF","topic":"","payload":"false","payloadType":"bool","repeat":"","crontab":"","once":false,"x":189.0185546875,"y":694.0000152587891,"wires":[["e49c1093.45e04"]]},{"id":"e49c1093.45e04","type":"function","z":"774a4184.2feac","name":"","func":"msg.userLed=msg.payload;\nreturn msg;","outputs":1,"noerr":0,"x":349.0185546875,"y":674.0000152587891,"wires":[["fd2cd1ff.48d65"]]},{"id":"747ffcfc.de5804","type":"comment","z":"774a4184.2feac","name":"Example use of Steelseries Gauge","info":"","x":219.0185546875,"y":453.00001525878906,"wires":[]},{"id":"d172e37a.27899","type":"inject","z":"774a4184.2feac","name":"Trend UP","topic":"","payload":"1","payloadType":"num","repeat":"","crontab":"","once":false,"x":159.0185546875,"y":733.0000152587891,"wires":[["9965018b.a94bb"]]},{"id":"b014b6d3.d27bb8","type":"inject","z":"774a4184.2feac","name":"Steady","topic":"","payload":"0","payloadType":"num","repeat":"","crontab":"","once":false,"x":149.0185546875,"y":773.0000152587891,"wires":[["9965018b.a94bb"]]},{"id":"9965018b.a94bb","type":"function","z":"774a4184.2feac","name":"","func":"msg.trend=msg.payload;\nreturn msg;","outputs":1,"noerr":0,"x":349.0185546875,"y":753.0000152587891,"wires":[["fd2cd1ff.48d65"]]},{"id":"7ef59166.dcdfc","type":"inject","z":"774a4184.2feac","name":"Down","topic":"","payload":"-1","payloadType":"num","repeat":"","crontab":"","once":false,"x":149.0185546875,"y":813.0000152587891,"wires":[["9965018b.a94bb"]]},{"id":"a8526c6d.75555","type":"inject","z":"774a4184.2feac","name":"Off","topic":"","payload":"-2","payloadType":"num","repeat":"","crontab":"","once":false,"x":149.0185546875,"y":853.0000152587891,"wires":[["9965018b.a94bb"]]},{"id":"4f4580c4.f40ca","type":"inject","z":"774a4184.2feac","name":"ODO 50","topic":"","payload":"50.5","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":"","x":159.0185546875,"y":893.0000152587891,"wires":[["91c6c3d8.4aeff"]]},{"id":"f6549b9f.324c68","type":"inject","z":"774a4184.2feac","name":"ODO 78.6","topic":"","payload":"78.6","payloadType":"num","repeat":"","crontab":"","once":false,"x":159.0185546875,"y":933.0000152587891,"wires":[["91c6c3d8.4aeff"]]},{"id":"91c6c3d8.4aeff","type":"function","z":"774a4184.2feac","name":"","func":"msg.odo=msg.payload;\nreturn msg;","outputs":1,"noerr":0,"x":349.0185546875,"y":913.0000152587891,"wires":[["fd2cd1ff.48d65"]]},{"id":"75dbbd74.5699a4","type":"debug","z":"774a4184.2feac","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","x":682.5994415283203,"y":715.5775756835938,"wires":[]},{"id":"badcd1f7.784bc","type":"ccu-rpc-event","z":"774a4184.2feac","name":"","iface":"","ccuConfig":"8ba9a508.0de338","rooms":"Flur","roomsRx":"str","functions":"","functionsRx":"str","device":"","deviceRx":"str","deviceName":"","deviceNameRx":"str","deviceType":"","deviceTypeRx":"str","channel":"","channelRx":"str","channelName":"","channelNameRx":"str","channelType":"","channelTypeRx":"str","datapoint":"TEMPERATURE","datapointRx":"str","change":true,"working":false,"cache":true,"topic":"${CCU}/${Interface}/${channelName}/${datapoint}","x":492.60272216796875,"y":449.9637145996094,"wires":[["34c9d792.374ff8","bf4a04f5.8136c8"]]},{"id":"4016b4cc.64a66c","type":"ui_template","z":"774a4184.2feac","group":"77f2ff7a.6c7c6","name":"Tempwater","order":6,"width":"3","height":"6","format":"<script src=\"/myjs/tween-min.js\"></script>\n<script src=\"/myjs/steelseries-min.js\"></script>\n<script>\nvar tempwater;\n (function(scope){ \n scope.$watch('msg', function(msg) {\n if (typeof(msg.value) != \"undefined\") tempwater.setValueAnimated(msg.value);\n //if (typeof(msg.threshold) != \"undefined\") radial4.setThreshold(msg.threshold);\n // if (typeof(msg.odo) != \"undefined\")radial4.setOdoValue(msg.odo); \n //if (typeof(msg.userLed) != \"undefined\") radial4.setUserLedOnOff(msg.userLed); \n // if (typeof(msg.trend) != \"undefined\")\n {\n // if (msg.trend==1) radial4.setTrend(steelseries.TrendState.UP);\n //if (msg.trend==0) radial4.setTrend(steelseries.TrendState.STEADY);\n // if (msg.trend==-1) radial4.setTrend(steelseries.TrendState.DOWN);\n // if (msg.trend==-2) radial4.setTrend(steelseries.TrendState.OFF);\n }\n });\n })(scope);\n\n var sections = [steelseries.Section(0, 25, 'rgba(0, 0, 220, 0.3)'),\n steelseries.Section(25, 50, 'rgba(0, 220, 0, 0.3)'),\n steelseries.Section(50, 75, 'rgba(220, 220, 0, 0.3)') ],\n\n // Define one area\n areas = [steelseries.Section(75, 100, 'rgba(220, 0, 0, 0.3)')],\n\n tempwater = new steelseries.Linear('tempwater', {\n gaugeType: steelseries.GaugeType.TYPE2,\n width: 140,\n height: 300,\n //size: 292,\n section: sections,\n area: areas,\n titleString: \"Water\",\n unitString: \"Degrees F\",\n threshold: 80,\n lcdVisible: true,\n \n //thresholdRising: false,\n // userLedVisible: true,\n // useOdometer: true,\n // lcdVisible: true,\n // trendVisible: true\n });\n \n tempwater.setFrameDesign(steelseries.FrameDesign.BRASS);\n tempwater.setValueAnimated(0);\n tempwater.setPointerType(steelseries.PointerType.TYPE9);\n // radial4.setThreshold(50);\n //radial4.blinkUserLed(0);\n // radial4.setOdoValue(0);\n\n\n</script>\n\n<canvas id=\"tempwater\" width=\"140\" height=\"300\"></canvas>\n","storeOutMessages":true,"fwdInMessages":true,"templateScope":"local","x":940.0148315429688,"y":262.82177734375,"wires":[[]]},{"id":"bf4a04f5.8136c8","type":"function","z":"774a4184.2feac","name":"","func":"msg.value=msg.payload;\nreturn msg;","outputs":1,"noerr":0,"x":962.0148315429688,"y":210.82177734375,"wires":[["4016b4cc.64a66c"]]},{"id":"c177fdad.a917b","type":"inject","z":"774a4184.2feac","name":"Set needle to 88","topic":"","payload":"88","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":"","x":176.0148696899414,"y":149.01980590820312,"wires":[["3f270afa.2c89e6"]]},{"id":"d08b2e24.a40e5","type":"ui_template","z":"774a4184.2feac","group":"77f2ff7a.6c7c6","name":"Kühltrue-2","order":4,"width":"4","height":"4","format":"<script src=\"/myjs/tween-min.js\"></script>\n<script src=\"/myjs/steelseries-min.js\"></script>\n<script>\nvar speed;\n (function(scope){ \n scope.$watch('msg', function(msg) {\n if (typeof(msg.value) != \"undefined\")speed.setValueAnimated(msg.value);\n \n });\n })(scope);\n\n\n speed = new steelseries.Radial('speed', {\n gaugeType: steelseries.GaugeType.TYPE2,\n size:190,\n \n titleString: \"Kühltruhe\",\n unitString: \"Temp\",\n threshold: 11.9,\n minValue: -30,\n maxValue: -0,\n thresholdRising: false,\n lcdVisible: true,\n \n });\n \n \n \n speed.setFrameDesign(steelseries.FrameDesign.CHROME);\n speed.setValueAnimated(0);\n speed.setThreshold(50);\n speed.blinkUserLed(0);\n speed.setOdoValue(0);\n\n\n\n</script>\n\n<canvas id=\"speed\" width=\"190\" height=\"190\"></canvas>","storeOutMessages":false,"fwdInMessages":false,"templateScope":"local","x":734.0148315429688,"y":168.01980590820312,"wires":[[]]},{"id":"37eb7480.26f29c","type":"ui_template","z":"774a4184.2feac","group":"77f2ff7a.6c7c6","name":"rgraph","order":2,"width":"4","height":"4","format":"<script src=\"/myjs/tween-min.js\"></script>\n<script src=\"/myjs/steelseries-min.js\"></script>\n<script>\nvar radial4;\n (function(scope){ \n scope.$watch('msg', function(msg) {\n if (typeof(msg.value) != \"undefined\") radial4.setValueAnimated(msg.value);\n if (typeof(msg.threshold) != \"undefined\") radial4.setThreshold(msg.threshold);\n if (typeof(msg.odo) != \"undefined\")radial4.setOdoValue(msg.odo); \n if (typeof(msg.userLed) != \"undefined\") radial4.setUserLedOnOff(msg.userLed); \n if (typeof(msg.trend) != \"undefined\")\n {\n if (msg.trend==1) radial4.setTrend(steelseries.TrendState.UP);\n if (msg.trend==0) radial4.setTrend(steelseries.TrendState.STEADY);\n if (msg.trend==-1) radial4.setTrend(steelseries.TrendState.DOWN);\n if (msg.trend==-2) radial4.setTrend(steelseries.TrendState.OFF);\n }\n });\n })(scope);\n\n var sections = [steelseries.Section(0, 25, 'rgba(0, 0, 220, 0.3)'),\n steelseries.Section(25, 50, 'rgba(0, 220, 0, 0.3)'),\n steelseries.Section(20, 90, 'rgba(220, 220, 0, 0.3)') ],\n\n // Define one area\n areas = [steelseries.Section(0, 18, 'rgba(220, 0, 0, 0.3)')],\n\n radial4 = new steelseries.Radial('canvasRadial4', {\n gaugeType: steelseries.GaugeType.TYPE4,\n size: 190,\n section: sections,\n area: areas,\n titleString: \"Wohnzimmer\",\n unitString: \"Temp C\",\n threshold: 50,\n thresholdRising: false,\n userLedVisible: true,\n useOdometer: true,\n lcdVisible: true,\n trendVisible: true\n });\n \n radial4.setFrameDesign(steelseries.FrameDesign.BLACK_METAL);\n radial4.setValueAnimated(0);\n radial4.setThreshold(50);\n radial4.blinkUserLed(0);\n radial4.setOdoValue(0);\nradial4.setPointerType(steelseries.PointerType.TYPE6);\n\n</script>\n\n<canvas id=\"canvasRadial4\" width=\"201\" height=\"201\"></canvas>","storeOutMessages":true,"fwdInMessages":false,"templateScope":"local","x":719.0148315429688,"y":108.01980590820312,"wires":[[]]},{"id":"77f2ff7a.6c7c6","type":"ui_group","z":"","name":"testy","tab":"854ed8de.9e9558","disp":true,"width":"20","collapse":false},{"id":"38263145.35ea0e","type":"ccu-connection","z":"","name":"localhost","host":"localhost","regaEnabled":true,"bcrfEnabled":true,"iprfEnabled":true,"virtEnabled":true,"bcwiEnabled":false,"cuxdEnabled":true,"regaPoll":true,"regaInterval":"30","rpcPingTimeout":"60","rpcInitAddress":"127.0.0.1","rpcServerHost":"127.0.0.1","rpcBinPort":"2047","rpcXmlPort":"2048","contextStore":""},{"id":"ae3aa0fe.4e842","type":"ui_group","z":"","name":"Mobile","tab":"fe205248.f04ed","order":5,"disp":true,"width":"9","collapse":false},{"id":"26dcc212.44b7be","type":"ui_group","z":"","name":"Group 3","tab":"b88d160.bfaa8e8","order":3,"disp":true,"width":"6","collapse":false},{"id":"8ba9a508.0de338","type":"ccu-connection","z":"","name":"MEQ0835470","host":"192.168.178.63","regaEnabled":true,"bcrfEnabled":true,"iprfEnabled":true,"virtEnabled":true,"bcwiEnabled":false,"cuxdEnabled":true,"regaPoll":true,"regaInterval":"30","rpcPingTimeout":"60","rpcInitAddress":"","rpcServerHost":"192.168.178.47","rpcBinPort":"2064","rpcXmlPort":"2065","contextStore":""},{"id":"854ed8de.9e9558","type":"ui_tab","z":"","name":"testy","icon":"dashboard"},{"id":"fe205248.f04ed","type":"ui_tab","z":"","name":"Geräte","icon":"dashboard","order":2},{"id":"b88d160.bfaa8e8","type":"ui_tab","z":"","name":"testy-2","icon":"dashboard"}]