homebridge-virtual-accessories 3.9.3 → 3.9.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -127,7 +127,7 @@ Currently, these are the implemented virtual accessories:
127
127
  - **Timed switches.** This is a way to introduce timers into HomeKit. The switch will revert back to its default state when the timer expires. If the switch is stateful, the timer will be restored after a restart of Homebridge. While care is taken to restore the timer with the appropriate time correction, **absolute accuracy is not guaranteed and should not be expected**. The accuracy of the restored timer will be affected, among other things, by the hardware and software Homebridge is running on, the number of plugins installed, the order with which the plugins are restored, etc.
128
128
  - **Sensor.** Allows you to create different types of virtual sensors. If Activity Notifications are enabled in the Home app, sensors will generate notifications when their state changes in response to a detected event. Some types of notifications, classified as `critical` by Homekit, are allowed to bypass Focuses like `Do Not Disturb` and some are allowed to appear in CarPlay. Sensors can be activated by different triggers. Currently, the available triggers are:
129
129
  - **Host Ping trigger.** Actvates the sensor after a configurable number of failed attempts to ping a network host. The sensor resets when ping is successful.
130
- - **Cron trigger.** Activates the sensor when the time and date match the schedule deascribed by a cron expression. The sensor resets after a brief delay.
130
+ - **Cron trigger.** Activates the sensor when the time and date match the schedule described by a standard cron expression (https://crontab.guru/). The sensor resets after a brief delay.
131
131
  - **Sun Events trigger.** Activates the sensor when the selected event happens: sunrise, sunset, and golden hour (for the photographers among us). The sensor resets after a brief delay.
132
132
  - **Switch trigger.** To create a switch triggered sensor, create a virtual switch accessory with a companion sensor. This is just the easier way of implementing a switch triggered sensor. A future version may provide the ability to create this pairing as a sensor with a switch trigger.
133
133
  - **Webhook trigger.** Triggers the sensor via a [webhook call](#webhook-service-configuration). To reset the sensor, trigger it via another web call.
@@ -1066,10 +1066,10 @@
1066
1066
  "properties": {
1067
1067
  "pattern": {
1068
1068
  "title": "Cron Pattern *",
1069
- "description": "Unix cron pattern (minute, hour, day, month, weekday)",
1069
+ "description": "Standard unix cron pattern - minute, hour, day, month, weekday (https://crontab.guru/)",
1070
1070
  "type": "string",
1071
1071
  "placeholder": "* * * * *",
1072
- "pattern": "^((((\\d+,)+\\d+|(\\d+(\\/|-|#)\\d+)|\\d+L?|\\*(\\/\\d+)?|L(-\\d+)?|\\?|[A-Z]{3}(-[A-Z]{3})?) ?){5})$"
1072
+ "pattern": "(^((\\*\\/)?([0-5]?[0-9])((,|-|\\/)([0-5]?[0-9]))*|\\*)\\s((\\*\\/)?((2[0-3]|1[0-9]|[0-9]|00))((,|-|\\/)(2[0-3]|1[0-9]|[0-9]|00))*|\\*)\\s((\\*\\/)?([1-9]|[12][0-9]|3[01])((,|-|\\/)([1-9]|[12][0-9]|3[01]))*|\\*)\\s((\\*\\/)?([1-9]|1[0-2])((,|-|\\/)([1-9]|1[0-2]))*|\\*|(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec))\\s((\\*\\/)?[0-6]((,|-|\\/)[0-6])*|\\*|00|(sun|mon|tue|wed|thu|fri|sat))$)"
1073
1073
  },
1074
1074
  "zoneId": {
1075
1075
  "title": "Zone Id",
@@ -15,7 +15,8 @@ export class CronTriggerConfiguration {
15
15
  // 5: minutes granularity
16
16
  // 6: seconds granularity
17
17
  // 7: milliseconds granularity
18
- static cronMinutesGranularityPattern = '^((((\\d+,)+\\d+|(\\d+(\\/|-|#)\\d+)|\\d+L?|\\*(\\/\\d+)?|L(-\\d+)?|\\?|[A-Z]{3}(-[A-Z]{3})?) ?){5})$';
18
+ // eslint-disable-next-line max-len
19
+ static cronMinutesGranularityPattern = '(^((\\*\\/)?([0-5]?[0-9])((,|-|\\/)([0-5]?[0-9]))*|\\*)\\s((\\*\\/)?((2[0-3]|1[0-9]|[0-9]|00))((,|-|\\/)(2[0-3]|1[0-9]|[0-9]|00))*|\\*)\\s((\\*\\/)?([1-9]|[12][0-9]|3[01])((,|-|\\/)([1-9]|[12][0-9]|3[01]))*|\\*)\\s((\\*\\/)?([1-9]|1[0-2])((,|-|\\/)([1-9]|1[0-2]))*|\\*|(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec))\\s((\\*\\/)?[0-6]((,|-|\\/)[0-6])*|\\*|00|(sun|mon|tue|wed|thu|fri|sat))$)';
19
20
  static isoTimeNoMillisPattern = '^\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d(:[0-5]\\d|)$';
20
21
  errorFields = [];
21
22
  fieldNames = Utils.proxiedPropertiesOf(this);
@@ -1 +1 @@
1
- {"version":3,"file":"configurationCronTrigger.js","sourceRoot":"","sources":["../../../src/configuration/triggers/configurationCronTrigger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configurationCronTrigger.js","sourceRoot":"","sources":["../../../src/configuration/triggers/configurationCronTrigger.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "homebridge-virtual-accessories",
3
3
  "displayName": "Virtual Accessories for Homebridge",
4
4
  "type": "module",
5
- "version": "3.9.3",
5
+ "version": "3.9.5",
6
6
  "description": "Virtual HomeKit accessories for Homebridge.",
7
7
  "author": "justjam2013",
8
8
  "license": "MIT",