Gå til innhold
  • Bli medlem

Mini-guide: Hvordan bruke Modbus (med HomeSeer)


Anbefalte innlegg

22 hours ago, JxxxIxxx said:

 

Noen av gangene hjalp det å restarte plugin'en, men ellers så kom feilene opp igjen bare sekunder etter at jeg hadde enablet plugin igjen s¨å det har ikkje vært konsistent.

For øyeblikket har jeg gitt litt opp og har disablet plugin'en.

Jeg mistenker også at problemet kan være en ustabilitet i mobus-adapteren som gjør at HS mister kontakten med den.

Den første gangen jeg fikk problemet så var adapteren heller ikke mulig å nå via web browse eller ping eller noe annet, og jeg måtte ta strømmen på den for å få den opp igjen. Men senere har pluginen i HS feilet uten at adapteren har vært offline, jeg har kunnet aksessere adapteren fra nettleser f.eks., mens HS gir feilmeldinger, så symptomene er ikke konsistente.

Jeg har en annen Modbus-adapter av en litt annen type som jeg kanskje kommer til å prøve når jeg får litt ledig tid.

Jeg har også en IAM (Internet Access Module) tilkoblet aggregatet og denne kan stilles om til å fungere som en modbus adapter, men da mister jeg kontroll via app og det har jeg lyst til å beholde av ulike grunner.

 

For å teste stilte jeg om IAM fra Cloud til Modbus. Det var litt vanskelig å få kontakt fra HS, siden det ikke stod i dokumentasjonen hvilken port den kommuniserte på, men her i tråden fant jeg at det var 502 og da hadde jeg kontakt.

Jeg hadde bare konfigurert ett register i HS (Active User Mode) for å teste. Initielt så det ut som det fungerte, devicen oppdaterte seg til riktig verdi, men så begynte feilmeldingene å hagle. Andre meldinger enn med den andre Modbus-adapteren.

Error in ReadValue: Exception of type 'Modbus.SlaveException' was thrown. Function Code: 132 Exception Code: 1 - The function code received in the query is not an allowable action for the server (or slave). This may be because the function code is only applicable to newer devices, and was not implemented in the unit selected. It could also indicate that the server (or slave) is in the wrong state to process a request of this type, for example because it is unconfigured and is being asked to return register values.

Så ingen suksess dette heller.

Uansett så var det ikke meningen å bruke IAM som Modbus-adapter, så jeg kommer nok til å stille den tilbake til Cloud-modus, da har jeg i alle fall litt styring på aggregatet.

Jeg får se om jeg orker å bruke mer tid på å teste den andre Modbus-adapteren. Jeg har egentlig ikke kunnskap nok til å vite hva jeg skal gjøre for å debugge det oppsettet og det er grenser for hvor mye tid jeg kan bruke på dette.

Litt irriterende at det ser ut som jeg ikke klarer å koble aggregtet til HS, det var en de tingene jeg hadde sett fram til å gjøre når jeg likevel måtte bytte ventilasjon.

 

 

Lenke til innlegg
Del på andre sider
  • Svar 336
  • Opprettet
  • Siste svar

Mest aktive i denne tråden

Mest aktive i denne tråden

Populære innlegg

Jeg fikk svar på fremgangsmåte for å få en fornuftig timestamp fra registerne som skal vise dato for siste filterskift:   "This is not easy, but it can be done:First, calculate the filter re

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

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 ve

Postede bilder

1 hour ago, Moskus said:

Det finnes Modbus-debuggere som du kan kjøre istedenfor å prøve deg på HS hele tiden. Tipper det blir enklere i lengden.

 

Det er jo det jeg må prøve hvis ikke annet virker, men jeg er vel ikke så motivert til å bruke tid på sette meg inn i enda flere for meg ukjente teknologier.

Jeg er også usikker på hvor jeg skal lete etter problemet. Slik jeg forstår det kan det være et problem mellom HS og adapteren, eller et problem internt i adapteren, eller i kommunikasjonen mellom adapteren og aggregatet. Det er en del ting som tyder på at det er det siste (se under).

Etter min forrige mislykkede test med IAM-adapteren som Modbus-adapter, satte jeg i går kveld denne tilbake til Cloud og slo på igjen USR-TCP232-410S adapteren og omkonfigurerte HS igjen til å bruke denne. Også nå skjedde det samme som tidligere, den virket umiddelbart, men etter en stund (kanskje en time, jeg fulgte ikke med hele tiden), krasjet alt og feilmeldinger haglet i loggen. Nå var det igjen ikke mulig å nå adapteren på noen måte. Jeg disablet plugin og slo av og på adapteren. Adapteren kom opp igjen og kunne nåes via nettet, men hvis jeg slo på igjen pluginen så feilet den etter bare sekunder. Dette kan kanskje tyde på det som var nevnt av noen tidligere, at adapteren "spammer" aggregatet med så mye forespørsler eller feil at det "stenger ned" Modbus-kommunikasjonen for en lengre periode.

Jeg slo av plugin og adapter over natten og slo dem på igjen i dag tidlig, og da virket alt igjen. Denne gangen endret jeg på noen parametre. Jeg satte "Delay between each address poll" til 500ms (default er 0). Jeg stilte også om baud rate i adapter og aggregat fra 115200 til 9600. Mulig akkurat dette siste ikke er helt lurt, men tenkte å gjøre kommunikasjonen litt mindre "følsom". Adapteren er koblet til aggregatet med en 12-15 meter lang CAT6 nettverkskabel, på samme måte som vist i guiden. Vet ikke hvor følsom Modbus er for lengder og type kabel.

Uansett så har jeg nå alt oppe å gå på tredje timen uten feilmeldinger, noe som er lovende. Men det er ikke nødvendigvis sikkert problemet er løst. Tross alt så virket alt i nærmere et halvt døgn den aller første gang jeg prøvde, så vi får se hva som skjer over tid nå.

Jeg har nå definert devicer mot 6 ulike register, så pluginen poller aggregatet 6 ganger hvert 10.sekund. Alt fungerer tilsynelatende som det skal, verdier oppdaterer seg hvis jeg endrer innstillinger i aggreagtets styrepanel, og jeg kan kontrollere viftenåvå og "User mode" fra HS.

 

 

 

 

 

 

Lenke til innlegg
Del på andre sider
2 hours ago, JxxxIxxx said:

 

......

Jeg slo av plugin og adapter over natten og slo dem på igjen i dag tidlig, og da virket alt igjen. Denne gangen endret jeg på noen parametre. Jeg satte "Delay between each address poll" til 500ms (default er 0). Jeg stilte også om baud rate i adapter og aggregat fra 115200 til 9600. Mulig akkurat dette siste ikke er helt lurt, men tenkte å gjøre kommunikasjonen litt mindre "følsom". Adapteren er koblet til aggregatet med en 12-15 meter lang CAT6 nettverkskabel, på samme måte som vist i guiden. Vet ikke hvor følsom Modbus er for lengder og type kabel.

Uansett så har jeg nå alt oppe å gå på tredje timen uten feilmeldinger, noe som er lovende. Men det er ikke nødvendigvis sikkert problemet er løst. Tross alt så virket alt i nærmere et halvt døgn den aller første gang jeg prøvde, så vi får se hva som skjer over tid nå.

......

 

 Fem timer gikk det, så krasja det igjen, samme feilmeldinger. ☹️

Lenke til innlegg
Del på andre sider
1 hour ago, bergen77 said:

Kan du redusere antall verdier du poller, for eksempel til en verdi og polle annet hvert sekund?

 

Ok, slo på igjen adapteren, og enablet plugin igjen. Disablet alle register-devicer unntatt en og satte poll til 2 sekunder.

Foreløpig ingen feilmeldinger.

Lenke til innlegg
Del på andre sider
16 hours ago, bergen77 said:

Kan du redusere antall verdier du poller, for eksempel til en verdi og polle annet hvert sekund?

 

Nå har den gått feilfritt i 15 timer med polling av ett register annethvert sekund, så det er jo lovende. Men lar den gå i alle fall til i kveld før jeg føler meg trygg på at det er stabilt.

Hvis dette er stabilt så antar jeg at jeg kan polle mer enn ett register hvis jeg passer på at "Delay between each address poll" er minst 2 sekunder? (må da også naturligvis øke tiden mellom hver poll tilsvarende).

Dette betyr vel at dersom jeg f.eks. poller hvert 10. sekund med 2 sekund delay mellom hvert register så kan jeg ikke polle mer enn maks 5 forskjellige register.

 

 

 

Lenke til innlegg
Del på andre sider

Kan du ikke polle hvert minutt da? Hvilke verdier er det som er så viktigr at du må ha de oppdatert hvert 10 sekund? Verdiene i ett ventilasjonssggregat vil ikke endre seg så mye, de er mer eller mindre konstant, med unntak av temp. Og temp endrer seg ikke hvert 10 sekund.

Lenke til innlegg
Del på andre sider
59 minutes ago, MrE said:

Kan du ikke polle hvert minutt da? Hvilke verdier er det som er så viktigr at du må ha de oppdatert hvert 10 sekund? Verdiene i ett ventilasjonssggregat vil ikke endre seg så mye, de er mer eller mindre konstant, med unntak av temp. Og temp endrer seg ikke hvert 10 sekund.

Det stemmer at jeg ikke behøver å polle så ofte for de registerne jeg bare leser. Men det er noen register ikke bare er read-only, de lar meg styre aggregatet (viftehastighet, såkalt "user mode" og noen andre parametre), og med en lav pollefrekvens vil det ta tid før det reagerer. Dette er i seg selv ikke så kritisk dersom det bare er snakk om noe jeg styrer basert på schedule/tid/tilstand, f.eks. skru ned eller opp vifterhastighet morgen/kveld eller basert på om det er noen hjemme eller ikke. Men jeg hadde f.eks. også en ide om at jeg kunne installere en knapp på badet som man kunne trykke på før man dusjer og som gir en 15 minutt "boost" på ventilasjonen. Men når jeg tenker meg om så er det vel ikke kritisk om dette gir umiddelbar respons heller.

Så ja, det er vel kanskje ikke nødvendig å polle hvert 10.sekund. Men i den opprinnelig guiden var det en verdien som var brukt og i følge @Moskus hadde Systemair sagt at man kunne polle hvert sekund om man ønsket. men dette fungerer tydeligvis ikke hos meg.

 

 

 

 

Lenke til innlegg
Del på andre sider
40 minutes ago, JxxxIxxx said:

Så ja, det er vel kanskje ikke nødvendig å polle hvert 10.sekund.

Jeg gjør det. Mest fordi hvert sekund var noe overdrevet, jeg fikk ikke bedre informasjon av å polle så mye, bare mer av den.

 

Men hvis det fungerer med et minutt, så hold deg til det. Som sagt av andre; temperaturer endrer seg ikke så mye, ventilasjon er et relativt tregt system.

Lenke til innlegg
Del på andre sider

Jeg poller hvert 5 minutt. og grafene i Grafana inneholder mer enn nødvendige punkter. :)

 

For forsert ventilasjon bruker jeg dobbelt fibaro rele som styrer fukt på bad og bruk av platetopp med ventilator.

Modbus brukes til grafert og styre borte/hjemme modus.

Lenke til innlegg
Del på andre sider
On 11/07/2021 at 12:10, JxxxIxxx said:

Det stemmer at jeg ikke behøver å polle så ofte for de registerne jeg bare leser. Men det er noen register ikke bare er read-only, de lar meg styre aggregatet (viftehastighet, såkalt "user mode" og noen andre parametre), og med en lav pollefrekvens vil det ta tid før det reagerer. Dette er i seg selv ikke så kritisk dersom det bare er snakk om noe jeg styrer basert på schedule/tid/tilstand, f.eks. skru ned eller opp vifterhastighet morgen/kveld eller basert på om det er noen hjemme eller ikke. Men jeg hadde f.eks. også en ide om at jeg kunne installere en knapp på badet som man kunne trykke på før man dusjer og som gir en 15 minutt "boost" på ventilasjonen. Men når jeg tenker meg om så er det vel ikke kritisk om dette gir umiddelbar respons heller.

Så ja, det er vel kanskje ikke nødvendig å polle hvert 10.sekund. Men i den opprinnelig guiden var det en verdien som var brukt og i følge @Moskus hadde Systemair sagt at man kunne polle hvert sekund om man ønsket. men dette fungerer tydeligvis ikke hos meg.

 

 

Nå ha det gått stabilt i over to døgn. Jeg poller 6 registre hvert 30.sekund med et delay på 2.5 sekunder mellom hvert register. Det er tydligvis dette siste som har vært avgjørende for at mitt oppsett skal gå stabilt. Når jeg polla registerne for tett etter hverandre krasja det etter en stund.

For sikkerhets skyld kommer jeg til å sette strømforsyningen til Modbus-adapteren på en ZWAVE-bryter og lage eventer som gjør at jeg kan disable plugin'en og slå av adapteren og enable pluigin'en og slå på igjen adapteren. Da har jeg i alle fall muligheter til å stoppe/resette hvis det skulle oppstå en feilsituasjon.

 

 

En annen funksjon som kunne være nyttig for meg er å få HS til å gi meg et varsel når det nærmer seg tid for å bytte filter.

Jeg ser i Modbus-dokumentasjonen for aggregatet at det er register for gjenstående tid før filterbyte, angitt i antall sekunder (!)  (hadde ikke dager vært mer enn godt nok?). Men gjenstående tid er delt opp i to register, "lower 16 bits" og "higher 16 bits". Er det noen som kan gi meg et tips på hvordan jeg enklest kan slå disse to sammen til en device som har gjenstående tid som ett enkelt tall (fortrinnsvis i dager)?

Endret av JxxxIxxx
Lenke til innlegg
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...