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

SveinHa

Medlemmer
  • Innlegg

    1 507
  • Ble med

  • Besøkte siden sist

  • Dager vunnet

    72

Alt skrevet av SveinHa

  1. Heisann. Her var der lite respons, @Jorlar... Jeg aner ingenting om HA men den verdien du får ut i debug leser du som array[0] så jeg vil tro at i Data feltet, der du har valgt JSON, burde du ha msg.array[0] ...og velkommen til forumet!
  2. Denne her har jeg grublet en stund på men nå har jeg funnet en god løsning. Der er flere problemstillinger involvert: Automatisk åpne 2 nettlesere og plassere de på hver sin skjerm i fullskjermmodus ved boot. Vise en dashboard-tab på ene skjermen og en annen på den andre. NR-Dashboard kan styres fra NodeRed men styrer alle skjermer samtidig med mindre kommandoer sendes til en bestemt SocketID (SocketID endrer seg ved refresh i browser, boot og litt tilfeldig i andre sammenhenger). 1: Automatisk åpne nettlesere (På RPi). Opprett en tekstfil med følgende innhold: Jeg kalte den "ChromX2.sh" og la den på Desktop. Filen må gjøres kjørbar (chmod +x /home/pi/Desktop/ChromX2.sh). Innholdet sier seg noenlunde selv. Posisjon tilpasses den oppløsningen du selv har (jeg bruker 1920x1080). Kiosk-mode gir fullskjerm. User data må legges på eget område for hver browser. IP-adresse er NodeRed server. "&" tegnet på slutten MÅ være der ellers utføres ikke neste linje. Kjør filen og se om den virker som tenkt. Menylinjen forsvinner i kiosk mode men trykk <Ctrl><Esc> så dukker i alle fall startmenyen opp. Automatisk kjøre "ChromX2.sh" ved boot: Reboot og sjekk at det virker som tenkt. 2: Vise 2 forskjellige dashboard tabs. Først må en finne og ta vare på SocketID for begge nettlesere. Jeg har 2 muligheter her. Fra starten av laget jeg 2 trykknapper i et bilde, en "Venstre" og en "Høyre". Ved å trykke på "Venstre" på venstre skjerm lagret jeg SocketID for venstre skjerm i flow.variable, tilsvarende for høyre. Dette fungerer helt fint helt til SocketID endrer seg, da må en trykke på de nevnte knapper igjen... Først trykknappene, så filtreres alt bort bortsett fra den IP som RPien har (om en trykker på disse knappene i en annen nettleser så ignoreres det) og til slutt lagres SocketID i flow. All nødvendig informasjon ligger i msg fra trykknapp. [{"id":"12c333975644cb20","type":"ui_button","z":"4d395651357ab1b1","name":"","group":"0cf69380855e1696","order":12,"width":"3","height":"1","passthru":false,"label":"Venstre","tooltip":"{{msg.tooltip}}","color":"{{msg.color}}","bgcolor":"{{msg.background}}","className":"","icon":"","payload":"","payloadType":"date","topic":"topic","topicType":"msg","x":1120,"y":1190,"wires":[["991fa4955520b550"]]},{"id":"7fa7787facca58ea","type":"change","z":"4d395651357ab1b1","name":"set flow.sock1","rules":[{"t":"set","p":"sock1","pt":"flow","to":"socketid","tot":"msg","dc":true},{"t":"set","p":"sock1lastUpdate","pt":"flow","to":"","tot":"date"}],"action":"","property":"","from":"","to":"","reg":false,"x":1480,"y":1190,"wires":[[]]},{"id":"983e3e4679f69cd1","type":"ui_button","z":"4d395651357ab1b1","name":"","group":"0cf69380855e1696","order":13,"width":"3","height":"1","passthru":false,"label":"Høyre","tooltip":"{{msg.tooltip}}","color":"{{msg.color}}","bgcolor":"{{msg.background}}","className":"","icon":"","payload":"","payloadType":"date","topic":"topic","topicType":"msg","x":1110,"y":1240,"wires":[["2d77526d1dede3a3"]]},{"id":"f4e01bff12906cf9","type":"change","z":"4d395651357ab1b1","name":"set flow.sock2","rules":[{"t":"set","p":"sock2","pt":"flow","to":"socketid","tot":"msg","dc":true},{"t":"set","p":"sock2lastUpdate","pt":"flow","to":"","tot":"date"}],"action":"","property":"","from":"","to":"","reg":false,"x":1480,"y":1240,"wires":[[]]},{"id":"991fa4955520b550","type":"switch","z":"4d395651357ab1b1","name":"IP ...132","property":"socketip","propertyType":"msg","rules":[{"t":"eq","v":"172.16.0.132","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":1290,"y":1190,"wires":[["7fa7787facca58ea"]]},{"id":"2d77526d1dede3a3","type":"switch","z":"4d395651357ab1b1","name":"IP ...132","property":"socketip","propertyType":"msg","rules":[{"t":"eq","v":"172.16.0.132","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":1290,"y":1240,"wires":[["f4e01bff12906cf9"]]},{"id":"21833df567cffbb7","type":"comment","z":"4d395651357ab1b1","name":"Lagre socketid manuelt, kun for V + H skjerm under TV","info":"","x":1260,"y":1150,"wires":[]},{"id":"0cf69380855e1696","type":"ui_group","name":"Video","tab":"8f4c3716a72a96a8","order":1,"disp":false,"width":"30","collapse":false,"className":""},{"id":"8f4c3716a72a96a8","type":"ui_tab","name":"Kamera","icon":"videocam","order":12,"disabled":false,"hidden":false}] For å vise en bestemt tab på venstre skjerm: [{"id":"dc3ca5d7f364bdfe","type":"change","z":"4d395651357ab1b1","name":"Garasje","rules":[{"t":"set","p":"payload","pt":"msg","to":"Garasje","tot":"str"},{"t":"set","p":"socketid","pt":"msg","to":"sock1","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":1470,"y":710,"wires":[["e3be770ddac7f6f7"]]},{"id":"5595414b58551dce","type":"inject","z":"4d395651357ab1b1","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":1320,"y":710,"wires":[["dc3ca5d7f364bdfe"]]},{"id":"e3be770ddac7f6f7","type":"ui_ui_control","z":"4d395651357ab1b1","name":"ui control","events":"connect","x":1620,"y":710,"wires":[[]]},{"id":"7ec2e1019c1cfd8d","type":"change","z":"4d395651357ab1b1","name":"Pool","rules":[{"t":"set","p":"payload","pt":"msg","to":"Pool","tot":"str"},{"t":"set","p":"socketid","pt":"msg","to":"sock1","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":1460,"y":750,"wires":[["e3be770ddac7f6f7"]]},{"id":"d1a1d4c032f162ea","type":"inject","z":"4d395651357ab1b1","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":1320,"y":750,"wires":[["7ec2e1019c1cfd8d"]]}] 3: Automatisk hente inn SocketID for begge nettlesere. Her sliter jeg med å vite hvem som er venstre og hvem som er høyre men det betyr nå ikke så veldig mye, det viktigste er å vite at jeg har 2 unike aktive SocketID lagret. Dersom begge nettlesere rapporterer ny socketID innenfor 5 sek (ved boot går der typisk innefor 250mS mellom mottak av begge SocketID men greit med litt spillerom her, tar også gjerne litt tid å laste siden) lagres de i flow.sock1 og flow.sock2 "Strømpris" og "Solar" er standard-tabene som vises automatisk når ny SockerID er mottatt fra begge nettlesere. Toggle og 2true/2false nodene er bare for å lagre annenhver SocketID i hhv sock1 og sock2 og det er her jeg ikke klarer å skille på høyre eller venstre skjerm. [{"id":"dc3ca5d7f364bdfe","type":"change","z":"4d395651357ab1b1","name":"Garasje","rules":[{"t":"set","p":"payload","pt":"msg","to":"Garasje","tot":"str"},{"t":"set","p":"socketid","pt":"msg","to":"sock1","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":1770,"y":550,"wires":[["e3be770ddac7f6f7"]]},{"id":"5595414b58551dce","type":"inject","z":"4d395651357ab1b1","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":1620,"y":550,"wires":[["dc3ca5d7f364bdfe"]]},{"id":"e3be770ddac7f6f7","type":"ui_ui_control","z":"4d395651357ab1b1","name":"ui control","events":"connect","x":1920,"y":550,"wires":[["92b8218ed302d655"]]},{"id":"7ec2e1019c1cfd8d","type":"change","z":"4d395651357ab1b1","name":"Pool","rules":[{"t":"set","p":"payload","pt":"msg","to":"Pool","tot":"str"},{"t":"set","p":"socketid","pt":"msg","to":"sock1","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":1760,"y":590,"wires":[["e3be770ddac7f6f7"]]},{"id":"d1a1d4c032f162ea","type":"inject","z":"4d395651357ab1b1","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":1620,"y":590,"wires":[["7ec2e1019c1cfd8d"]]},{"id":"92b8218ed302d655","type":"switch","z":"4d395651357ab1b1","name":"IP ...132","property":"socketip","propertyType":"msg","rules":[{"t":"eq","v":"172.16.0.132","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":2070,"y":550,"wires":[["e0a957ccf246b3ab"]]},{"id":"e0a957ccf246b3ab","type":"switch","z":"4d395651357ab1b1","name":"toggle","property":"SessID_toggle","propertyType":"flow","rules":[{"t":"true"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":1600,"y":660,"wires":[["c7f5ecd6fa318894"],["eb953c2216749af0"]]},{"id":"c7f5ecd6fa318894","type":"change","z":"4d395651357ab1b1","name":"2false","rules":[{"t":"set","p":"SessID_toggle","pt":"flow","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":1760,"y":650,"wires":[["bd1be74d2e460943","be71680e3306e128"]]},{"id":"eb953c2216749af0","type":"change","z":"4d395651357ab1b1","name":"2true","rules":[{"t":"set","p":"SessID_toggle","pt":"flow","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":1760,"y":680,"wires":[["bd1be74d2e460943","2e2cd87801046062"]]},{"id":"94699f674c8fe770","type":"delay","z":"4d395651357ab1b1","name":"","pauseType":"delay","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":2100,"y":660,"wires":[["582beb75912af2fd"]]},{"id":"bd1be74d2e460943","type":"function","z":"4d395651357ab1b1","name":"Reset delay","func":"//msg.delay = 600000;\nvar m1 = {reset:true};\nreturn [[m1,msg]];","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1950,"y":660,"wires":[["94699f674c8fe770"]]},{"id":"582beb75912af2fd","type":"function","z":"4d395651357ab1b1","name":"Ny socketID for begge?","func":"var sock1t = flow.get(\"sock1lastUpdate\");\nvar sock2t = flow.get(\"sock2lastUpdate\");\nif (Math.abs(sock1t - sock2t) < 5000){\n node.warn(\"TimeDiff: \" + (sock1t - sock2t));\n node.send(msg);\n}\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":2300,"y":660,"wires":[["0561d71505d376ae","c1fb16b8ae61f341"]]},{"id":"be71680e3306e128","type":"change","z":"4d395651357ab1b1","name":"set flow.sock1","rules":[{"t":"set","p":"sock1","pt":"flow","to":"socketid","tot":"msg","dc":true},{"t":"set","p":"sock1lastUpdate","pt":"flow","to":"","tot":"date"}],"action":"","property":"","from":"","to":"","reg":false,"x":1960,"y":620,"wires":[[]]},{"id":"2e2cd87801046062","type":"change","z":"4d395651357ab1b1","name":"set flow.sock2","rules":[{"t":"set","p":"sock2","pt":"flow","to":"socketid","tot":"msg","dc":true},{"t":"set","p":"sock2lastUpdate","pt":"flow","to":"","tot":"date"}],"action":"","property":"","from":"","to":"","reg":false,"x":1960,"y":700,"wires":[[]]},{"id":"c1fb16b8ae61f341","type":"change","z":"4d395651357ab1b1","name":"Strømpris","rules":[{"t":"set","p":"payload","pt":"msg","to":"Strømpris","tot":"str"},{"t":"set","p":"socketid","pt":"msg","to":"sock2","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":2050,"y":390,"wires":[["e3be770ddac7f6f7"]]},{"id":"0561d71505d376ae","type":"change","z":"4d395651357ab1b1","name":"Solar","rules":[{"t":"set","p":"payload","pt":"msg","to":"Solar","tot":"str"},{"t":"set","p":"socketid","pt":"msg","to":"sock1","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":2040,"y":430,"wires":[["e3be770ddac7f6f7"]]}] Det er jo enkelt å manuelt bytte SocketID i en funksjonsblokk men jeg tror ikke det går an å gjøre det automatisk: Flow variablene: Disse flowene er litt forenklet men burde være greie å forstå. Hele greiene mine med automatisk visning av 3 videotabs basert på bevegelsessensorer/knapper i videobilde, tab-valg med zigbee fjernkontroll ser slik ut:
  3. Har vært ute og lekt litt med motorsagen og da jeg kom inn igjen kl 15:30 var NordPool oppdatert hos meg.
  4. Nå begynner jeg jaggu å lure litt her... I dag var morgendagens priser på plass hos https://www.hvakosterstrommen.no/i/kristiansand/i-morgen kl 13:05 men ikke hos NordPool enda (kl14:15)... Jaja, nå henter jeg begge plasser og den som stiller med data først vinner...
  5. Ja, bare installer, velg hvilke data en vil ha og det er det...
  6. Jepp 🙂 Så grei ut den, bare dele på 1000 og legge på mva, greit format ellers. Ser plus versjonen bruker zulutid mens std bruker lokaltid så jeg tror jeg bruker den heller. Antar at den er tidligst ute med priser hver dag siden det er direkte fra "the horses mouth"... Mitt system tar en vurdering kl 16:00 og legger plan fram til kl 16:00 i morgen, regnet med at jeg fikk strømprisene i RIKELIG tid til dette men ikke nå lengre... Fremdeles ikke noe fra https://www.hvakosterstrommen.no/i/kristiansand/i-morgen (kl 21:20)
  7. Ca kl 15:15 i dag fikk jeg morgendagens strømpriser fra https://www.strompris.no/spotpriser men nå, kl 19:40, er der fremdeles ingenting fra https://www.hvakosterstrommen.no/i/kristiansand/i-morgen Må finne meg enda et alternativ...
  8. Ja, de får strømstøtte som alle andre men jeg tenkte mer på at fastpris er et "avvik" i forhold til "normalen" og det er nok "normalen" som brukes som grunnlag for strømstøtteordningen (selv om det vanligvis legges et enormt arbeid i å tette smutthull også...).
  9. Tror ikke vi skal tillegge det noe mer verdi enn at det høres riktig ut å si... De som har fastpris vil alltid være unntak fra gjeldende regler så lenge avtalen gjelder.
  10. Ja, jeg har tid til å tilpasse meg men gulroten for å investere i batterier er plutselig borte... Jeg fant jo også ut i går kveld at beregningene for inntjening av solcelle/batteri er for pessimistiske siden jeg ikke tok hensyn til de timene der strømprisen er under 70 øre, får se litt på det i dag... SQL er et fantastisk verktøy. Flott stasminister vi har: Hva som blir lettere å følge med på er vel at en VET strømstøtten time for time i stedet for å måtte vente til slutten av måneden for den er helt 100% avgjort men å påstå at "fellesskapet" tar 90% av strømprisen... Det finnes mange beskrivelser av de som sier slikt men de passer ikke på trykk... Fellesskapet er jo allerede karnøflet så det holder og så betales noe av ågerprisen tilbake igjen og så påstår han at ordningen er dyr for staten... Staten tjener jo grovt på at folket sliter med strømregningen...
  11. Nå har jeg sittet å knødd og massert noen SQL spørringer i noen timer og tror jeg har funnet et reelt resultat. Utgangspunktet mitt er reelt forbruk i januar i år, til sammen 1217kWh. For å gå rett på resultatet så ville jeg ha betalt: Med gjennomsnittspris for strømstøtte: Kr 1237 Med 80% strømstøtte time for time: Kr 786 Med 90% strømstøtte time for time: Kr 691 Siden jeg konsekvent har kjøpt strøm når den er billig har innsparingen min for januar vært 1237 - 786 = 451 Med den nye ordningen blir der ikke noe stort å hente på å kjøpe strøm om natten annet enn litt lavere nettleie (ikke tatt med i disse tallene). For de som gidder å se hvordan tallene er kommet fram så er det slik: Gjennomsnittspris: SELECT SUM(`kWh_hour` * (`MndPris` - `StromStotte`)) FROM `EnergiV1` WHERE `Timestamp` > 20230000000000 AND `Timestamp` < 20230141000000 Det blir litt vanskeligere med strømstøtte time for time for spørringene gir i utgangspunktet negativ strømstøtte når prisen er under 70 øre. 80% strømstøtte, først i tabellform for å kontrollere resultatet time for time: SELECT `Timestamp`, `kWh_hour`, `CurrentPrice`, CASE WHEN (`CurrentPrice` - 0.70)*1.25*0.80 < 0 THEN 0 ELSE (`CurrentPrice` - 0.70)*1.25*0.80 END AS Strømstøtte, `kWh_hour` * (`CurrentPrice` - CASE WHEN (`CurrentPrice` - 0.70)*1.25*0.80 < 0 THEN 0 ELSE (`CurrentPrice` - 0.70)*1.25*0.80 END) AS Total FROM `EnergiV1` WHERE `Timestamp` > 20230000000000 AND `Timestamp` < 20230141000000 ORDER BY `Timestamp` ASC og et utsnitt av de 744 radene i resultatet ble: Summering med 80%: SELECT SUM(`kWh_hour` * (`CurrentPrice` - CASE WHEN (`CurrentPrice` - 0.70)*1.25*0.80 < 0 THEN 0 ELSE (`CurrentPrice` - 0.70)*1.25*0.80 END)) FROM `EnergiV1` WHERE `Timestamp` > 20230000000000 AND `Timestamp` < 20230141000000 ble Kr 785.72 Samme greiene en gang til for 90% og da ble summen 697.07 Tabellen (eller viewet som det egentlig er, MndPris og StromStotte kommer fra en annen tabell) ser slik ut:
  12. hvakosterstrommen.no har blitt senere og senere med å komme med morgendagens strømpris de siste dagene og i dag har de uteblitt helt... Måtte lage en nødløsning med å laste ned et xlsx ark og importere, håper ikke det skal bli standarden framover...
  13. Kjører NodeRed på Linux på ESXI med full backup av hele maskinen til NAS hver natt i tillegg til både sporadisk og daglig backup av NodeRed. NASen backes til en annen NAS i et annet bygg hver natt. Tilgang utenfra med OpenVPN og kun 1 port åpnet for VPN. Ping fra WAN ignoreres. Div sikkerhetsmekanismer aktivert i ruter.
  14. Velkommen til forumet @noahsark Der er mange muligheter til å komme i gang og mange har spurt før deg. Et søk kan gi mange svar som f.eks dette: https://www.hjemmeautomasjon.no/search/?q=nybegynner&quick=1&type=forums_topic Om du må kjøpe lys så har både Ikea Trådfri og Philips HUE mye flott på Zigbee. Disse kan styres med egen app eller innbygges i et større system. Det kan være en grei start og det kan være lurt å starte litt forsiktig... Ellers så er det mye opp til deg selv, hva du kan, hva du vil lære osv... Jeg er vel på mitt femte eller sjette system nå og føler jeg er kommet i mål med NodeRed men om det passer deg aner jeg jo lite om. Jeg har jobber med programmering i industrien siden midt på -80 tallet men dette her er en heeeeelt annen verden... Ved siste korsvei laget jeg meg et enkelt lite prosjekt som jeg prøvde å gjennomføre i mange forskjellige system, enten gratissystem eller betalgreier med en demoperiode på noen uker, og vurderte hva jeg skulle velge etter det jeg erfarte ved å komme i mål med prosjektet mitt. Og prosjektet er ikke mer avansert enn en kaffetimer: Kaffemaskinen styres av en standard wallplug og den skal kunne slås på enten fra et eller annet brukergrensesnitt eller fra trykknappen på wallplugen. Når den er slått på skal den automatisk slå seg av igjen etter en fastsatt tid og den skal tåle å herjes litt med uten at timeren går i ball. Bare denne lille øvelsen gir et greit bilde av hva som må til for å lage mer avanserte automasjoner... Og det er mye som ser flott ut ved første øyekast men som likevel blir for komplisert...
  15. Synes og det. Har ikke målt men antar taket er rundt 40 grader og noen få grader vest så veldig bra vinkel her på 59'22N, 5'02E
  16. Solen er fremdeles ganske lav og det påvirker nok øst-vest paneler mer enn sørvendte. Jeg var oppe i 14.5kWh med 8.1kWp sørvendte paneler i går. Ikke veldig strålende dag med overskyet noen timer midt på dagen.
  17. Motorer har gjerne en startstrøm på opptil 5x merkestrøm så selv om det bare er en veldig kort tid så kan det være nok til å trippe smartplugen. Jordledning er for beskyttelse og skal IKKE brytes.
  18. For å resette V2N (og sannsynligvis også V2) må en kjøre reset-prosedyre i BÅDE Easy OG Advanced mode.
  19. 230V tilførsel til L og N, potensialfri kontakt mellom IN og LS. Husker ikke om det går an å programmere holdetid på disse men jeg har en timer på 2-3 sekund i NodeRed som slår den av om den er på uavhengig av hva som slår den på.
  20. Alle (?) slike enheter jeg har sett har en konfigurering der en kan velge status etter strømbrudd som av/på/siste status eller noe slikt...
  21. Ting tar tid...og av forskjellige grunner, både lang leveringstid av jordfeilbrytere type-B og annet, så er nå hele anlegget offisielt godkjent.
  22. Jo, kommentaren min gjaldt før arneolav endret linken i innlegget sitt...
  23. Og så er det jo også et spørsmål hva som er fakta og ikke bare politikk (men den diskusjonen skal vi vel ikke ta her...men det er viktigere enn noen gang å drive kritisk tenking...).
×
×
  • 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.