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

HSv

Medlemmer
  • Innlegg

    155
  • Ble med

  • Besøkte siden sist

  • Dager vunnet

    1

Innlegg skrevet av HSv

  1. Mine eventer for berederen er ganske like dine. Som du ser - jeg har en condition for å skru på bare dersom det allerede er av.

    Bereder-event.JPG.96f36a619bf13de0e1b93846c176b5b2.JPG

     

    Det skal ikke være noe hos deg som ikke fungerer såvidt jeg kan se. Du kan jo gjerne la den kjøre et døgn for å være sikker - Da vil du iallefall møte alle de conditions du har satt.

     

    Og ja - du må ha en event for å skru av, og en for å skru på.

  2. Jeg har hatt samme problem tidligere, og kan bekrefte at det er ikke noe problem å bruke en annen gulvføler enn den som følger med, men du må kanskje justere parameter 3 for å sette riktig verdi for motstand - akkurat som @Jarle F beskriver over.

     

    Jeg kan også bekrefte at en ekstern romføler fungerer _veldig_ mye bedre enn den innebygde (som jo er ubrukelig). Som nevnt over er det bare en liten NTC motstand i en stor plastboks.
    Og ja - den kobles til termostaten med kabel.

    • Like 2
  3. 2 minutter siden, aceradiv skrev:

    Finnes det eller kommer det en Linux versjon?

    TibberSeer fungerer flott for Linux også - bare følg installasjonsveiledningen.
    Jeg har kjørt med det et par måneder nå, og har akkurat oppdatert til siste versjon.
    (Jeg har ikke Pulse enda - så har forsåvidt ikke testet det)

  4. Såvidt jeg kan se så er  @ZoRaC sitt forslag det samme som mitt -  jeg har bare leget en event av hans ide.

     

    Du kan godt bruke samme trigger som jeg har gjort her - jeg bruker det på masse eventer.
    Jeg har også testet den eventen igjen. Den fungerer for meg fremdeles.

    Når jeg ikke spiller noe som helst så går lyset på.
    Når jeg spiller Beatles-sangen så går det ikke på.
    Og når jeg spiller Clapton, så går det på.

    Jeg ville sjekket at Track var identisk med det som står i eventen. Copy/Paste fra Device/Track når du spiller sangen du vil bruke.
    Så kan du teste hver av de to conditions hver for seg så finner du kanskje ut hvor feilen ligger

     

    Note:

    Det er "Easy Trigger: This devices string is not..." jeg bruker for å teste på sangtittelen.

  5. Jeg har akkurat lagt ut en ny versjon i det første innlegget.

     

    Og her er en "spesialversjon" som ikke lar seg avbryte. Det er ikke veldig grundig testet, men se om ikke dette gjør det du ønsker.

     

    Spoiler

    ' SmartDimmer.vb , v. 2.0
    '
    ' NOTE - No-Interrupt version!!!
    '
    '   This script requires 4 parameters, separated by ':'
    '    - Device Reference ID
    '    - Start level (%)  0 - 100 [integer]
    '                       (use -1 for current devicevalue)
    '                       (use -2 to add end level to current value)
    '    - End level (%)    0 - 100 [integer]
    '    - Time (sec)       1 - 3600 [integer]
    '                               HSv, Feb. 2019

    Public Module GlobalVars
      Public Shared infoLog  As Boolean = True      ' Log whats happening...?
      Public Shared warnLog  As Boolean = True      ' Log warnings...? (you really should!)
      Public Shared debugLog As Boolean = False     ' Log a bit more...?
    End Module

    Public Sub Main(ByVal _params As Object)
      Dim showLoc     As Boolean = False    ' Add location to the devicename when
                                            ' writing to the log
      Dim Waittime    As Integer = 250      ' Default minimum loop time in millisec
                                            ' - i.e. 250 means 4 times per sec.
      Dim MaxTimespan As Integer = 3600     ' Max timespan is one hour - I guess this can be changed if you need to...
      Dim LogID       As String  = "SmartDimmer"


    ' ---------------------------------------------------
    '  There should not be anything to change below here
    ' ---------------------------------------------------

      ' I guess reading the input parameters would eb a good idea...
      Dim deviceRef  As Integer = Integer.parse(_params.ToString.split(":")(0))
      Dim Startvalue As Integer = Integer.parse(_params.ToString.split(":")(1))
      Dim Stopvalue  As Integer = Integer.parse(_params.ToString.split(":")(2))
      Dim Timespan   As Integer = Integer.parse(_params.ToString.split(":")(3))

      ' Does the device exist at all...?
      If ( Not hs.DeviceExistsRef(deviceRef)) Then
        Logging(LogID, "warn", "Device " & deviceRef & " does not exist - Exiting!")
        Exit Sub
      End If

      ' If startvalue is set to -1, then use the current devicevalue as start.
      ' Do this also if start and endvalue are the same
      ' ( changing from 10 to 10 doesn't make sense, so therefore I assume you meant change from <current> to <new> )
      If ( (Startvalue = -1) OrElse (Startvalue = Stopvalue) ) Then
        Startvalue = hs.DeviceValue(deviceRef)
      ElseIf (Startvalue < -1) Then
        Startvalue = hs.DeviceValue(deviceRef)
        Stopvalue  = Startvalue + Stopvalue
      End If

      ' Read the name of the device, as it's more human readable in the log
      Dim deviceName As String
      If showLoc Then
        deviceName = hs.devicename(deviceRef)
      Else
        deviceName = hs.GetDeviceByRef(deviceRef).name(hs)
      End If

     


      ' Check if inputs are within limits
      If Startvalue < 0           Then Startvalue = 0
      If Startvalue > 100         Then Startvalue = 100
      If Stopvalue  < 0           Then Stopvalue  = 0
      If Stopvalue  > 100         Then Stopvalue  = 100
      If Timespan   < 1           Then Timespan   = 1
      If Timespan   > MaxTimespan Then Timespan   = MaxTimespan

      ' let the log know what we are up to...
      Logging(LogID, "info", "Device " & deviceName & " - from " & Startvalue & "% to " & Stopvalue & "% over " & Timespan & "sec")

      If Stopvalue <> Startvalue Then
        ' Calculate change per <Waittime> millisec.
        Dim DeltaValue As Integer = (Stopvalue - Startvalue) / (Timespan * (1000/Waittime))

        ' The minimum change is 1 (or -1) - If it is less I need to change it to 1, and calculate a new step-time
        ' I.e - If I want to change from 0 to 10 in 20 sec - I need to change by 1 every 2 sec.
        If Math.Abs(DeltaValue) < 1 Then
          If Stopvalue < Startvalue Then
            DeltaValue = -1
          Else
            DeltaValue = 1
          End If
          Waittime  = Math.Abs(TimeSpan / (Startvalue - Stopvalue) * 1000)
        End If
        Logging(LogID, "debug", "Device " & deviceName & " - Deltavalue= " & DeltaValue & " , Waittime= " & Waittime)

        Dim Previouslevel As Integer = Startvalue

        For Each cc As HomeSeerAPI.CAPIControl In hs.CAPIGetControl(deviceRef)
          For Newlevel As Integer = Startvalue To Stopvalue Step DeltaValue

            ' Set the correct dim level
            cc.ControlValue = Newlevel
            hs.CAPIControlHandler(cc)
            Logging(LogID, "debug", "Device " & deviceName & " : " & Previouslevel & " -> " & Newlevel)

            ' Wait the required amount of time
            System.Threading.Thread.Sleep(Waittime)
            Previouslevel = Newlevel
          Next

          ' In case the device end up with an incorrect value (d.t. increments only in integers),
          ' then I set the final value outside the loop.
          If (hs.DeviceValue(deviceRef) <> Stopvalue) Then
            Logging(LogID, "debug", "Device " & deviceName & " : " & Previouslevel & " -> " & Stopvalue & " (Final touch)")
            cc.ControlValue = Stopvalue
            hs.CAPIControlHandler(cc)
          End If

          ' Be nice and let the log know we are done ?
          Logging(LogID, "info", "Device " & deviceName & " - done!")
          Exit Sub
        Next
      Else
        ' Nothing for me to do here
        ' This means that the device is already at the StopValue.
        Logging(LogID, "warn", "Device " & deviceName & " nothing to do!")
      End If

    End Sub
     

    ' Routine for writing to the log
    Sub Logging(ByVal LogID As String, ByVal msgType As String, ByVal msg As String)
      Dim msgComplete As String
      Dim writetolog As Boolean = False

      Select Case msgType
        Case  "info"
          If GlobalVars.infoLog Then
            msgComplete = "Info: " & msg
            writetolog = True
          End If

        Case  "debug"
          If GlobalVars.debugLog Then
            msgComplete = "Debug: " & msg
            writetolog = True
          End If

        Case  "warn"
          If GlobalVars.warnLog Then
            msgComplete = "Warning: " & msg
            writetolog = True
          End If

        Case Else
          msgComplete = "Msgtype '" & msgType & "' undefined"
          writetolog = True
      End Select

      If writetolog Then hs.Writelog (LogID, msgComplete)

    End Sub

    ' That's all folks!

     

  6. Så hyggelig å høre .

     

    Men nei, da fjerner du altfor mye. 
    Jeg skal se om jeg ikke får lagt ut en nyere versjon av scriptet i morgen, og da kan jeg vise deg hva som må tas ut for at det ikke skal stoppe.

  7. Jeg har fått installert 2 stykker nå - den første var littegrann trøblete å få inkludert men slettes ikke så ille som jeg var redd for etter å ha hørt om andre sine erfaringer. Den andre kom rett inn på første forsøk. Begge er inkludert unsecure i HomeSeer.
    Det eneste problemet er at de rapporterer altfor ofte. Men det kan jo se ut som det er en ny firmware på gang, så da velger jeg å gå for disse. 
    Jeg skal bare se at disse to ikke tar strupetak på z-wave nettet, og så kommer den tredje på plass om en uke eller så.

  8. 29 minutter siden, Galder skrev:

    Takk for opplysningen, da gleder jeg meg til  å komme hjem fra jobb for å se om det løser problemet. Det hadde jo spart meg for endel timers arbeid for å si det sånn ?

     

    Lykke til - håper det ordner seg ?

     

  9. Kjører du på Windows eller Linux? På Linux vil en enkel tar av /usr/local/HomeSeer lage en god backup for deg, og for Windows tror jeg de anbefaler å bruke BLBackup.


    BLBackup er en plugin, og den fungerer forsåvidt også for Linux. Problemet er at på Linux så mistet jeg alt av owner/filepermissions da jeg tok en restore, så det ble litt jobb å finne ut av det etterpå.

  10. Jeg så det samme hos meg i går kveld - alle noder var borte (jeg sjekket ikke eventer)
    Jeg gjorde ikke så mye research - det første jeg gjorde var å disable / eneble Z-wave plugin, og etter et par nervepirrende minutter var alt på plass igjen.

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