Skip to content

Releases: smarthome-go/smarthome

Smarthome v0.0.51

06 Aug 11:39
Compare
Choose a tag to compare
Smarthome v0.0.51 Pre-release
Pre-release

Changelog for v0.0.51

Scheduler GUI

  • Improved the scheduler GUI significantly
  • Fixed several bugs (including the real-time execution count-down)
  • Added important information displays to the individual schedule panels
  • Note: The GUI is now in a working and pretty state

Automations GUI

  • Improved the automations GUI
  • Modified the width of each individual automation item to align well on 1080p
  • Made the automation's title appear bold

Homescript GUI

  • Fixed broken execution result popup
  • Fixed broken argument prompts
  • Note: These bugfixes also affect the automations GUI and the Homescript manager's GUI

Homescript Editor

  • Added argument prompts when running or linting using the editor's "terminal"

Homescript Backend

Arguments During Linting

  • Attempt to use provided arguments when using lint
  • If an argument is specified, it is used during linting
  • If it is omitted, a default (empty string) is used in order to prevent errors

SigTerm Handling

  • If exec is used, the executor's sigTerm is forwarded to the exec target
  • This means that a script termination will work as expected when using exec in your code

Bugfixes / Code Quality

  • Fixed several typos in the HMS deletion dialog
  • Improved logging in the backend automation module

Smarthome v0.0.49

30 Jul 22:50
Compare
Choose a tag to compare
Smarthome v0.0.49 Pre-release
Pre-release

Changelog for v0.0.49

Scheduler

  • The scheduler web-page is now accessible under /scheduler
  • Added a switch wizard to the scheduler's target selector
  • Refactored entire front- and backend to use structured data instead of just an HMS code field

Performance

  • Used Vite's manual chunking for better performance

Bugfixes

  • Dangling automations and schedules will now be removed on their next run
  • Added a check if schedule-selection is enabled to automation and scheduler API
  • Fixed many typos

Smarthome v0.0.48

25 Jul 00:41
Compare
Choose a tag to compare
Smarthome v0.0.48 Pre-release
Pre-release

Changelog for v0.0.48

Configuration Export

Most of the server's configuration can now be exported using an API endpoint.
The current API endpoint is /api/config/export and returns JSON.

Exported settings include:

  • Server configuration like latitude and longitude
  • Hardware nodes
  • Rooms
    • Room metadata
    • Switches
    • Cameras
  • Users
    • User metadata
    • Homescripts
      • Homescript arguments
      • Automations which use Homescripts
    • Reminders
    • Permission settings
    • Switch-permission settings
    • Camera-permission settings

Better setup.json file

  • The concept of the setup.json has been improved
  • The file now accepts the content of a configuration export, thus allowing Smarthome server migration via the file.
  • After the file has been read, it is moved to ./data/config/setup.json.old
  • A setup JSON string can be evaluated via the API (later via GUI)

Homescript

Backend (server)

  • Added dummy arguments in order for lint will work event when arguments are missing
  • During linting, the getArg function returns Go's default type values as placeholders
  • During linting, the checkArg function will always return true
  • Fixed broken sigTerm function (termination now works as intended)
  • Refactored the HMS manager code (includes comments and variable names)

Frontend (GUI)

  • Improved the HMS editor page
    • improved button behavior
    • decreased page title size
    • added more fitting save-state indicator icon
  • Improved Homescript deletion confirmation dialog
  • Improved automation info dialog
  • Fixed bug which causes a cron-expression to be displayed instead of the cron-description
  • Refactored Svelte automation component
  • Add automatic linting to HMS editor component (using Codemirror's lint-gutter)

Schedules

Backend (server)

  • Refactored the internal data structure of the schedule to follow Go's guidelines

Frontend (GUI)

  • Added a first working version of the scheduler GUI
  • Note: The scheduler GUI is not accessible yet.
New functionality
  • View schedules
  • Create schedules
  • Edit schedules
  • Modify schedules

Automation GUI

  • Improved the spacing and scaling of the automations GUI

Miscellaneous

  • Refactored and cleaned most of the backend database code
  • Fixed some bugs in backend database code

Smarthome v0.0.47

11 Jul 18:14
Compare
Choose a tag to compare
Smarthome v0.0.47 Pre-release
Pre-release

Changelog for v0.0.47

Homescript

  • Added a global manager to the Homescript module
  • The manager orchestrates the way Homescripts are executed and terminated
  • As of Homescript release v0.13.0, sigTerm can be used to terminate a script's execution at any point in time
  • The API routes /api/homescript/kill/script/{id} and /api/homescript/kill/job/{id} can now be used to terminate Homescript jobs.
  • Added a visual cancel button to the Homescript editor GUI which terminates all jobs running the currently selected script
  • Added minor tweaks to the HMS editor GUI which increase stability and overall consistency

Smarthome v0.0.46

23 Jun 21:24
Compare
Choose a tag to compare
Smarthome v0.0.46 Pre-release
Pre-release

Changelog for v0.0.46

Homescript

  • Fixed argument container overflow in GUI
  • Fixed bug which caused the argument prompts to not open
  • Added the id label to the switch selection in argument prompt
  • Fixed bug which caused the run and lint button to trigger the opposite action

Miscellaneous

  • Refactored and reviewed portions of the backend code
  • Removed one possibility for a server panic during startup
  • Upgraded the built-in CLI to a current version
  • Increased Makefile compatibility
  • Updated Homescript to the newest version

Smarthome v0.0.45

20 Jun 20:47
Compare
Choose a tag to compare
Smarthome v0.0.45 Pre-release
Pre-release

Changelog for v0.0.45

Homescript GUI

  • Revised the management layout so that the action buttons (delete / pick icon) seem less dominant
  • Improved Homescript run result dialog display for mobile devices
  • Added Edit code button to the actions which opens the HMS IDE

Homescript IDE

  • Added an initial version of a web-based Homescript editor / IDE
  • Code can now be edited via the web interface
  • Support for immature syntax highlighting (currently using an incorrect grammar definition)
  • Improved HmsEditor.svelte component which is used by the IDE
  • Split layout: the layout is separated into the text editor and the terminal / output area
    • The layout's proportions are 25% | 75% (can be swapped to 75% | 25%)
  • Includes a small script selection menu at the top: allows easy switching between scripts
  • The active script is set using URL params, for example http://smarthome.box/homescript/editor?id=test

Smarthome v0.0.44

16 Jun 19:37
Compare
Choose a tag to compare
Smarthome v0.0.44 Pre-release
Pre-release

Changelog for v0.0.44

Homescript GUI

  • Improved Homescript run result dialog display
  • Fixed frontend Homescript deletion bugs
  • Removed scrollbar from HMS management page
  • Implemented major layout redesign
  • Added placeholder text to HMS selector
  • Added minute & hour value checks to argument prompts

Automations GUI

  • Added has-loaded check before showing no automations
  • Fixed button label spacing
  • Added placeholder text to HMS selector

Other

  • Added icon to create button in rooms GUI
  • Refactored 404 page
  • Decreased size of top segment on the login page on mobile devices

Backend

  • Fixed delete-all Homescript function (used in user deletion)

Smarthome v0.0.43

15 Jun 20:17
Compare
Choose a tag to compare
Smarthome v0.0.43 Pre-release
Pre-release

Changelog for v0.0.43

Homescript GUI

  • Improved Homescript arguments GUI
  • Fixed various errors in Homescript frontend
  • Added Jetbrains Mono to Homescript editor and error output
  • Added Homescript run result popup dialog which shows the scripts status and output

Homescript Backend

  • Fixed HMS bug when linting code which includes Get
  • Added additional lint check in HMS Http function

Backend

  • Added version route to API endpoints

Smarthome v0.0.42

11 Jun 20:19
Compare
Choose a tag to compare
Smarthome v0.0.42 Pre-release
Pre-release

Changelog for v0.0.42

Homescript GUI

  • Added a better argument display
  • Made the AddArgument dialog non-fullscreen due to uneven proportions
  • Introduced data-type and display selectors in the EditArgument dialog

Homescript

  • Implemented a call stack
  • Using the call stack, Homescript can now detect script recursion
  • When script recursion is detected, the execution is prevented and the user is informed about this event

Example code using v0.0.41

As seen below, the script calls itself indefinitely, causing endless recursion
Input: test.hms

# Current script: test
exec('test')

Output: Server would run out of resources, database would return errors, however no complete crash

Example code using v0.0.42

As seen below, the scripts calls themselves sequentially without ending, causing endless recursion
Input: start.hms, first.hms, second.hms

# Current script: start
exec('first')
# Current script: first
exec('second')
# Current script: second
exec('start')

Output: Homescripts detects recursion

Error: Program terminated abnormally with exit-code 1
RuntimeError at start.hms:2:1

  1  | # Write your code for `start` below
  2  | exec('first')
       ^
  3  |

Homescript terminated with exit code 1: Homescript terminated with exit code 1: Exec violation: executing 'start' could cause infinite recursion.
=== Call Stack ===
   0: start      (INITIAL)
   1: first
   2: second
   3: start      (PREVENTED)

Homescript terminated with exit code: 1 [0.89s]
Limitations
  • The recursion detector only checks if the script to-be-executed is already present in the call stack
  • Due to this, recursion is completely forbidden
  • However, recursion is not meant to be used in Homescript, therefore not being a limitation

Smarthome v0.0.41

08 Jun 21:37
Compare
Choose a tag to compare
Smarthome v0.0.41 Pre-release
Pre-release

Changelog for v0.0.41

Homescript GUI

  • Fixed major and minor bugs in the Homescript GUI
  • Added a testing version of Homescript arguments to the Homescript overview page.
  • Although the feature set of HMS arguments is still limited, current additions include:
    • Overview of HMS args as a list
    • Creation of HMS args
    • Modification of HMS args
    • Deletion of HMS args

Backend

  • Added the MDIcon attribute to Homescript args
  • The icon is similar to the one implemented for Homescript(s)
  • Added additional safety checks before allowing the creation of a new Homescript args
  • Added additional safety checks before allowing the modifycation of Homescript args