Git Product home page Git Product logo

solid-hue's Introduction

Philips Hue module for the Community Solid Server

npm version

๐Ÿ’ก Control your Philips Hue Lights from within Solid applications.

What it is

  • The Community Solid Server allows people to expose their data on the Web behind access control.
  • This philips-hue npm package provides a plug-in store for the Community Solid Server that exposes your Philips Hue lights as read/write documents.
  • Solid apps can thereby access your light setup as if they would access any other document.

How to install

From the npm package registry:

mkdir my-server
cd my-server
npm install @solid/[email protected] solid-hue

As a developer:

git clone [email protected]:RubenVerborgh/solid-hue.git
cd solid-hue
npm ci

How to configure

Create a file settings.json from this template, and filling out your settings.

You can obtain your settings by creating a new Philips Hue App and following the set-up steps.

How to run

Execute the following command:

npx community-solid-server -c settings.json -m .

Now you can access your lights from http://localhost:3000/home/lights

License

ยฉ2020โ€“2021 Ruben Verborgh, MIT License

solid-hue's People

Contributors

rubenverborgh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

fuubi

solid-hue's Issues

[Question] Should urn:tmp be used in production apps, or is it only for demonstration purposes?

Looking at the demo given in Solid World, I noticed that some of the properties are being declared with urn:tmp, which is not a url. I was surprised to see that because I thought every property had to be a url.

I am wondering if that makes sense in this application because the data is auto-generated from an external API and the data is not stored in the Solid POD, so the data in the returned document is "temporary" in that sense. Or is that just because this package is only for demonstration purposes, and this pattern should not be used in production.

Doing a quick search online the only documentation I could find about this pattern is in this tutorial, and it mentions that it shouldn't be used in production.

One of the main problems I face making apps is to define which data structure to use, and as I understand it every property should be declared with a vocabulary that is accessible online as documentation. If I ever need a custom property that is not declared in an existing vocabulary, is it ok to use this kind of thing? For example using <my-custom-vocabulary:customprop> instead of <https://my-custom-vocabulary.com/customprop> (having to host an ontology on https://my-custom-vocabulary.com).

I suppose it is possible technically, but I wonder if it is discouraged for production and considered bad practice.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.