Created
July 30, 2025 18:45
-
-
Save bobmcwhirter/6621a37fc0b9bbd9424f3e0b0c27f04a to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Changelog | |
| ## Unreleased (2025-07-30) | |
| ### Features | |
| * implement subscribe in the wasm api (#537) (0508496), closes #537 | |
| * PhysicalDevice support. (#536) (8399a0c), closes #536 | |
| * entity-activity tracking. (#522) (237f0ef), closes #522 | |
| * SE-283 -- Filtered lists __str__ should be reasonable. (#521) (8658da9), | |
| closes #521 | |
| * extract doc:doc from ontology, emit into .py (#531) (77dae79), closes #531 | |
| * robust subscriptions in the Python API. (#530) (c16757a), closes #530 | |
| * provide __str__ for entities. (#520) (2f17a99), closes #520 | |
| * display information about the build at boot-up. (#513) (5a537e9), closes | |
| #513 | |
| * entity-model bindgen for Python. (#505) (1dfe5aa), closes #505 | |
| * provide support for defining semantic constants in ontologies. (#502) | |
| (c648827), closes #502 | |
| * ontology -> rust/python/etc framework, with initial Rust implementation. | |
| (#500) (b76a8b3), closes #500 | |
| * add support for getting entities in wasm (#496) (cc74f2a), closes #496 | |
| * add wasm skill scheduled callbacks (#485) (98cea3d), closes #485 | |
| * wrap ObserverId with an ObserverHandle for easier control. (#483) (f901f91), | |
| closes #483 | |
| * Provide Device/Cluster-based queries from a root entity-id. (#475) | |
| (7747842), closes #475 | |
| * make simulator.conf environment a full `graph` (#469) (a63b3cd), closes | |
| #469 | |
| * make simulator.conf environment a full `graph` (3a1b18b) | |
| * RustPython integration to entity-model-py. (#451) (f731342), closes #451 | |
| * a pure Python expression of the entity-model. (#450) (ef969dc), closes #450 | |
| * hold the instance and store in the skill (#447) (060ecf9), closes #447 | |
| * Tests for Python tutorial, answers, API, and installation check (#438) | |
| (6fdc705), closes #438 | |
| * expose query() fn up from Codex to AdjudicatedCodex(Handle). (#432) | |
| (8bf128f), closes #432 | |
| * improve granularity of assertions. (#431) (d0c12dc), closes #431 | |
| * add ability to query tuples or triples from the Codex. (#417) (223db23), | |
| closes #417 | |
| * integrate `rules` into `triples` for inferencing. (#412) (e90211c), closes | |
| #412 #411 | |
| * add documentation support to rules. (#411) (33b90e9), closes #411 | |
| * `space.ont` Brick-esque space ontology. (#410) (bbac08c), closes #410 | |
| * beginning of an ontology for nodes/endpoints/devices/clusters. (#376) | |
| (8437d92), closes #376 | |
| * provide a *late-resolving* adjudication hook. (#406) (29e042b), closes #406 | |
| * add participant/requestor/owner-tracking to adjudications. (#404) (1ea94b4), | |
| closes #404 | |
| * RETE-based rule engine for inferencing & querying of triples. (#377) | |
| (fe73eb6), closes #377 | |
| * add c-based example skill (#397) (f4c87d7), closes #397 | |
| * add example skill in rust (#396) (75f9a45), closes #396 | |
| * add filesystem loading of wasm (#398) (840b04e), closes #398 | |
| * A BACnet-esque priority-based adjudicating Codex wrapper. (#375) (5cf9d11), | |
| closes #375 | |
| * add wit file bindings to wasm host (#366) (d2cd462), closes #366 | |
| * a simple, non-inferencing triplestore. (#362) (7d4002c), closes #362 | |
| * Added test to ensure that example skills still work after changes (#373) | |
| (f09b2e9), closes #373 | |
| * swap wasmer for wasmtime (#364) (163e148), closes #364 | |
| * add skill-api wasm interface definition (#326) (7a1de1a), closes #326 | |
| * Added build status badge to README (#342) (a6104ed), closes #342 | |
| * Adds support for Home Assistant smart plugs (#331) (1d3f312), closes #331 | |
| * Adds support for Home Assistant motion sensors (#330) (7781c40), closes | |
| #330 | |
| * deserialization testing (#305) (d4e9c86), closes #305 | |
| * adds light discovery to the Home Assistant connector (#304) (966be4e), | |
| closes #304 | |
| * default port (#296) (338fd2c), closes #296 | |
| * graceful shutdown of the skills-engine upon SIGINT/^C. (#294) (ef4a08c), | |
| closes #294 | |
| * add wasm skills feature (#275) (15f83fe), closes #275 | |
| * Hass connector starts and runs to display a message (#276) (ecd8755), closes | |
| #276 | |
| * replace env_logger with simplelog (#270) (65c7964), closes #270 #266 | |
| * support `ctx.run_in(..)` and `ctx.run_in_ms(...)` for single-shot future | |
| callbacks. (#260) (27711b0), closes #260 #259 | |
| * Rehydrate `ctx.run_every( cb, interval )` where `interval` can be Float or | |
| Int seconds. (#255) (269ece1), closes #255 #70 | |
| * support semantic deadlines for schedules (sunrise/sunset+adjustment) (#252) | |
| (e1e8453), closes #252 #251 | |
| * apply QuicksilverMQTT panel discovery continuously. (#248) (915d1d0), closes | |
| #248 #241 | |
| * implement all supportable operations for T5 thermostats. (#242) (d327aea), | |
| closes #242 | |
| * impl AsMapping for PyOwnedList (#245) (17bcf83), closes #245 | |
| * support lists and dicts in the store (#243) (0017b9b), closes #243 | |
| * fully support all current messages for SecurityPartition. (#240) (cc9d851), | |
| closes #240 | |
| * added support for quicksilver PIR occupancy sensor (#239) (aaa33a5), closes | |
| #239 | |
| * allow subscribing to a filter of entity types. (#233) (26433aa), closes | |
| #233 | |
| * connect thermostat over quicksilver mqtt to the engine. (#220) (0298d21), | |
| closes #220 | |
| * connect contact sensor through from MQTT to backend. (#217) (c329518), | |
| closes #217 | |
| * add live connected entities in the quicksilver mqtt connector. (#215) | |
| (c66f0d7), closes #215 | |
| * discover Pro Series security partitions and add to the backend. (#213) | |
| (5d94d69), closes #213 | |
| * Quicksilver thermostat discovery (#212) (f049eb4), closes #212 | |
| * Quicksilver contact sensor discovery (#208) (c70a348), closes #208 | |
| * UX improvement for SDK experience of logging from skills. (#182) (5160b46), | |
| closes #182 #180 | |
| * Allow scheduled tasks to be concurrent & blocking. (#179) (f9a5afe), closes | |
| #179 | |
| * generate release notes in the release workflow (#154) (1aeb36d), closes | |
| #154 | |
| * UX improvement of setting logging to `info` if not otherwise specified | |
| (#146) (c7ca7e6), closes #146 | |
| * Active simulator for all current entity types. (#145) (ca562a9), closes | |
| #145 | |
| * support ^C handling to stop the engine. (#142) (d905174), closes #142 #133 | |
| * add twin state synch command-enums for Thermostat. (#128) (657871a), closes | |
| #128 | |
| * add release pipeline (#120) (dc8607a), closes #120 | |
| * implement change events for all entities (#96) (91c0144), closes #96 | |
| * add ToPyObject to Entity (#94) (c572c35), closes #94 | |
| * add backend-originated contact sensor events (#85) (b4f9975), closes #85 | |
| * add a prelude to python skills (#67) (239d0cc), closes #67 | |
| * parallelize callback execution (#63) (1ca120f), closes #63 | |
| * add SkillError::SymbolNotFound (#61) (656cde7), closes #61 | |
| * stop executing errored skills (#62) (b80b4ac), closes #62 | |
| * add error types to skill execution results (#60) (971b155), closes #60 | |
| * make `Store` act like a python dict (#46) (91b29dd), closes #46 | |
| * add event-based callbacks (#40) (d678813), closes #40 | |
| * enable time-based callbacks (#33) (a488e61), closes #33 | |
| * allow the Store values to cross vms (#27) (cecb9f0), closes #27 | |
| * add message for getting all entities (#23) (84d5722), closes #23 | |
| * add a simulated house (#22) (4dc558a), closes #22 | |
| * add a simulated house (#22) (76532a6), closes #22 | |
| * add start of the soft-backend (#21) (4991b2b), closes #21 | |
| * begin enforcing skills api (#12) (9bd784f), closes #12 | |
| * add on/off switch support (#8) (6e9d0da), closes #8 | |
| * create a Skill trait for encapsulating skill logic (#5) (c78b194), closes | |
| #5 | |
| * add a filesystem loader to load skills (#4) (2303491), closes #4 | |
| * add rust python interpreter plumbing (#3) (9fefb00), closes #3 | |
| * initial commit of the skills engine (b4ab2c0) | |
| ### Fixes | |
| * reduce memory overhead (#548) (8827029), closes #548 | |
| * adjust the wit to reflect current variants (#545) (220705e), closes #545 | |
| * connector panic on shutdown. (#516) (94bb7d5), closes #516 | |
| * SE-293 -- skills-engine-debug.log include targets. (#510) (893618d), closes | |
| #510 | |
| * SE-208 - Document --debug flag more appropriately (#511) (cddb051), closes | |
| #511 | |
| * replace instead of asserting for attribute updates. (#509) (bcb886c), closes | |
| #509 | |
| * address schedule api changes in wasm (#494) (2a957a7), closes #494 | |
| * prevent attempting to randomize in a range of `0..0` (#465) (62cc559), | |
| closes #465 | |
| * strip demo wasm binary (#444) (34c201b), closes #444 | |
| * don't enable wasm just yet (#439) (7e5c419), closes #439 | |
| * remove parameter and return type from setup (#436) (71fa7bc), closes #436 | |
| * remove run_in and run_in_ms (#418) (8481564), closes #418 | |
| * narrow wasmtime featureset (#407) (0dcc345), closes #407 | |
| * Fixed hanging issue when mDNS browsing for PROA7 panels (#357) (6755971), | |
| closes #357 | |
| * Escaped path separation character in release workflow (#345) (5cc224f), | |
| closes #345 | |
| * Fixed Windows release commands and macOS/Linux release structure (#344) | |
| (43b3c5f), closes #344 | |
| * macOS release (#341) (cdcbd59), closes #341 | |
| * Fix release folder structure and add docs (#340) (fee6854), closes #340 | |
| * load house.json from directory if -p points to a single skill. (#328) | |
| (4b01c1a), closes #328 #319 | |
| * include the source filename in errors, not just <source>. (#298) (4dfe788), | |
| closes #298 | |
| * querying the current mode of a quicksilver thermostat (#293) (d4bd6ba), | |
| closes #293 | |
| * contact sensor deserialization (#238) (edf7403), closes #238 | |
| * Ensure various Thermostat attributes are Option<T>. (#226) (75414d4), closes | |
| #226 #214 | |
| * Supporting ThermostatSystemMode.OFF (#221) (d616a85), closes #221 | |
| * spelling change in log error message (#201) (c0faea3), closes #201 | |
| * correct typo in logger message (#200) (1151b63), closes #200 | |
| * Ensure one skill failing to setup() doesn't kill the engine. (#194) | |
| (649b0ae), closes #194 #191 | |
| * remove deprecation warnings from workflows (#152) (957bd9c), closes #152 | |
| * address issues in release workflow (#150) (10b35fe), closes #150 | |
| * separate event callbacks from scheduled callbacks (#41) (1fccd3a), closes | |
| #41 | |
| * upgrade rustpython (#11) (58b4322), closes #11 | |
| * nest the skills engine modules (#9) (0ea1fd4), closes #9 | |
| * don't even try to compile if no runtime is selected (#6) (18aeea7), closes | |
| #6 | |
| * don't load files that don't end in .py (#7) (9f2d8d7), closes #7 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment