thoralex Skrevet 11. februar 2023 Skrevet 11. februar 2023 Siden varmtvannsberederen i det nye huset viser seg å ha et defekt varmeelement og uansett er ganske gammel, så må jeg handle en ny. Det blir sannsynligvis en OSO saga S, 2kw 200l. OSO charge er skytjeneste og svindyr så det er uansett ikke aktuelt, men temperatursensoren til den ser jo snedig ut. Finnes det noe som kan kobles til disse sensorene og kommunisere med HA? Det sikkert er muligheter med ESB eller lignende, men det har jeg absolutt ingen erfaring med så en mer ferdig løsning hadde vert bedre. Bonus om det er zigbee eller kablet nett! Er åpen for andre forslag også, om noen har gode løsninger når jeg først skal bytte ut berederen. Siter
stuing Skrevet 20. september 2023 Skrevet 20. september 2023 (endret) Hei. Gjør et forsøk på å vekke opp igjen denne tråden. Synes du har en god ide! Kom du noe videre med hvordan man kan gjøre integrasjon med Oso Charge sensor? Jeg har også gammel tank som skal byttes ut. Har hatt sensor på "ut-røret" på denne, men vil jo bli mye mer nøyaktig å måle temperaturen i tanken. Andre som har innspill? Endret 20. september 2023 av stuing Siter
slippern Skrevet 20. september 2023 Skrevet 20. september 2023 Er ikke usannsynlig at sensoren kan kobles til en Fibaro Smart Implant. Siter
ArnsteinL Skrevet 20. september 2023 Skrevet 20. september 2023 Jeg ser ut til å få veldig gode målinger med DS18B20 vanntette sensorer plassert inntil stålet i tanken, innenfor isolasjonen. En i topp og en i bunn, så kan du velge å bruke et gjennomsnitt eller ikke. De koster kronestykker og havner rett inn i HA via ESPhome. enn kommer til i luken i bunn og propp i topp på oso berederen jeg har, som er et par år gammel og ser identisk ut som helt nye. Temperaturen ser iallefall til å treffe helt likt med termostaten i berederen. Siter
Magnus_B Skrevet 21. september 2023 Skrevet 21. september 2023 (endret) Jeg bruker OSO sensorstaven isammen med en esp32 for rapportering ev temp til HA. Det er tre sensorer i forskjellige høyder inne i staven. Mener data kommer ut på I2C, kan sjekke når jeg kommer hjem igjen. Endret 21. september 2023 av Magnus_B Siter
thoralex Skrevet 21. september 2023 Forfatter Skrevet 21. september 2023 Jeg kom ikke noe lenger med dette, har ikke hatt tid til å sette meg inn i esp'er og alt det der. Inntil videre laget jeg en sensor som detekterer når bryter er på men bereder ikke trekker strøm, da kan jeg se når den er varmet helt opp. Spent på å lese mer om Magnus sin løsning! Siter
Magnus_B Skrevet 21. september 2023 Skrevet 21. september 2023 Måtte ordne litt for og få dette til og virke, forsøkte og ringe oso for og muligens få ut noe informasjon om sensoren da det er fire kableler i ledningen. De var ikke særlig villige til og komme med noe info utover at jeg måtte kjøpe hele systemet. Så måtte greie meg selv, fant heller ikke noe på nettet. Etter litt arbeid greide jeg og peile meg inn på hvordan de har designet sensoren, og stikkordet her er MCP 9808. Tre stykker er montert inne i staven for 300l bereder, de er satt opp med hver sin adresse på I2C bussen. øvre sensor : adr 0X18 midtre sensor: adr 0X19 nedre sensor: adr 0X1A kabling: Rød = +5v Sort = GND Grønn =sDA Hvit = sCL kode esphome: 2 Siter
stuing Skrevet 22. september 2023 Skrevet 22. september 2023 Mange takk for at du deler Magnus! Har begynt å lese meg opp på ESP. 🙂 Siter
stuing Skrevet 9. oktober 2023 Skrevet 9. oktober 2023 Hei igjen. Ser forholdsvis greit ut å sette dette opp vha ESPHome, men har begynt å lure på hvor fordelaktig det er å få målt temperatur inne i tanken ift utenpå slik som @ArnsteinL beskriver. Får man glede av at temperatur måles på tre forskjellige punkter i staven eller viser de tre sensorene stort sett det samme? Siter
Magnus_B Skrevet 9. oktober 2023 Skrevet 9. oktober 2023 stuing skrev (15 minutter siden): Hei igjen. Ser forholdsvis greit ut å sette dette opp vha ESPHome, men har begynt å lure på hvor fordelaktig det er å få målt temperatur inne i tanken ift utenpå slik som @ArnsteinL beskriver. Får man glede av at temperatur måles på tre forskjellige punkter i staven eller viser de tre sensorene stort sett det samme? Det er nok en grunn til at produsent har valgt en såpass omfattende metode for måling av temperatur. Men du kommer nok i mål med sensor på utsiden av tanken også. Det er stor variasjon i målt temperatur i de tre forskjellige sonene. Så det kan for eksempel benyttes til og beregne hvor mye energi som er i tanken til enhver tid. Bilde viser de tre forskjellige sensorene det siste døgnet. Når det gjelder esp programmeringen, er det jo bare og kopiere koden jeg har lagt ut lenger oppe i tråden, eventuelt endre hvilken pins i2c bussen er på og navn som passer deg så bør det virke 🙂 Siter
stigvi Skrevet 1. november 2023 Skrevet 1. november 2023 Holder på å implementere OSO sin sensor for 200l tank og ser det er noen forskjeller i forhold til det som er oppgitt her. Kommer tilbake til det i løpet av uken. Men det jeg lurer på: Er det noen som vet hvor på denne sensorstaven de 3 sensorene er plassert. Jeg vil tro den ene er plassert lengst mulig ned i sensorstaven, men hvor er de 2 andre? Siter
Magnus_B Skrevet 1. november 2023 Skrevet 1. november 2023 stigvi skrev (1 time siden): Holder på å implementere OSO sin sensor for 200l tank og ser det er noen forskjeller i forhold til det som er oppgitt her. Kommer tilbake til det i løpet av uken. Men det jeg lurer på: Er det noen som vet hvor på denne sensorstaven de 3 sensorene er plassert. Jeg vil tro den ene er plassert lengst mulig ned i sensorstaven, men hvor er de 2 andre? Interessant og se hva forskjellen på 200l varianten er. Den nederste sensoren er nesten helt i bunn av røret, den øverste er ca 20cm fra toppen og den midterste er ca midt mellom disse to på 300l varianten :) Siter
stigvi Skrevet 2. november 2023 Skrevet 2. november 2023 (endret) Den ene endringen har ikke noe med sensoren å gjøre. Jeg bruker en esp8266 og den klarer ikke 400kHz avlesningsfrekvens. Så jeg endte opp med standardverdien på 50kHz. For selve sensoren bruker de andre adresser: Topp er 0x1D Senter er 0x1E Bunn er 0x1F (Dette er altså for min 200l OSO sensor) Jeg har laget mitt system slik at jeg setter temperaturen til 50 grader i de periodene jeg vil spare strøm, men samtidig ikke ha lavere temperatur enn at det går å dusje. Så setter jeg temperaturen til 67 eller 80 grader når strømmen er billig og avhengig av om det er hverdag eller helg. Den nedre sensoren har lav prioritet så hvis den kommer under settpunkt, så varmes vannet med lav effekt. Den midterste sensoren har høyere prioritet og vannet varmes med litt høyere effekt. Og til sist, den øverste sensoren har så høy prioritet at effekten er 2kW dersom temperaturen har falt 1 grad under settpunkt. substitutions: devicename: Varmtvannstank esphome: compile_process_limit: 1 name: varmtvannstank on_boot: - priority: -100 then: - delay: 30s - homeassistant.event: event: esphome.boot data: message: "${devicename} Started" esp8266: board: esp01_1m restore_from_flash: false wifi: ssid: "HEIME5.ORG" password: !secret heime_wifi domain: .lan #captive_portal: # Enable logging logger: # Enable Home Assistant API api: reboot_timeout: 24h ota: script: - id: set_output mode: single then: - output.set_level: id: pwm_output level: !lambda |- double diff_t = id(temperatur_varmtvannsbereder).state - id(varmtvannstank_topp_temperatur).state; double diff_c = id(temperatur_varmtvannsbereder).state - id(varmtvannstank_senter_temperatur).state; double diff_b = id(temperatur_varmtvannsbereder).state - id(varmtvannstank_bunn_temperatur).state; double v_t = diff_t + 0.00135 * id(temperatur_varmtvannsbereder).state - 0.03839286; double v_c = diff_c / 20 + 0.00135 * id(temperatur_varmtvannsbereder).state - 0.03839286; double v_b = diff_b / 200 + 0.00135 * id(temperatur_varmtvannsbereder).state - 0.03839286; double v = min((id(effekt)/100.0), max(max(v_t, 0.0), max(v_c, v_b))); id(power).publish_state(v * 2.0); return v; globals: - id: last_value_from_ha type: int initial_value: '0' - id: effekt type: float restore_value: no initial_value: '100.0' number: - platform: template max_value: 100.0 min_value: 0.0 step: 0.1 id: effekt_varmtvannsbereder name: effekt_varmtvannsbereder unit_of_measurement: '%' initial_value: 100 optimistic: true set_action: then: - lambda: |- id(effekt) = x; - script.execute: set_output - platform: template max_value: 80.0 min_value: 5.0 step: 5 id: temperatur_varmtvannsbereder name: temperatur_varmtvannsbereder unit_of_measurement: '°C' initial_value: 60 optimistic: true i2c: sda: GPIO14 scl: GPIO4 scan: true status_led: pin: number: GPIO13 inverted: yes output: - platform: sigma_delta_output pin: 12 update_interval: 2.5s id: pwm_output state_change_action: - lambda: |- id(internalpower).publish_state(state ? 2.0 : 0.0); id(internalcost).publish_state(state ? 2.0 * id(current_energy_price).state : 0.0); sensor: - platform: homeassistant id: current_energy_price entity_id: sensor.nordpool - platform: wifi_signal name: "${devicename} WiFi Signal" update_interval: 300s - platform: mcp9808 id: varmtvannstank_topp_temperatur name: "${devicename}_topp_temperatur" address: 0x1D on_value: then: - script.execute: set_output - platform: mcp9808 id: varmtvannstank_senter_temperatur name: "${devicename}_senter_temperatur" address: 0x1E on_value: then: - script.execute: set_output - platform: mcp9808 id: varmtvannstank_bunn_temperatur name: "${devicename}_bunn_temperatur" address: 0x1F on_value: then: - script.execute: set_output - platform: total_daily_energy name: "VVB Total Daily Energy" power_id: power restore: false method: left accuracy_decimals: 2 filters: - throttle: 60s - platform: integration name: "VVB Total Daily Cost" id: vvb_total_daily_cost sensor: internalcost state_class: "total_increasing" time_unit: h unit_of_measurement: "NOK" restore: false integration_method: left accuracy_decimals: 2 filters: - throttle: 60s - platform: template id: power name: "Effekt varmtvann" unit_of_measurement: "kW" icon: "mdi:power-plug" accuracy_decimals: 3 - platform: template id: internalpower unit_of_measurement: "kW" update_interval: 1s accuracy_decimals: 3 internal: true - platform: template id: internalcost unit_of_measurement: "NOK" update_interval: 1s accuracy_decimals: 6 internal: true 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: - number.set: id: temperatur_varmtvannsbereder value: 60 time: - platform: homeassistant id: homeassistant_time timezone: "Europe/Oslo" on_time: - seconds: 0 minutes: 0 hours: 0 then: - sensor.integration.reset: vvb_total_daily_cost 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; binary_sensor: - platform: status name: "${devicename} Esp Status" Endret 2. november 2023 av stigvi Siter
stigvi Skrevet 2. november 2023 Skrevet 2. november 2023 Bare som en kommentar til formelen double v_t = diff_t + 0.00135 * id(temperatur_varmtvannsbereder).state - 0.03839286; For et par år siden målte jeg varmetapet i fra tanken ved forskjellige temperaturer. Og det er dette som er grunnlaget for formlene. Hvis jeg stiller inn settpunkt på 70 grader så får jeg altså nøyaktig den effekten som skal til for å holde temperaturen der hvis en ikke tapper varmtvann. Siter
stigvi Skrevet 2. november 2023 Skrevet 2. november 2023 Ser også at det er en del støy i fra mcp9808 så et filter hjelper en del på det, hvis en vil begrense datamengden som logges i HA - platform: mcp9808 id: varmtvannstank_topp_temperatur name: "${devicename}_topp_temperatur" address: 0x1D filters: - min: window_size: 3 send_every: 1 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.