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

Mini-guide: Hvordan bruke Modbus (med HomeSeer)


Moskus

Anbefalte innlegg

Verdier fra aggregatet for temperatur kommer ut 100x høyere enn det jeg er interessert i. Altså er settpunkt 22 lagret som 2200.

 

Dette er jo løsbart med Multiplier i Madbus plugin, men jeg er usikker på hvordan jeg samtidig kan styre den? Virker ikke som om plugin også multipliserer opp verdier som kommer fra HS? Jeg fikk i alle fall ikke til å endre settpunkt til "20" når multiplier var 0,01. Det fungerte derimot å endre settpunkt ved å sette verdien til "2000".

Lenke til kommentar
Del på andre sider

@Fredrick

Skrev dette lenger bak i tråden. Multiplier er bare grafisk fremstilling. Når du skriver verdier til aggregatet, skriv de verdiene aggregatet vil ha. Multiplier innvirker ikke på verdier du skriver til aggregatet.

 

 

På 13.11.2019 den 14.16, MrE skrev:

Hei!

 

Ser det er noen som ikke får til å sette temperatur på tilluft. Hvis dere skriver til aggregatet, må dere bruke original verdiene. Multiplieren som settes til 0,1 er bare en "display modifier". Når dere skriver "18" til aggregatet, skjønner det ingenting, for det vil ha verdier mellom 120-300.

 

Dere må enten skrive verdi med 120-300 (180 for temperatur 18), eller lage knappeoppsett slik jeg gjorde det.

 

image.thumb.png.7b81da7b7c0931c9f6af5ccebb0baa08.png

 

image.png.f01e55404de2e782182e945d51ce9ef5.png

 

 

 

 

 

  • Like 1
Lenke til kommentar
Del på andre sider

20 timer siden, Fredrick skrev:

Med scanneren finner jeg ut at en del verdier er forskjøvet med 1 adresse fra manualen, men det er håndterbart.

 

Du leste altså ikke mitt innlegg i tråden en stund tilbake ..........

Lenke til kommentar
Del på andre sider

On 25/02/2020 at 11:11, stigvi said:

Nå kjenner jeg ikke til systemair sin måte å adressere registre på, men hvis de beskriver at noe er på register adresse 40001 så betyr det gjerne holding register 0 i home assistant. Eller register 30005 som er input register 4 i Home Assistant

PS. Dette er med et stort forbehold om feil. Adressene er kun brukt som eksempler på at det finnes mer enn 1 måte å navngi på. Hvordan gjør systemair det?

 

Denne du tenker på? 

 

I så fall er svaret ja jeg har lest den, men den ga dessverre ikke så mye mening for meg når jeg leste den. 

 

Forskyvningen er for mitt vedkommende motsatt vei. Adresse 202 i dokumentasjonen er i praksis 203 når jeg legger til enheten i Homeseer.

Lenke til kommentar
Del på andre sider

Noen andre her som bruker anlegget til noe mer enn å bare lese av verdier og sette modus?

Jeg har nå begynt å teste behovstyring av VSR-500.

Så lang har jeg fått til dette:

  • Leser av verdier jeg er interresert i, for øyeblikket RPM, Trykk, %, Modus
  • Skriver ønsket trykk til aggregatet, dette kommer fra logikk som overvåker spjeld. Er ett eller flere spjeld mer enn 90% økes trykket. Er alle under 70% senkes det. Trykket senkes mer eller mindre avhengig av distansen fra 80%. Trykk på tilluft og avtrekk justeres hver for seg, alt etter behov. Målet er å kjøre viftene på lavest mulig turtall og la spjeld stå mest mulig åpen. Dette gir lav/ingen støy. Spjeldene er linket mot co2/fuktighetsensor i noen rom mens i andre settes luftmengde manuellt. Jeg kan innføre mengdejustering basert på klokke også der jeg ikke har sensor, men har ikke gjort det foreløpig.
  • Jeg har kun fått til å skrive trykk til en modus, kan selvsagt skrive til alle modus men har valgt å skrive til normal-modus. Det går også an å aktivere override å sette trykket der, eller å sette modus til normal innimellom. Det skal i utgangspunktet ikke være behov for å sette moduser eller betjene panelet i det hele tatt. Men skriver jeg kun til normalmodus har jeg mulighet for å overkjøre dette ved feil.
  • Ser for meg flere interresante muligheter, for eksempel at tillufttemp blir en slave av innstillt romtemperatur, antakelig fra soverommet.
  • VSR-500 håndterer varmegjenvinning fint selv, det samme med luftfuktighet. Tilleggsvarme (vbv) ønsker jeg ikke at VSR skal styre siden jeg vil forskjellige temperaturer på forkjellige uttak.
  • Jeg har også planer om å sette varme og kjøling i kanalene til stue og to soverom, dette for å kunne differensiere temp i stue og soverom, samt å hindre at temperatur øker på varme dager.

Hadde vert morro om flere tok i bruk funksjonaliteten i modbus, behovstyring, justering av temp osv. Eller bare lansere ideer rundt ventilasjon. Jeg har svært lite kunnskaper om ventilasjon annet enn det jeg har lest meg opp på siste året.

  • Like 2
Lenke til kommentar
Del på andre sider

8 timer siden, bergen77 skrev:

Hadde vert morro om flere tok i bruk funksjonaliteten i modbus, behovstyring, justering av temp osv. Eller bare lansere ideer rundt ventilasjon. Jeg har svært lite kunnskaper om ventilasjon annet enn det jeg har lest meg opp på siste året.

Utgangspunktet er jo at systemet i utgangspunktet ikke behøver så mye justering. Vi har trykkvakt på ventilatoren, og bruker smarthuset til å forsere når det er høy fuktighet på bad.

Kunne for så vidt tenke meg en smartere justering av temperatur, men jeg må slåss litt med modbus-plugin'en først.

 

Men så mye mer enn er det vel en diskusjon om faktisk er nødvendig.

Lenke til kommentar
Del på andre sider

11 timer siden, bergen77 skrev:

Eller bare lansere ideer rundt ventilasjon


Jeg styrer varme og viftehastighet på mitt anlegg ut i fra feriestatus, hjemmestatus, innstilt temperatur på varme i hus, co2 nivå osv. Som vanlig synes jeg at det å definere logikk som skal styre dette er alt for lite fleksibelt i forhold til endringer at jeg har gjort det samme som for mye annet, nemlig lagd noen bayesiske sensorer som gjør jobben. Og så er det noen appdaemon kode for å sette anlegget i forskjellige tilstander. Alt for Home Assistant. Jeg har limt inn min konfigurasjon nedenfor og satser på at den er selvforklarende nok til i det minste å gi noen tips.

 

    - platform: bayesian
      name: 'Ventilasjon varme'
      prior: 0.35
      probability_threshold: 0.5
      observations:
        - entity_id: input_boolean.travel_enabled
          prob_given_true: 0.001
          platform: 'state'
          to_state: 'on'
        - entity_id: binary_sensor.noen_er_hjemme
          prob_given_true: 0.7
          platform: 'state'
          to_state: 'on'
        - entity_id: input_boolean.sleeptime
          prob_given_true: 0.32
          platform: 'state'
          to_state: 'on'
        - entity_id: binary_sensor.preheat_day
          prob_given_true: 0.66
          platform: 'state'
          to_state: 'on'
        - entity_id: binary_sensor.heatlimit_morning
          prob_given_true: 0.4
          platform: 'state'
          to_state: 'on'
        - entity_id: input_boolean.soonhome
          prob_given_true: 0.66
          platform: 'state'
          to_state: 'on'
        - entity_id: timer.ventilation_boost
          prob_given_true: 0.91
          platform: 'state'
          to_state: 'active'
        - prob_given_true: 0.66
          platform: 'template'
          value_template: >-
            {{ states('binary_sensor.preheat_night') == 'on' and states('input_boolean.home_office') == 'on' }}
    
    - platform: bayesian
      name: 'Ventilasjon luft'
      prior: 0.15
      probability_threshold: 0.25
      observations:
        - entity_id: input_boolean.travel_enabled
          prob_given_true: 0.001
          platform: 'state'
          to_state: 'on'
        - entity_id: binary_sensor.noen_er_hjemme
          prob_given_true: 0.7
          platform: 'state'
          to_state: 'on'
        - entity_id: sensor.stue_co2_value
          platform: 'numeric_state'
          prob_given_true: 0.75
          above: 1000
        - entity_id: sensor.stue_co2_value
          platform: 'numeric_state'
          prob_given_true: 0.75
          above: 1500
        - entity_id: timer.ventilation_boost
          prob_given_true: 0.86
          platform: 'state'
          to_state: 'active'
class VentilationAir(hass.Hass):
    def initialize(self):
        self.listen_state(self.new_state, self.args["input"], duration = self.args["delay"])
    
    def new_state(self, entity, attribute, old, new, kwargs):
        if float(new) < 25.0:
            self.turn_on("switch.heru_away_mode")
            self.turn_off("switch.heru_boost_mode")
            self.log('Ventilasjon luft settes til borte')
        elif float(new) >= 25.0 and float(new) < 50.0:
            self.turn_off("switch.heru_away_mode")
            self.turn_off("switch.heru_boost_mode")
            self.log('Ventilasjon luft settes til normal')
        elif float(new) >= 50.0 and float(new) < 75.0:
            self.turn_off("switch.heru_away_mode")
            self.turn_on("switch.heru_boost_mode")
            self.turn_off("switch.heru_boost_speed")
            self.log('Ventilasjon luft settes til boost 1')
        else:
            self.turn_off("switch.heru_away_mode")
            self.turn_on("switch.heru_boost_mode")
            self.turn_on("switch.heru_boost_speed")
            self.log('Ventilasjon luft settes til boost 2')



class VentilationHeat(hass.Hass):
    def initialize(self):
        self.listen_state(self.new_state, self.args["input"], duration = self.args["delay"])
        self.listen_state(self.boost, "binary_sensor.preheat_day", new = "on", old = "off")
    
    def new_state(self, entity, attribute, old, new, kwargs):
        if float(new) < 10.0:
            self.call_service("mqtt/publish", payload = "15", topic = "ventilasjon/sensor/temperature_setpoint/set")
            self.turn_off("switch.heru_electric_heater_connected")
            self.log('Ventilasjon varme settes til borte')
        elif float(new) >= 10.0 and float(new) < 50.0:
            t = int(self.get_state(self.args["setpoint"], attribute="target_temp_low")) - 2
            self.call_service("mqtt/publish", payload = t, topic = "ventilasjon/sensor/temperature_setpoint/set")
            self.turn_on("switch.heru_electric_heater_connected")
            self.log('Ventilasjon varme settes til eco')
        elif float(new) >= 50.0 and float(new) < 90.0:
            t = int(self.get_state(self.args["setpoint"], attribute="target_temp_high")) - 2
            self.call_service("mqtt/publish", payload = t, topic = "ventilasjon/sensor/temperature_setpoint/set")
            self.turn_on("switch.heru_electric_heater_connected")
            self.log('Ventilasjon varme settes til normal')
        else:
            self.call_service("mqtt/publish", payload = "30", topic = "ventilasjon/sensor/temperature_setpoint/set")
            self.turn_on("switch.heru_electric_heater_connected")
            self.log('Ventilasjon varme settes til boost')
    
    def boost(self, entity, attribute, old, new, kwargs):
        if float(self.get_state("sensor.stue_temperature")) < float(self.get_state(self.args["setpoint"], attribute="target_temp_low")) - 0.2:
            self.call_service("timer/start", entity_id = "timer.ventilation_boost", duration = "3:00:00")

 

  • Thanks 1
Lenke til kommentar
Del på andre sider

Trykkvakt i ventilator er ikke dumt. Men hos meg vil jeg heller ha måling av luftmengde i ventilator slik at jeg kan kompensere med tilsvarende mer tilluft. Jeg har ikke brukt for forsering da luftmengde økes etterhvert som behovet stiger. Co2 blir ikke mye høyere enn innstilte 700ppm. Eksempelvis varierer luftmengden på ett soverom fra 0m3/t til 30m3/t gjennol døgnet. Jeg setter disse yttergrensene selv. Viftene kompenserer for økt luftmengde (fallende trykk), er ikke trykket høyt nok til å oppnå ønsket luftmengde økes trykket i rørene.

Lenke til kommentar
Del på andre sider

14 hours ago, bergen77 said:

Trykkvakt i ventilator er ikke dumt. Men hos meg vil jeg heller ha måling av luftmengde i ventilator slik at jeg kan kompensere med tilsvarende mer tilluft. Jeg har ikke brukt for forsering da luftmengde økes etterhvert som behovet stiger. Co2 blir ikke mye høyere enn innstilte 700ppm. Eksempelvis varierer luftmengden på ett soverom fra 0m3/t til 30m3/t gjennol døgnet. Jeg setter disse yttergrensene selv. Viftene kompenserer for økt luftmengde (fallende trykk), er ikke trykket høyt nok til å oppnå ønsket luftmengde økes trykket i rørene.

 

Høres ut som om du har et vesentlig mer avansert system enn de fleste av oss på bolig-siden i alle fall. Tror ikke det er så mange som har spjeld strødd rundt i kanalnettet, eller mulighet for å legge til kjøling/varme for enkeltrom uten at det koster ganske mye mer enn det smaker. Jeg kan ta feil :)

 

For egen del har jeg også trykkvakt i ventilatoren, men slåss en del med aggregatet når jeg styrer det og kan ikke helt forstå all logikk som foregår. Den overstyrer en del kommandoer og gir feil status. Håper det kan hjelpe å koble fra det medfølgende kontrollpanelet (usikker på om det bare er knapper eller om det er programmert logikk i samme panel).

 

Eksempelvis overstyrer jeg til trinn 4 (maks) ved fuktighet fra bad, men så oppdager den litt senere at det er fuktighet i kanalene så den trinner ned til trinn 3 som er standard overstyrings-nivå for fuktighet i kanaler. Eller at den rapporterer å være på trinn 4, men at viftene i praksis kjører på trinn 2. 

 

--

 

Har også en del andre ambisjoner når vi får kontroll på det mest grunnleggende/vesentlige. Det er et aggregat med kjølemjuligheter så kanskje den skal programmeres med å trinne opp før leggetid for å få ned temperaturen i huset for så å trinne ned mot legging pga støy. Drar inn en del data nå på hvordan temperaturen rundt i huset fordeler seg også får jeg finne en logisk måte å styre det på etterhvert.

Lenke til kommentar
Del på andre sider

7 minutes ago, Moskus said:

Men hva med fuktighet? Det er det jeg forserer på. :) 

Sensorene mine måler temperatur, co2 og fuktighet (beregner duggpunkt). Jeg bruker ikke temperaturreguleringen. Co2 og luftfuktighet har hver sin PI regulator, den høyeste verdien (0-100%) blir sent til spjeld i det aktuelle rommet. Jeg har kun montert 2 slike sensorer så langt og de er montert i stue og på ett soverom. Jeg har også ett soverom med bad som pusses opp, der blir det sensor på badet. Soverommet har tilluft og badet har avtrekk. Jeg skal ha tett dør inn til soverommet (senkelist). Jeg håper at jeg med denne løsningen får både behagelig luft i soverommet, fritt for støy og fuktighet på badet som ikke henger igjen på speilet.

Endret av bergen77
Lenke til kommentar
Del på andre sider

30 minutter siden, bergen77 skrev:

Har skyvedør mellom soverom og bad. Den andre døren ut fra soverommet er tett (senkelist).

Ah, ja da så. Alternativet er pipelyder og annet sus. ;)

Har kontrollert støy i feilprosjekterte balanserte hus...

Lenke til kommentar
Del på andre sider

Jeg har ikke veldig mye erfaring med balansert ventilasjon. Men når jeg har overnattet i andres hus med slik ventilasjon har jeg stadig lagt merke til støy fra ventiler fra soverommet. Uten at jeg vet hvordan disse har blitt håndtert gjetter jeg at man har skrudd opp ventilasjonen grunnet besøk, kombinert med at ventiler til soverommet er strupet endel for å få "riktig" luftmengde.

 

Slik det fungerer hos meg er det flere faktorer som reduserer/fjerner støy:

  • struping av luft foregår i kanelene, før lyddemping over ventilen.
  • ventilene er ikke strupet, de står "pip åpen" noe som gir lav lufthastighet
  • viftene går på laveste hastighet mulig for å opprettholde luftkvalitet
Lenke til kommentar
Del på andre sider

Hva slags spjeld bruker du i kanalnettet? Er inne på tanken om spjeld selv, men da for å redusere luftmengden i de soverommene som ikke er i bruk. Dette er hytte med 4 soverom, så sporadisk hvilke soverom som er i bruk.

Lenke til kommentar
Del på andre sider

Fy flate det blir mye "slossing" med det aggregatet mitt. Jeg får ikke lov til å styre en dritt virker det som, selv om dokumentasjonen presenterer det som at det skulle være rett frem.

 

Tilogmed "brukervalg" kan programmeres (altså velge tid, modus, viftehastighet etc), bare at den ikke kan aktiveres. Det må gjøres med egen bryter på aggregatet... Dette fikk jeg også bekreftet av produsent for det høres jo for dumt ut til å være sant.

 

Viftehastigheter kan leses av, men ikke styres. Da blir det krøll og aggregatet tar straks tilbake kontrollen. 

 

Ser ut som den enkleste måten jeg kan få noe styring på er en Smart Implant som kan fungere som bryter slik at jeg i det minste får aktivert "brukervalg" som de kaller det. Da har jeg forhåpentligvis mulighet til noe kontroll.

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.