Remote-core simulator is released

The long-awaited simulator is getting its first steps into the public. With the API documentation, the remote-core simulator and virtual machine, developers will have all the tools to write and test integrations for Remote Two.

This package has multiple parts:
The remote-core simulator, that simulates the functionality of core services running on the device and provides the same APIs as the real device. The majority of the functionality is identical with most hardware functions simulated.

There’s also a binary (and included in the VM) of the remote-ui application, that represents the user interface of the remote, optimised for desktop use in development environments. This application also includes and simulates the physical buttons on-screen.

And last but not least the Core-API, which is the API that our own applications use to talk to the core. This is an addition to the already published Integration API, that was focused more on integration drivers.

If you’d like to get started with development, you can use docker or the provided Linux VM (the VM is still on the way to the cloud, should be available in a few days to download).

You can find all the documentation on how to get started here: https://github.com/unfoldedcircle/core-simulator

As always, feedback and suggestions are welcome, but we cannot promise we can make everything happen. We’ll be sharing more and more documentation and examples in March.

5 Likes

This is great news… however I’m having some issues getting the Docker container running.

core-simulator      | [2023-02-27T21:23:09Z ERROR core_simulator] Fatal: error communicating with database: Operation not permitted (os error 1)
integration-hass    | /app/uc-intg-hass: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /app/uc-intg-hass)
integration-hass    | /app/uc-intg-hass: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /app/uc-intg-hass)
integration-hass    | /app/uc-intg-hass: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /app/uc-intg-hass)
integration-hass exited with code 1
core-simulator exited with code 1

Are you using docker-compose to run the simulator ? What is your Linux distribution ? Maybe you should install glibc library…

I am using docker-compose. The logs are from docker-compose up. If the glibc library is required I imagine that it would be part of the docker image. Maybe I’ll just wait for the VM.

That was my mistake! Yesterday evening I released a new integration update which automatically triggered a new Docker Image without fully testing it first :see_no_evil:

I’ll fix it today. In the meantime you can go back to the older 0.1.0 version in docker-compose.yaml:

...
  integration-hass:
    image: unfoldedcircle/integration-hass:0.1.0
...

The Docker image is fixed in unfoldedcircle/integration-hass:0.1.2.

Please pull the latest images:

docker-compose pull

Thank you @zehnm ! I’ll check it out this morning (GMT-5).

@zehnm Thanks. After fiddling around with my old Debian install without getting it to work I installed a new Ubuntu 22.04 VM and can confirm this is working as expected. Nice work BTW!

The virtual machine is now available: GitHub - unfoldedcircle/core-simulator: Remote-core simulator releases

We’ve also published a super-early-alpha NodeJS library, that could help getting started in creating an integration: GitHub - unfoldedcircle/integration-node-library: NodeJS API wrapper for the Unfolded Circle Integration API