Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. steinwedel

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    S
    • Profile
    • Following 0
    • Followers 0
    • Topics 9
    • Posts 122
    • Best 1
    • Groups 0

    steinwedel

    @steinwedel

    1
    Reputation
    52
    Profile views
    122
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    steinwedel Follow

    Best posts made by steinwedel

    • Einführung Programmieren mit Javascript

      http://www.iobroker.net/?page_id=5385&lang=de

      http://forum.iobroker.net/viewtopic.php?f=21&t=3943&p=36995#p36995

      Grundlegendes

      In ioBroker gibt es verschiedene Möglichkeiten eine Art von Programmierung vorzunehmen. Exemplarisch sollen hier der Scenen-Adapter, Blockly und Javascript genannt werden. Die starrste Möglichkeit ist der Szenen-Adapter. Mit ihm sind die Möglichkeiten auf die Einstellungen (welche nicht zu verachten sind) beschränkt. Das andere Extrem ist Javascript. Hier kann der Anwender seine Ideen „frei“ formulieren. Dadurch sind die ersten Schritte vermeintlich recht schwer. Die Flexibilität des Systems zeigt sich jedoch gerade darin, dass man nicht nur Skripte, sondern sogar eigene Adapter schreiben kann. Man hat ein mächtiges Werkzeug zur Hand. Immer wieder gibt es Versuche, den Neueinsteiger die Programmierung etwa leichter zu machen. In ioBroker ist das Blockly. Auch in anderen System z.B. Homematic wurden diese Schritte gemacht. Letztendlich handelt es sich dabei um Generatoren, mit dessen Hilfe versteckt ein Skript erzeugt wird. Mich persönlich stört an diesen Click-Systemen, dass diese nicht so flexibel sind wie die echte Programmiersprache. Daher möchte ich hier zeigen, dass es gar nicht so schwer ist, selber ein Programm oder sagen wir fairerweise ein Progrämmchen zu schreiben. Welches System man wählt ist letztendlich Geschmacksache, die hier nicht weiter diskutiert werden soll.

      Das erste Programm - Hallo Welt!

      Sehr häufig wird für die erste Berührung mit einer Programmiersprache ein „Hallo Welt!“-Programm geschrieben. Auch wir wollen das Ausprobieren, da man damit ganz wichtige Schritte der Programmierung kennen lernen kann. Das "Hallo Welt!“ Programm gibt dabei auf dem Bildschirm die Meldung "Hello Welt!" aus.

      Zunächst muss, sofern noch nicht geschehen, der Javascript-Adapter wie üblich installiert und gegebenenfalls gestartet werden. Besondere Einstellungen sind zunächst nicht notwendig.

      Nunmehr muss noch der Reiter „Skripte“ aktiviert werden. Rechts oben auf der Admin-Seite befindet sich ein Button mit einem Bleistift. Diesen muss man anklicken und kann dann unter „Zeige“ den „Skripte“-Reiter auswählen. Nunmehr kann man durch nochmaliges des „Bleistifts“ den Verwaltungsmodus verlassen. Klicken wir nunmehr auf Skripte. Es er schein ein Fenster, bei dem rechts die vorhandenen Skripte (bei Neuinstallation gibt es nur zwei Rubriken common und global) und links der Inhalt des ausgewählten Skripten unten der Konsole angezeigt wird. Jetzt können wir unser erstes Skript schreiben.

      Dazu klicken wir auf der linken Seite oben auf das Blatt Papier mit dem Eselsohr. Auf der rechten Seite ändert sich die Ansicht. Bei Name wählen wir „Keine Gruppe“ aus. „Skript1“ ersetzen wir durch „Test“. Bei Enginetyp wählen wir Javascript aus. Jetzt können wir unser erstes Progrämmchen schreiben. Dazu geben wir folgende Zeile ein:

      console.log("Hallo Welt!");
      

      Nun können wir das Skript speichern. Bis auf die kleine Änderung, dass rechts unter den Skripten „Test“ aufgeführt ist, ändert sich nichts. Das Skripts damit gespeichert und einsatzfähig. Jetzt wollen wir ein Erfolgserlebnis haben und das Programm ausführen. Dazu klicken wir im linken Fenster rechts neben dem Namen des Programms auf das „Play“-Symbol (rot). Die Farbe ändert sich auf grün. Wenn man genauer schaut hat sich auch etwas getan. Rechts unten im Log-Fenster gibt es drei Zeilen:

      ` > 11:43:43.924[info]javascript.0 Start javascript script.js.Test

      11:43:43.924[info]javascript.0 script.js.Test: Hallo Welt!

      11:43:43.924[info]javascript.0 script.js.Test: registered 0 subscriptions and 0 schedules `

      Die zweite Zeile ist die für uns zur Zeit interessantes: Hier wurde auf dem Bildschirm der Text „Hallo Welt!“ ausgegeben. Wenn man möchte, kann man den Text im Skript ändern und neu speichern. Das Programm wird dann neu gestartet und der geänderte Text wird ausgegeben. Das Log kann man sich natürlich auch im Reiter Log anschauen. Uns reicht zurZeit aber diese Ausgabe, da nur die relevanten Logs zu unserem Skript angezeigt werden.

      Hier noch ein paar Hinweise zu den Log: Beim Starten des Programms wird immer angezeigt, dass das Skript gestartet wurde. Eine Zeile im Log beginnt immer mit der Uhrzeit. Der Letzte Zahl bei der Uhrzeit ist eine Angabe in Millisekunden. Dahinter wird angezeigt, um was für einen Typ von Nachricht es sich handelt. Hier handelt es sich im eine bloße Information. Fehler und Warnungen werden anders dargestellt. Danach wird angezeigt, welche Adapter-Instanz die Nachricht verschickt. Hier ist es javascript.0. Man kann auch mehrere Instanzen des Javascript Adapters erzeugen und starten (hierzu später mehr). Danach wird im Beispiel in der ersten Zeile angezeigt, dass das Programm gestartet wurde.

      Ind er Zeiten Zeile wurde unsere Nachricht ausgegeben. Die dritte Zeile können wir zum gegenwärtigen Zeitpunkt ignorieren.

      Falls sie das Programm geändert und gespeichert haben, wird die Ausgabe wiederholt. Interessant ist noch das wischen der ersten und der Zeiten Ausgabe sich noch eine (oder mehrere Zeilen) dazwischengeschoben haben:

      ` > 11:52:31.061 [info] javascript.1 Stop script script.js.Test

      11:52:31.068 [info] javascript.0 Stop script script.js.Test `
      In allen Instanzen der Javascript Adapters wurde das Programm gestoppt. Eigentlich hätte es gereicht, wenn das Programm in der Instanz 0 des Adapters gestoppt worden wäre. Da man aber die Zuordnung der Instanz ändern kann, werden in allen Instanzen das Programm vorsichtshalber gestoppt. In Welcher Instanz das Programm läuft kann man im linken Fenster in der ersten Spalte rechts vom Skript-Namen lesen und ändern. Das heißt aber auch, dass egal in welcher Instanz ein Programm läuft, der Name des Programms nur einmal vergeben werden kann.

      Jetzt zu dem eigentlichen Programm:

      Das Skript besteht aus nur einer Zeile. Konsole ist ein sogenanntes Objekt. Was das ist soll zunächst offen bleiben. Man Stelle sich ein Objekt einfach als Schweizer Armee Taschenmesser vor. Ein solches Messer hat mehrere Werkzeuge, z.B. Messer und Schraubendreher. Genauso ist es bei einem Objekt. Es hat mehrere Funktionen. der Name der Funktion steht rechts von dem Punkt hinter „console“. Die Funktion heißt log. Das es sich um eine Funktion handelt erkennt man an den geschwiegen Klammern. Also heißt die Funktion richtig log(). Die Funktion hat die Aufgabe eine Info in das log zu schreiben. Der Inhalt der ausgegeben wird ist eine Zeichenkette. Eine Zeichenkette setzt man in sogenann Hochkommata, also z.B.: "Hallo Welt!“.

      Damit ist das Programm erklärt. Noch zwei wichtige Anmerkungen: DasProgramm wird bei Start sofort ausgeführt. Des Weiteren läuft das Programm bis es beendet wird. Das bedeutet, dass auch wenn alle Zeilen des Programms abgearbeitet sind, das Programm in einer quasi Endlosschleife weiterläuft. Wozu das notwendig ist, werden wir bald sehen.

      Soweit der erste Teil. Der nächste Teil wird sich mit der Ereignisbehandlung beschäftigen. Beispiele: Ein Lichttaster wird gedrückt und es soll das Licht angehen; es ist 8 Uhr und der Rollladen soll aufgehen.

      Bis dahin,

      Gerhard

      posted in Skripten / Logik
      S
      steinwedel

    Latest posts made by steinwedel

    • Einführung Programmieren mit Javascript

      http://www.iobroker.net/?page_id=5385&lang=de

      http://forum.iobroker.net/viewtopic.php?f=21&t=3943&p=36995#p36995

      Grundlegendes

      In ioBroker gibt es verschiedene Möglichkeiten eine Art von Programmierung vorzunehmen. Exemplarisch sollen hier der Scenen-Adapter, Blockly und Javascript genannt werden. Die starrste Möglichkeit ist der Szenen-Adapter. Mit ihm sind die Möglichkeiten auf die Einstellungen (welche nicht zu verachten sind) beschränkt. Das andere Extrem ist Javascript. Hier kann der Anwender seine Ideen „frei“ formulieren. Dadurch sind die ersten Schritte vermeintlich recht schwer. Die Flexibilität des Systems zeigt sich jedoch gerade darin, dass man nicht nur Skripte, sondern sogar eigene Adapter schreiben kann. Man hat ein mächtiges Werkzeug zur Hand. Immer wieder gibt es Versuche, den Neueinsteiger die Programmierung etwa leichter zu machen. In ioBroker ist das Blockly. Auch in anderen System z.B. Homematic wurden diese Schritte gemacht. Letztendlich handelt es sich dabei um Generatoren, mit dessen Hilfe versteckt ein Skript erzeugt wird. Mich persönlich stört an diesen Click-Systemen, dass diese nicht so flexibel sind wie die echte Programmiersprache. Daher möchte ich hier zeigen, dass es gar nicht so schwer ist, selber ein Programm oder sagen wir fairerweise ein Progrämmchen zu schreiben. Welches System man wählt ist letztendlich Geschmacksache, die hier nicht weiter diskutiert werden soll.

      Das erste Programm - Hallo Welt!

      Sehr häufig wird für die erste Berührung mit einer Programmiersprache ein „Hallo Welt!“-Programm geschrieben. Auch wir wollen das Ausprobieren, da man damit ganz wichtige Schritte der Programmierung kennen lernen kann. Das "Hallo Welt!“ Programm gibt dabei auf dem Bildschirm die Meldung "Hello Welt!" aus.

      Zunächst muss, sofern noch nicht geschehen, der Javascript-Adapter wie üblich installiert und gegebenenfalls gestartet werden. Besondere Einstellungen sind zunächst nicht notwendig.

      Nunmehr muss noch der Reiter „Skripte“ aktiviert werden. Rechts oben auf der Admin-Seite befindet sich ein Button mit einem Bleistift. Diesen muss man anklicken und kann dann unter „Zeige“ den „Skripte“-Reiter auswählen. Nunmehr kann man durch nochmaliges des „Bleistifts“ den Verwaltungsmodus verlassen. Klicken wir nunmehr auf Skripte. Es er schein ein Fenster, bei dem rechts die vorhandenen Skripte (bei Neuinstallation gibt es nur zwei Rubriken common und global) und links der Inhalt des ausgewählten Skripten unten der Konsole angezeigt wird. Jetzt können wir unser erstes Skript schreiben.

      Dazu klicken wir auf der linken Seite oben auf das Blatt Papier mit dem Eselsohr. Auf der rechten Seite ändert sich die Ansicht. Bei Name wählen wir „Keine Gruppe“ aus. „Skript1“ ersetzen wir durch „Test“. Bei Enginetyp wählen wir Javascript aus. Jetzt können wir unser erstes Progrämmchen schreiben. Dazu geben wir folgende Zeile ein:

      console.log("Hallo Welt!");
      

      Nun können wir das Skript speichern. Bis auf die kleine Änderung, dass rechts unter den Skripten „Test“ aufgeführt ist, ändert sich nichts. Das Skripts damit gespeichert und einsatzfähig. Jetzt wollen wir ein Erfolgserlebnis haben und das Programm ausführen. Dazu klicken wir im linken Fenster rechts neben dem Namen des Programms auf das „Play“-Symbol (rot). Die Farbe ändert sich auf grün. Wenn man genauer schaut hat sich auch etwas getan. Rechts unten im Log-Fenster gibt es drei Zeilen:

      ` > 11:43:43.924[info]javascript.0 Start javascript script.js.Test

      11:43:43.924[info]javascript.0 script.js.Test: Hallo Welt!

      11:43:43.924[info]javascript.0 script.js.Test: registered 0 subscriptions and 0 schedules `

      Die zweite Zeile ist die für uns zur Zeit interessantes: Hier wurde auf dem Bildschirm der Text „Hallo Welt!“ ausgegeben. Wenn man möchte, kann man den Text im Skript ändern und neu speichern. Das Programm wird dann neu gestartet und der geänderte Text wird ausgegeben. Das Log kann man sich natürlich auch im Reiter Log anschauen. Uns reicht zurZeit aber diese Ausgabe, da nur die relevanten Logs zu unserem Skript angezeigt werden.

      Hier noch ein paar Hinweise zu den Log: Beim Starten des Programms wird immer angezeigt, dass das Skript gestartet wurde. Eine Zeile im Log beginnt immer mit der Uhrzeit. Der Letzte Zahl bei der Uhrzeit ist eine Angabe in Millisekunden. Dahinter wird angezeigt, um was für einen Typ von Nachricht es sich handelt. Hier handelt es sich im eine bloße Information. Fehler und Warnungen werden anders dargestellt. Danach wird angezeigt, welche Adapter-Instanz die Nachricht verschickt. Hier ist es javascript.0. Man kann auch mehrere Instanzen des Javascript Adapters erzeugen und starten (hierzu später mehr). Danach wird im Beispiel in der ersten Zeile angezeigt, dass das Programm gestartet wurde.

      Ind er Zeiten Zeile wurde unsere Nachricht ausgegeben. Die dritte Zeile können wir zum gegenwärtigen Zeitpunkt ignorieren.

      Falls sie das Programm geändert und gespeichert haben, wird die Ausgabe wiederholt. Interessant ist noch das wischen der ersten und der Zeiten Ausgabe sich noch eine (oder mehrere Zeilen) dazwischengeschoben haben:

      ` > 11:52:31.061 [info] javascript.1 Stop script script.js.Test

      11:52:31.068 [info] javascript.0 Stop script script.js.Test `
      In allen Instanzen der Javascript Adapters wurde das Programm gestoppt. Eigentlich hätte es gereicht, wenn das Programm in der Instanz 0 des Adapters gestoppt worden wäre. Da man aber die Zuordnung der Instanz ändern kann, werden in allen Instanzen das Programm vorsichtshalber gestoppt. In Welcher Instanz das Programm läuft kann man im linken Fenster in der ersten Spalte rechts vom Skript-Namen lesen und ändern. Das heißt aber auch, dass egal in welcher Instanz ein Programm läuft, der Name des Programms nur einmal vergeben werden kann.

      Jetzt zu dem eigentlichen Programm:

      Das Skript besteht aus nur einer Zeile. Konsole ist ein sogenanntes Objekt. Was das ist soll zunächst offen bleiben. Man Stelle sich ein Objekt einfach als Schweizer Armee Taschenmesser vor. Ein solches Messer hat mehrere Werkzeuge, z.B. Messer und Schraubendreher. Genauso ist es bei einem Objekt. Es hat mehrere Funktionen. der Name der Funktion steht rechts von dem Punkt hinter „console“. Die Funktion heißt log. Das es sich um eine Funktion handelt erkennt man an den geschwiegen Klammern. Also heißt die Funktion richtig log(). Die Funktion hat die Aufgabe eine Info in das log zu schreiben. Der Inhalt der ausgegeben wird ist eine Zeichenkette. Eine Zeichenkette setzt man in sogenann Hochkommata, also z.B.: "Hallo Welt!“.

      Damit ist das Programm erklärt. Noch zwei wichtige Anmerkungen: DasProgramm wird bei Start sofort ausgeführt. Des Weiteren läuft das Programm bis es beendet wird. Das bedeutet, dass auch wenn alle Zeilen des Programms abgearbeitet sind, das Programm in einer quasi Endlosschleife weiterläuft. Wozu das notwendig ist, werden wir bald sehen.

      Soweit der erste Teil. Der nächste Teil wird sich mit der Ereignisbehandlung beschäftigen. Beispiele: Ein Lichttaster wird gedrückt und es soll das Licht angehen; es ist 8 Uhr und der Rollladen soll aufgehen.

      Bis dahin,

      Gerhard

      posted in Skripten / Logik
      S
      steinwedel
    • RE: Werteliste

      Wenn du beispielsweise in Javascript programmierst. lebst Du Dir ein Array mit den Werten an und nimmst den Index aus der Dropdownliste um den wahren Wert aus dem Array zu erhalten. Einziger Schönheitsfehler daran ist, dass man an zwei Stellen die Liste pflegen muss: in VIS und in dem Javascript.

      posted in Visualisierung
      S
      steinwedel
    • RE: Eigenartiger Fehler bei Syntax-check: Too many errors. (xx% scanned).

      Hallo,

      kann den Fehler auch bestätigen. Hängt von der Zahl der Variablen ab. Das Problem trat bei mir bei der Definition von globalen Variablen auf. Habe die Variablen auf mehrere Dateien aufgeteilt. Damit bin ich das Problem erst mal los. Wahrscheinlich kann der Syntax-Checker nur mit einer begrenzten Anzahl von Variablen umgehen.

      posted in Skripten / Logik
      S
      steinwedel
    • RE: Einstellungen Parameter eine Geräte zu ändern

      Hallo,

      leider lassen sich nicht alle Parameter ändern. Aus meiner Sicht spielt das keine große Rolle, da ich den Thermostat im Manual Mode laufen lasse. Alle Änderungen z.B. bei Abwesenheit oder Tag/Nacht erfolgen dann automatisch per Skript.

      posted in Visualisierung
      S
      steinwedel
    • RE: Neuling- VIS Grundrisse des Hauses wie erstellen?

      Hallo,

      herzlich Willkommen.

      Deinen Grundriss kannst Du mit einem beliebigen Programm schreiben, welches den Grundriss als Bild exportieren kann. Falls DU noch kein Programm hast, ist Sweet Home 3d (http://www.sweethome3d.com/de/) sicherlich eine gute Wahl.

      Gruß Gerhard

      posted in ioBroker Allgemein
      S
      steinwedel
    • RE: Fragen zu Festplatte

      Hallo Maragon,

      die Frage ist klar mit Jein zu beantworten.Eine SD-Karte tut es im Prinzip genauso. Das Problem bei SD-Karten ist die beschränkte Anzahl an Schreibzyklen. Ist diese überschritten, hat man Datenschrott. Wieviele Schreibzyklen die SD-Karte tatsächlich übersteht ist schlecht vorhersehbar. Der Hersteller gibt nur eine "garantierte" Mindestanzahl an. SD-Karten sind aus Flash-Speicher aufgebaut. Auch Flash-Festplatten haben damit dasselbe Problem. Durch spezielle Controller wird dafür Sorge getragen, dass nicht immer dieselbe Speicherstelle geschrieben wird. Darüberhinaus gibt es noch etwas Reservespeicher, auf dem im Fall eines Defektes ausgewichen wird. Daher halten Flash-Festplatten länger. Besser ist es bei mechanischen Festplatten. Trotzdem würde ich nicht automatisch diese bevorzugen. Man muss nämlich auch bedenken, dass diese Exemplare deutlich mehr Strom verbrauchen und den Bedarf des Raspi schnell verdoppeln.

      Man muss also abschätzen wie häufig im Dateisystem geschrieben wird (hier spielen vor allem Logs und evt. Speicherung in Histroy-Files eine Rolle. SD Karten können ohne Raspi durchaus ausreichend sein. Von der Tendenz würde ich es zunächst ohne Festplatte ruhig versuchen. Die Frage ist immer, ob man auf Dauer mit der Lösung zufrieden ist. Die Geschwindigkeit des ioBrokers hängt natürlich auch von dem zugrundeliegenden System ab. Ein Raspi funktioniert grundsätzlich. Bei größeren Systemen kann es aber auch zu Engpässen kommen (muss natürlich nicht). Wenn Du mit SD-Karten arbeitest, bist Du sicherlich gut beraten immer eine Sicherungskopie zu machen. Dann ist eine defekte SD-Karte kein großer Beinbruch. Auf lange Sicht schadet etwas leistungsfähigere Hardware nicht. Dann kann man NAS, Media-Server, ioBroker usw. zusammenlegen.

      Viel Spaß mit ioBroker!

      posted in ioBroker Allgemein
      S
      steinwedel
    • RE: Ziemlich unzufrieden mit dem ioBroker momentan

      Hallo Navino,

      Dein Frust ist verständlich. Die Frage ist nur, ob Du wirklich an der richtigen Adresse bist. Ich muss sagen ich bin auf der einen Seite sehr zufrieden und auf der anderen gefrustet. Keine Schizophrenie. Ich habe eine Installation auf einen Raspi, die ich erstellt und dann nicht mehr angefasst habe. Sie läuft und läuft (und das auf einer SD-Karte!).

      Auf der anderen Seite habe ich eine Installation (gehabt), die immer wieder Abstürzte. Klar habe ich regelmäßig Sicherungskopien gemacht. Gebracht hat es leider nichts. Das Dateisystem ist durch die Abstürze inkonsistent geworden (kein root-Zugriff mehr möglich). Damit musste ich die Kiste neu aufsetzten. Habe mich natürlich sehr geärgert und zwei Wochen lang fas Forum bestreikt. Wichtig ist aber immer, ob man etwas daraus gelernt hat. Für mich habe ich daraus gelernt, dass es Geräte gibt, die einfach immer funktionieren müssen (zuverlässig). Es gibt nichts Blöderes, als nach Hause zu kommen und das Licht geht nicht. Mich hatte das extrem genervt. Daraus folgt für mich, dass ich ein System mit wichtigen Kernfunktionen habe, das einmal eingerichtet ist und nur noch wenig geändert wird. Ob ich Updates mache, weiß ich noch nicht. Es läuft so ohne wenn und aber, so dass es eigentlich nicht notwendig ist.

      Das andere System für die nicht so wichtigen Sachen wird weiter auch meine Experimentierwiese sein. Hier wird es immer Updates geben, die ich einpflege. Das es Probleme gibt, nehme ich dabei in Kauf.

      Zu dem was Dich weiter stört: Konsole. Für Benutzer von graphischen Oberflächen ist das natürlich ein Graus. Ich muss für mich sagen, prima, dass es dass gibt. So kann man Probleme immerhin selber lösen. Stell Dir doch bitte mal vor, es Verbliebe nur die Deinstallation und Neuinstallation…

      Nicht zu vernachlässigen ist das Problem, dass ioBroker auf extrem unterschiedlichen Plattformen läuft. Für den Nutzer sieht alles gleich aus. Fehler treten dann aber von sehr unterschiedlichen Seiten auf (z.B. Größe Hauptspeicher, Rechner Performance, Groß-/Kleinschreibung bei Dateinamen, Zugriffsrechte auf Dateisystem, Fehlende Funktionen bzw. andere API). Die Liste kann man noch lande verlängern. Von mir gibt es trotz allem ein großes Lob an Bluefox für sein Engagement. Der sinnvollste Weg ist, sich zu entscheiden: Ein System aufzusetzen, dass dann fertig ist (Probleme er weniger wahrscheinlich, trotzdem möglich vgl. letztes großes Apple-Update). Alternativ bastelt man und muss hinnehmen, dass das System dann verbastelt ist.

      Dein Frust es verständlich. Es gibt aus meiner Sicht aber kein anderes System. Man muss sich einfach arrangieren. Vielleicht kannst Du ja auch helfen, Probleme einzukreisen. Dann kommt das Projekt auf jeden Fall weiter. Letzteres muss doch das Ziel sein ...

      So hoffentlich hat sich Dein Frust etwas gelegt. Eine Neuinstallation für auch immer zu weiteren Verbesserungen und Ideen.

      Gruß Gerhard

      posted in ioBroker Allgemein
      S
      steinwedel
    • RE: Installationsskript Ubuntu & Co.

      Hallo Rainer,

      danke für die Info bzgl. Raspi1. Hast Du eine Idee, wie man den Raspi auf Shell-Ebene erkennen kann? Dann könnte man das Skript entsprechend erweitern. Hier bezüglich der anderen Anmerkungen schon mal eine überarbeitete Version, die auch Fehler behandelt:

      #!/bin/bash
      
      ### Vorinstalliertes Node paket deinstallieren, veraltet version. 
      sudo apt-get remove -y node 
      sudo apt-get remove -y nodejs 
      sudo apt-get autoremove -y 
      sudo rm -r bin/node bin/node-waf include/node lib/node lib/pkgconfig/nodejs.pc share/man/man1/node.1
      
      ### Install curl
      sudo apt-get install curl -y
      if [ $? -ne 0 ]
      then
              echo "CURL konnte nicht installiert werden!"
              exit 1
      fi
      
      ### Download node
      #curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
      sudo curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
      if [ $? -ne 0 ]
      then
              echo "NODE konnte nicht heruntergeladen werden!"
              exit 1
      fi
      
      ### Install NODE
      sudo apt-get install -y nodejs
      if [ $? -ne 0 ]
      then
              echo "NODE konnte nicht installiert werden!"
              exit 1
      fi
      
      ### Install build-essential
      sudo apt-get install -y build-essential
      if [ $? -ne 0 ]
      then
              echo "BUILD-ESSENTIAL konnte nicht installiert werden!"
              exit 1
      fi
      
      ### Install python
      sudo apt-get install -y python
      if [ $? -ne 0 ]
      then
              echo "PYTHON konnte nicht installiert werden!"
              exit 1
      fi
      
      if [ -d /opt/iobroker ]
      then
              echo "Das Installationsverzeichnis /opt/iobroker existiert bereits! ioBroker kann nicht noch einmal installiert werden."
              exit 1
      fi
      
      sudo mkdir /opt/iobroker
      sudo chmod 755 /opt/iobroker
      cd /opt/iobroker
      
      ### Install iobroker
      sudo npm install --unsafe-perm iobroker
      if [ $? -ne 0 ]
      then
              echo "IOBROKER konnte nicht installiert werden!"
              exit 1
      fi
      
      
      posted in ioBroker Allgemein
      S
      steinwedel
    • RE: Polling Intervall hm-rega

      Hallo Rainer,

      ioBroker bekommt nur den Zustand der Variable mit, die diese zum Zeitpunkt des pollen hat. Was dazwischen war erfährt iobroker nicht.

      Auf Seiten ioBroker kannst Du derzeit nichts machen. Häufigeres Pollen ist tödlich (für CCU). Was man machen könnte ist, dass man auf der CCU ein Skript baut, das bei Änderung der Variablen das Gegenstück auf ioBroker per Webaufruf über den Simple-api adapter ändert. Nicht schön, aber funktioniert.

      Gruß Gerhard

      posted in ioBroker Allgemein
      S
      steinwedel
    • RE: Installationsskript Ubuntu & Co.

      Danke für die Rückmeldungen.

      Bezüglich chmod ist das bei mir bzgl. /opt/iobroker nicht notwendig gewesen. Das Verzeichnis hat automatisch die Rechte 755 (geerbt von /opt/). Könnte natürlich sein, dass das mal wieder von der Distro abhängig ist. Ein chmod schadet ja nicht. Nun aber die Frage: reicht 755 oder muss es 777 sein? Letzteres würde ich gerne vermeiden (immer Sicherheitsrisiko).

      Danke für den Hinweis mit dem Problem auf curl. Werde ein````
      apt-get install curl -y

      
      Eine Rückmeldung bezüglich Raspian würde mich auch interessieren. Dann wissen wir, dass die wichtigsten Debian-basierten Distros mit dem Skript funktionieren. Dann könnte man sogar die unterschiedlichen Anleitungen zur Installation zusammenfassen.
      
      Gruß Gerhard
      posted in ioBroker Allgemein
      S
      steinwedel
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo