#no i have it installed as a addon
1 messages ยท Page 1 of 1 (latest)
For the sensor entity to work, you will need the custom integration installed. After that I can help you.
i have this node and created a sensor
Well then you might have already installed it if the sensor showed up ๐
Is that node already doing what you asked to to look at?
yeah sensor works too but i have to manually add each attrbute...my question was is their any way to add all the object payloads as attributes at once?
Ah, yes there is ๐ If you look at the sensor documentation in node-red, it will take an input on msg.payload that has the state and attributes properties. Give me a sec to mockup the function node.
Which one do you want as the main state?
Something as simple as this should work.
const payload = {"state": msg.payload.id, "attributes": msg.payload}
msg.payload = payload
return msg;
You will have to change the state to be whichever attribute you want.
thanks this works..your are sooo talented
msg.payload = payload
return msg;```
@void ferry ping me when you are available ...i need help in html scrapper
I'll be available again in about 2 hours.
Hi are you back ?
Yes, what is your question?
Im trying to get some data from website by html scraper
But i could not login into the website ...it generates tokens
Can you help me in this ...?
I have not really done any html scraping before. What site and data are you trying to get?
From rescuetime website im trying to get the production score data
Is the data you want not available via their API? https://www.rescuetime.com/rtx/developers
RescueTime provides personal time management and productivity software that shows you how you spend your time and gives you tools to help build habits that make you be more productive. Downlaod our time tracker for your computer (Mac and PC) with built in pomodoro timer, distraction blocking, goal tracking, and focus tools.'
I tried all API ..Daily summary API is good but it sends last day data not current day .....
even i get data now it just sends yesterdays summery and thats how that api works i guess
In api documentation:
So which of those parameters are you interested in? I know it is the wrong time frame.
What does the Analytic Data API return when choosing today as the date. Ex.
it does not return productivity score
this is my actual dashboard
You might be able to use the home assistant scrape component. Otherwise you might have to write your own script to do it. https://www.home-assistant.io/integrations/scrape/. I cannot be much help as I do not have an account for RescueTime and have never used the service. I assume you found this article (https://bogdanbujdea.dev/measuring-productivity-with-rescuetime-and-home-assistant) since I think you posted a screen shot from it. It might be beneficial to ask him what he used for the web scraping.
i found this in his git...but no idea on what have he done...
https://github.com/bogdanbujdea/SmartHomeIntegrations
if you could help me in scarping i can provide my account login details and we can do scarping in nodered i guess
i think he have used dot net
@void ferry did you check his github post?
if you get any useful details from it please update me...
I didn't see anything on his github. This guide (https://betterprogramming.pub/web-scraping-behind-authentication-with-python-be5f82eb85f0) will walk you through how to get started with Auth for web scraping. Then you can use something like BeautifulSoup to parse the html response.
My recommendation would then be to create an mqtt sensor in python and publish that to HA. Then putting that script in a docker container so you can manage it through HA as well.
actually made it work with cookie and get commend
@void ferry are you their?
need a help in function node coding
What's up?
what am i doing wrong here
var completedTasks = parseInt(globalHomeAssistant.homeAssistant.states["sensor.completed_tasks"].state);
var remainingTasks = parseInt(globalHomeAssistant.homeAssistant.states["sensor.unfinished_tasks"].state);
var task1= msg.task1;
var task2= msg.task2;
var text = "";
var text1 = "";
if (remainingTasks = 1 ) {
text= "Boo you have 1 uncompleted task,";
text1 = " ";
}
if (remainingTasks = 2) {
text = "Boo you have 2 uncompleted task,";
text1 = "and";
}
if (remainingTasks = 3) {
text = "Boo you have 3 uncompleted task,";
text1 = " ";
}
else {
text = "you have no remainingTasks.";
}
msg.message +=
text + task1 + text1 + task2
return msg;
what im trying to do is read how many uncompleted tasks and based on the number i want message
payload object arrays are created based on number of uncompleted tasks
if i dont have 2nd uncompleted tasks then their would not be any payload[1].content
same for 3rd ..4th and 5th tasks
payload[3].content
payload[4].content
eventhough i have only one uncompleted task i get this as output message
"undefinedBoo you have 3 uncompleted task,Complete pathology 1 - 40 pagesundefined"
this is the task in todoist : Complete pathology 1 - 40 pages
I have a meeting for the next few hours. I will look at this after that is done.
no problem take your time.. sorry to disturb you
if i try this ( i have one remaining task)
if(remainingTasks == 1 ) {
text = "Boo you have 1 uncompleted task," + task1 ;
}
if(remainingTasks == 2 ) {
text = "Boo you have 2 uncompleted task," + task1 +" and " + task2;
}
else {
text = "you have no remaining Tasks.";
}```
it says
```you have no remaining Tasks.```
fixed it never mind...i missed else if
i tried fisrt with else if but it showed some error and now it works lol
@void ferry im trying to use webhook as trigger in node red but its not triggering the next node but if i use the same in native home assistant automations it works .....why is that so?
Are you using the webhook node? Yours should not show the custom integration requirement.
These should help (he editied with the correct config steps) https://community.home-assistant.io/t/node-red-addon-webhook/336043 and the webhook documentation on nabu casa https://www.nabucasa.com/config/webhooks/. If you do not figure it out tonight, I can help with more details tomorrow morning.
Iโm attempting to use the webhook node in NodeRed but am not able to trigger it. Edit: Here are the steps that actually got things working: Installed the Node-Red Add on from the HA Community Store Installed the custom NodeRed component from HACS Installed the nodered integration Created a webhook node in NR and connected it to a debug node. ...
it says registered but even with trigger it does nothing
same I'm ruining in ha automation and it works
it works ....as I was running automation in both home assistant and node red ..event gets captured first in ha and runs ha automation soo it fails to capture event in node red...disabling automation in ha works
@void ferry any idea how to take raw data from html request?
i need to write some code i guess
soo far made some progress
var html = msg.payload;
var attributeName = "Very Productive";
var start = html.indexOf(attributeName);
var attr = html.substr(start + attributeName.length + 13, 4);
msg = {};
msg.attr = attr;
msg.start = start;
msg.very_productivity_duration = parseInt(attr.replace(/\"/g, "").trim());
return msg;```
but the problem is duration , the length of the number can be more depending on seconds ,soo i want to filter from " "
hi how to add float in nodered funtion node? it says name not found
What do you mean by add float? like type conversion to float?
What is an example of the payload going into this function node? And you don't need the const globalHomeassistant if you are not going to call it later.
na im calling it later to find state
var attributeName = "Very Productive";
var endname = "RTDATA.report_context"
var start = html.indexOf(attributeName);
var end = html.indexOf(endname);
var between = parseInt(end - start - 3 );
var attr = html.substr(start + attributeName.length + 13, 4);
var attr1 = html.substr(start + 0, between );
msg = {};
msg.attr = attr;
msg.attr1 = attr1;
msg.start = start;
msg.between = between;
msg.end = end;
msg.very_productivity_duration = parseInt(attr.replace(/\"/g, "").trim());
return msg;```
result
now from payload im trying to trim off the values for each
soo far better but i want to change value from secs to mins
i usually do that with float in home assistant templating not sure how can i use float in funtion node of NR
@void ferry got the float thing worked....
how do i find the index of "name":"Distracting","duration":
cant add like this
var start = text.indexOf(verydistracting);```
For the substring (attr1), it seems to almost be a JSON string. Are you trimming the front? Since if it was full json you could just get the duration key and would not have to worry about it being longer than 4.
Can you send me the entire message object and the final result you want?
from this piece of information im trying to seperate each of the values
what i want it to look like as output is:
VeryProductiveDuration : 10 mins ( from seconds / 60 for mins)
Can you send it as a code and not a picture.
Very Productive","duration":1206},{"name":"Productive","duration":574},{"name":"Neutral","duration":731},{"name":"Distracting","duration":1568},{"name":"Very Distracting","duration":1821}
And are you doing any transformation on attr1 before this block?
how i get attr1 is from html code
var attributeName = "Very Productive";
var endname = "RTDATA.report_context"
var start = html.indexOf(attributeName);
var end = html.indexOf(endname);
var between = parseInt(end - start - 3 );
var attr = html.substr(start + attributeName.length + 13, 4);
var attr1 = html.substr(start + 0, between );
msg = {};
msg.attr = attr;
msg.attr1 = attr1;
msg.start = start;
msg.between = between;
msg.end = end;
msg.very_productivity_duration = parseInt(attr.replace(/\"/g, "").trim());
return msg;```
from this way i could able to pull the details i needed from html
Oh, can you just send the the "raw" html? at least for the section you are looking for.
You can pastebin it if it is large.
"productivity_arc":[{"name":"Very Productive","duration":1206},{"name":"Productive","duration":574},{"name":"Neutral","duration":731},{"name":"Distracting","duration":1568},{"name":"Very Distracting","duration":1821}]};RTDATA.report_context={"page":"dashboard","current_date":"2022-09-14T14:42:43+05:30","date":"2022-09-14T00:00:00-07:00","time_frame":"day","interval":"hour","by":"rank","schedule":{"id":0,"name":"24x7"},"taxonomy":null,"taxon":null,"keywords":null};
this is just part of that raw html
and from here i need details
That doesn't look like html? But I can still get the data from that if it is the output from a node.
this is the output from a node
What type of node gives you this (ex. html node, tag node, etc.)?
Thanks, so this output is coming out of the request node?
YEAH
this is just part of that html...
Does the full html have sensitive information? The reason I ask, is I can write something that gets the data you want out of this string, but if these are keys in a larger html parse, it won't work correctly.
from there i filtered out to what information i needed to this
#1018997294001045515 message
yeah...it has tokens and cookkies
No worries then. I will do it based on what you gave me and we will test it out.
can you help from here if possible?
I'm going to help from here. It will be more repeatable and easier to manage this way. You can convert this to an array of objects instead of just a string.
this is the output from first find productivity score node
okay listening
this is the funtion node code : i run to get those data, may be see this helps
#1018997294001045515 message
In this data, is there a { before productivity_arc?
"productivities":{"distracting":1457,"very_productive":66,"neutral":26}}],"productivity_arc":[{"name":"Very Productive","duration"...
@void ferry any progress?
Sorry, I am working on it when I get some down time at work. So it could take a bit.
no problem, made some progress soo far from my knowdge of understanding
all are in seconds i want to convert to mins and hours
What did you do to get that?
But that will fail if the lengths of seconds are different right?
it wont thats why im using bettween
Gotcha, but if the order of the parsed data changes it would stop working. But that is not very likely.
it not supposed to change and hope it does not...i need you help to convert those secs to mins and hrs
Do you want sec minutes like :1 hr 2 minutes in string format, or 1.03333?
@void ferry if i divide a secs value by 60 it shows like this in output
very_productive_duration1: "9.916666666666666 mins"
what i want it to show is:
very_productive_duration1: 9 mins
or may be rounding off to 10 mins
string format
this is want exactly i needed
if secs >3600 like this
1 hr 2 minutes
if secs < 3600 like this
2 minutes
Well it isn't pretty and I am sure there is a better way to do it, but this will work every time.
/**
* @param {number} seconds
*/
function timeConversion(seconds) {
const date = new Date(null)
date.setSeconds(seconds)
const timeFormat = date.toISOString()
const stringLen = 8
const hhmmssFormat = timeFormat.substring(11, 11 + stringLen)
return hhmmssFormat
}
/**
* @param {string} timeString
*/
function timeStringConversion(timeString) {
// Split string into hr, min, sec groupings.
// parseInt() will remove double 00.
const timeArray = timeString.split(":")
const hours = parseInt(timeArray[0])
const minutes = parseInt(timeArray[1])
const seconds = parseInt(timeArray[2])
// Only include if > 0
let finalString = ''
if (hours > 0) {
finalString += `${hours} hrs.`
}
if (minutes > 0) {
finalString += `${minutes} min.`
}
if (seconds > 0) {
finalString += `${seconds} sec.`
}
// Add a space after each period.
finalString = finalString.split(".").join(". ")
// Remove the trailing space.
finalString = finalString.substring(0, finalString.length - 1)
return finalString
}
/**
* @typedef DurationInfo
* @type {object}
* @property {number} very_productive_duration
* @property {number} productive_duration
* @property {number} neutral_duration
* @property {number} distracting_duration
* @property {number} very_distracting_duration
*/
/** @type {DurationInfo} */
const data = msg.payload
msg.veryProductive = timeStringConversion(timeConversion(data.very_productive_duration))
msg.productive = timeStringConversion(timeConversion(data.productive_duration))
msg.neutral = timeStringConversion(timeConversion(data.neutral_duration))
msg.distracting = timeStringConversion(timeConversion(data.distracting_duration))
msg.veryDistracting = timeStringConversion(timeConversion(data.very_distracting_duration))
return msg;
You can change the names by changing the msg. names.
can i skip secs and show only hr and mins
should I add this as separate function node? or join code in the same function node?
@void ferry TypeError: Cannot read properties of undefined (reading 'very_productive_duration')
Yes. Just delete that section in the timeStringConversion function.
I would add it as a separate function node and name it something appropriate to make the flow more clear, but you can do whatever works for you.
You need to point the const data = msg.paylaod to the correct location of the object you showed me above.
This one.
object has no location
im debugging it has a complete msg
@void ferry any idea how to fix it?
/**
* @param {number} seconds
*/
function timeConversion(seconds) {
const date = new Date(null)
date.setSeconds(seconds)
const timeFormat = date.toISOString()
const stringLen = 8
const hhmmssFormat = timeFormat.substring(11, 11 + stringLen)
return hhmmssFormat
}
/**
* @param {string} timeString
*/
function timeStringConversion(timeString) {
// Split string into hr, min, sec groupings.
// parseInt() will remove double 00.
const timeArray = timeString.split(":")
const hours = parseInt(timeArray[0])
const minutes = parseInt(timeArray[1])
const seconds = parseInt(timeArray[2])
// Only include if > 0
let finalString = ''
if (hours > 0) {
finalString += `${hours} hrs.`
}
if (minutes > 0) {
finalString += `${minutes} min.`
}
// Add a space after each period.
finalString = finalString.split(".").join(". ")
// Remove the trailing space.
finalString = finalString.substring(0, finalString.length - 1)
return finalString
}
msg.veryProductive = timeStringConversion(timeConversion(msg.very_productive_duration))
msg.productive = timeStringConversion(timeConversion(msg.productive_duration))
msg.neutral = timeStringConversion(timeConversion(msg.neutral_duration))
msg.distracting = timeStringConversion(timeConversion(msg.distracting_duration))
msg.veryDistracting = timeStringConversion(timeConversion(msg.very_distracting_duration))
return msg;
Also removing the seconds you didn't want.
Sure on the finalString.split(".").join(". ") change to finalString.split(".").join("s ") . That will result in things like 1 mins though.
I really hate a lot of nested ifs, but you can take care of all of the edge cases with if/else or switch statements.
yeah sure thanks but it does not remove " "
i want it to show like this productive: 9 mins
?? the " is only there to denote a string, If you click the copy on the side it will not carry over. So if you put it in another node it will not have the ". Though I am not sure you are understanding the Object model you have. Why do you want it to be productive: 9 mins?
never mind
finalString = finalString.replace(/\"/g, "").trim()
i want to create a senor and this vaules as state
actually it works i was thinking that it carries with ""
@void ferry any suggestions how can i get this type of graph
i think donut type of apex chart should work
@void ferry need a help, i need like this in apex chart...can you help, cant find lables
https://apexcharts.com/docs/chart-types/pie-donut/#:~:text='65%25'
}
}
}
}-,Donut Labels,-Apart from the
https://github.com/RomRider/apexcharts-card look at this.
@void ferry dosnt the chart support lables in home assistant
yeah i checked but cant find lables options
type: custom:apexcharts-card
series:
- ...
apex_config:
dataLabels:
enabled: true
dropShadow:
enabled: true
made this
So like you want a legend?
no i want the productivity score at the center of the hole
like this
I do not know of one. Ask in #frontend-archived .
i found its possible by adding lables but does not work and also its only showing number not tha string itself
i want it to show 20 mins
any idea on this @void ferry ?
this is my code
chart_type: donut
style: |
ha-card {
border-radius: "var(--border-radius)";
box-shadow: none;
padding-bottom: 0px;
padding-top: 0px;
}
header:
show: false
apex_config:
title:
floating: false
align: top
style:
fontSize: 2px
fontWeight: bold
chart:
foreColor: rgb(148,148,148)
offsetY: 5
legend:
show: false
dataLabels:
enabled: true
dropShadow:
enabled: true
series:
- entity: sensor.very_productive
name: Very Productive
color: rgb(0, 85, 196)
- entity: sensor.productive
name: Productive
color: rgb(61, 128, 224)
- entity: sensor.neutral
name: Neutral
color: rgb(177, 193, 191)
- entity: sensor.distracting
name: Distracting
color: rgb(220, 104, 90)
- entity: sensor.very_distracting
name: Very Distracting
color: rgb(214, 24, 0)
but states are showing like this only
will check
https://stackoverflow.com/questions/72528858/apex-donut-charts-center-align-total This might also be something.
i tried this but did not work may be im i doing wrong in code?
apex_config:
plotOptions:
pie:
donut:
lables:
show: true
name: test
value: input_number.productivity_score```
am i doing somthing wrong?
I have never used ApexCharts before. So I am having to read documentation every questions. Name and value are objects not strings https://apexcharts.com/docs/options/plotoptions/pie/#labels
plotOptions: { pie: { startAngle: 0, endAngle: 360, expandOnClick: true, offsetX: 0, offsetY: 0, customScale: 1, dataLabels: { offset: 0, minAngleToShowLabel: 10 }, donut: { size: '65%', background: 'transparent', labels: { show: false, name: { show: true, fontSize: '22px', fontFamily: 'Helvetica, Arial, sans-serif', fontWeight: 600, color: unde...
plotOptions:
pie:
donut:
labels:
show: true
name:
show: true
value:
show: true
Like that. But it is just going to show the value of the one you are hovering over.
okay your are right... but why its not showing the full state of the entity
like 20 mins instead it says 20 as number
You need to mess with the formatter (https://github.com/RomRider/apexcharts-card#apex-charts-options-example). I have NO idea if the apex_config will accept it, but you can try this:
type: custom:apexcharts-card
chart_type: donut
style: |
ha-card {
border-radius: "var(--border-radius)";
box-shadow: none;
padding-bottom: 0px;
padding-top: 0px;
}
header:
show: false
apex_config:
title:
floating: false
align: top
style:
fontSize: 2px
fontWeight: bold
chart:
foreColor: rgb(148,148,148)
offsetY: 5
legend:
show: false
dataLabels:
enabled: true
dropShadow:
enabled: true
formatter: |
EVAL:function(value) {
return `${value} minutes`
}
plotOptions:
pie:
donut:
labels:
show: true
name:
show: true
value:
show: ture
series:
- entity: sensor.very_productive
name: Very Productive
color: rgb(0, 85, 196)
- entity: sensor.productive
name: Productive
color: rgb(61, 128, 224)
- entity: sensor.neutral
name: Neutral
color: rgb(177, 193, 191)
- entity: sensor.distracting
name: Distracting
color: rgb(220, 104, 90)
- entity: sensor.very_distracting
name: Very Distracting
color: rgb(214, 24, 0)
it does not work
might need a ; after the return value string. Since it is interpolated js
nope๐
enabled: false
dropShadow:
enabled: true
formatter: |
EVAL:function(value) {
return `${value} minutes`;
}```
it does nothing
enabled: false
dropShadow:
enabled: true
formatter: |
EVAL:function(value) {
return "minutes";
}```
actually it works
i have disabled it
enabled: false```
changing to true its shows as minutes
I had it true in the code block I sent back.
yeah sorry my bad
But that doesn't really make sense because those are the % of the pie charts, not minutes.
yeah
isnt it supposted to show as 20 mins instead of 20?
or may be should i change the unit of measurement in sensor?
I do not have anything that would make sense for this chart so I am using temperature. I did not have to set the units, it is already there. I would check the setup of your sensor in node red. You should have it as 20 with units of min instead of the string "20 min"
Yea you should be inputting a number on the msg.veryProductive property (not a string). And set the unit of measurement to whatever you want. That will result in fractional minutes, but it will be alright if you are just showing it in a pie chart which is for percentages.
There is also a total option which gives this:
With the total always displayed.
actually have a problem in scaper
as the day was reset it showing everything like this
Well that's not ideal. Well when you get that figured out. I figured out how to make the center always display a specific value and not the total ๐
unless i start the section of productivity it would show like this i guess
I can't really help with the functionality of the RescueTime scraper as I do not have an account and am not going to make one.
in this case what im thinking is to create a funtion node and check if one of the values is nun then automatically set all duration values to 0 . is this a better idea?
It depends on what you are trying to achieve with your final graph.
can you help me how to achive this?
can i use switch node?
msg = {};
msg.veryProductive = value
msg.productive = value
msg.neutral = value
msg.distracting = value
msg.veryDistracting = value
return msg;```
trying to get this in switch node but it isnt triggering
i think i kind of made it work
i made a condition card to make it work
which shows this when one of the values is not available
when values are available it will show the chart
hi made it work the way i wanted
can you share how to display a specific value?
@void ferry how do do this
{{ (states('input_number.number') | float(0)/60 )| round(0) }}
in node red from object location?
i need to convert all values into min from secs
like 180 min
this kind of works
msg.payload = test
return msg;```
i kind of created like two groups of sensors on with state in hhmmss and other as whole number without decimals
Are you all good with this?
hi yeah all works perfect as i wanted
can you share how to set value in center of donut graph?
Change the w.config.series[0] to the correct series number for you. If you do not know it, just increment up till you get the correct one (since you only have 5).
plotOptions:
pie:
donut:
labels:
show: true
name:
show: true
value:
show: true
total:
show: true
showAlways: true
formatter: |
EVAL:function(w) {
return `${Math.round(w.config.series[0])}`;
}
The part you are interested in is the total: just left in the rest to show the whole tree.
soo this is the only way?
i want to show productivity score which does not do anything with graph view
is it possible to add apexchat card in custom button card?
@void ferry
does it look good?
right top is animated icon which only appears and does animation when my distracting time is more than 1 hr.
Nice! Did you end up putting it in a button card?
No...i tried to put in layout card and conditional cards with card mode styles
If you can help add in button card that could be helpful
Oh I don't think it will go in a button card. I was just wondering what you did to get your final effect ๐
Yeah i tried with custom button card but did not work
@void ferry i need help in this part
when readings are unavaliable it says nan
i can fix this in homeassistant tempelate like this..where float(0) soo when the sensor goes unavaliable it returns as 0
{{ (states('input_number.number') | float(0)/60 )| round(0) }}
how to do the same in nodered
this is the only part im still stuck..hope you could help
It stands for Not a Number. You can run a nan check and return 0 if it is nan.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/NaN
yeah im trying to check for that but it does nothing
Which function is giving you those? Is it the one I helped with or the html parser one?
yeah
this helps
when day resets and i dont start my prductivity , no data is provided in web
soo it returns as nan
my question is ...is it possible to do like this?
if the data is nan it should return as 0
can i do like this? will it work?
msg.veryProductive = timeStringConversion(timeConversion(msg.very_productive_duration || 0))
@void ferry actually what i found is this issue is only with the funtion node you shared which shows error
when flow does not run via that funtion node actually works and states are set a unknown which is pretty good ..i want the same with your funtion node is it possible?
check this ...
@void ferry why this doesnot work?
if (min == NaN){
msg.veryProductive = NaN;
msg.productive = NaN;
msg.neutral = NaN;
msg.distracting = NaN;
msg.veryDistracting = NaN;
}
else {
msg.veryProductive = timeStringConversion(timeConversion(msg.very_productive_duration))
msg.productive = timeStringConversion(timeConversion(msg.productive_duration))
msg.neutral = timeStringConversion(timeConversion(msg.neutral_duration))
msg.distracting = timeStringConversion(timeConversion(msg.distracting_duration))
msg.veryDistracting = timeStringConversion(timeConversion(msg.very_distracting_duration))
}
return msg;```
this part doesnot work...
if (msg.min == NaN)
when i copy value it shows as null even i tried still it does not pass through...any idea what should i add
Did you look at the documentation I sent about NaN?
yes ..tried this still this does not work
msg.productivity = 0
}```
Let me see the whole function block for this.
And is this the input into said function block?
yes never mind it works...im such a dump
@void ferry one help..is it possible to change the location of the content with cardmod?
i tried but cant find a filter for it
@void ferry sorry to disturb you can you vouch me create a simple bar graph like this?
may be this
hi need help in this part....
im trying to add the productivity score entity and hiding it from chart and header and it works but by doing this it does not show in labels
name: Productivity Score
color: rgb(214, 24, 0)
show:
in_header: false
in_chart: false```
i even tried to change values but it does not appear
EVAL:function(w) {
return `${Math.round(w.config.series[5])}`;
}```
its the 5th entity but it shows none
if i enable that entity to show in graph then it shows.
any way to make it show in labels when show in graph is false
@void ferry is it possible to add something like this?
EVAL:function(w) {
return `{{states('sensor.processor_use')}}`
}```