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

Hva har du automatisert idag/Hva har du gjort på dine prosjekter idag


Anbefalte innlegg

Skrevet (endret)

Fikk installert solcelleanlegg i oktober i fjor, så siden det har det vært lite sol, til dels dårlig vær og tider med en halvmeter snø på panelene... Nå er det spennende å følge med på hvor mye som produseres. Growattinverteren sender enn så lenge data til skyen og growatts systemer gjør virkelig et solid arbeid for å hindre tilgang til egne data bortsett fra gjennom deres rimelig elendige webinterface. Så fant jeg ut at det går an å dele tilgang til inverter siden og fra denne delte siden kan man laste ned forbrukshistorikk. Så da tar jeg ca en gang i døgnet og laster ned siste døgns data og putter det inn i en postgresqldatabase og hente inn det jeg ønsker å se i grafana. Så fant jeg stadig at jeg drev og kikket fram og tilbake mellom dager for å se når på dagen det var produsert hvor mye (Jeg har paneler på to tak som står 90grader på hverandre og har noen hus og trær i sør, så det er ikke helt optimalt og en del variasjon gjennom dagen)

 

Dataene jeg laster ned er på 5minutters intervaller, i databasen bruker jeg utvidelsen timescaledb, blant mange andre ting, gir den noen sql-utvidelser så jeg kan spørre etter data over et hvilket som helst tidsintervall, så

 

select time_bucket('5 minutes',time) as timestep, max(ppv_total) from pv

group by timestep order by timestep
 

gir meg maksproduksjon for hvert femte minutt. Det jeg vil ha er maksproduksjonen som har skjedd hvert femte minutt for hver dag systemet har vært installert. Da kan jeg gjøre om tidssteppet til et klokkeslett uten dato:

select time_bucket('5 minutes',time)::time as timestep, max(ppv_total) from pv

group by timestep order by timestep

 

Gir meg da det meste som har vært produsert kl 00:00, 00:05, 00:10 etc for alle dagene panelene har vært i drift.

For å få dette på et vis som kan sammenliknes med dagens dato, legger jeg til midnatt i dag:

 

select time_bucket('5 minutes',time)::time+now()::date as timestep, max(ppv_total) from pv

group by timestep order by timestep

 

For å få maksproduksjonen også plottet på gårsdagen kjører jeg querien en ekstra gang i grafana og setter relativ tid til 24 timer, eventuelt kunne jeg brukt en - interval '1 day' i spørringen.

 

(Grønn linje, produksjon siste 48 timer, lyseblå linje, maksproduksjonen over hvert tidsintervall, den gulgråbakgrunnen er solhøyde, så i går produserte systemet mer fra ca 10 - 11 enn hva det hadde gjort før, samme for ca 11:30 - 12:30 i dag)

Screenshot2024-03-05at14-16-57Viewpanel-Strmforbruk-Dashboards-Grafana.thumb.png.f0170d01468fb170a3b9558305a60ac4.png

 

Når jeg etterhvert har en sommer med solceller bak meg blir dette litt mindre interessant, da får jeg endre spørringen til å hente data fra tider på året med ca samme solhøyde.

 

Endret av Sickel
Kom på litt mer som burde være med
Lenke til kommentar
Del på andre sider

For å lettere kunne styre lysstyrke på bad om morgenen, har jeg laget en binær sensor som indikerer om noen sover. Dette er en bayesisk sensor som bruker CO2 nivå på soverom og Android sin "Sleep Confidence" som hentes fra tlf via Home Assistant appen. I HA appen er det en lang liste med sensorer en kan sende til HA og som en kan bruke til automatiseringer. Det jeg bruker er først og fremst om jeg er hjemme eller i andre definerte soner som feks jobb. Jeg har også en sensor for om jeg er i bilen. Batterinivå på tlf er også greit å ha et varsel på hjemme - dvs. det er greit for meg å ha oversikt over kona sin tlf's batteri. Hun glemmer å lade den.....
Sleep Confidence er en sensor som mer eller mindre nøyaktig forteller om eieren sover eller ikke. Med å fore dette inn i en bayesisk sensor i HA sammen med CO2 nivå og en "sleeptime" sensor som igjen er styrt av knappetrykk og bevegelse i huset, så har jeg en "noen sover" sensor som treffer overraskende bra.

 

binary_sensor:
  - platform: bayesian
    name: "Noen sover"
    unique_id: fc5256c9-0bbf-4b4a-94c7-01bc6ae28f2c
    prior: 0.5
    probability_threshold: 0.5
    device_class: presence
    observations:
      - entity_id: sensor.pixel_7_sleep_confidence
        platform: "numeric_state"
        above: 94
        prob_given_true: 0.5
        prob_given_false: 0.1
      - entity_id: sensor.sm_s901b_sleep_confidence
        platform: "numeric_state"
        above: 94
        prob_given_true: 0.5
        prob_given_false: 0.1
      - entity_id: input_boolean.sleeptime
        prob_given_true: 0.6
        prob_given_false: 0.05
        platform: "state"
        to_state: "on"
      - entity_id: sensor.soverom_co2_value
        platform: "numeric_state"
        above: 520
        prob_given_true: 0.6
        prob_given_false: 0.05



Deretter bruker jeg en template sensor som tar hensyn til klokkeslett lagt inn et tidsfelt og som styrer svakt lys på bad om kveld. Her er det også en forsinkelse på 20 minutt slik at det ikke blir sterkt lys etter at en har stått opp og fortsatt er på badet.

 

template:
  - binary_sensor:
    - unique_id: lowlightlevel
      name: lowlightlevel
      state: >-
        {{ now().hour < 5
          or now().hour*3600+now().minute*60 >= (state_attr("input_datetime.lowlightlevel_from", "timestamp") | int(0))
          or is_state("binary_sensor.noen_sover", "on") }}
      delay_off:
        minutes: 20

 

Endret av stigvi
  • Like 1
Lenke til kommentar
Del på andre sider

49 minutes ago, stigvi said:

...laget en binær sensor som indikerer om noen sover. Dette er en bayesisk sensor som bruker CO2 nivå på soverom og...

 

Interessant. Skjønner jo at du kombinerer med andre sensorer, men hvordan opplever du at CO2-nivået faller etter at noen våkner/forlater rommet?

 

Jeg har en ESPhome-sak med bl.a. en Senseair S8, og ei 40mm vifte som sirkulerer lufta over sensoren. Når noen forlater rommet får jeg en fin exponential decay, men det kan jo ta noen minutter til den når en steady state (lufta i rommet må jo fortsatt byttes ut av ventilasjonsanlegget). Den vil altså henge litt etter hvis den skal gjette på at noen sover, i alle fall alt for seint til å forutse lysstyrke på badet hos oss.

 

Edit: Etter å ha tenkt meg litt om kunne jeg kanskje skrudd opp samplingsfrekvensen i ESPhome'n, lavpassfiltrert sensorverdien (akkurat nok til å fjerne støy uten å gi for mye faseforskyvning), og så sett på den deriverte av CO2. Hvis den deriverte er tilstrekkelig negativ -> noen har forlatt rommet.

Endret av RVM
Lenke til kommentar
Del på andre sider

RVM skrev (21 minutter siden):

 

Interessant. Skjønner jo at du kombinerer med andre sensorer, men hvordan opplever du at CO2-nivået faller etter at noen våkner/forlater rommet?

 

Jeg har en ESPhome-sak med bl.a. en Senseair S8, og ei 40mm vifte som sirkulerer lufta over sensoren. Når noen forlater rommet får jeg en fin exponential decay, men det kan jo ta noen minutter til den når en steady state (lufta i rommet må jo fortsatt byttes ut av ventilasjonsanlegget). Den vil altså henge litt etter hvis den skal gjette på at noen sover, i alle fall alt for seint til å forutse lysstyrke på badet hos oss.


Det du nevner som en problemstilling, er noe jeg ikke har som problem. Kanskje fordi jeg ikke forklarte dette grundig nok.

Jeg har en bevegelsesensor på bad som slår på lys når noen er der. Om kveld/natt og om morgen ønsker vi at dette lyset skal være svakt. På dagtid er dette lyset sterkt.

Så denne sensoren jeg nevnte, er med på å avgjøre lysstyrken. Ikke om lyset skal være av eller på.

Om morgenen er det helt fint at co2 nivå bruker litt tid på å synke. Jeg har i tillegg lagt inn en 20 minutters forsinkelse for å være helt sikker på at det er svakt lys på bad om morgenen.

Co2 nivået hos meg synker på samme måte som du nevner og det tar vel omtrent 15-30 minutter fra soverom er blitt forlatt til co2 nivå er under 520ppm.

Endret av stigvi
Lenke til kommentar
Del på andre sider

1 minute ago, stigvi said:

Så denne sensoren jeg nevnte, er med på å avgjøre lysstyrken. Ikke om lyset skal være av eller på.

 

Ja, det henger jeg med på. Etter at jeg har våknet vil jeg ha flombelysning når jeg skal barbere meg 🧔

Lenke til kommentar
Del på andre sider

RVM skrev (4 minutter siden):

 

Ja, det henger jeg med på. Etter at jeg har våknet vil jeg ha flombelysning når jeg skal barbere meg 🧔

Det vil jeg også. Men kona bestemmer. Men jeg har lagd "sterkt lys på speil" med et knappetrykk.......

  • Haha 1
Lenke til kommentar
Del på andre sider

3 minutes ago, stigvi said:

Det vil jeg også. Men kona bestemmer. Men jeg har lagd "sterkt lys på speil" med et knappetrykk.......

Men det er jo en "kjedelig" løsning. Hva med en vibrasjonssensor over zigbee i barbermaskinen?

 

Edit: Eller, hvis barbermaskinen har en lade-/vaskestasjon, en proximity switch i basestasjonen?

Endret av RVM
  • Like 1
Lenke til kommentar
Del på andre sider

RVM skrev (20 minutter siden):

Men det er jo en "kjedelig" løsning. Hva med en vibrasjonssensor over zigbee i barbermaskinen?

 

Edit: Eller, hvis barbermaskinen har en lade-/vaskestasjon, en proximity switch i basestasjonen?

Uansett hva jeg kommer opp med, jeg skal skrive om det her.

  • Haha 1
Lenke til kommentar
Del på andre sider

Fram til nå har jeg hatt en Aeotec door/window sensor 7 i postkassen, men denne har aldri funket optimalt da det blir for langt imellom huset og postkassen, og denne virker til og spise batterier når dekningen til z-wave nettverket er dårlig.

 

Jeg kom over et innlegg i en Facebook gruppe en som hadde kjøpt 5stk av disse: https://www.espthings.io/index.php/2022/11/05/et-sw01-a-very-low-consumption-mailbox-switch/

I skrivende stund har han en igjen: ESPHome Postkasse-sensor - 1 igjen | FINN torget

 

Mottok enheten etter noen få dager og startet testingen og løste noen utfordringer underveis som man alltids gjør med nye dippedutter 🙂

ESP-en eksponerer automatisk de nødvendige entitetene:
Reset-bryter (Denne bryteren gjør at ESP-en går i deep sleep igjen)

Batterispenning

Status på switch 1 og 2.

WiFi signalstyrke (RSSI).
 

3D-print kabinettet på espthings var for lite pga molex-kontakten til bryter inngangene blir for høg, så måtte lære meg litt Fusion360 for å modifisere høyden på det, la nok på ca 2cm.

Det ble da også nok plass til og montere WiFi-antennen rett i boksen også.

 

2504C9D8-BA97-4656-8DD0-04D3C2FA153F_1_105_c.thumb.jpeg.af1686786e3c0305775b1f3e77eacb54.jpeg

 

Den fjærbelastede trykkbryteren ble koblet slik at den er NO når lokket til postkassen er igjen.

Når postkassen åpnes er den NC og trigger ESP-en.

 

Neste utfordring var en liten nøtt.

Jeg fikk som regel varsel annenhver gang om at postkassen var åpnet, årsak måtte finnes..

 

Jeg sjekket først nettverket:

RSSI-en var for lav (89 dBm), så jeg flyttet aksesspunktet opp på kaldloftet, da ble den umiddelbart noe bedre (80dBm), dette er greit nok når det er snakk om såpass lave datamenger som skal over.

Men fremdeles var det noe trøbbel.

EIRP-en på aksesspunktet på 2,4ghz var satt til minimum 12dBm, så klienter under dette blir automatisk sparket ut for å ikke forringe WiFi-opplevelsen til andre.

Satt EIRP-en ned til 0 og da funket den straks bedre, deaktiverte dermed 2.4ghz for klientene, slik at de nå kun kjører på 5ghz, så får IoT-enhetene bruke 2,4ghz/5ghz alt etter hva de velger selv.

 

Neste utfordring var at Home-Asssistant ikke rakk og polle ESP-en før den gikk i deep-sleep etter 30 sekunder.

Økte deep-sleep tiden til 60 sekunder og problemet var egentlig løst sånn sett, men med økt strømforbruk.

 

Etter litt googling fant jeg ut at for deep-sleep enheter er ikke API-et og foretrekke, men MQTT.

Da er det ESP-en selv som sender ut data til MQTT, i stedet for at HA skal polle data.
Koden for dette er ganske rett fram: MQTT Client Component — ESPHome

Alle entitetene dukker automatisk opp i HA også på MQTT.

#api:
# encryption:
# key: !secret esphome_api_secret

mqtt:
broker: 1.1.1.1
username: esp-postkasse
password: !secret esphome_mqtt_password

 

Med MQTT fungerer enheten mye bedre, med det samme den har koblet til WiFi sender den ut data.

Har testet ved og kjøre ping kontinuerlig mot enheten, og ved første ping-reply så sender den også ut data på MQTT.

Jeg kan dermed putte den i deep sleep igjen etter 1 sekund og strømforbruket blir minimalt.

Slik ser automasjonen i node-red:
image.thumb.png.dba1f41de5d25f6df11902864ff24c80.png

  • Like 2
Lenke til kommentar
Del på andre sider

Katla skrev (På 3.10.2022 den 14.07):

Jeg har til og med tatt i bruk en gammel bitcoin-mining maskin som egentlig er utrangert, men siden det er perioder der en får betalt for å bruke strøm så gir den no en trippel gevinst: betalt for strømmen, gratis varme i kjelleren og bitcoin innbetalinger for miningen.  :P

Hei!

 

Du har vel ikke tilfeldigvis automatisert mining maskinen din igjennom api eller lignende? Har du manuelt skrudd den av/på? 

 

🙂

 

Det er av interesse, fordi eg må holde min enhet i drift under 2kr/kW og stoppe den over dette. 

 

Har andre erfaringer med automatisert bitcoin-mining?

Lenke til kommentar
Del på andre sider

Join skrev (9 timer siden):

Hei!

 

Du har vel ikke tilfeldigvis automatisert mining maskinen din igjennom api eller lignende? Har du manuelt skrudd den av/på? 

 

🙂

 

Det er av interesse, fordi eg må holde min enhet i drift under 2kr/kW og stoppe den over dette. 

 

Har andre erfaringer med automatisert bitcoin-mining?

Har brukt Home-assistant til å styre maskinen både basert på strømpris og temperatur i rommet den er plassert i. 

Har i hovedsak brukt smartplugg til å skru den av/på men har også brukt en plugin i home-assistant til dette. https://github.com/Schnitzel/hass-miner   

 

Lenke til kommentar
Del på andre sider

Katla skrev (3 timer siden):

Har brukt Home-assistant til å styre maskinen både basert på strømpris og temperatur i rommet den er plassert i. 

Har i hovedsak brukt smartplugg til å skru den av/på men har også brukt en plugin i home-assistant til dette. https://github.com/Schnitzel/hass-miner   

 

Stilig! 🙂

 

No tør eg ikkje kjøre 3000W kontinuerlig på smartplugg, så eg må styre den på anna måte.

 

Eg prøvar forenkle i starten, så er kun på jakt etter å gi kommando: miner_pause og miner_resume

 

Kan dette gjerast i nettleser? Eller kanskje i eit script?

 

Seinere kan eg bruke tid på optimalisering. 

 

Eg skal opprette tråd på dette temaet, for å ikkje forurense den tråden her.. 🙂

 

Mvh

Lenke til kommentar
Del på andre sider

Har automatisert en Viwa vannstopper sammen med et Fibaro smart implant. Nå kan jeg se og styre vannstopper fra Homey. Betydelig rimeligere å kjøpe billige Tuya zigbee sensorer (har 6 st allerede) fra Aliexpress enn å kjøpe et komplett system fra f.eks. Høiax eller Waterguard.

IMG_4819.jpeg

IMG_4820.jpeg

  • Like 1
Lenke til kommentar
Del på andre sider

Jeg driver med fotografering når jeg får tid til å unslippe husets automatiseringer. Da er det nyttig å vite når gylden og blå time starter og stopper så jeg har lagd et kort i Home Assistant som viser meg dette.

image.png.0a4a61050717a46dfed3f6bce3a9dba5.png

Men dette har vært basert på hjemmeposisjon. Det er jo mindre interessant når en er på reise så jeg endret dette til å være basert på telefonens posisjon.

Sun2 er navnet på en integrasjon som jeg bruker for å hente klokkeslett når solen er i bestemte høyder. Og telefonens posisjon kommer i fra Home Assistant appen for Android. Jeg setter en ny posisjon når jeg selv har flyttet meg mer enn 50km.

alias: Ny posisjon til sun2
description: ""
trigger:
  - platform: state
    entity_id:
      - device_tracker.pixel_7
condition: []
action:
  - service: sun2.get_location
    data:
      location: phone
    response_variable: location
  - if:
      - condition: template
        value_template: >-
          {{ distance(location.latitude, location.longitude,
          'device_tracker.pixel_7') > 50 }}
    then:
      - service: sun2.update_location
        metadata: {}
        data:
          location: phone
          latitude: "{{ state_attr('device_tracker.pixel_7', 'latitude') }}"
          longitude: "{{ state_attr('device_tracker.pixel_7', 'longitude') }}"
          time_zone: "{{ state_attr('sensor.pixel_7_current_time_zone', 'time_zone_id') }}"
mode: single

 

Endret av stigvi
  • Thanks 1
Lenke til kommentar
Del på andre sider

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.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • 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.