Homegear Addon

Hallo!

Ich wollte nur mal kurz nachfragen, ob “Homegear” auf dieser Webseite etwas mit diesem Homegear hier zu tun hat?

Hallo nanosonde,

ja, da läuft letztlich Homegear auf der CCU. Allerdings ist die separate Homegear-Installation aus meiner Sicht die bessere Wahl.

Viele Grüße

Sathya

Ok, danke.

Ich frage nur, weil ich im Homegear-Code auch Hinweise auf Lizenzchecks, etc. gesehen habe.

Soll hier ein kommerzielles Ökosystem rund um Homegear entstehen (können)?

Homegear selbst wird immer quelloffen und kostenlos bleiben. Aber genau, es soll möglich sein auch kommerzielle Module für Homegear zu entwickeln. Dafür gibt es eine Lizenzschnittstelle über welche sich Lizenzmodule einbinden lassen. Über diese Module kann jemand oder eine Firma Lizenzen für eigene Zusatzprodukte validieren. Aktuell lassen sich Familienmodule und in PHP implementierte Geräte lizensieren. Letztere lassen sich über die Lizenzmodule auch verschlüsseln.

Mit den in PHP implementierten Geräten meinst Du sowas wie das hier:
https://github.com/Homegear/Homegear-OpenWeatherMap

Dort ist ja in der XML-Datei quasi die Intelligenz enthalten.
Sowas kann man dann verschlüsseln und anbieten?
Wird dazu “bcompiler” benutzt?

Genau.

Ja.

Ja.

Nein. Das geschieht direkt in Homegear im Lizenzmodul. Für die CCU-Module sind die Dateien beispielsweise AES-verschlüsselt. Zum Verschlüsseln lässt sich ein einfaches Shell-Skript verwenden:

#!/bin/bash

print_usage() {
        echo "Usage: EncryptDeviceDescriptionFile.sh INPUT OUTPUT"
        echo "  INPUT:          File to encrypt"
        echo "  OUTPUT:         Path to write the encrypt output to"
}

if test -z $1; then
        echo "Please specify an input file (e. g. MyFile.xml)." 
        print_usage
        exit 1
fi

if test -z $2; then
        echo "Please specify an output file (e. g. MyFile.hgd)."
        print_usage
        exit 1
fi

echo "Please make sure, the generated file ends with \".hgd\" or \".hgs\""
size=$(stat -c%s "$1")
[ $? -ne 0 ] && exit 1
size=$(echo "obase=16; $size" | bc)
[ $? -ne 0 ] && exit 1
echo -n "0x7000 0x$size" | cat - $1 > ${1}.1
[ $? -ne 0 ] && exit 1
openssl aes-128-cbc -K 00112233445566778899AABBCCDDEEFF -iv 00112233445566778899AABBCCDDEEFF -in ${1}.1 -out $2.1
[ $? -ne 0 ] && exit 1
rm -f ${1}.1
echo -n "0x7000 " | cat - ${2}.1 > $2
[ $? -ne 0 ] && exit 1
rm -f ${2}.1