NEWS
Iobroker Unterschied zwischen value und object
-
Hallo
Bin gerade dabei meine ersten flows zubauen.
Ich verstehe aber nicht ganz den unterscheid zwischen Value und Object?
Die Doku. Erklärt es auch irgendwie nicht.
Könnt ihr mir kurz helfen?
Danke
-
Hi,
beim in- und get-Node wird bei value der Wert generell als String ausgegeben. Bei Object wird der vom ioBroker gelieferte Wert durchgereicht.
Beim out-Node steuert dies nur, ob das ack-Flag am Wert gesetzt wird oder nicht. Bei Value wird dies auf true gesetzt.
Gruß
Markus
-
Mmh verstehen wie werden eigentlich in red-node die Programme ausgelöst.
Ich habe mir ein Flow gebaut das wenn ein Schalter/Variable auf true geht soll eine email geschickt werden.
Das hat auch funktioniert nur wurde die email 10 mal geschickt.
Ich dachte der flow würde bei Zustandsänderung einmal ausgeführt dem ist aber scheinbar nicht so.
Wie würdet ihr das angehen?
-
Ich dachte der flow würde bei Zustandsänderung einmal ausgeführt dem ist aber scheinbar nicht so. `
Jedes mal, wenn das Wert sich Updatet (auch wenn sich nicht geändert hat) -
Verstehe ich nicht?
Wie kann den ein update des Wertes sein wenn sich nichts ändert.
-
Wie kann den ein update des Wertes sein wenn sich nichts ändert. `
Die Geräte senden ca. alle 3 Minuten einen Status, in welchem Zusatnd sie sich befinden. - Dies ist ein Update.Auch wenn sich der Zustand nicht ändert, es ändert sich zumindest der Timestamp, so dass man sieht, dass der Wert aktuell ist.
-
Ok, jetzt verstehen ich und es erklärt sich auch das Verhalten.
Gibt es den in red-node die Möglichkeit auf Zustandsänderungen zu reagieren?
Ich frage zwar den Zustand ab um nur bei dem Zustand eine Aktion auszuführen.
Aber ohne extra gegenmassnahmen wird das Dingen halt alle drei minuten wieder abgefeuert.
Wie macht ihr das?
-
Hallo,
die Gegenmaßnahmen sind mit der letzten Version des node-red-Adapters bereits in den ioBroker in-Node integriert worden.
Über Mode kann man block unless value changes auswählen. Dann wird nur ausgelöst, wenn sich wirklich der Wert geändert hat.
-
Gut nur leider funktioniert mein update auf Version 0.4.2. nicht.
Bekomme eine komische Fehlermeldung mit der ich nichts anfangen kann.
Hast du noch eine Idee?
iobroker läuft auf einem raspberry pi 2
Anbei die Fehlermeldung
! $ ./iobroker add node-red
! npm install iobroker.node-red –production --prefix "/opt/iobroker" (System call)
! npm
! WARN peerDependencies The peer dependency kerberos@~0.0 included from mongodb-core will no
! npm WARN peerDependencies longer be automatically installed to fulfill the peerDependency
! npm WARN peerDependencies in npm 3+. Your application will need to depend on it explicitly.
! In file included from ../lib/kerberos.cc:1:0:../lib/kerberos.h:5:27: fatal error: gssapi/gssapi.h: No such file or directory
! compilation terminated.
! make: *** [Release/obj.target/kerberos/lib/kerberos.o] Error 1gyp
! ERR!
! build error
! gyp
! ERR!
! build error
! gyp
! ERR!
! stack Error:make
failed with exit code: 2gyp
! ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:269:23)gyp ERR! stack at ChildProcess.emit (events.js:110:17)
! gyp ERR! stack
! at Process.ChildProcess._handle.onexit (child_process.js:1074:12)gyp ERR!
! System Linux 4.1.13-v7+
! gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"gyp ERR! cwd
! /opt/iobroker/node_modules/iobroker.node-red/node_modules/mongodb/node_modules/kerberosgyp ERR! node -v v0.12.6
! gyp ERR! node-gyp -v v2.0.1
! gyp ERR! not ok
! npm
! WARN deprecated
! i18next-client@1.10.3: you can use npm install i18next from version 2.0.0 -
Ja, das Problem ist nun schon bei einigen aufgetreten.
Die für den Kerberos Dienst notwendigen Libraries werden bei den abgespreckten Debian-Versionen für rasbian nicht automatisch installiert. Diese sind aber Voraussetzung für das mongodb package. Diese kannst du aber einfach nachträglich installieren:
sudo apt-get install libkrb5-dev
Danach sollte npm für die Installation des Adapters ohne Fehlermeldungen durchlaufen.
-
Hi
Library konnte ich ohne Probleme installieren.
Aber die Installation geht immer noch nicht, bei den Instanzen zeigt er zwar an
das ich Version 0.4.2 habe aber bei den Adapter taucht kein node-red auf.
Kann das mit dieser Fehlermeldung zutun haben?
! $ ./iobroker add node-red
! npm install iobroker.node-red –production --prefix "/opt/iobroker" (System call)
! npm
! WARN peerDependencies
! The peer dependency kerberos@~0.0 included from mongodb-core will no
! npm
! WARN
! peerDependencies longer be automatically installed to fulfill the peerDependency
! npm WARN peerDependencies in npm 3+. Your application will need to depend on it explicitly.
! ../lib/kerberosgss.c:36:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]../lib/kerberosgss.c:37:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
! ../lib/kerberosgss.c: In function 'authenticate_gss_client_wrap':../lib/kerberosgss.c:362:19: warning: variable 'server_conf_flags' set but not used [-Wunused-but-set-variable]
! ../lib/kerberosgss.c: At top level:../lib/kerberosgss.c:930:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
! npm
! WARN
! deprecated i18next-client@1.10.3: you can use npm install i18next from version 2.0.0 -
Von den Meldungen her scheint aber alles funktioniert zu haben.
Wenn ich dich richtig verstehe, taucht bei dir kein node-red.0 mehr in der ioBroker admin Oberfläche auf dem Reiter Instanzen auf. Das kann bei den ganzen hin- und her schon sein.
Wie sieht denn der Inhalt vom Verzeichnis /opt/iobroker/node_modules/iobroker.node-red aus?
Da sollte jetzt im Minimum folgendes drin sein:
drwxr-xr-x 2 root root 4096 Jan 23 14:02 admin drwxr-xr-x 2 root root 4096 Jan 23 14:03 etc -rw-r--r-- 1 root root 1952 Jan 21 23:01 io-package.json drwxr-xr-x 2 root root 4096 Jan 14 21:48 lib -rw-r--r-- 1 root root 10174 Jan 14 21:48 LICENSE -rw-r--r-- 1 root root 13233 Jan 21 22:54 main.js drwxr-xr-x 12 root root 4096 Jan 23 21:38 node_modules drwxr-xr-x 3 root root 4096 Jan 23 14:04 nodes -rw-r--r-- 1 root root 18 Jan 14 21:48 .npmignore -rw-r--r-- 1 root root 1940 Jan 23 14:02 package.json drwxr-xr-x 3 root root 4096 Jan 23 14:02 public -rw-r--r-- 1 root root 3288 Jan 21 23:01 README.md -rw-r--r-- 1 root root 5912 Jan 21 22:54 settings.js
Wenn ja müsstest du über die Kommandoschnittstelle den Adapter neu zufügen können:
iobroker upload node-red iobroker add node-red
Wenn das nicht klappt überprüfe doch bitte mal die node-js und npm-Versionen. Es kommt gelegentlich vor, dass npm manuell neu installiert wurde und dann die Version nicht zur installierten node.js Version passt.
(Sollte nur der Reiter node-red fehlen, lässt sich das ganze noch einfacher über die Konfiguration der Admin-Oberfläche lösen)
-
Genau das war es
Danke