Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

Kvamsdal

Medlemmer
  • Innlegg

    12
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av Kvamsdal

  1. 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)

    Grafana.jpg

  2. 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

  3. 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

    20220113_192426.jpg

  4. 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

  5. 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

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.