Skip to content
This repository has been archived by the owner on Jun 25, 2024. It is now read-only.

Releases: lwsrbrts/PoSHive

PoSHive - PowerShell Hive System Control

03 Apr 14:51
Compare
Choose a tag to compare

What's New

  • GetHotWaterState() method returns the boolean state of the hot water system. On = $true, Off = $false.
  • Changes to the URIs as used by the GetWeather..* methods. The old URI has gone away.

Don't forget to get the module from the PowerShell Gallery, unless you want the code itself.

PoSHive - PowerShell Hive System Control

08 Mar 22:22
Compare
Choose a tag to compare

There are a good number of changes included since the earlier release numbers. Unfortunately I hadn't kept those up to date so here are the major changes since 2.1.

  • PowerShell Core 6.0 Compatibility - I've tested and used the module on Linux (Raspbian Stretch) on a Raspberry Pi and it works well.
  • Heating History Data and export to Charts - The module now enables you to export heating history information for up to 100+ days in the past as an object that you can use as you wish or export that to an HTML file which, when opened, uses Google Charts to draw a bar graph, very similar to those on the Hive Portal that you can use to see your temperature trends.
  • Colour and Tuneable/White Bulb Support - set colour, schedules, temperature (of light), turn on, turn off and change modes between schedule and manual for Hive's own bulbs
  • Partner Bulb (Philips Hue) - the same functions used for controlling Hive's own bulbs now also work with Philips Hue bulbs when your Hive system is configured to partner with your Philips Hue system. This feature now actually provides a remote API for Philips Hue, which even Philips don't provide!

Hope you like this release.

PoSHive - PowerShell Hive System Control

04 Aug 21:08
Compare
Choose a tag to compare

Added support for sensors. Since there's nothing to set on a sensor, the methods only retrieve data and present it to the user for them to decide what to do with.

The boolean parameter IncludeTodaysEvents will additionally request (from the API) the history of events occurring on the sensor. Set to $true to get the history and set to $false to ignore the history.

Motion Sensor

psobject GetMotionSensorState(string SensorName, bool IncludeTodaysEvents)

PS C:\>$h.GetMotionSensorState('Motion Sensor 1', $true)
<#
Name                           Value
----                           -----
Online                         True
MotionDetected                 False
StartTime                      02/08/2017 08:41:00
EndTime                        02/08/2017 08:36:19
LatestEvent
TodaysEvents                   {}
#>

Contact Sensor

psobject GetContactSensorState(string SensorName, bool IncludeTodaysEvents)

PS C:\>$h.GetContactSensorState('Win/Door Sensor 1', $true)
<#
Name                           Value
----                           -----
SensorStatus                   CLOSED
LatestEvent                    @{start=04/08/2017 20:21:31; end=04/08/2017 20:21:31; type=Closed}
TodaysEvents                   {@{start=04/08/2017 20:21:31; end=04/08/2017 20:21:31; type=Closed}, @{st...
#>

PoSHive - PowerShell Hive System Control

01 Aug 13:16
Compare
Choose a tag to compare

This release is a major revision and the class now supports multi-zone heating and hot water systems.

All existing heating control methods now have an overload to allow you to provide the name of the zone where the command is to be sent. If you use a multi-zone system and use a single-zone method, you will receive an error message advising that you should use the new method.

NB: Any existing scripts should continue to work fine for people using the module with single-zone, no hot water systems but anyone that was using it to control a single zone from a multi-zone system will now need to update their scripts and use the new function in which you provide the name assigned to the zone you wish to control as a parameter, as well as the actual parameter.
Eg. $Hive.SetTemperature('FirstFloor',22)

This release also brings support for Hot Water systems, including:

  • Setting the mode to On (Manual), Off or Schedule.
  • Boosting for 30 minutes, 1 hour, 2 hours, 3, hours, 4, hours, 5 hours or 6 hours.
  • Saving a schedule to a JSON file.
  • Setting a schedule from a JSON file.

PoSHive - PowerShell Hive Heating System Control

08 Jun 13:56
Compare
Choose a tag to compare

Added GetActivePlugState() and resolved a bug preventing using the same object to log back in again after logging out.

PoSHive - PowerShell Hive Heating System Control

06 Jun 20:28
Compare
Choose a tag to compare

A small addition to the class to add the GetActivePlugPowerConsumption() method.

This method retrieves the power consumption, in watts by the device attached to the named Active Plug.

PoSHive - PowerShell Hive Heating System Control

02 Jun 13:52
Compare
Choose a tag to compare

I've made a small change to how the password is stored and used in the object once instantiated. I know it doesn't really improve security that much but it's better a little security on a password than none. Instantiation of the class still accepts string input of the password but the password is encrypted inside the object now.

If I were to change the password object on instantiation, it would be a breaking change since the script would require the password to be provided as a [securestring]. I may choose to introduce this for v.2.0.0 which will be the introduction of Hot Water support.

Added the following methods:

  • SaveActivePlugScheduleToFile()
  • SetActivePlugScheduleFromFile()

which do pretty much what they say. They differ from the heating schedule methods by the requirement of a name for the Active Plug you want to save from or set to. Their purpose is to allow easy synchronisation of schedules across plugs without fiddling with each plugs schedule. Update one, save it then upload it to the others.

PoSHive - PowerShell Hive Heating System Control

01 Jun 22:59
Compare
Choose a tag to compare

Updates to the beekeeper API version 1.0 as used on the Hive site.
Updated all of the methods to use the new beekeeper 1.0 API.
Added some new methods to control Active Plugs

  • SetActivePlugState()- for turning a plug on and off.
  • SetActivePlugMode() - for setting the plug to either use the schedule or manual.

To do and will follow in 1.4.1 soon:

  • SaveActivePlugScheduleToFile - similar to the heating one
  • SetActivePlugScheduleFromFile - again, similar to the heating one.

PoSHive - PowerShell Hive Heating System Control

27 Apr 18:57
Compare
Choose a tag to compare

Resolved an issue affecting the GetHolidayMode() method that would not always return a node attribute to obtain information from.

PoSHive - PowerShell Hive Heating System Control

25 Apr 22:17
Compare
Choose a tag to compare

Added new method for advancing the heating system to the next event.

  • SetHeatingAdvance()

I have now included the manifest file (PoSHive.psd1) in the release zip file. If you are not installing from the PowerShell Gallery, this allows you to manually add the class (I can't call it a module as it isn't really) to your modules directory and call it simply by name.

Import-Module -Name PoSHive