NEWS
Images für ioBroker
-
Also mal ganz ehrlich
Wer nicht bereit ist das eine oder andere zu erfragen oder zu lesen ist bei einem system wie ioBroker fehl am Platze. Für Plug&Play gibt es fertige Systeme aus dem Fachhandel aber die kosten halt.
-
Kommt immer darauf an, für wen das System sein soll. Blockly zeigt mir, dass die Reise ganz stark Richtung DAU geht. Was man davon hält, muss jeder mit sich ausmachen. Sicherlich ist es aber nicht schlecht, die Anfangshürden soggering wie möglich zu halten. Damit traut sich dann auch mal ein unbedarfter Benutzer an das nicht ganz triviale System. Ob er über kurz oder lang überfordert ist, zeigt sich dann irgendwann. Aber wir alle haben mal bescheiden angefangen. Warum sollte nicht auch ioBroker der Ausgangspunkt für diese Lernkurve sein. Ob es im Fachhandel fertige Systeme gibt, ist unerheblich. Z.B. Ubuntu ist aus meiner Sicht ein gutes Beispiel, dass kostenlose Produkte (ja ich weiss, es ist fast alles von Debian geklaut), einfach zu bedienen sein können (zumindest, wenn man nicht tiefer schürft).
Die Frage ist nur, wie tief soll das Level sein.
-
Ich kann auch keine Images schreiben `
Ich hoffe nicht deswegen, weil du keine Rechte hast. -
Wenn Interesse besteht versuch ich den Broker mit rein zu nehmen, könnte aber etwas dauern hab im moment etwas wenig Zeit. `
Interesse besteht und man kann auch warten. -
Hallo,
ein fertiges Image ist natürlich schön. Es muss halt gepflegt werden. Von den Betriebssystemen werden im wesentlichen zwei eingesetzt: Windows und Linux. Vielleicht wäre es sinnvoll für beide Gruppen jeweils einen Installier zu schreiben.
a) Windows
Windows-Installer Datei
b) Linux
Da vermutlich die meisten Linux-Systeme Debian-basiert sind, kommt ein/mehrere deb-Paket(e) in Frage. Das halte ich am Anfang etwas ambitioniert. Ein Shell-Skript wäre vielleicht eine gute Alternative. `
Ich habe ein deb packet sogar erzeugt. In iobroker.build wird so ein deb gebaut. Mit deb war ich aber unzufrieden. "npm install iobroker" ist viel einfacher, als deb.Es gibt auch msi für Windows.
-
Ok, verstehe ich, auch wenn ich nicht viel davon halte. Es wäre dann aber sinnvoll, die Eckdaten festzulegen.
Zum eigentlichen Betriebssystem:
Soll die Installationsroutine bereits komplett durchlaufen sein?
z.B. deutsche Tastatur; deutsche Landeseinstellungen? oder was auch immer
Soll ein fester Hostname vergeben werden? z.B. "iobroker"?
Ich würde vorschlagen, dass das System Headless ist.
Oder soll nur die Installationsroutine des Image angepasst werden. Raspberian ist da ein gutes Beispiel. Man könnte das Setup-Menü um eine Installationsroutine zwecks Installation des ioBroker versehen. Dann sind wir faktisch wieder bei meinem obigen Vorschlag. Ein zentrales Skript halte ich für gut. Dieser Vorschlag hat den großen Vorteil, dass man immer die aktuelle Version von ioBroker installiert. Evt. Probleme, die es beim Updaten gibt, entfallen.
Zu Node.js: Welche Version soll installiert werden? `
Ok. Headless, node.js 4.5.0 -
BTW ich habe nicht gefragt, ob es nötig ist. :lol:
Ich habe um Hilfe gebeten, die Images zu erstellen.
-
Werde mich am Wochenende für den Raspberry dran setzen.
Mein Ziel, Raspberian soweit wie möglich unangetastet zu lassen und lediglich beim ersten Mal ein Installationsskript zu starten, welches die Installation von node.js / ioBroker automatisiert. Die Installationsmethode sollte auf allen Debian-System funktionieren.
Gruß Gerhard
-
Hi Gerhard,
das mit dem installationsscript hab ich auch schon versucht. So richtig gut war es nie für mich. Aber wenn ich das script noch finde lade ich es hier hoch, das dürfte dir einiges an Arbeit sparen.
Gruß jey cee
Gesendet von meinem Jolla mit Tapatalk
-
Wie versprochen kommt hier das Script.
Ein paar dinge gibt es dazu zu sagen:
-
es wurde für den Pi 2 erstellt mit Jessie
-
es gibt eine Grafische abfrage für die Einstellung der IP Adresse (DHCP ja/nein, wenn Nein dann kann man die IP eingeben)
-
die Partition wird automatisch expandiert
-
alte Nodejs version wird entfernt
-
anschließend die aktuellste Nodejs 4.x installiert
-
Installation von iobroker als user pi, das muss noch geändert werden
-
anschließend an die iobroker Installation kann man in einer Grafischen abfrage alle Adapter auswählen die Installiert werden sollen
! ````
#!/bin/bash#WARNUNG: Dieses Script löscht die Systempartition und schreibt sie neu. Dabei können Daten verloren gehen oder
#beschädigt werden.
#Um das Script ausführen zu können muss "sudo chmod +x install.sh" ausgeführt werden.#Durch Eingabe auf Grafischeroberflächer ersetzt.
#use_static_ip="yes"
#ip_raspi="192.168.0.248"
#ip_router="192.168.0.1"
if (whiptail --title "Netzwerk" --yesno "Feste IP Adresse für den ioBroker Host verwenden? Diese Einstellung gilt nur für LAN, nicht für WLAN!!!" 10 60)
then
use_static_ip="yes"
ip_host=$(whiptail --title "Netzwerk" --inputbox "IP Adresse des iobroker Hosts: " 10 60 z.B._192.168.0.1 3>&1 1>&2 2>&3)
ip_router=$(whiptail --title "Netzwerk" --inputbox "IP Adresse des Routers/Gateway: " 10 60 z.B._192.168.0.1 3>&1 1>&2 2>&3)
fi#Partition erweitern. Es muss geprüft werden ob sda2 stimmt.
tmp_sysPart=mount | grep "on / "
set - $tmp_sysPart
sysPart=$1#System Disk festlegen/auswählen
if [[ $sysPart == "/dev/sda"* ]]
then
sysDisk="${sysPart%?}"
else
sysDisk=$sysPart
fi#sed ermöglicht die Eingabe von Kommandos in fdisk, weil fdisk keine Kommandozeilen parameter unterstützt.
string=fdisk $sysDisk -l |grep "$sysPart"
set - $string
startSector=$2
partNumber="${1: -1}"#Partition löschen und neu anlegen
sed -e 's/\t([+0-9a-zA-Z])[ \t]./\1/' << EOF | fdisk "/dev/sda"
d
$partNumber
n
p$startSector
w
EOFpartprobe "$sysDisk"
resize2fs "$sysPart"#System update.
apt-get update
apt-get -y upgrade#Netzwerkkonfiguration ändern wenn use_static_ip yes ist.
if [[ $use_static_ip == "yes" ]]
then
dhcpcd_status=service dhcpcd status | grep "Active: "
set - $dhcpcd_status
if [[ $3 == "(running)" ]]
then
echo "interface eth0" >> /etc/dhcpcd.conf
echo "static ip_address=$ip_host/24" >> /etc/dhcpcd.conf
echo "static routers=$ip_router" >> /etc/dhcpcd.conf
echo "static domain_name_servers=$ip_router" >> /etc/dhcpcd.confelse service dhcpcd start echo "interface eth0" >> /etc/dhcpcd.conf echo "static ip_address=$ip_host/24" >> /etc/dhcpcd.conf echo "static routers=$ip_router" >> /etc/dhcpcd.conf echo "static domain_name_servers=$ip_router" >> /etc/dhcpcd.conf fi #DHCP für das Ethernet interface deaktivieren. Nicht Empfohlene Methode. #cat /etc/dhcpcd.conf #echo "denyinterfaces eth0" >> /etc/dhcpcd.conf #Statische IP für das Ethernet interface vergeben, ip des Pi's und des Routers kommen aus den Variablen am Anfang des Scripts. #sed -i "s/iface eth0 inet .*/auto eth0 \n allow-hotplug eth0 \n iface eth0 inet static \n address $ip_raspi \n netmask 255.255.255.0 \n gateway $ip_router \n dns-nameservers $ip_router \n /" /etc/network/interfaces
fi
#Vorinstalliertes Node paket deinstallieren, veraltet version.
apt-get remove -y node
apt-get remove -y nodejs
apt-get autoremove -y
rm -r bin/node bin/node-waf include/node lib/node lib/pkgconfig/nodejs.pc share/man/man1/node.1#NodeJS von Nodesource.com installieren.
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
apt-get install -y nodejs:#Build essentials installieren.
apt-get install -y build-essential#Installation von iobroker.
mkdir /opt/iobrokercd /opt/iobroker
npm install iobroker#Installation von Adaptern. Es wird eine Grafische Oberfläche angezeigt in der man die Adapter auswählen kann.
allAdapter=cat /opt/iobroker/node_modules/iobroker.js-controller/conf/sources-dist.json | grep ": {"
for fn in $allAdapter; do
if [[ $fn != "{" ]] && [[ $fn != "js-controller" ]] && [[ $fn != "admin" ]]
then
fn_tmp="${fn%:}"
listChk="$listChk $fn_tmp $fn_tmp OFF"
fi
doneAuswahl=$(whiptail --title "Adapter Auswahl" --checklist "Wähle die Adapter aus die Installiert werden sollen" 25 80 15 $listChk 3>&1 1>&2 2>&3)
cd /opt/iobroker
for adapter in $Auswahl; do
installName="${adapter##""}"
installName2="${installName%%""}"
./iobroker add $installName2 --enabled
done#ioBroker Autostart einrichten und starten.
#bash /opt/iobroker/node_modules/iobroker/install/linux/install.sh! ````
Idealerweise sollte nach der Erweiterung der Partition ein Neustart durchgeführt werden, weil der verfügbare Speicher sonst zu wenig sein kann je nach Anzahl der ausgewählten Adapter. Das hab ich nicht mehr umgesetzt weil ich mich dann vom Pi als iobroker host verabschiedet hab.
-
-
Hallo Jey Cee,
danke für Dein Skript. Werde wahrscheinlich raspi-config nicht durch ein Skript ersetzen, sondern einen eigenen Menüpunkt für iobroker einbauen.
Gruß Gerhard
-
Ich habe auf die Schnelle eben eine Installation aufgesetzt, un werde daraus ein image nach meiner "altbewährten" Methode erstellen.
Es enthält Raspbian Jessie Lite mit ioBroker mit redis sowie den folgenden Adaptern:
Es passt auf eine 2GB Karte (=gut für den Download)
da ist noch ein wenig Platz drauf:
Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf /dev/root 1,8G 1,3G 414M 76% / devtmpfs 459M 0 459M 0% /dev tmpfs 463M 0 463M 0% /dev/shm tmpfs 463M 6,2M 457M 2% /run tmpfs 5,0M 4,0K 5,0M 1% /run/lock tmpfs 463M 0 463M 0% /sys/fs/cgroup /dev/mmcblk0p1 63M 21M 43M 33% /boot
ich könnte noch etwas draufpacken. Bitte Info, sollte da etwas essentielles fehlen.
Gruß
Rainer
PS@Bluefox: du hast PN
-
ich könnte noch etwas draufpacken. `
Das ist meiner Meinung nach schon zu viel. Ich würde als erstes einige Adapter deinstallieren (z.B. Rega, VIS). Der Admin-Adapter genügt, um daraus die gewünschten Adapter zu installieren. Die Bedürfnisse der Nutzer sind sehr unterschiedlich.Bitte bei der Veröffentlichung die Versionen von node, js-controller und admin angeben !
-
Das ist meiner Meinung nach schon zu viel. Ich würde als erstes einige Adapter deinstallieren (z.B. Rega, VIS). `
Ich kann deine Idee vollkommen nachvollziehen, aber…Die Images sollen für absolute Neueinsteiger sein, die keinerlei Erfahrung mit RasPi & Co. haben.
Aus meiner Erfahrung wollen diese ioBroker nutzen um zu visualisieren.
Daher habe ich die für "Normal-HM-User" das wichtigste dazu zusammen gestellt.
Die wenigsten werden hmcon oder homegear nutzen und kommen daher ohne Rega aus.
Im Gegenteil, ich habe den js-Adapter nur in den Starterpack gesteckt, weil da jetzt auch Blockly drin ist.
Das ist zumindest meine Ansicht.
Da ich aber inzwischen festgestellt habe, dass gerade gestern schon ein Raspi Image auf der Website hochgeladen wurde, stellt sich eh die Frage, ob da noch ein weiteres Image benötigt wird.
Adapter Version
js-controller 0.11.3
hm-rpc 1.3.1
hm-rega 1.3.0
vis 0.10.7
history 1.0.5
flot 1.4.0
Javascript 3.0.5
Socket 1.5.2
Web 1.5.3
Gruß
Rainer
-
Nach gleichem Schema habe ich jetzt noch images für den Cubietruck und den pine64 erstellt.
Leider habe ich im Moment Probleme mit dem Hochladen.
Vielleicht schaffe ich heute noch ein weiteres.
Was wäre denn gewünscht?
Odroid u3 habe ich nur ein lubuntu, kein Debian gefunden, muss ich mal testen.
Raspberry Pi1 wäre noch möglich, ist aber nicht unbedingt mein Favorit wegen der geringen Performance.
Cubox i4 und BananaPi hätte ich hier noch rumliegen.
Gruß
Rainer
-
So jetzt habe ich es geschafft die Images hochzuladen.
Bitte die Informationen zu den Downloads beachten - Auf die Lupe rechts klicken.
Feedback erwünscht
Gruß
Rainer
-
Schon die Seite gesehen!?
Könnte man das nicht auch für die Images für ioBroker missbrauchen!?
Gruß
Adrian
Gesendet von meinem iPhone mit Tapatalk
-
Schon die Seite gesehen!?
Könnte man das nicht auch für die Images für ioBroker missbrauchen!?
Gruß
Adrian
Gesendet von meinem iPhone mit Tapatalk `
Habe ausprobiert. Da wird aber nur StartScript erzeigt. Das kann ich auch in "vi" machen. -
Raspberry Pi1 wäre noch möglich, ist aber nicht unbedingt mein Favorit wegen der geringen Performance. `
Ja, gerne. Ich wollte das mal ausprobieren wie iobroker auf pi1 und multihost läuft. -
Hallo zusammen,
ja, "fertige" Images würden einem Anfänger und bekennendem Linux-DAU wie mir einen Start deutlich vereinfachen. Es ist mittlerweile schon ein paar Wochen her, dass ich mich endlich an eine neue Installation von ioBroker gewagt habe. Nach einer schon länger zurückliegenden Erst-Installation auf meinem Syno-Eigenbau (Stichwort: xpenology) habe ich irgendwann die "Arbeit" mit ioBroker eingestellt, bzw. die regelmäßigen Updates. Zum Einen gab es eine Phase in der ich viel von Problemen/Ausfällen nach Updates gelesen habe (insbesondere Admin-Adapter und js-controller), zum Anderen kommt der Syno-Eigenbau z.Zt. immer noch nicht über DSM 5.2 hinaus und damit ist Node 4.x nicht im Paketzentrum verfügbar, die für ein aktuelles ioBroker ja erforderlich ist. Manche Adapter ließen sich auch gar nicht erst installieren (z.B. Harmony).
Nachdem es mich irgendwann lang genug gewurmt hat, dass ich das nicht so nutzen kann wie ich gern würde, habe ich mir einen CT zugelegt und einfach mal aufs Geratewohl angefangen. Leider kam die Meldung über in aktualisiertes Image für den CT ganz knapp zu spät. Ich war quasi mit dem Grundgerüst fertig als ich das gelesen habe. Machte letztlich aber eigentlich nichts. Habe mich da eben manuell durchgebissen. Hat zwar gefühlt ewig gedauert und mehrerer Anläufe bedurft, aber dümmer bin ich dadurch auch nicht geworden.
Nachdem der CT ohne Murren zuverlässig lief und auch alle Adapter aktuell, bzw. nutzbar waren, plagte mich die Sorge, dass durch einen Update-Crash und dessen Folgen irgendwann der WAF in den sprichwörtlichen Keller fallen könnte. Ist schließlich in anderen Dingen schon oft genug passiert und mit der Umstellung von ccu.io/dashui auf ioBroker mute ich der Regierung schon genug zu.
Habe dann nach Möglichkeiten für ein Zweit-/Testsystem Ausschau gehalten. Um nicht noch weiter ins OT abzuschweifen: Es ist ein "alter" Intel NUC (DN2820FYKH) geworden. Direkte Installation von Debian, keine VM. Der ist jetzt das Produktivsystem und der CT das Testsystem, auf dem Neuerungen zuerst ausprobiert werden.
Danke an @Brati an dieser Stelle für die Hilfe und Hinweise das System ans Laufen zu bekommen!
Um zum eigentlichen Thema zurückzukehren:
Fertige Images erleichtern einen Start in die Welt von ioBroker ungemein, daher möchte ich klar für deren Erstellung und Pflege votieren. Danke, dass Ihr Euch die Arbeit macht und so versucht auch "Nicht-Linuxer" mitzunehmen.