Page 2 of 2

Re: Energy script hulp gevraagd

Posted: Wed Sep 21, 2016 2:05 pm
by Karell
als ik hem in een vb zet krijg ik dit

As System.Object' cannot be called with these arguments: Argument matching parameter 'parms' cannot convert from 'Integer()' to 'Object()'.

Re: Energy script hulp gevraagd

Posted: Wed Sep 21, 2016 2:24 pm
by Karell
deze werkt hehe

Sub Main(ByVal parm As String)
Dim ReturnValue

ReturnValue = hs.PluginFunction("Plugwise Pro", "", "GetTotalPower", {"3382"})
hs.writelog("script", "" & ReturnValue)
End Sub

Re: Energy script hulp gevraagd

Posted: Wed Sep 21, 2016 2:44 pm
by Karell
Hoi stef,

is het ook mogelijk om de total value te resetten via een script ?

groet

Re: Energy script hulp gevraagd

Posted: Wed Sep 21, 2016 4:32 pm
by stefxx
Hoi Karel,

Nee dat kan niet. Er zit wel een optie "verstopt" in de device properties (table Plugwise Pro), als je daar een vinkje zet dan zet hij de teller in HS3 op nul. Maar de eigenlijke teller zit in de plug zelf, en die kan de plugin niet resetten. Probleem is dus een beetje dat als de plugin nog niet helemaal "leeg" gelezen is en je hem op 0 zet er toch nog oude data bij komt.

Je kunt overigens in hetzelfde tabje zien of de energy helemaal gelezen is. Als "Logaddress" en "Logaddress (processed)" dezelfde waardes bevatten, is je energie totaal helemaal bij.

Overigens is het niet al te lastig om hier ook een script functie van te maken. Maar als je de data van gisteren hebt, kun je ook "gewoon" die twee waardes van elkaar aftrekken toch? Lijkt me een stuk netter.

Re: Energy script hulp gevraagd

Posted: Thu Sep 22, 2016 2:18 pm
by Karell
ja daar heb je gelijk in ,

ik heb een script maar er is een probleem, hij trekt de ene waarde van de andere niet af.. hier mijn voorbeeld

If CurntRead >= LastRead Then
Used = Meterdecimal - LastRead
hs.SaveINISetting("PowerMeter", "LastRead",Meterdecimal, IniFile)

Meterdecimal = 1.40
LastRead = 1.30

dan krijg ik als uitkomst bij (used) 0 het lijkt erop dat hij de decimalen niet ziet maar hoe kan ik dat oplossen?

dit is het script

Code: Select all

Sub Main(ByVal Parms As Object)
dim Meterdecimal 
dim MeterDev As string = hs.PluginFunction("Plugwise Pro", "", "GetTotalPower", {"3382"})


Meterdecimal = (FormatNumber(MeterDev / 1, 2))


dim Lastread1 as string = hs.getINISetting("Powermeter", "LastRead", "",IniFile)
hs.WriteLog("Lastread1", Lastread1) 

hs.WriteLog("MeterDev", MeterDev)

hs.WriteLog("Meterdecimal", Meterdecimal)
    'Get current and last readings then calculate used value 
    Dim LastRead As Integer 
    Dim CurntRead As Integer 
    Dim Used As Integer 
	
	
    Try 
        LastRead = lastread1
        CurntRead = Meterdecimal
		
        If CurntRead >= LastRead Then 
            Used = Meterdecimal - LastRead 
            hs.SaveINISetting("PowerMeter", "LastRead",Meterdecimal, IniFile) 
        Else 
            hs.WriteLog("PowerMeter", "Error. Current reading is less than last reading!") 
        End If 
    Catch ex As Exception 
        hs.WriteLog("PowerMeter", "Error getting current reading " & ex.ToString) 
        Exit Sub 
    End Try 

    hs.WriteLog("Used", used)
End Sub 

Re: Energy script hulp gevraagd

Posted: Thu Sep 22, 2016 2:51 pm
by stefxx
Integer zijn altijd hele getallen. Gebruik eens een Double?

Re: Energy script hulp gevraagd

Posted: Thu Sep 22, 2016 3:17 pm
by Karell
Klopt helemaal vergeten , Bedankt nog voor de hulp!

Nu kan ik even alle scripts instellen en dan meteen op vakantie gaan :D