MHR Skrevet 10. november 2022 Skrevet 10. november 2022 Hei Jeg prøver å implementere powersaver.no sin "Capacity part of grid tariff" og har kommet til Get Consumption. Jeg bruker ikke Tibber, og jeg får ikke denne dataen fra min AMS leser. Derimot får jeg en kontinuerlig strøm av strøm akkurat nå, akkumulert kWt inneværende time, og akkumulert kWt inneværende dag. Kan jeg på en eller annen måte lage en sensor som bygger opp disse dataene basert på historikken som Home Assistant har på disse eksisterende sensorene? 1 Siter
stigvi Skrevet 10. november 2022 Skrevet 10. november 2022 Forklar heller hva du ønsker som sluttresultat? Er det for å vise i en graf eller søylediagram? Eller er det noe annet du ønsker? Grunnen til at jeg spør, er fordi veien til mål er så forskjellig. Siter
MHR Skrevet 10. november 2022 Forfatter Skrevet 10. november 2022 Jeg ønsker å generere json som er på linken, dato/tid og strøm forbrukt per time. { "viewer": { "home": { "consumption": { "nodes": [ { "from": "2022-06-01T00:00:00.000+02:00", "consumption": 4.307 }, { "from": "2022-06-01T01:00:00.000+02:00", "consumption": 3.648 }, Siter
rawr Skrevet 11. november 2022 Skrevet 11. november 2022 Dette er jeg også på jakt etter. Debug/output av NR-noden "Get consumption" viser følgende: Siter
MHR Skrevet 11. november 2022 Forfatter Skrevet 11. november 2022 1 hour ago, rawr said: Dette er jeg også på jakt etter. Debug/output av NR-noden "Get consumption" viser følgende: Det virker jo som du bruker Tibber og får akkurat det du skal. Eller misforstår jeg deg nå? Siter
rawr Skrevet 12. november 2022 Skrevet 12. november 2022 MHR skrev (På 11.11.2022 den 10.33): Det virker jo som du bruker Tibber og får akkurat det du skal. Eller misforstår jeg deg nå? Jeg er Tibberkunde og har alle dems sensorer ja, men mtp stabilitet og hyppige utfall den siste måneden så er jeg på jakt etter en løsning som kan erstatte Tibber for min del. At Tibber blir en sekundær, redundant løsning i stedet for hovedløsningen. Dette vil også gjøre det lettere den dagen jeg evnt velger å bytte strømleverandør. Jeg har nå to Pulse-enheter. Én for Tibber og én lokal med AMSHAN-integrasjonen. Og for at lastbalanseringen skal være stabil og faktisk gjøre jobben sin så MÅ data fra Pulse nå frem til min HA og flow'ene kontinuerlig. Det er nå på plass med den lokale Pulse'n. Og så lenge den er stabil så er Tibber sine sensorer en "bonus" og blir absolutt brukt, men jeg er ikke lenger 100% avhengig av stabiliteten. Siter
MHR Skrevet 13. november 2022 Forfatter Skrevet 13. november 2022 (endret) Jeg har googlet masse og fant ulike tilnærminger, noen gamle og helt sikkert utdatert, og en som er enkel og virker. Når man baserer seg på data i HA så er det jo en forutsetning at dataene har strømmet riktig til HA og dermed lagret i HA sin lokale database. Noen lager en sensor som kobler seg direkte mot databasen: https://community.home-assistant.io/t/get-temperature-from-yesterday/146494/13 Noen nevnte Utility Meter i HA, men usikker på om det gir oss det vi er ute etter (ikke testet): https://www.home-assistant.io/integrations/utility_meter/ Når jeg endret google søket mot node-red så fant jeg den jeg driver å tester ut nå; "Get History"-noden. Denne lar en spesifisere dato fra og til og henter ut alle lagrede verdier mellom de datoene. Nå har jeg en sensor som viser meg live oppdatert (hvert 2. sekund) kWh per time. Dette vil jo generere enorm mye data hvis jeg skal hente alt tilbake fra første dag i måneden. Her er et eksempel på dump av dataene: Flowen ser slik ut Flow kilde: [{"id":"a2cb7aaba84a6225","type":"api-get-history","z":"061f27b0d92f0c71","name":"Get History","server":"9297fd47.ea6c7","version":0,"startdate":"2022-11-01T00:00:00+00:00","enddate":"2022-11-13T00:00:00+00:00","entityid":"sensor.amsleser_dayuse","entityidtype":"is","useRelativeTime":false,"relativeTime":"","flatten":true,"output_type":"array","output_location_type":"msg","output_location":"payload","x":370,"y":340,"wires":[["6bba0b29c315608b"]]},{"id":"6bba0b29c315608b","type":"debug","z":"061f27b0d92f0c71","name":"Dump history","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":550,"y":340,"wires":[]},{"id":"9397ce7db7c07b09","type":"inject","z":"061f27b0d92f0c71","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"1","payloadType":"num","x":150,"y":340,"wires":[["a2cb7aaba84a6225"]]},{"id":"9297fd47.ea6c7","type":"server","name":"Home Assistant","addon":true}] Spørsmålet er om jeg skal lage en ny sensor som bare endrer seg en gang per dag, og bruke denne når jeg henter historikken. Det får jeg en verdi per dag som er det jeg ønsker. Hva tenker dere? Endret 13. november 2022 av MHR Siter
MHR Skrevet 13. november 2022 Forfatter Skrevet 13. november 2022 (endret) Jeg skrev en liten javascript snutt som parser dataene fra Get-History noden og henter ut høyeste verdi per time (tar ikke hensyn til klokken, kun om verdien er høyere enn forrige). TODOs (som ikke er sikkert jeg kommer til å gjøre, da jeg heller kommer til å forsøke å hente dataene fra Elvia APIet) - siden data fra HAN porten kommer ca hvert 2 eller 2,5 sekund så kan man havne over på neste time for å hente høyeste verdi. Klokkeverdien må overstyres - Genere siste parametrene i json [{"id":"0eaf62ddc2d3b6a2","type":"function","z":"061f27b0d92f0c71","name":"Generate hourly json","func":"var changedDate;\nvar currentMonth = new Date().getMonth() + 1;\nvar previousStateValue = 0;\nvar currentHourStateValue = 0;\nconst nodes = [];\n\nfor (var i = 0; i < msg.payload.length; i++) {\n var item = msg.payload[i];\n changedDate = (item.last_changed);\n var changedDateParsed = new Date(changedDate);\n var changedMonth = changedDateParsed.getMonth() + 1;\n\n // Make sure we only handle current month and skip missing values\n if (currentMonth == changedMonth && !Number.isNaN(Number.parseFloat(item.state))) {\n if (previousStateValue < item.state) {\n // Find total kwh hour used per hour\n currentHourStateValue = item.state;\n previousStateValue = currentHourStateValue;\n }\n // We have reached the highest state value\n else if (previousStateValue > item.state) {\n var nodeItem = '{\"from\":\"' + changedDate + '\", \"consumption\":' + previousStateValue + '}';\n var itemJson = JSON.parse(nodeItem);\n nodes.push(nodeItem);\n\n // Reset previousStateValue\n previousStateValue = 0;\n }\n }\n}\nnode.warn(nodes)\n//var jsondata = JSON.parse(nodes);\n//msg.payload = jsondata;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":460,"y":340,"wires":[["6bba0b29c315608b"]]}] Hvis noen fullfører scriptet gjerne del det tilbake Endret 13. november 2022 av MHR Siter
MHR Skrevet 14. november 2022 Forfatter Skrevet 14. november 2022 On 12/11/2022 at 16:52, rawr said: Jeg er Tibberkunde og har alle dems sensorer ja, men mtp stabilitet og hyppige utfall den siste måneden så er jeg på jakt etter en løsning som kan erstatte Tibber for min del. At Tibber blir en sekundær, redundant løsning i stedet for hovedløsningen. Dette vil også gjøre det lettere den dagen jeg evnt velger å bytte strømleverandør. Jeg har nå to Pulse-enheter. Én for Tibber og én lokal med AMSHAN-integrasjonen. Og for at lastbalanseringen skal være stabil og faktisk gjøre jobben sin så MÅ data fra Pulse nå frem til min HA og flow'ene kontinuerlig. Det er nå på plass med den lokale Pulse'n. Og så lenge den er stabil så er Tibber sine sensorer en "bonus" og blir absolutt brukt, men jeg er ikke lenger 100% avhengig av stabiliteten. Har du forsøkt å bruke "Get History" noden? Jeg bruker Elvia apiet i stedet, som gir meg kwt per time for de dagene jeg spør etter. Jeg bruker da disse nodene som på linken, men jeg kommer til å erstatte inject noden med en function node som setter query parametrene dynamisk (fra første i måneden vi er i til dagens dato). https://cookbook.nodered.org/http/set-query-string Siter
iotux Skrevet 14. november 2022 Skrevet 14. november 2022 @MHR Har du sjekket denne? Den er oppdatert i dag med integrering mot HA. Den strømmer data fra Tibber Pulse rett inn i HA. Enkel konfigurering og enkel installasjon. https://github.com/iotux/ElWiz Siter
MHR Skrevet 14. november 2022 Forfatter Skrevet 14. november 2022 17 minutes ago, iotux said: @MHR Har du sjekket denne? Den er oppdatert i dag med integrering mot HA. Den strømmer data fra Tibber Pulse rett inn i HA. Enkel konfigurering og enkel installasjon. https://github.com/iotux/ElWiz Jeg bruker ikke Tibber, men løste mitt problem med Elvia sitt API Kanskje noe for @rawr, om det ikke var ustabiliteten på selve Tibber Pulse han klagde over. Siter
rawr Skrevet 16. november 2022 Skrevet 16. november 2022 MHR skrev (På 14.11.2022 den 21.05): Jeg bruker ikke Tibber, men løste mitt problem med Elvia sitt API Kanskje noe for @rawr, om det ikke var ustabiliteten på selve Tibber Pulse han klagde over. Det er uavhengigheten til Tibber pga dems ustabilitet jeg er ute etter ja 🙂 Siter
MHR Skrevet 16. november 2022 Forfatter Skrevet 16. november 2022 9 hours ago, rawr said: Det er uavhengigheten til Tibber pga dems ustabilitet jeg er ute etter ja 🙂 Da må du nok hente dataene fra netteier. I mitt tilfelle er det Elvia, som har et API. Det var relativt enkelt å legge inn i Node-Red. HTTP Request noden trenger dynamiske query parametre som jeg har en function node for. Deretter tar jeg response fra HTTP requesten og genererer JSON som "find highest per day" støtter. si fra om du trenger noe mer Siter
Anbefalte innlegg
Bli med i samtalen
Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.