stigvi
Medlemmer-
Innlegg
2 751 -
Ble med
-
Besøkte siden sist
-
Dager vunnet
155
Innholdstype
Profiler
Forum
Blogger
Nedlastninger
Artikler
Regler
Hendelser
Galleri
Store
Alt skrevet av stigvi
-
Heng opp ballen slik at den berører frontruta rett foran nesetippen. Det er synlig og nøyaktig.
-
Må vel egentlig innrømme at jeg ikke forstår hva du spør om....... Edit: Esphome gir mange muligheter. Jeg bruker ikke mine til lys, men til håndkletørker, terrassevarmer, varmtvannsbereder, hovedvannkrane, garasjeport, overvåkningskamera, co2 målere. (Ikke alle disse er på Shelly1, men det kunne de forsåvidt vært) ESPHome — ESPHome
-
Shelly tilbyr noe jeg ikke finner i noen zigbee eller zwave "puck'er" - nemlig at du kan legge inn egen programvare. Jeg har mange Shelly 1 i huset og alle med esphome og dermed egen kode som gjør de mer eller mindre selvgående.
-
En liten justering slik at skille mellom historiske priser og fremtidige priser flytter seg mot høyre time for time. type: 'custom:apexcharts-card' series: - entity: sensor.nordpool name: Pris type: column curve: stepline extend_to_end: false float_precision: 3 stroke_width: 2 opacity: 0.2 color: 'rgb(255,111,0)' - entity: sensor.nordpool name: Pris type: column curve: stepline extend_to_end: false float_precision: 3 stroke_width: 2 opacity: 0.2 color: 'rgb(2,93,136)' data_generator: | return entity.attributes.raw_today.map((p) => { return [new Date(p.start), (new Date() > new Date(p.start)) ? null : p.value]; }); - entity: sensor.nordpool name: Pris type: column curve: stepline extend_to_end: false color: 'rgb(2,93,136)' float_precision: 3 stroke_width: 2 opacity: 0.2 data_generator: | return entity.attributes.raw_tomorrow.map((p) => { return [new Date(p.start), p.value]; }); y_axis_precision: 3 now: show: true graph_span: 3d span: start: day offset: '-1d' locale: nb apex_config: chart: height: 300px zoom: enabled: true toolbar: show: true tools: zoom: true zoomin: false zoomout: false pan: false reset: true legend: show: false dataLabels: enabled: false xaxis: type: datetime labels: datetimeFormatter: month: ddd day: ddd tooltip: fixed: enabled: true position: bottomLeft
- 348 svar
-
- 5
-
Hjelp meg med valg av oppsett ! (Helt fersk)
stigvi svarte på Fredrikstli sitt spørsmål i Nybegynner
Du kan jo kikke litt her og se om dette hjelper deg. Integrations - Home Assistant (home-assistant.io) -
Tja. Nå vet jo i prinsippet ikke Home Assistant hvordan noe som helst ser ut. Den genererer html sammen med javascript og så er det nettleseren som rendrer dette til noe visuelt. Så du bør se på muligheter i motsatt ende og om den (homeseer) kan rendre til et bilde istedenfor til skjerm.
-
Ja, et input_number felt der jeg legger inn prisen i øre. 0,00764 er el-sertifikat som også kommer i tillegg til nettleie og nordpool-pris.
-
Og da kan jeg vel slenge på at de beste pærene er smarte 😉 Men har trådstarter allerede kjøpt dimmer så gjelder det å finne noen pærer som er kompatible. Osram sine ville jeg prøvd.......
-
PS. Versjon 003 av Nordpool sensoren kom i går kveld så nå er det mulig å legge inn slikt som nettleie i prisene. Det er et eksempel på git. Jeg har gjort det som dette: additional_costs: "{{ states('input_number.pris_pr_kwh_kleppenergi')|float / 100 + 0.00764 }}"
-
esphome: name: varmtvannstank platform: ESP8266 board: esp01_1m wifi: ssid: "HEIME5.ORG" password: !secret heime_wifi domain: .lan #use_address: 10.0.0.46 # 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: reboot_timeout: 24h ota: globals: - id: state_automode type: bool restore_value: no initial_value: 'false' - id: heating type: bool restore_value: no initial_value: 'false' - id: heating_has_started type: bool restore_value: no initial_value: 'false' - id: low_temp type: bool restore_value: no initial_value: 'false' - id: seconds type: int restore_value: no initial_value: '0' - id: heating_time type: int restore_value: no initial_value: '0' - id: heating_totaltime type: int restore_value: no initial_value: '0' - id: heating_start type: int restore_value: no initial_value: '0' - id: last_temp type: float restore_value: no initial_value: '0.0' - id: last_value_from_ha type: int initial_value: '0' switch: - platform: gpio pin: 12 id: varmtvannstank_varme name: "varmtvannstank_varme" restore_mode: ALWAYS_OFF icon: "mdi:water-boiler" on_turn_on: - lambda: !lambda |- id(heating_time) = 0; id(heating_start) = id(homeassistant_time).utcnow().timestamp; id(heating) = true; on_turn_off: - lambda: !lambda 'id(heating) = false;' - sensor.template.publish: id: energy state: !lambda |- id(heating_totaltime) += id(heating_time); return id(heating_totaltime) / 1800.0; - platform: template name: "varmtvannstank_varmeautomatikk" id: automode icon: "mdi:water-boiler" lambda: |- return id(state_automode); turn_on_action: - globals.set: id: state_automode value: 'true' turn_off_action: - globals.set: id: state_automode value: 'false' dallas: - pin: GPIO14 status_led: pin: number: GPIO13 inverted: yes sensor: - platform: dallas address: 0xC5000008FABF3328 id: varmtvannstank_topp_temperatur name: "varmtvannstank_topp_temperatur" filters: - sliding_window_moving_average: window_size: 5 send_every: 5 on_value: then: - lambda: !lambda |- if(x < 64 && id(state_automode) == true) { id(varmtvannstank_varme).turn_on(); id(low_temp) = true; } if(x > 66) id(low_temp) = false; - platform: dallas address: 0xFA0319A2796AD628 id: varmtvannstank_bunn_temperatur name: "varmtvannstank_bunn_temperatur" filters: - sliding_window_moving_average: window_size: 5 send_every: 5 on_value: then: - lambda: !lambda |- if(x >= id(last_temp) + 0.35) id(heating_time) = id(homeassistant_time).utcnow().timestamp - id(heating_start) + 150; id(last_temp) = x; - platform: template id: energy name: "Energibruk varmtvann" unit_of_measurement: "kWh" icon: "mdi:power-plug" binary_sensor: - platform: homeassistant id: pris1 entity_id: binary_sensor.billigste_timer_1_1 - platform: homeassistant id: pris2 entity_id: binary_sensor.billigste_timer_1_2 - platform: homeassistant id: pris3 entity_id: binary_sensor.billigste_timer_1_3 - platform: homeassistant id: pris4 entity_id: binary_sensor.billigste_timer_1_4 - platform: homeassistant id: pris5 entity_id: binary_sensor.billigste_timer_1_5 - platform: homeassistant id: pris6 entity_id: binary_sensor.billigste_timer_1_6 interval: - interval: 4h then: - if: condition: - lambda: !lambda |- auto time_now = id(homeassistant_time).utcnow(); if(time_now.timestamp - id(last_value_from_ha) > 600) return true; return false; then: - switch.turn_on: automode - interval: 1min then: - if: condition: - lambda: !lambda |- if(id(heating_has_started) == false) id(seconds) = (90.0 - (id(varmtvannstank_topp_temperatur).state*0.6 + id(varmtvannstank_bunn_temperatur).state*0.4)) * 404.30769; if(id(pris1).state) { ESP_LOGD("main", "Setter i gang oppvarming for pris 1"); return true; } else if(id(pris2).state && id(seconds) > 3600) { ESP_LOGD("main", "Setter i gang oppvarming for pris 2"); return true; } else if(id(pris3).state && id(seconds) > 2*3600) { ESP_LOGD("main", "Setter i gang oppvarming for pris 3"); return true; } else if(id(pris4).state && id(seconds) > 3*3600) { ESP_LOGD("main", "Setter i gang oppvarming for pris 4"); return true; } else if(id(pris5).state && id(seconds) > 4*3600) { ESP_LOGD("main", "Setter i gang oppvarming for pris 5"); return true; } else if(id(pris6).state && id(seconds) > 5*3600) { ESP_LOGD("main", "Setter i gang oppvarming for pris 6"); return true; } else { ESP_LOGD("main", "I ventefase. Oppvarmingstid er %d sekunder", id(seconds)); return false; } then: - if: condition: - lambda: !lambda |- id(heating_has_started) = true; if(id(heating) == false && id(state_automode) == true) return true; else return false; then: - switch.turn_on: varmtvannstank_varme else: - if: condition: - lambda: !lambda |- if(id(heating) == true && id(state_automode) == true && id(low_temp) == false) return true; else return false; then: - switch.turn_off: varmtvannstank_varme time: - platform: homeassistant id: homeassistant_time timezone: "Europe/Oslo" on_time: - seconds: 0 minutes: 0 hours: 0 then: - lambda: !lambda |- id(heating_totaltime) = 0; id(heating_has_started) = false; text_sensor: - platform: homeassistant id: watchdog entity_id: sensor.time on_value: then: - lambda: !lambda |- auto time_now = id(homeassistant_time).utcnow(); id(last_value_from_ha) = time_now.timestamp;
- 348 svar
-
- 4
-
Jeg tar med nettleie og prisen er aldri under den som er 38 øre I løpet av dette døgnet. Ene og alene fordi jeg ikke vil at gulvvarmen skal stå av i for lange perioder om gangen. Ofte er det en topp på morgen og en annen på kveld og da ender det gjerne med at gulvvarme er av i 3 timer i de toppene selv om prisen kanskje er over 115% i fire timer i strekk. Dette skjer ytterst sjelden. Husk at det er 200% over dagens snitt. Da må det nødvendigvis være kortvarig for ellers dras snittet opp. Det har bare skjedd i en time så langt i år.
-
All styring ligger i esp32. Der er det også logikk som sjekker at den faktisk har kontakt med HA og også at temperatur er over et minimum hvis nordpool prisene svikter.
- 348 svar
-
- 1
-
Slikt holder jeg meg langt unna. Ovnene mine er Nobø som har integrert styring. Føles mange hakk tryggere
-
Når det gjelder VVB så styres den av en esp32 med esphome. Den måler temperatur i topp og i bunn og beregner oppvarmingstid. Og så får den de billigste timene fra HA (som kommer fra Nordpool) og slår på varme kun i de timene. Varme i gulv: Disse står normalt på hele tiden, men blir pris (inkludert nettleie) større enn 115% av dagens snitt samtidig som en er i en av de 6 dyreste timene, så går varme i gulv i eco. Går prisen over 140% så settes gulvvarme i eco uavhengig av tid. Og til slutt, går prisen over 200% så settes varme i gulv helt av. For panelovner i stue så settes temperatur ned hvis prisen går over 200%. For prisnivå som er 115% og 140% så må det være noen andre betingelser i tillegg før varmen settes ned. Som regel ønsker en å beholde komforttemperatur i stue. Panelovn i bod og garasje slås av så snart prisen passerer 115% Edit: i praksis bruker jeg Nordpool sine fremtidige priser kun til å styre VVB. Nå har jeg en hybridbil og den lades så snart den plugges i kontakten. Strøm er billigere enn bensin så det er 1. prioritet å lade den opp med en gang. Byttes den ut i en elbil så blir det nok endret til å kun lade i de billigste timene.
- 348 svar
-
- 1
-
Dagens lille tips: I hacs er det et tema som heter uglychristmas. Stygt og fælt er det også. Men det har knall røde kort og de tenkte jeg kan brukes til å vise alarmer. Jeg har et filter entity kort som kun viser alarmer fra ventilasjonen og nå med å sette tema kun på dette kortet så er de med rød bakgrunn.
-
Men spørs om en liten gjeng som oss betyr noe i den store sammenhengen. Når hvermansen skal styre VVB for å spare 200-500 kroner pr år så må selve installasjonen bli mye billigere enn den er i dag. Egentlig bør det komme innebygd i tanken uten tillegg i prisen.
-
Koden for den har blitt oppdatert flere ganger etterhvert som utviklingen på apexcard har gått videre. Sånn ser det ut nå. Prisene her er inkl nettleie og det er fordi jeg bruker en nordpool sensor som ligger i "master" i git. Antar det ikke går mange dager før @hellowlol slipper en ny versjon 0.0.3 med støtte for å legge inn nettleie. type: 'custom:apexcharts-card' series: - entity: sensor.nordpool name: Pris type: area curve: stepline extend_to_end: false float_precision: 3 stroke_width: 2 opacity: 0.2 - entity: sensor.nordpool name: Pris type: area curve: stepline extend_to_end: false float_precision: 3 stroke_width: 2 opacity: 0.2 data_generator: | return entity.attributes.raw_today.map((p) => { return [new Date(p.start), p.value]; }); - entity: sensor.nordpool name: Pris type: area curve: stepline extend_to_end: false float_precision: 3 stroke_width: 2 opacity: 0.2 data_generator: | return entity.attributes.raw_tomorrow.map((p) => { return [new Date(p.start), p.value]; }); y_axis_precision: 3 now: show: true graph_span: 3d span: start: day offset: '-1d' locale: nb apex_config: chart: height: 300px zoom: enabled: true toolbar: show: true tools: zoom: true zoomin: false zoomout: false pan: false reset: true legend: show: false dataLabels: enabled: false yaxis: min: 0 xaxis: type: datetime labels: datetimeFormatter: month: ddd day: ddd tooltip: fixed: enabled: true position: bottomLeft
- 348 svar
-
- 1
-
Custom components er jo lite tilgivende for feil så da antar jeg du utvikler og tester på en annen maskin enn den du bruker til å styre hjemmet? Fordelen med appdaemon sånn sett er at den kjører koden greit isolert i fra Home Assistant så det er lite som kan gå galt. Litt usikker på hvordan pyscript gjør det. Den er i utgangspunktet interpreterende og sånn sett burde den være trygg, men samtidig kan den kompilere kode også og litt usikker på om feil i den egenlagde koden kan i verste fall ta ned HA.
-
The HomeKit Bridge integration allows you to make your Home Assistant entities available in Apple HomeKit, so they can be controlled from Apple’s Home app and Siri. HomeKit - Home Assistant (home-assistant.io)
-
Jeg tror nok de fleste systemer baserer seg på hendelser. Det er mye lettere å forholde seg til og er mer fleksibelt når det er sånn. Hva om du lager et event som setter den til på mellom 22 og 04 på hverdager og et annet event som setter den på mellom 23 og 08 i helger. Hva blir da premissen for at det skal være av? Det er kanskje lett for deg å se det, men for en stokk dum datamaskin er slikt vanskelig fordi den ser ikke slike løse koblinger som at samme knapp styres i fra to uavhengige regler. Og blir det mange nok regler så mister vi mennesker kontrollen på det også. At alt styres kun ved hjelp av hendelser er mye lettere å forholde seg til.
- 73 svar
-
- 1
-
I flg dette eksempelet, August - Home Assistant (home-assistant.io) , så skal du få info om hvem som låser opp
-
Som avhenger om jeg kjøper en slik sak så du har en viktig oppgave foran deg 😄
- 150 svar
-
- 3
-
La inn 'master' og testet litt og det ser bra ut. Min mal er ganske rett fram med en input_number. ( additional_costs: "{{ states('input_number.pris_pr_kwh_kleppenergi')|float / 100 + 0.0083 }}" ) Kurven gjorde som forventet et lite hopp
- 348 svar
-
- 1
-
Sånn som dette er jo en mulighet? {% set s = { "hourly_fixed_cost": 0.5352, "winter_night": 0.265, "winter_day": 0.465, "summer_day": 0.284, "summer_night": 0.246, "cert": 0.01 } %} {% if now().month >= 5 and now().month <11 %} {%set p1 = s.summer_day+s.hourly_fixed_cost+s.cert%}} {%set p2 = s.night+s.hourly_fixed_cost+s.cert%} {% else %} {%set p1 = s.winter_day+s.hourly_fixed_cost+s.cert%} {%set p2 = s.winter_night+s.hourly_fixed_cost+s.cert%} {% endif %} {% set t = [p2,p2,p2,p2,p2,p2,p1,p1,p1,p1,p1,p1,p1,p1,p1,p1,p1,p1,p1,p1,p1,p1,p1,p2] %} {{ t }}
- 348 svar
-
- 1