Kvamsdal
-
Innlegg
12 -
Ble med
-
Besøkte siden sist
Innholdstype
Profiler
Forum
Blogger
Nedlastninger
Artikler
Regler
Hendelser
Galleri
Store
Innlegg skrevet av Kvamsdal
-
-
-
-
Jeg har nok en annen versjon av grafana enn det du har, så jeg downgraded fra 8.3.3 til 7.5.12.
Fremdeles ingen data.
I og med at du har 'variablePricelist' og jeg har kun 'pris' er det da en liten variasjon i Node-Red som gjør at dataene ikke kommer inn i Influx på samme måte?
Jeg legger ved filene som jeg bruker, kanskje du klarer å finne ut av det.
Jan Erik
-
Jobb eller ei, godt øl har de der i hvertfall, men styr unna coronaen den har jeg hørt ikke er så god :-o
Jeg kan velge price men det kommer ikke noe data i grafana bortsett fra dao og klokkeslett.
Skal det ikke gå an å hente ut prisene fra "value" kolonnen?
Etter valg av "prise" i FROM feltet kan jeg bare velge "area" og "type" men ikke "value".
Som du ser på bildet har jeg 4 valg i type feltet.
kan kun velge fill(null) i GROUP BY hvor du har fill(previous).
Bruker kanskje feil "visualization" også men uansett hvilen av de tilgjengelige blir resultatet det samme (ingen data)
-
Håper du får en fin tid der nede.
Vi lengter også ned dit. Fantastisk klima.
Kan ikke velge variablePricelist så vi får ta det opp når du kommer hjem.
gooooood ferie
Jan Erik
-
De 3 extra verdiene er jo pga oppføring av "price_avg", "price_highLevel" og "price_lowLevel" :-)
men jeg får ikke frem prisene i grafana? Jeg kan bare velge "area og type" i technical tabellen?
Noen som har et hint å komme med så takker jeg for det.
Jan Erik
-
mongojarle skrev (23 timer siden):
Den +1day noden er en time/date formatter som bare legger på en dag... Den kan ersattes med en function node med dette innholdet:
let today = new Date(); let tomorrow = new Date(); tomorrow = Date.parse(today) + 86400*1000; msg.date = new Date(tomorrow); return msg;
Men den +1day noden heter uansett node-red-contrib-moment
Jeg har den, men hoppet over den noden og brukte kun timestamp.
resultatet ble som du ser på bildet noen merkelige verdier.
Egentlig ikke så merkelige men det er 27 av dem i "technical" men 24 verdier i "status" etter kun 1 inject??
Har du noe fornuftig svar på det også?
Hjemme hos meg har vi bare 24 timer i døgnet :-).
Jeg tror nok jeg må justere prisene på fastavgifter og nettleie, men det går nok greit.
Den lykkelige eier av råferske data sliter også med å få frem noe fornuftig i grafana også.
Finner liksom ikke helt ut av hvor jeg henter "value" dataene. Kan bare velge area eller type.
Jan Erik
-
Super duper, jeg tester litt senere i kveld
tusen takk
-
Hei igjen mongojarle,
mangler det en funksjonsnode, eller gjør jeg noe galt?
har testet flowen din men får feilmeldinger på influxnoden.
ville bare høre med deg om du har en komplett flow som jeg kan teste?
MVH
Jan Erik
-
mongojarle skrev (På 24.5.2021 den 19.40):
[{"id":"3237d2ac.7f5d0e","type":"nordpool-api-plus","z":"8572bbae.6c2198","d":true,"name":"Power price","area":"Kr.sand","currency":"NOK","x":390,"y":380,"wires":[["e999179c.e69e38","d2bd8ed6.beb86"]]},{"id":"5d4eb802.61e768","type":"moment","z":"8572bbae.6c2198","name":"+1 day","topic":"","input":"","inputType":"date","inTz":"Europe/Oslo","adjAmount":"1","adjType":"days","adjDir":"add","format":"","locale":"en-GB","output":"date","outputType":"msg","outTz":"Europe/Oslo","x":230,"y":380,"wires":[["9410f18a.0194b","3237d2ac.7f5d0e"]]},{"id":"cbe6dc8a.c4e8","type":"timerswitch","z":"8572bbae.6c2198","name":"@13.00+1h","ontopic":"","offtopic":"","onpayload":"","offpayload":"","disabled":false,"schedules":[{"on_h":"13","on_m":"00","on_s":"00","off_h":"14","off_m":"00","off_s":"00","valid":true}],"x":90,"y":380,"wires":[["5d4eb802.61e768"]]},{"id":"1e32941e.54e1bc","type":"inject","z":"8572bbae.6c2198","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":100,"y":340,"wires":[["5d4eb802.61e768"]]},{"id":"d2bd8ed6.beb86","type":"function","z":"8572bbae.6c2198","name":"Make array","func":"var i = 0;\nvar d = new Date();\nvar n = d.getMonth();\nvar temp = [];\nvar pricelist = [];\nvar pricestatus = [];\nvar pricelevel = [];\nvar avgPrice = 0;\nvar daysInMonth = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\nvar mva = 1.25;\nvar abbonnement = 39 / daysInMonth[n] / 24;\nvar elsertifikat = 0.0121;\nvar energiledd = 0.3579;\nvar fastledd = 312.5 / daysInMonth[n] / 24;\nvar highPrice = 1.25;\nvar lowPrice = 0.75;\nvar highLevel = 0;\nvar lowlevel = 0;\nvar squareDiff = [];\nvar sumSquareDiff = 0;\nvar avgSquareDiff = 0;\nvar stdDev = 0;\n\nif (msg.payload == null) {\n return;\n}\n\n// Make list with price, all included\nfor (i = 0; i < msg.payload.length; i++) {\n pricelist.push(\n [msg.payload[i].price / 1000 * mva + elsertifikat + energiledd, \"price\", Date.parse(msg.payload[i].timestamp)]\n )\n}\n\n// Make average price for day\nfor (i = 0; i < pricelist.length; i++) {\n avgPrice = avgPrice + pricelist[i][0];\n}\navgPrice = avgPrice / pricelist.length;\n\n// Make the different pricelevels, for display or something...\nfor (i = 0; i < pricelist.length; i++) {\n squareDiff[i] = Math.pow((pricelist[i][0] - avgPrice), 2);\n sumSquareDiff = sumSquareDiff + squareDiff[i];\n}\navgSquareDiff = sumSquareDiff / squareDiff.length;\nstdDev = Math.sqrt(avgSquareDiff);\n\nhighLevel = avgPrice + stdDev;\nlowLevel = avgPrice - stdDev;\nfor (i=0; i < pricelist.length; i++) {\n if (pricelist[i][0] < lowLevel) {\n pricelevel.push(\n [\"LOW\", \"price_level\", pricelist[i][2]]\n )\n } else if (pricelist[i][0] > highLevel) {\n pricelevel.push(\n [\"HIGH\", \"price_level\", pricelist[i][2]]\n )\n } else {\n pricelevel.push(\n [\"MEDIUM\", \"price_level\", pricelist[i][2]]\n )\n }\n}\n\nvar value_list = [\n [avgPrice, \"price_avg\", pricelist[0][2]],\n [highLevel, \"price_highLevel\", pricelist[0][2]],\n [lowLevel, \"price_lowLevel\", pricelist[0][2]]\n ];\n\nfor (i = 0; i < pricelist.length; i++) {\n temp.push(\n {\n measurement: \"technical\",\n fields: {\n value: parseFloat(pricelist[i][0].toPrecision(6))\n },\n tags:{\n area: \"electricity\",\n type: pricelist[i][1]\n },\n timestamp: pricelist[i][2]\n }\n )\n}\nfor (i = 0; i < value_list.length; i++) {\n temp.push(\n {\n measurement: \"technical\",\n fields: {\n value: parseFloat(value_list[i][0].toPrecision(6))\n },\n tags:{\n area: \"electricity\",\n type: value_list[i][1]\n },\n timestamp: value_list[i][2]\n }\n )\n}\nfor (i = 0; i < pricelevel.length; i++) {\n temp.push(\n {\n measurement: \"status\",\n fields: {\n value: pricelevel[i][0].toString()\n },\n tags:{\n area:\"electricity\",\n type:pricelevel[i][1]\n },\n timestamp: pricelevel[i][2]\n }\n )\n}\nmsg.payload = temp;\nmsg.pricelist = pricelist;\nmsg.avgPrice = avgPrice;\nmsg.squareDiff = squareDiff;\nmsg.sumSquareDiff = sumSquareDiff;\nmsg.avgSquareDiff = avgSquareDiff;\nmsg.standardDeviation = stdDev;\nmsg.highLevel = highLevel;\nmsg.lowLevel = lowLevel;\n//msg.pricelevel = pricelevel;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":570,"y":380,"wires":[["54b2bba1.209ac4","7066b303.eb075c"]]}]
Super flow du har laget her.
Hvordan får du frem grafen du viser her?
Bruker du Influxdb og Grafana??
MVH
Jan Erik
-
Ser ut som du har taket på dette med node red 🙂
Hvilken node har du brukt mellom MQTT og CHART nodene i flowen din?
Strømstyring i Node Red
i Node-Red
Skrevet
Hvis ikke du er best i verden på dette skjønner jeg ingen ting :-)
Funker som fjell nå, mange tusen takk for både tolmodigheten og hjelpen du har vist.
tusen takk
Jan Erik