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

    Mini-guide: Hvordan bruke Modbus (med HomeSeer)

    Med en Modbus-plugin og et hardware-interface kan du enkelt få til å styre utstyr som støtter det. Modbus er ikke en uvanlig standard når det gjelder ventilasjonsutstyr og varmepumper, bl.a. fordi den er enkel å implementere i utstyret og relativt enkel for andre å bruke.

     

    Vi fikk montert et Systemair VTR-500 anlegg rundt påske, og fikk beskjed om at det gamle Z-wave adapteret dessverre ikke ville fungere med dette (som jeg fremdeles mener hadde vært den foretrukne metoden). Da ble Modbus redningen. :)

     

    Modbus er i utgangspunktet en forholdsvis enkel protokoll, hvor det spørres om eller sendes informasjon på en adresse (dvs. et heltall). Ulempen med den er at det er litt arbeid å få det til, fordi det ikke finnes noen ferdige oppsett.

     

    PS. Denne guiden er i utgangspunktet ment for HomeSeer-brukere, men prinsippet vil gjelde for alle.

    Jeg fikk hjelp til mitt første oppsett av en vennlig sjel på HomeSeer-forumet, det følgende er nærmest en gjenfortelling. Takk skal du ha, du vet hvem du er! :) 

     

    Hva du trenger:

    • Interface.
      Du trenger et. I praksis er det to valg; enten et som kobles til via USB eller et som går via nettverket. Jeg valgte det siste, og kjøpte dette interfacet for vi har fått lagt opp nettverk til loftet hvor aggregatet står fra teknisk rom i kjeller.
       
    • Modbus-plugin
      Installer, aktiver og start. Den ligger under "Lighting & Primary Technology"

     

     

    1. Oppkobling.

    Den korte versjonen: Kolbe A til A, B til B og G til G.

     

    Jeg brukte en CAT6-kabel og rensket endene på lederne. Tvinnet lederne sammen pr. farge, og brukte orange for A, grønn for B og brun for G.

     

    image.png

     

    Det samme på selve aggregatet. RS485-porten er øverst til høyre (eller nederst til venstre, alt etter som du ser på livet), merket med A(+), B(-) og G.

     

    image.png

     

    Koble så adapteret til nettverket og til strøm.

    image.png

     

    2. Konfigurasjon (for de med nettverksinterface)

    Utfordringen kan være å finne boksen. Der kan en nettverksscanner (f.eks. Advanced IP Scanner) være til hjelp. Finn enheten som har den samme MAC-adressen som står på baksiden av interfacet. Jeg har en Fingbox, og fikk selvfølgelig notifikasjon da den ble plugget inn.

     

    Tast inn IP-adressen i nettleseren med http:// foran, f.eks. http://192.168.0.174. Brukernavn og passord er "admin".

     

    Endre IP-adresse til en fast adresse:

    Gå til Local IP config. Endre IP Type til Static IP, og sett inn en adresse som er ledig. Trykk Save.

    image.png
     

    Sett nå inn den nye IPen i nettleseren. :)

     

    RS485 konfigureres slik (de røde innstillingene er viktige):

    image.png

    Baud-rate må settes til det som er støttet for ditt spesifikke aggregat. Nyere modeller har 115200 som maks hastighet, mens eldre modeller har lavere hastigheter. Ellers er data size = 8, Parity = None, Stop-bit = 1, og Flow kan fint være RTS/CTS.

     

    Workmode skal være "TCP Server" og "ModbusTCP". Hvorfor standardport ikke funker vet jeg ikke, men HS-forum-fyren hadde også endret denne. Det måtte jeg også. 8234 fungerer fint.

     

    Trykk Save. ;)

     

     

    3. Plugin-installasjon

    Modbus-plugin'en ligger i Updateren, dvs nederst under "Additional Interfaces" -> "Lighting & Primary Technology" (øverst).

    Velg denne, og trykk Installer-knappen som dukker opp under plugin-listen din.

    Aktiver plugin'en.

     

     

    4. Plugin konfigurasjon

    Gå til Plugins -> Modbus -> Modbus Config.

    image.png

    Nå skal vi legge til interfacet ditt.

    Har du et IP-interface som jeg, så trykker du på knappen til venstre (Add IP-RTU Master), hvis du har et som kobles til med USB, så trykker du på knappen til høyre (Add Serial RTU-Master).

     

    Trykk, og du blir videresendt til konfigurasjon av interface-devicen. Her kommer oppsett for IP-interfacet:

    image.png

    Endre IP og port  til det du satte opp interfacet til å bruke.

    Om polling spurte jeg SystemAir, og fikk til svar at det ikke var noe problem å polle hvert sekund om jeg ville. Jeg safer den litt med 10 sekunder. Dette kan imidlertid være avhengig av hvilket aggregat du har og hvor gammelt det er.

     

    5. Oppsett

    Nå begynner det spennende. Eller kjedeligste, alt ettersom hvordan man ser det. Hver parameter man vil lese ut må man legge inn manuelt. Det som gjør det ekstra spennende er at adressene ikke er standardiserte som man kunne ønske seg. De er forskjellige fra leverandør til leverandør, men også fra modell til modell og til og med forskjellig mellom revisjoner eller årsmodeller.

     

    Vi har et VTR-500. Det har hatt det samme modellnummeret lenge, men har blitt oppgradert fra år til år. Da var det ikke bare å google for å finne frem (noe som forøvrig anbefales). Jeg fant til slutt beskrivelsen av Modbus-adressene på systemair.com. Jeg søkte etter "modbus", og under "Documents" på søkeresultater fant jeg til slutt SAVE Modbus Variable List 20190116 (Rev. 29).pdf (1 214 kb).

     

    Du må altså finne ut hvilke parametre ditt aggregat bruker.

     

    Når du har funnet den er det bare å legge inn de verdiene du vil. Problemet er vel kanskje å finne hvilke du ønsker deg...

     

     

    Eksempel 1: Hastighet på viftene for tilluft og fratrekk.

    I PDF-dokumentet over fant jeg denne:

    image.png

     

    Altså må jeg bruke modbus-adresse 12401 for tilluft-hastigheten og 12402 for fratrekk. Det er et "Read Input Register", det vil si at man kun kan lese variabelen.

     

    Gå til Plugins -> Modbus -> Modbus Config. Der ser du interfacet og en knapp hvor det står "Add Device".

    image.png

    Trykk på "Add Device".

     

    Da kommer du til en ny Device. Der konfigurerer vi Modbus-parametre ihht. adressen vi legger til.

    image.png

     

    Det kan være en idé å endre Status Graphics også:

    image.png

     

     

    Eksempel 2: Viftehastighet

    For meg er det register 1131 og 1132:

    image.png

     

    Dette er et "Holding Register", dvs. man kan skrive verdier til den. Det legges inn på samme måte, men nå bruker man "Holding Register" istedenfor "Input Register".

     

    image.png

     

    Det er litt ulogisk at vi skal ha en "Read Only Device", men ellers får man et tekstfelt og vi må jo gjøre det litt mer praktisk enn det.

    image.png

     

     

     

    ... så er det bare å legge til andre verdier. Dette er mine:

    image.png

     

    ... som jeg har konfigurert slik:

    image.png

     

    Dette gir tilstrekkelig informasjon kontroll over anlegget, men det er mulig jeg har oversett noe.

    Hvilke verdier har du lagt inn? :) 

     

     

    PS! Det er en ganske solid bug i konfigurasjonen pr. dags dato (juni 2019) når man skal sette "Multiplier". Se under:

    Spoiler

     

    Denne er viktig å ha riktig hvis man f.eks. skal lese ut temperaturer ettersom de er multiplisert med 10, dvs. 15,8 grader rapporteres som 158. For å få riktig verdi i HomeSeer, skal man altså gange det tallet med 0,1.

     

    Problemet er at man ikke kan sette noe annet enn 1 med andre nettlesere enn Internet Explorer, av alle ting:

     

    image.png

     

     

    Endret av Moskus

    Brukertilbakemelding

    Anbefalte kommentarer



    Trenger litt hjelp.. Har Flexit UNI3 aggregat med CI66 modbusadapter. Får ikke kontakt med aggregatet.

     

    Kan noen av dere som har CI66 se om den lyser på power grønn diode når dere plugger vekk kabelen mellom ci66 og aggregatet? Har ikke måleinstrument tilgjengelig, og har begynt å tulle med + og - og hvor strømmen skal kobles..

    Lenke til kommentar
    Del på andre sider

    Kan vi diskutere her litt? Får lese viftehastighet osv fra ci66, men får ikke skrive/sette noen parametre.

    Noen som har dette oppe og gå? Hvile TCP Server/RS485 adapter bruker dere ? Mitt er veldig kina

    USR-TCP232-304

    Lenke til kommentar
    Del på andre sider

    Sbruar skrev (2 timer siden):

    Kan vi diskutere her litt? Får lese viftehastighet osv fra ci66, men får ikke skrive/sette noen parametre.

    Noen som har dette oppe og gå? Hvile TCP Server/RS485 adapter bruker dere ? Mitt er veldig kina

    USR-TCP232-304

    Hei, bruker samme adapter som deg og det har virket stabilt i snar fem år. Har selv laget et python script som gjør om modbus til mqtt av egne grunner. Fikk aldri til å skrive fra homeseer. Kan dele det her i morgen hvis du er interessert. Det kan lese og skrive de data som trengs. 

    Lenke til kommentar
    Del på andre sider

    Christoffer skrev (På 18.2.2024 den 22.05):

    Hei, bruker samme adapter som deg og det har virket stabilt i snar fem år. Har selv laget et python script som gjør om modbus til mqtt av egne grunner. Fikk aldri til å skrive fra homeseer. Kan dele det her i morgen hvis du er interessert. Det kan lese og skrive de data som trengs. 

    Fantastisk, det setter jeg stor pris på. Får ikke skrive med andre modbus program heller. Får "06 Server Busy" Kan gjerne få dine innstillinger på USR-TCP232-304. 

    Fikk testet litt mere i kveld. Kobler fra CI60 panel og setter CI66-adapter alene og som master, da kan jeg skrive viftehastighet osv. Litt usikker hvordan det da blir med tanke på heater element som jeg har AV til vanlig.

     

     

    Endret av Sbruar
    Lenke til kommentar
    Del på andre sider

    Sbruar skrev (15 timer siden):

    Fantastisk, det setter jeg stor pris på. Får ikke skrive med andre modbus program heller. Får "06 Server Busy" Kan gjerne få dine innstillinger på USR-TCP232-304

     

    Hei!

     

    Her er oppsett på USR-TCP modulen

    image.png.ed781a72c68624f36e4527948ed48c6a.png

     

     

    Configfilen som må editeres er flexit_config_2.json. Letteste er å endre det som må endres øverst der og så bruke mqtt explorer til å se hvor det havner. For å skrive til et register er det bare å endre "s" på slutten til "c" i topicen så skrives verdien. Tar fort et minutt før feedback fra aggregatet endrer seg ved feks hastighetsjustering.

    modbus2mqtt.zip

    Lenke til kommentar
    Del på andre sider

    Christoffer skrev (2 timer siden):

    Hei!

     

    Her er oppsett på USR-TCP modulen

    image.png.ed781a72c68624f36e4527948ed48c6a.png

     

     

    Configfilen som må editeres er flexit_config_2.json. Letteste er å endre det som må endres øverst der og så bruke mqtt explorer til å se hvor det havner. For å skrive til et register er det bare å endre "s" på slutten til "c" i topicen så skrives verdien. Tar fort et minutt før feedback fra aggregatet endrer seg ved feks hastighetsjustering.

    modbus2mqtt.zip 9.99 kB · 0 Nedlastninger

    Ser du har et litt anderledes web-gui. Såg det kunne endres, jeg har v4300. Jeg kan kjøre direkte fra homeseer nå antagelig når jeg for skrive til ci66. Kjører du CI66 sammen med et annet brukerpanel? Hvilket?

    Lenke til kommentar
    Del på andre sider

    Har i dag vert i kontakt med flexit support og det er sånn at du kan ikke skrive til modbus når du bruker CI60-kontrollpanel og CI66-modbus sammen. Kun styring med CI60 panel, og kun lese fra CI66. Skal du ha styring fra et panel og modbus samtidig må man ha CI600 panel. (Det med skjerm)

    Dette kunne jeg også få bekreftet av en hyggelig kar jeg kom i snakk med på finn.no, han holdt på med dette og skulle selge sitt CI60 panel. Sentral må gjerne resettes ved og kutte strømforsyningen etter du kobler panel. Så nå er CI600 panel bestilt. Dette ble en dyr affere mtp må ha både modbus adapteret og oppgradere fysiske panelet på veggen.

    Lenke til kommentar
    Del på andre sider

    Christoffer skrev (6 minutter siden):

    Jeg har CI60 og kan bruke begge to til å styre med. 

    Er helt utrolig. Blir ikke klok av dette. Hvilket aggregat har du? Hvorfor sier da flexit det ikke gikk. Dei fikk solgt et panel i det minste

    Lenke til kommentar
    Del på andre sider

    Christoffer skrev (20 minutter siden):

    Jeg har Uni 3

    CI66 som master da? Står i manualen den er likestilt med en CI60. 

    Nå var jeg i teknisk rom koblet på igjen CI60 som master sammen med CI66(slave).

    Resatte alt og det virker. Jeg og kan regulere viften med begge. Tydligvis veldig viktig å resette aggregat og CI66 lenge nok.

    Endret av Sbruar
    Lenke til kommentar
    Del på andre sider

    Christoffer skrev (På 19.2.2024 den 21.45):

    Hei!

     

    Her er oppsett på USR-TCP modulen

    image.png.ed781a72c68624f36e4527948ed48c6a.png

     

     

    Configfilen som må editeres er flexit_config_2.json. Letteste er å endre det som må endres øverst der og så bruke mqtt explorer til å se hvor det havner. For å skrive til et register er det bare å endre "s" på slutten til "c" i topicen så skrives verdien. Tar fort et minutt før feedback fra aggregatet endrer seg ved feks hastighetsjustering.

    modbus2mqtt.zip 9.99 kB · 1 Last ned

    Hvor begynner jeg og lese meg opp?  Mosquitto MQTT Broker? Hva bruker du? 

    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 en kommentar...

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