Archive for the ‘ Programme ’ Category

TouchFhem – Control FHEM with one single touch

Dieser Text ist leider nur in Englisch verfügbar.

This JavaScript webapp I hosted on GitHub allows to control a FHEM instance via a simple configurable touch interface with one single touch! It is even possible to display it on a very small 320×240 pixel display, e.g. on a raspberry pi. In my case I tested it only with the MAX! heating controllers, but it should work with more devices controlled by FHEM.

Requirements

Installed latest node.js and npm and running fhem.

Build & deploy

Run grunt for building and grunt serve for preview. After grunt you can copy the content of the dist folder to your own web server.

How does it look like?

When nothing is selected:

Nothing selected

After clicking on a button:

After click

After getting a successful answer from the FHEM server the button turns green for a few seconds:

Successful

Configuration

In config/config.json lies an example configuration file. It starts with the configuration of the URL to the fhem web interface and is followed by the configuration of the different configuration sets. E.g.:

{
  "url": "http://127.0.0.1:8083/fhem?room=MAX&cmd=jsonlist2&XHR=1",
  "groups":
  [
    {
      "groupname": "Room x",
      "buttons": [
        {
          "name": "19°C",
          "cmd": "set",
          "arg": "desiredTemperature",
          "room": "MAX",
          "val": "19.0",
          "devices": [
            {"deviceid": "dev1"},
            {"deviceid": "dev2"}
          ]
        },{
          "name": "off",
          "cmd": "set",
          "arg": "desiredTemperature",
          "room": "MAX",
          "val": "off",
          "devices": [
            {"deviceid": "dev1"},
            {"deviceid": "dev2"}
          ]
        }
      ]
    },
    {
      ...
    }
  ]
}

In this example you have a group with two buttons, each button controlls two devices. You can set the desiredTemperature to 19 degrees and off. As arg it is allowed to set anything the fhem web interface would accept, too.

Synchronisieren der Adobe Einstellungen auf mehreren Macs

Irgendwann war mein Frust, dass die Einstellungen von verschiedenen Adobe-Programmen (zum Beispiel Photoshop, InDesign oder Lightroom) auf meinem stationären Mac und meinem MacBook nicht immer synchron waren, zu groß und ich habe mich entschlossen, ein kleines Script zu basteln, das die Synchronisierung der Einstellungen übernimmt. In dem Ordner ~/Library/Preferences liegen sehr viele verschiedene Dateien für alle möglichen Adobe-Produkte, die leider nicht gesammelt im Ordner ~/Library/Preferences/Adobe liegen, daher musste ein Script her, was die Synchronisierung übernimmt und neue Dateien automatisch synchronisiert, wenn es regelmäßig aufgerufen wird.

Weiterlesen

Script: Firefox‘ Bookmarks schnell und einfach in Safari importieren

Hallo,

hier gibt’s ein Script, das automatisch die Lesezeichen (im Lesezeichenmenü) vom Firefox in den Safari importiert. Ich brauche dies, weil ich auf meinem MacBook den Firefox als Browser benutze (er bietet so tolle Plugins wie Adblock Plus oder Firefox Sync) und meine Lesezeichen gerne im Safari meines iPhones haben möchte.

Mit Google fand ich keine einfache Möglichkeit, die dies bewerkstelligt, deshalb habe ich selbst Hand angelegt.

Weiterlesen