Página 1 de 3 123 ÚltimoÚltimo
+ Responder ao Tópico



  1. Boa noite, pela primeira vez posto aqui em busca de auxilio para fazer uma alteração no script que encontrei para monitorar automaticamente a tensão das minhas rb433ah que são alimentadas por fontes de energia alternativas.
    Pesquisando encontrei os scripts voltreport e voltmonitor no seguinte endereço: Monitor input voltage on RB333/433AH - MikroTik Wiki
    segui os passos e funcionou sem problemas, mais gostaria de adequar eles a minha necessidade, pois quando recebo o e-mail com o log das tensões de hora em hora e minima e máxima os valores da tensão minima e máxima se referem ao tempo total desde que o script passou a ser rodado no sistema e gostaria que estes valores fossem referentes as tensões minimas e máximas somente do dia, mais não tenho noção de como chegar a este resultado.
    Agradeço qualquer ajuda, não tenho urgencia disto, mais gostaria de poder fazer desta maneira para porder ter uma noção melhor da capacidade de geração de energia que meu sistema tem.

    Seguem abaixo os scripts:
    voltmonitor
    Código :
    #set lowvoltalarm to desired alarm voltage in tenths of a volt. 125 = 12.5v
    :global lowvoltalarm 125
    :global highvolt
    :global lowvolt
    :global starttime
    :global hivolttime
    :global lovolttime
    :global vh
    :local thisbox [/system identity get name]
    :global voltage [/system health get voltage]
    :local thistime [/system clock get time]
    :local thisdate [/system clock get date]
    :local thishour [:pick $thistime 0 2]
    :local emessage ($thisbox . " voltage is " . [:pick $voltage 0 2] . "." . [:pick $voltage 2 3])
    :if ([:len $lowvolt] < 1) do={:set lowvolt 999; :set highvolt 0}
    # set your email address in the next line
    :if ($voltage <= $lowvoltalarm) do={/tool e-mail send to="youremail@yourdomain.com" subject="$thisbox low voltage" body=$emessage}
    :if ($voltage > $highvolt) do={:set highvolt $voltage; :set hivolttime ($thistime . " " . $thisdate)}
    :if ($voltage < $lowvolt) do={:set lowvolt $voltage; :set lovolttime ($thistime . " " . $thisdate)}
    :if ([:len $vh] > 0) do={:set vh ([:toarray $voltage] + $vh)} else={:set vh [:toarray $voltage]}
    :if ([:len $starttime] < 1) do={:set starttime ($thistime . " " . $thisdate)}
    :if ($thishour = "23") do={:execute voltreport}
    Voltreport
    Código :
    :global highvolt
    :global lowvolt
    :global hivolttime
    :global lovolttime
    :global starttime
    :global vh
    :local tvolt
    :local thisbox [/system identity get name]
    :local thisdate [/system clock get date]
    :local thishour
    :local emessage "Daily voltage report for $thisbox on $thisdate\n\n"
    :if ([:len $vh] > 0) do={
        :for x from=0 to=([:len $vh]-1) step=1 do={
            :set tvolt [:tostr [:pick $vh $x]]
            :set thishour [:tostr (23 - $x)]
            :while ([:len $thishour] < 2) do={:set thishour ("0" . $thishour)}
            :set emessage ($emessage . $thishour . ":00 = " . [:pick $tvolt 0 2] . "." . [:pick $tvolt 2 3] .  "\n")
        }
        :set emessage ($emessage . "\nSince voltmonitor started on " . $starttime . "\n")
        :set tvolt [:tostr $highvolt]
        :set emessage ($emessage . "Maximum = " . [:pick $tvolt 0 2] . "." . [:pick $tvolt 2 3] . "v at " . $hivolttime . "\n")
        :set tvolt [:tostr $lowvolt]
        :set emessage ($emessage . "Minimum = " . [:pick $tvolt 0 2] . "." . [:pick $tvolt 2 3] . "v at " . $lovolttime . "\n")
    # set email address in next line
        /tool e-mail send to="youremail@yourdomain.com" subject="$thisbox Voltage Report" body=$emessage
    }
    # remark out the next line for testing to avoid resetting the voltage array
    :set vh
    Última edição por py3sol; 31-08-2009 às 21:09. Razão: acrescentar os scripts

  2. Amigo, poste os scripts para a gente pode analizar !



  3. Citação Postado originalmente por admskill Ver Post
    Amigo, poste os scripts para a gente pode analizar !
    Acho que é só analizar não é uma vez que já está postado e/ou com link para o local.

  4. Boa noite, ninguem tem uma idéia de como fazer esta alteração?



  5. Em linguagem lógica ficaria assim:
    inicio: data/hora -> datahorainicial
    cada leitura:
    (conteúdo atual do script)
    (se data/hora_atual > datahorainicial + 24h) { volt_min = 255 ; volt_max = 0 ; datahorainicial = data/hora_atual }

    Isso vai fazer com que a cada 24h a comparação recomeçe. O valor mínimo é grande para ser substituído, mesma idéia ao contrário vale para o máximo.






Tópicos Similares

  1. auxilio para monitorar Gateway
    Por capgaiotto no fórum Segurança
    Respostas: 3
    Último Post: 02-11-2006, 08:30
  2. Auxilio para regras na minha rede local.
    Por vioflas no fórum Servidores de Rede
    Respostas: 0
    Último Post: 20-04-2006, 11:08
  3. script para alterar palavra
    Por The-shadow no fórum Linguagens de Programação
    Respostas: 1
    Último Post: 23-02-2005, 10:56
  4. chpasswd.cgi para alterar senha
    Por markcom no fórum Servidores de Rede
    Respostas: 6
    Último Post: 19-01-2005, 10:50
  5. script para alterar arquivos de configuração
    Por brunaocomanda no fórum Linguagens de Programação
    Respostas: 0
    Último Post: 21-12-2004, 14:08

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L