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

strips

Medlemmer
  • Innlegg

    96
  • Ble med

  • Besøkte siden sist

Alt skrevet av strips

  1. Nok en tråd om backup av z-wave men et kjapt søk ga meg lite. Uansett et viktig tema. Er det skjedd noe nyutvikling eller noen nye produkter som tillater full backup/restore av en z-wave-pinne. Helst i Linux via kommandolinje eller scriptbart på en eller annen måte. Så lenge man kan kjøre automasjonssystemene i containere er det lett å ha en full (identisk) kopi av hele systemet som kan spinnes opp hvis noe galt skulle skje. Da er det bare Z-wave-pinnen som ikke har noen form for automatisk redundans. Aeotec har jo sin backup-software men det er Windows-programvare og er GUI-styrt. Eller har det kommandolinje? Noen som har kjørt denne programvaren i Linux med Wine eller annen software? Har ikke lyst å bruke en egen windows-lisens bare for dette.
  2. Hvis du har en 10m patchekabel og Pulse for hånden kan du bare koble til ved måleren og bruke telefonen som hotspot. Jeg kommer til å gjøre som deg en eller annen dag. Men om det bli neste uke eller neste måned vet jeg ikke. Kan ikke fatte at det ikke skal gå. Hvis måler ikke klarer å levere nok strøm så kobler du bare til den medfølgende mikro-usb-laderen.
  3. 10m er ikke stort. M-Bus-standarden skal kunne gå flere km med kabel. Så er neppe strømtrekket til en Pulse noe å tenkte på med 10m. Det er vel bare å teste.
  4. De gjør samme jobben men Nest-serien er nyere og vet ikke om det kommer mer og bedre funksjonalitet. Jeg ville tippe Google Home har bedre lyd en Nest Mini men Nest Mini skal ha fått bedre lyd en forgjengeren Google Home Mini. Jeg kan ikke se noen grunn til at du ikke kan bruke flere Google Home-enheter på Homeseer. Skal gå fint å blande. Du kan forsåvidt teste integrasjonen på telefonen først om du har Android. Usikker på Iphone.
  5. Hei, Jeg har lyst å kjøpe en haug av disse å bytte alle Fibaro/Qubino-dimmerene mine. WAF er ikke på topp med vippebrytere og impuls-fjærer. Ser at Z-Dim kan styre andre Z-dim men blir litt usikker når jeg leser dok om de kan styre andre dimmere som krever Multi Level. Det står at Z-Dim bruker Basic Set mellom flere Z-Dim. At den krever N-leder (3-wire) er helt innafor for min del selv om det er litt synd. Det begrenser noen muligheter. Må nok kjøpe en å teste litt først men det er vel andre her som har rukket å teste litt. Fungerer assosiasjon mot andre dimmere som Fibaro og Qubino? Stian
  6. Anbefaler ikke å ta backup med restore til en fungerende enhet. Det er en risiko at det ikke funger. Kjøp en ekstra dongle og forsøk restore til den. Så har du originalen å falle tilbake på hvis du har en del enheter du ikke ønsker å miste.
  7. Som @Moskus sier må du trykke på Update-knappen for å hente dem fra enheten. Til info er de kun lagret på selve enheten og de blir normalt ikke persistert i Homeseer. Men enheten må være våken. En enhet koblet til permanent strøm er alltid våken og der kan man bare klikke Update når man vil. Batteri-enheter har litt forskjellige måter å holde seg våkne. Les manualen. Feks. tror jeg det var Fibaro multisensor som sier en ting i manualen men synes ikke det alltid funket. Så her kan det være lurt å prøve seg litt frem i tillegg. Ha enheten så nære som Z-Wave-dongla som mulig. Det kan funke på avstand men er de på batteri er det ingen grunn til å ikke ta den med til dongla. Hvis alt går at skogen, resett/fjern enhet fra nettverket og legg til på nytt. De fleste enheter oppretter selv en assosiasjon til kontroller.
  8. Har tenkt litt mer. Ulempen med å legge på en ny ID før man persisterer er hvis man glemmer en verdi eller gjør feil så blir det lagret feil. Hvis man likevel skal ha en mapping så er det bedre å gjøre den etter persisteringen. Jeg kjenner jeg nærmer meg en Oracle Database ? Kanskje å skyte spurv med kanon men det er i hvert fell noe jeg kan. Så kan man alltids bytte ut en SQL-database med noe annet uten for mye styr senere. Er litt for enkelt å falle tilbake på det man kan. Lærer ikke like mye av det.
  9. Haha, det er en vei jeg ikke ønsker å gå. Hvis man kunne scripte 95% av den løsningen... Jeg kan ikke influxdb godt nok men lurer på å dra dette inn i en relasjonsdatabase. Der er det en lek i parken å lage en mappingtabell for enhetene. Så flytter jeg hele problemstillingen. Men en relasjonsdatabase trenger en ok datamodell. Er her influxdb er genialt. Bare dytte ting inn og så har du det der Jeg bruker et vb-script som dumper samtlige enheter ut til influxdb. En mulighet er å ha en fil med mapping til ønskede navn/ID. Ganske lett med en JSON-fil.
  10. Jeg har begynt å logge ALT til influxdb for å kunne grafe litt i Grafana. Nå benytter jeg Reference ID på enheten for å identifisere den. Den er egentlig litt dum å bruke da den blir byttet ut hvis jeg legger til en enhet på nytt. Hva er det beste / smarteste å bruke. Ideelt sett skulle jeg gjerne hatt ett felt man kan selv redigere men gjerne kan være forhåndsutfylt. De feltene jeg kan se er Reference ID - ikke aktuell da den ikke kan endres Device Name - absolutt ett alternativ hvis jeg klarer å bli enig med meg selv om en fast standard og alle må ha unike navn. Her er jeg i konflikt mellom å ha et kort og enkelt navn og langd beskrivende navn men unikt. Code - En mulighet. Er det mulig å endre denne på alle type enheter (utenom enheter som bruker dette som intern-adressering). Address - Igjen en mulighet men tipper noen type enheter benytter denne å lagre sin ID. Ser nå at Z-Wave får populert Code og Address. Usikker på om det var sånn før og men tipper det kom med siste beta Z-wave-plugin. De fjerner z-wave-databasen og har alle instillinger sammen med enheten. Så de utgår. Da står jeg kun igjen med Device name.
  11. Takker for tips @Moskus og @Guahtdim Enig at det er penere og kjappere med en if (debug) men etter hvet som de vokste ble det sånn. Så er det veldig praktisk å bare lime inn en linje og endre teksten. Så det er med overlegg one-linere. Mulig det hadde blitt mer oversiktlig med sub-rutiner. Men for et så lite script er det lite vits. VB.Net er kun noe jeg tar i fordi jeg må. Skulle helst gjort dette i C# og øvd meg på det men er så få eksempler på C#-kode for Homeseer. Ellers hjelper det å bruke Visual Studio med tenScripting for debugging.
  12. Akkurat ferdig testet et script for å styre vår Systemair SAVE VTR 300 via Modbus. Det er nok tråder om Modbus her at jeg gidder å snakke om det nå Scriptet leser to Netatmo innemoduler sin Co2, temp og relativ fuktighet. Ut i fra disse verdiene så settes aggregatet i auto som standard, crowded (party) eller refresh (boost) basert på noen grensetall. Takk til @Moskus og @Hillmar for formel for absolutt fuktighet Forenklede regler Brannalarm: TODO Hvis trykkvakt eller spesialmodus (kjøkkenhette, vedovn, sentralstøvsuger) er aktivert skal vi ikke endre noe. Hvis stue eller bad har for høy Co2 så øker luftmegden først til Crowded så Boost. Hvis bad har høyere absolutt fuktighet en stuen med en viss margin så økes luftmengden til Boost Hvis ingen av regelene over treffer eller Co2 er under en terskel så sett til Auto. For å bruke scriptet må du endre alle variablene i toppen som begynner med dev. Det er 3 regel-blokker lengre nede som dekker mitt behov og kan dupliseres for flere rom eller fjernes hvis man ikke har nok sensorer. Class VentilatorControl Public Sub Main(ByVal Parms As Object) Dim Debug As Boolean = True Dim logName As String = "VentilatorControl" Console.WriteLine("Started: " & logName) If Debug Then hs.WriteLog(logName, "Started") Dim fireAlarm As Boolean = False ' for the future when I get a fire alarm integrated Dim devBath1_RH As Integer = 820 ' netatmo bad innemodul Dim devBath1_T As Integer = 817 ' netatmo bad innemodul Dim devBath1_Co2 As Integer = 821 ' netatmo bad innemodul Dim devLivingRoom1_RH As Integer = 788 ' netatmo stue hovedmodul Dim devLivingRoom1_T As Integer = 783 ' netatmo stue hovedmodul Dim devLivingRoom1_Co2 As Integer = 787 ' netatmo stue hovedmodul Dim devVentModeGet As Integer = 774 ' systemair Modbus Dim devVentModeSet As Integer = 773 ' systemair Modbus Dim valueLivingRoom1_T As Double = hs.DeviceValueEx(devLivingRoom1_T) Dim valueLivingRoom1_Co2 As Integer = hs.DeviceValue(devLivingRoom1_Co2) Dim valueLivingRoom1_RH As Double = hs.DeviceValueEx(devLivingRoom1_RH) Dim valueLivingRoom1_AH As Double = AbsHumidity(valueLivingRoom1_RH, valueLivingRoom1_T) Dim valueBath1_T As Double = hs.DeviceValueEx(devBath1_T) Dim valueBath1_Co2 As Integer = hs.DeviceValue(devBath1_Co2) Dim valueBath1_RH As Double = hs.DeviceValueEx(devBath1_RH) Dim valueBath1_AH As Double = AbsHumidity(valueBath1_RH, valueBath1_T) Dim humidDeltaBath1 As Double = Math.Round(valueBath1_AH / valueLivingRoom1_AH, 2) Dim valueVentModeGet As Integer = hs.DeviceValue(devVentModeGet) Dim ventModeGetCodeArray(12) As String ventModeGetCodeArray(0) = "Auto" ventModeGetCodeArray(1) = "Manual" ventModeGetCodeArray(2) = "Crowded" ventModeGetCodeArray(3) = "Refresh" ventModeGetCodeArray(4) = "Fireplace" ventModeGetCodeArray(5) = "Away" ventModeGetCodeArray(6) = "Holiday" ventModeGetCodeArray(7) = "Cooker Hood" ventModeGetCodeArray(8) = "Vacuum Cleaner" ventModeGetCodeArray(9) = "CDI1" ventModeGetCodeArray(10) = "CDI2" ventModeGetCodeArray(11) = "CDI3" ventModeGetCodeArray(12) = "PressureGuard" Dim ventModeSetCodeArray(7) As String ventModeSetCodeArray(0) = "None" ventModeSetCodeArray(1) = "Auto" ventModeSetCodeArray(2) = "Manual" ventModeSetCodeArray(3) = "Crowded" ventModeSetCodeArray(4) = "Refresh" ventModeSetCodeArray(5) = "Fireplace" ventModeSetCodeArray(6) = "Away" ventModeSetCodeArray(7) = "Holiday" ' Co2 threshold levels have a severity of 3 levels Dim co2ThresholdNormal As Integer = 550 ' less than Dim co2ThresholdHigh As Integer = 700 ' higher than Dim co2ThresholdMax As Integer = 900 ' higher than ' relative humididy threshold levels have a severity of 2 levels Dim humidDeltaThresholdNormal As Double = 1.1 ' less than Dim humidDeltaThresholdHigh As Double = 1.4 ' hihger than If Debug Then hs.WriteLog(logName, "valueLivingRoom1_T: " & valueLivingRoom1_T) If Debug Then hs.WriteLog(logName, "valueLivingRoom1_Co2: " & valueLivingRoom1_Co2) If Debug Then hs.WriteLog(logName, "valueLivingRoom1_RH: " & valueLivingRoom1_RH) If Debug Then hs.WriteLog(logName, "valueLivingRoom1_AH: " & valueLivingRoom1_AH) If Debug Then hs.WriteLog(logName, "valueBath1_T: " & valueBath1_T) If Debug Then hs.WriteLog(logName, "valueBath1_Co2: " & valueBath1_Co2) If Debug Then hs.WriteLog(logName, "valueBath1_RH: " & valueBath1_RH) If Debug Then hs.WriteLog(logName, "valueBath1_AH: " & valueBath1_AH) If Debug Then hs.WriteLog(logName, "humidDeltaBath1: " & humidDeltaBath1) If Debug Then hs.WriteLog(logName, "Current Ventilator Mode: " & ventModeGetCodeArray(valueVentModeGet)) If Debug Then hs.WriteLog(logName, "co2ThresholdNormal: " & co2ThresholdNormal) If Debug Then hs.WriteLog(logName, "co2ThresholdHigh: " & co2ThresholdHigh) If Debug Then hs.WriteLog(logName, "co2ThresholdMax: " & co2ThresholdMax) ' assign index from ventModeSetCodeArray Dim normalVentilatorGetMode As Integer = Array.IndexOf(ventModeGetCodeArray, "Auto") Dim normalVentilatorSetMode As Integer = Array.IndexOf(ventModeSetCodeArray, "Auto") Dim highVentilatorGetMode As Integer = Array.IndexOf(ventModeGetCodeArray, "Crowded") Dim highVentilatorSetMode As Integer = Array.IndexOf(ventModeSetCodeArray, "Crowded") Dim maxVentilatorGetMode As Integer = Array.IndexOf(ventModeGetCodeArray, "Refresh") Dim maxVentilatorSetMode As Integer = Array.IndexOf(ventModeSetCodeArray, "Refresh") Dim ventilatorSetLevel As Integer Dim ventilatorSetModeArray(3) As String ventilatorSetModeArray(1) = "Auto" ventilatorSetModeArray(2) = "Crowded" ventilatorSetModeArray(3) = "Refresh" If (fireAlarm) Then ' If fire alarm is true we stop ventilator or set it to minimum ' TODO identify best setting to disable the ventilator ' set mode manual ' set manual fan level to hs.WriteLog(logName, "Firealarm not implemented. Ventilator is in " & ventModeGetCodeArray(valueVentModeGet) & " mode.") ElseIf (valueVentModeGet >= Array.IndexOf(ventModeGetCodeArray, "Cooker Hood")) Then ' If ventilator is in get mode 7 (Cooker Hood) or higher we do nothing because the system is not in balance hs.WriteLog(logName, "Ventilator is in " & ventModeGetCodeArray(valueVentModeGet) & " mode, we do nothing!") Else ' Always start with normal as default level ventilatorSetLevel = 1 ' Co2 in living room 1 If (valueLivingRoom1_Co2 > co2ThresholdMax) And (ventilatorSetLevel < 3) Then ventilatorSetLevel = 3 If Debug Then hs.WriteLog(logName, "If (valueLivingRoom1_Co2 > co2ThresholdMax) And (ventilatorSetLevel < 3) Then, setting ventilatorSetMode to " & ventilatorSetLevel) ElseIf (valueLivingRoom1_Co2 > co2ThresholdHigh) And (ventilatorSetLevel < 2) Then ventilatorSetLevel = 2 If Debug Then hs.WriteLog(logName, "ElseIf (valueLivingRoom1_Co2 > co2ThresholdHigh) And (ventilatorSetLevel < 2) Then, setting ventilatorSetMode to " & ventilatorSetLevel) ElseIf (valueLivingRoom1_Co2 <= co2ThresholdNormal) And (ventilatorSetLevel = 1) Then If Debug Then hs.WriteLog(logName, "ElseIf (valueLivingRoom1_Co2 <= co2ThresholdNormal) And (ventilatorSetLevel = 1) Then, ventilatorSetLevel = 1") End If ' Co2 in bath 1 If (valueBath1_Co2 > co2ThresholdMax) And (ventilatorSetLevel < 3) Then ventilatorSetLevel = 3 If Debug Then hs.WriteLog(logName, "If (valueBath1_Co2 > co2ThresholdMax) And (ventilatorSetLevel < 3) Then, setting ventilatorSetMode to " & ventilatorSetLevel) ElseIf (valueBath1_Co2 > co2ThresholdHigh) And (ventilatorSetLevel < 2) Then ventilatorSetLevel = 2 If Debug Then hs.WriteLog(logName, "ElseIf (valueBath1_Co2 > co2ThresholdHigh) And (ventilatorSetLevel < 2) Then, setting ventilatorSetMode to " & ventilatorSetLevel) ElseIf (valueBath1_Co2 <= co2ThresholdNormal) And (ventilatorSetLevel = 1) Then If Debug Then hs.WriteLog(logName, "ElseIf (valueBath1_Co2 <= co2ThresholdNormal) And (ventilatorSetLevel = 1) Then, ventilatorSetLevel = 1") End If ' humidity in bath 1 If (humidDeltaBath1 > humidDeltaThresholdHigh) And (ventilatorSetLevel < 3) Then ventilatorSetLevel = 3 If Debug Then hs.WriteLog(logName, "If (humidDeltaBath1 > humidDeltaThresholdHigh) And (ventilatorSetLevel < 3) Then, setting ventilatorSetMode to " & ventilatorSetLevel) ElseIf (humidDeltaBath1 <= humidDeltaThresholdNormal) And (ventilatorSetLevel = 1) Then If Debug Then hs.WriteLog(logName, "ElseIf (humidDeltaBath1 <= humidDeltaThresholdNormal) And (ventilatorSetLevel = 1) Then, ventilatorSetLevel = 1") End If ' If the current ventilator mode is at the same mode/level we want to set then we do not have to do anything If (ventModeGetCodeArray(valueVentModeGet) = ventilatorSetModeArray(ventilatorSetLevel)) Then If Debug Then hs.WriteLog(logName, "ventModeGetCodeArray(valueVentModeGet) = " & ventModeGetCodeArray(valueVentModeGet)) If Debug Then hs.WriteLog(logName, "ventilatorSetModeArray(ventilatorSetLevel) = " & ventilatorSetModeArray(ventilatorSetLevel)) If Debug Then hs.WriteLog(logName, "If (ventModeGetCodeArray(valueVentModeGet) [" & ventModeGetCodeArray(valueVentModeGet) & "] = ventilatorSetModeArray(ventilatorSetLevel)[" & ventilatorSetModeArray(ventilatorSetLevel) & "] ) Then, no changes in ventilatorSetMode") Else ' Set ventilator device devVentModeSet to index of ventModeSetCodeArray where value is ventilatorSetLevel translated thru ventModeSetCodeArray If Debug Then hs.WriteLog(logName, "If Not (ventModeGetCodeArray(valueVentModeGet) [" & ventModeGetCodeArray(valueVentModeGet) & "] = ventilatorSetModeArray(ventilatorSetLevel)[" & ventilatorSetModeArray(ventilatorSetLevel) & "] ) Then, set ventilator to " & ventilatorSetModeArray(ventilatorSetLevel)) If Debug Then hs.WriteLog(logName, "ventilatorSetLevel = " & ventilatorSetLevel) If Debug Then hs.WriteLog(logName, "ventilatorSetModeArray(ventilatorSetLevel) = " & ventilatorSetModeArray(ventilatorSetLevel)) If Debug Then hs.WriteLog(logName, "before set devVentModeSet to " & Array.IndexOf(ventModeSetCodeArray, ventilatorSetModeArray(ventilatorSetLevel))) If Debug Then hs.WriteLog(logName, "hs.CAPIControlHandler(hs.CAPIGetSingleControl(" & devVentModeSet & ", True, " & ventilatorSetModeArray(ventilatorSetLevel) & ", False, False))") hs.CAPIControlHandler(hs.CAPIGetSingleControl(devVentModeSet, True, ventilatorSetModeArray(ventilatorSetLevel), False, False)) hs.WriteLog(logName, "set devVentModeSet to " & Array.IndexOf(ventModeSetCodeArray, ventilatorSetModeArray(ventilatorSetLevel))) End If End If End Sub Function AbsHumidity(ByVal relHumidity As Double, ByVal temp As Double) As Double ' Formula found here: ' https://www.hjemmeautomasjon.no/forums/topic/5896-konvertere-fra-relativ-til-absolutt-luftfuktighet/?do=findComment&comment=68448 AbsHumidity = Math.Round(6.112 * Math.E ^ ((17.67 * temp) / (temp + 243.5)) * relHumidity * 2.1674 / (273.15 + temp), 2) End Function End Class
  13. @Hillmar, Jeg savner at du poster formelen du implementerte i Homeseer Oppdatert: Glem det! Ser nå at @Moskus postet tidligere. Antar det er denne du endte opp med?
  14. Er det noen endringer i nettet siden det fungerte bra? Nye enheter, fjernet noe, flyttet på en enhet? Noe som har mistet strømmen og ramlet ut av mesh?
  15. Mener jeg fikk samme ID mellom to Z-stick.
  16. Har sett prat om at Aeotec sin software også kan ta backup/restore på UZB1. Er det noen som har testet dette? Har også to stk UZB1 liggende Tenkte å sette dem opp som repeatere men greit å vite om kan kan bruke de om hverandre for Z-Stick.
  17. Ikke i Europa mener jeg å ha lest. Aeotec Z-Stick har ett eget backup-restore-verktøy som skal fungere. Jeg har testet på 1 node og det virket. Jeg har kjøpt meg 2 stk Z-Stick. Planene er å ta jevnlige backup av den i bruk med restore på den andre. Så rullerer jeg på dem. På den måten vet jeg at backup/restore har fungert hver gang. På sikt håper jeg å bruke ser2net eller lignende å ha Z-Stick på en raspberry pi og sende USB over nettverket. Da håper jeg det lar seg scripte å ta ned Homeseer, koble om seriellporten til en windows maskin som så starter backup. Så kobler tilbake porten før HS starter opp igjen. I det minste kan dette uføres manuelt uten å måtte fysisk koble om noe.
  18. Litt nysgjerrig, hva trenger du absolutt fuktighet til? Noe ala det linket til over?
  19. ? Noe jeg har bommet på? Holdt på litt sent i går så skal ikke se bort i fra det. Jeg mener dager, Det er mellom 5 og 6 måneder igjen til filterskifte. Se den øverste enheten "VentilatorFilterChangeDays" De to nederste verdiene er sekunder til filterskifte, to 16 bit register representerer et 32bits tall. Den ene er de 16 høyeste bitsene og den andre er de 16 laveste.
  20. Lagde et script for å kalkulere antall dager igjen til filterbytte ut i fra høy og lav 16bits registere for sekunder. Register 7005 og 7006. Script: Sub Main(ByVal Parms As Object) Dim Debug As Boolean = False Dim logName As String = "RemainingFilterTime" Dim devVentilatorFilterChangeDays As Integer = 848 Dim devRefLoBits As Integer = 846 Dim devRefHiBits As Integer = 847 ' seconds in two 16 bit registers, low and high Dim secondsLoBits As UInt16 Dim secondsHiBits As UInt16 Dim seconds As UInt32 Dim days As UShort If Debug Then hs.WriteLog(logName, "Started") Try secondsLoBits = Convert.ToUInt16(hs.DeviceValue(devRefLoBits)) If Debug Then hs.WriteLog(logName, "secondsLoBits: " & secondsLoBits) secondsHiBits = Convert.ToUInt16(hs.DeviceValue(devRefHiBits)) If Debug Then hs.WriteLog(logName, "secondsHiBits: " & secondsHiBits) seconds = Convert.ToUInt32(secondsLoBits + (secondsHiBits * 65536)) If Debug Then hs.WriteLog(logName, "seconds:" & seconds) days = CUShort(seconds / 60 / 60 / 24) If Debug Then hs.WriteLog(logName, "days: " & days) hs.SetDeviceValueByRef(devVentilatorFilterChangeDays, days, True) hs.WriteLog(logName, "Set VentilatorFilterChangeDays to " & days & " and trigger)") Catch ex As Exception hs.WriteLog(logName, "Exception " & ex.ToString) hs.WriteLog(logName, "StackTrace: " & ex.StackTrace) End Try End Sub
  21. 6000 - 6006 var registerene vi sjekket for å finne ut at jeg måtte trekke fra 1 på alle adressene i EasyModbus. Dump fra scriptet mitt. 6001, returned: 2020, REG_TIME_YEAR 6002, returned: 1, REG_TIME_MONTH 6003, returned: 7, REG_TIME_DAY 6004, returned: 16, REG_TIME_HOUR 6005, returned: 1, REG_TIME_MINUTE 6006, returned: 52, REG_TIME_SECOND
  22. Nå fikk jeg også denne fra Litauen: Det er forsåvidt den eneste fornuftige forklaringen. Når det snakkes om konvertering på IAM så kan forsåvidt transporten av Modbus RTU være noe helt annet på RJ11-pluggen.
  23. @MrE, enig angående Modbus master. Det er noe her som ikke henger på greip. Systemair sier at aggregatet ikke er master. @bergen77, Det står i IAM-manualen at den går på Modbus og oversetter fra Modbus TCP til Modbus RTU, samt at det følger med en RJ10-modbuskabel. Aggregatene har modbus-adresse 1 og IAM har modbus-adresse 2. Hvis det kun er slaver som er adresserte så er både IAM og aggregat slaver. HMI er kanskje master? Eller så har @bergen77 rett og det er noe annet proprietært i tillegg. Argh ? Sitat fra Modbus variabel-listen får meg til å tro at HMI / kontrollpanel er master og at A/B-terminalene er en egen buss da man som regel slenger på en 3. part Master for å lese ut Modbus RTU.
  24. Ikke i følge Systemair i Litauen: Mitt spm: This meaning the VTR 300 unit is the master and continuously pushing all values to the slaves and polling for change requests? Svar: This is not true. VTR 300 is pushing data then when he gets request from Modbus master to push the data. Mine rare svar fra Modbus er nå fikset. Samme fyren som har gitt meg disse svarene la merke til at min Java-Modbus-klient EasyModbus har feil offset. Alle adressene lå 1 for høyt. Når jeg trakk fra 1 på alle spørringene ble det korrekt. Jeg har vel ikke lest at HMI er modbus. Så lenge det er koblet på samme fysiske interface som et eksternt panel og IAM kan være må det være Modbus siden IAM er modbus. Hvis det er Touch-panelet som er fast montert på skapet og er koblet i egen plugg/kontakt så kan det være hva som helst. Ett tidligere svar på mine spørsmål om hva som er master og slave, som ikke akkurat gjør det klarere for min del. Your question is a bit unclear for me. But I will try to answer it. You can use IAM as Modbus TCP slave and external control panel. External control panel doesn’t affect IAM Modbus TCP connection. Is it same if You have external control panel and IAM which is connecting to cloud. Litt "- God dag man. - Økseskaft." jeg spurte oprinnelig ikke om TCP men kun seriell-bussen på aggregatene.
  25. Ja, det er litt snodig. Har du noe annet å måle effekten med? En annen plugg. Tangampermeter og lage til en kabelsladd for å måle strøm? Du kan fjerne enheten og resette den å legge inn på nytt. Bare for å prøve.
×
×
  • 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.