Jepp.
Vi hadde denne diskusjonen med HS-gutta da vi var i overgangen. Etter påtrykk fra en del "gamle" HS-brukere ville de gjøre funksjoner så like HS2 som mulig, men problemet med det er koden ble veldig lite konsistent. Eksempel: hs.DeviceValue henter verdi fra en device og bruker Device Ref, men for å sette den verdi til en device må man bruke hs.SetDeviceValueByRef(). Hvem faen har tenkt?!
''' <summary>
''' Registers the web page in HomeSeer
''' </summary>
''' <param name="link">A short link to the page</param>
''' <param name="linktext">The text to be shown</param>
''' <param name="page_title">The title of the page when loaded</param>
''' <remarks>HSPI_SAMPLE_BASIC</remarks>
Public Sub RegisterWebPage(ByVal link As String, Optional linktext As String = "", Optional page_title As String = "")
Try
Dim the_link As String = link
hs.RegisterPage(the_link, plugin.Name, instance)
If linktext = "" Then linktext = link
linktext = linktext.Replace("_", " ").Replace(plugin.Name, "")
If page_title = "" Then page_title = linktext
Dim webPageDescription As New HomeSeerAPI.WebPageDesc
webPageDescription.plugInName = plugin.Name
webPageDescription.link = the_link
webPageDescription.linktext = linktext & instance
webPageDescription.page_title = page_title & instance
callback.RegisterLink(webPageDescription)
Catch ex As Exception
Log("Registering Web Links (RegisterWebPage): " & ex.Message, LogType.Error)
End Try
End Sub
Bruk:
RegisterWebPage(link:=configPageName, linktext:="Configuration", page_title:="Configuration")
RegisterWebPage(link:=pricechartPageName, linktext:="Price charts", page_title:="Price charts")
Resultat:
@Guahtdim har gjort en fantastisk jobb!
https://github.com/Moskus/hspi_CsharpSample/blob/master/hspi_CsharpSample/Config/WebConfig.cs