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

stigvi

Medlemmer
  • Innlegg

    2 650
  • Ble med

  • Besøkte siden sist

  • Dager vunnet

    141

Innlegg skrevet av stigvi

  1. Da var enda et steg i husautomatiseringen ferdig. Automatisk stenging av vann dersom det lekker. Det som Block Watne hadde montert var elendig. Attpåtil var det feilmontert med vannsensor i en krøll i et hjørne istedenfor å limes fast i gulvet. Nå er slikt på plass. I tillegg har jeg lagt inn at vannet stenges automatisk hvis vi er vekkreist. Og viktigst av alt, mitt system er lett å sjekke at det virker.

    En Shelly 1 styrer ventilen og Aqara vannsensorer detekterer fukt

     

    esphome:
      name: hovedvannkrane
      platform: ESP8266
      board: esp01_1m
    
    wifi:
      ssid: "HEIME5.ORG"
      password: !secret heime_wifi
      domain: .lan
    
      # Enable fallback hotspot (captive portal) in case wifi connection fails
    #  ap:
    #    ssid: "Hovedvannkrane Fallback Hotspot"
    #    password: "mC6tMvvljYTU"
    
    #captive_portal:
    
    # Enable logging
    logger:
    
    # Enable Home Assistant API
    api:
    
    ota:
    
    time:
      - platform: homeassistant
        id: homeassistant_time
    
    globals:
      - id: state_hovedkrane
        type: bool
        restore_value: no
        initial_value: 'false'
        
      - id: state_nodkrane
        type: bool
        restore_value: no
        initial_value: 'false'
        
      - id: last_value_from_ha
        type: int
        initial_value: '0'
    
    
    # fra 60 til 120
    interval:
      - interval: 15s
        then:
        - if:
            condition:
              - lambda: !lambda |-
                  auto time_now = id(homeassistant_time).utcnow();
                  
                  if(time_now.timestamp - id(last_value_from_ha) > 120)
                    return true;
                  
                  return false;
            then:
              - globals.set:
                  id: state_nodkrane
                  value: 'false'
              - switch.turn_off: ventil
    
    switch:
      - platform: gpio
        pin: 4
        id: ventil
        restore_mode: ALWAYS_OFF
        
      - platform: template
        name: "Hovedkrane"
        id: hovedkrane
        lambda: |-
          return id(state_hovedkrane);
        turn_on_action:
          - globals.set:
              id: state_hovedkrane
              value: 'true'
          - if:
              condition:
                lambda: 'return id(state_hovedkrane) && id(state_nodkrane);'
              then:
                - switch.turn_on: ventil
        turn_off_action:
          - globals.set:
              id: state_hovedkrane
              value: 'false'
          - switch.turn_off: ventil
        
      - platform: template
        name: "Nødkrane"
        id: nodkrane
        lambda: |-
          return id(state_nodkrane);
        turn_on_action:
          - globals.set:
              id: state_nodkrane
              value: 'true'
          - if:
              condition:
                lambda: 'return id(state_hovedkrane) && id(state_nodkrane);'
              then:
                - switch.turn_on: ventil
        turn_off_action:
          - globals.set:
              id: state_nodkrane
              value: 'false'
          - switch.turn_off: ventil
    
    sensor:
      - platform: homeassistant
        name: "Uptime from Home Assistant"
        id: watchdog
        entity_id: sensor.time_online
        on_value:
          then:
            - lambda: !lambda |-
                auto time_now = id(homeassistant_time).utcnow();
                id(last_value_from_ha) = time_now.timestamp;

     

    Merknad 2020-01-04 215456.jpg

    20200104_215311 (1).jpg

    20200104_215319 (1).jpg

    • Like 5
  2. Jeg har en kjøkkenvifte som bråker fælt og mye av grunnen til dette er at det er liten forskjell på minste og største viftehastighet. Den hadde blitt mer "spiselig" dersom minste hastighet var et vesentlig mindre turtall.

    Jeg har ikke åpnet motoren for å se hva det er for noe, men jeg antar i første omgang at det er en 1-fase asynkronmotor.

    Hvilke muligheter har jeg for å regulere hastigheten over et større område, annet enn med en frekvensomformer? Og hvordan er hastigheten normalt styrt i slike vifter? Min har 4 trinn.

    image.thumb.png.65ee5fa8fc1a9f76f83336d72d186877.png

  3. Til Home Assistant finnes komponenten "Flux" som gjør akkurat det som beskrives her.

    Flux komponenten har jeg dessuten modifisert litt slik at lyset over garasjeporten går via rosa og blått etter solnedgang

     

     

    PS. Flux komponenten kan også brukes i en "scene" for å slå den av og på etter behov

    • Like 1
  4. 1 minutt siden, baronKanon skrev:

    Hva med å lage et appdaemon-skript, der du lagrer hver oppdatering i en variabel, og sammenligner nåværende avlesning med forrige, og når avlesning er lavere enn forrige, oppdateres en input number til verdien fra forrige avlesning, og bruker en templatesensor som bruker input-number hvis du ønsker en sensorvisning. 


    Ja, svært enkelt å implementere og mer robust enn min ide

  5. Tibber komponenten gir daglig strømforbruk i form av accumulatedConsumption, men denne er ikke særlig god til å bruke til å tegne en graf over forbruket. Den starter på 0 ved midnatt og øker i løpet av døgnets 24 timer. Det jeg kunne tenke meg var en sensor i HA som viste maksimumverdien av accumulatedConsumption hvert døgn.

    Det finnes mange måter å løse det på og en tilsynelatende enkel måte er ved midnatt kopierer accumulatedConsumption til en input_sensor. Faren er at en kan kopiere etter at accumulatedConsumption er nullstilt.

    Men spørsmålet: Finnes det en elegant måte å vise forrige dags strømforbruk på?


    Tibber komponenten
    image.png.0e84cd8e83669d3e677f4916a9c2c2e2.png

  6. SUPPORT 100-240 V~ 50/60 Hz

    With Shelly Dimmer/SL you can use incandescent and halogen lights: 10-220W, dimmable LED lights: 50-200VA / 10W – 200W or resistive-inductive loads: ferromagnetic transformers 50-150VA. Shelly Dimmer SL 200–240V neutral not required.
  7. 3 timer siden, Awais skrev:

    @stigviKult. Jeg har tenkt tanken på å bytte ut pære til en smartpære, men problemet oppstår når folk i huset skrur av bryteren. Da mister man jo kontakten helt og det "smarte" dør. Derfor vil jeg egentlig ha en løsning hvor lyset kan styres både via appen og bryteren.

     

    Hvordan har du koblet opp shelly?


    Håndkletørkeren hadde en to-polt elko bryter foran seg. Den byttet jeg ut med en 2+1 elko bryter og den en-polet bryteren jeg da fikk ekstra har jeg en impulsfjær bak og som brukes til å starte 8 timer manuelt. På Shelly 1 har jeg lagt inn esphome og denne håndterer bryter og nedtelling lokalt. I Home Assistant har jeg tilkoblet en fuktighetsføler som får HA til å slå på håndkletørkeren når fuktigheten stiger brått. Det morsomme er at kona er mer begeistret over dette enn jeg er. Stirrer på lyset på topp av tørkeren for å se hvor lang tid det tar før den slår seg på etter at dusjingen startet.

  8. 3 timer siden, Awais skrev:

    @stigviKult. Jeg har tenkt tanken på å bytte ut pære til en smartpære, men problemet oppstår når folk i huset skrur av bryteren. Da mister man jo kontakten helt og det "smarte" dør. Derfor vil jeg egentlig ha en løsning hvor lyset kan styres både via appen og bryteren.

     

    Hvordan har du koblet opp shelly?

    Jeg har satt inn en Elko impulsfjær bak bryterdekselet. Da er det ingen som slår av lyset på feil sted.

    Shelly1 krever L og N. Men Shelly har andre dimmere som ikke krever N. De kan erstatte en bryter under forutsetning av at pæren er en glødepære. Vet ikke om de fungerer med LED pærer, men det går jo å sjekke spesifikasjoner på de til Shelly

  9. På 29.11.2019 den 21.55, Awais skrev:

    Hei,

     

    Er ute etter å gjøre lysbrytere i huset "smart" med Shelly. Er det noen som har brukt Shelly her i Norge?

     


    ja, jeg bruker shelly1 til å styre en håndkletørker. Varmen slås på manuelt med en trykkbryter eller automatisk når en dusjer og varmen slås av etter 8 timer.


    Men....... Hvorfor ikke få lys over på zigbee først som sist? Bytt ut lyspærer og eventuelt armaturer.

  10. Easy Access EasyCode V2 kodelås
    https://coop.no/sortiment/obs-bygg/sikkerhet-156c1e99/elektroniske-laser-og-tilbehor-83a58db6/easyaccess-easycode-v2-kodelas-43?variantCode=514078

     

    Til denne kan en få en modul som har bluetooth og som kommuniserer med ringeklokken til samme produsent. Ringeklokken har wifi og med nettilkobling kan en fjernstyre låsen.

    Men så det jeg lurer på: Her det mulig å pare låsens bluetooth med f.eks. en Raspberry pi eller esp32 og styre den som en selv vil? Noen som har lest at dette er gjort av andre?

  11. Hvis dette er en dedikert maskin til HA, hvorfor kjøre virtuellt oppå W10 eller Ubuntu? Gir ikke det bare et ekstra lag med mulighet for feil?

    Jeg vurderer selv en NUC og ser at HA har en fiks ferdig installasjon for NUC. Er den like rett fram som installasjonen for Raspberry pi?

  12. På 4.12.2019 den 22.04, kvisle skrev:

     

    Hvilken versjon av Home Assistant kjører du, og hvilken integrasjon/versjon bruker du mot Nobø-ovnene?

    Er dette Nobø-ovner backet av Nobø-hub, eller er det noe annet?


    Nyeste versjon av Home Assistant. Integrasjon mot Nobø finner du her: https://github.com/stigvi?tab=repositories
     

    Ja, 4 Nobø ovner, 5 Nobø varmekabeltermostater og 3 Nobø Switch (temp.føler) koblet til Nobø hub.

  13. Dropp i temperatur kl 0600 og 2230 skyldes bruk av dusj

    Temperaturføler i topp står i kontakt med vannet i tankens hull for termometer. Føler i bunn ligger inntil utsiden der termostat er. I den fasen i oppvarmingen der disse to følger hverandre så er forskjellen mellom dem 0,2-0,3 grader. Virker som at det er helt greit å måle på utsiden.
    Jeg startet prosjektet med å måle ved blandeventilen, men da ble det mye rare målinger, sannsynligvis fordi det også strømmer kaldt vann der. I ettertid ser jeg at jeg kunne klart meg med føler i bunn og kun beregnet topptemperatur.

  14. Her er min løsning på dette med å styre oppvarming av vann.
    Jeg har i alle fall lært en del av dette. Før jeg startet trodde jeg det ville være nok å måle temperatur i topp av tank, men ser den gir lite nyttig info. Jeg trodde temperaturen på vannet ville jevne seg ut når det var stillestående lenge nok, men ser at det motsatte er tilfellet. Stillestående vann leder varme dårlig og kaldt vann som kommer inn i bunn av tanken blir ikke varmet opp av det varme vannet i topp. Det kan fint være 30-40 grader forskjell på topp og bunn og dette opprettholdes over tid.
    Jeg så også at temperatur i topp fortsatte å synke i opp til en time etter at varme var påslått og det var da jeg virkelig begynnte å lure. Virker ikke styringen min? Er det ikke strøm på varmeelementet?
    Da monterte jeg en temperaturføler i bunn av tank og fikk et mye klarere bilde av hva som skjer.
    1. Temperatur i topp på min tank synker 0,5 grader i timen uavhengig av vannforbruk (med normalt forbruk)
    2. Temperatur i bunn synker raskt ned mot 35-45 grader selv med moderat forbruk
    Konklusjon er at det er vanskelig å vite status på vanntemperatur ut fra en føler i topp og bunn. Men jeg er endt opp med å ta snittet av disse to.

    Målet mitt var at vannet skal være ferdig oppvarmet til klokken 0400. Stort sett alltid er strøm billigst på natt og jeg har ingen annen kobling mot strømpris. Tanken tar 194 liter og det tar 404 sekund å varme den opp 1 grad. Med dette som utgangspunkt beregnes tidspunkt varmen må slås på for at det skal være varmt 0400. Strømmen slås av 0500. Denne ekstra timen er der i tilfelle tanken inneholder mer kaldt vann enn det jeg har antatt med å ta snitt av topp og bunn temperatur.

    Styringen blir gjort av en Sonoff TH16, men strøm til tank går via en kontaktor. Pinglereleet i TH16 stoler jeg ikke på. Kontaktoren er ikke lydløs så det er et minus. Kunne byttet den ut, men fruen klager ikke over smell på vaskerommet enda.
    På Sonoff har jeg lagt inn Esphome. Kode og bilder er nedenfor.

    Et kjekt lite prosjekt som ikke har kostet allverdens ?



     

    esphome:
      name: varmtvannstank
      platform: ESP8266
      board: esp01_1m
    
    wifi:
      ssid: "HEIME5.ORG"
      password: !secret heime_wifi
      domain: .lan
    
      # Enable fallback hotspot (captive portal) in case wifi connection fails
      #ap:
      #  ssid: "Varmtvannstank Fallback Hotspot"
      #  password: "okz8anWfZKFP"
    
    #captive_portal:
    
    # Enable logging
    logger:
    
    # Enable Home Assistant API
    api:
    
    ota:
    
    globals:
      - id: heating
        type: bool
        restore_value: no
        initial_value: 'false'
      
      - id: seconds
        type: int
        restore_value: no
        initial_value: '0'
    
    switch:
      - platform: gpio
        pin: 12
        id: varmtvannstank_varme
        name: "varmtvannstank_varme"
        restore_mode: ALWAYS_OFF
    
    dallas:
      - pin: GPIO14
    
    sensor:
      - platform: dallas
        address: 0xC5000008FABF3328
        id: varmtvannstank_topp_temperatur
        #name: "varmtvannstank_temperatur"
        filters:
        - sliding_window_moving_average:
            window_size: 5
            send_every: 5
      
      - platform: dallas
        address: 0xFA0319A2796AD628
        id: varmtvannstank_bunn_temperatur
        name: "varmtvannstank_bunn_temperatur"
        filters:
        - sliding_window_moving_average:
            window_size: 5
            send_every: 5
      
      - platform: template
        name: "Energibruk varmtvann"
        lambda: |-
          return id(seconds) / 1800.0;
        update_interval: 300s
        unit_of_measurement: "kWh"
    
    interval:
      - interval: 5min
        then:
        - if:
            condition:
              - lambda: !lambda |-
                  auto time_now = id(homeassistant_time).utcnow();
                  auto time_heat_end = time_now;
                  
                  id(seconds) = (77.0 - (id(varmtvannstank_topp_temperatur).state + id(varmtvannstank_bunn_temperatur).state) / 2.0) * 404.30769;
                  
                  if(id(seconds) < 0)
                    id(seconds) = 0;
                  else if(id(seconds) > 28800)
                    id(seconds) = 28800;
            
                  time_heat_end.hour = 4;
                  
                  if(time_heat_end.is_dst)
                  {
                    ESP_LOGD("main", "dst is on");
                    time_heat_end.hour = 3;
                  }
                  
                  time_heat_end.minute = 0;
                  time_heat_end.second = 0;
                  time_heat_end.recalc_timestamp_utc();
                  
                  if(id(heating) == true && time_now < time_heat_end)
                  {
                    ESP_LOGD("main", "t1");
                    return true;
                  }
              
                  if(time_now > time_heat_end)
                    time_heat_end = esphome::time::ESPTime::from_epoch_utc(time_heat_end.timestamp + 86400);
                
                  auto time_heat_start = esphome::time::ESPTime::from_epoch_utc(time_heat_end.timestamp - id(seconds) - 3600);
              
                  ESP_LOGD("main", "seconds=%d", id(seconds));
                  ESP_LOGD("main", "%d-%d-%d %d:%d:%d", time_heat_start.year, time_heat_start.month, time_heat_start.day_of_month, time_heat_start.hour, time_heat_start.minute, time_heat_start.second);
    
                  if(id(heating) == false && time_now > time_heat_start)
                  {
                    ESP_LOGD("main", "t2");
                    return true;
                  }
                  else
                  {
                    ESP_LOGD("main", "t3");
                    return false;
                  }
            then:
              - if:
                  condition:
                    - lambda: !lambda |-
                        if(id(heating) == false)
                        {
                          id(heating) = true;
                          
                          return true;
                        }
                        else
                          return false;
                  then:
                    - climate.control:
                        id: varmtvannstank
                        target_temperature_low: 79.0
                        target_temperature_high: 81.0
            else:
              - if:
                  condition:
                    - lambda: !lambda |-
                        if(id(heating) == true)
                        {
                          id(heating) = false;
                          
                          return true;
                        }
                        else
                          return false;
                  then:
                    - climate.control:
                        id: varmtvannstank
                        target_temperature_low: 60.0
                        target_temperature_high: 61.0
    
    time:
      - platform: homeassistant
        id: homeassistant_time
    
    climate:
      - platform: bang_bang
        id: varmtvannstank
        name: "varmtvannstank"
        sensor: varmtvannstank_topp_temperatur
        default_target_temperature_low: 60.0
        default_target_temperature_high: 61.0
        visual:
          min_temperature: 60.0
          max_temperature: 85.0
          temperature_step: 0.1
    
        heat_action:
          - switch.turn_on: varmtvannstank_varme
        idle_action:
          - switch.turn_off: varmtvannstank_varme



     

    Merknad 2019-12-03 064201.jpg

    Merknad 2019-12-03 064201b.jpg

    20191127_175254.jpg

    20191127_175340.jpg

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