NEWS
Iobroker.template
-
Hallo,
ich habe gerade iobroker neu aufgesetzt und wollte mir dann einmal das iobroker.template anschauen.
Bei der Beschreibung https://github.com/ioBroker/ioBroker.template bin ich auf Fehler gestossen. Es sind teilweise nur Kleinigkeiten, aber auch da sollte es passen.
Das Verzeichnis nach dem entpacken lautet nicht 'ioBroker.template' sondern 'ioBroker.template-master'
==> set name of this template. Call grunt rename ….
Bei mir war grunt nicht installiert Die Nachinstallation brachte dann den Erfolg:
npm install -g grunt-cli
==> rename directory from ioBroker.template to ioBroker.mynewname
==> to use this template you should copy it into iobroker/node_modules directory
muss es im node_modules Verzeichnis nicht iobroker sein anstelle ioBroker ?
Nach dem kopieren und neustarten von iobroker, war der Adapter zu sehen.
==> change version: edit package.json and then call grunt p in your widget directory.
'grunt p' im Verzeichnis brachte nur eine Fehlermeldung. Oder welches Verzeichnis ist mit 'widget' gemeint ?
! bananapi:/opt/iobroker_development/node_modules/iobroker.adapter# grunt p
! Directory: /opt/iobroker_development/node_modules/iobroker.adapter
! Loading "Gruntfile.js" tasks…ERROR
! >> TypeError: Cannot read property '0' of undefined
! Warning: Task "p" not found. Use --force to continue.In io-package.json wird der Titel angegeben, allerdings funktioniert dies im Template nicht. Der admin zeigt als Titel nur [Object Object] an.
Fehler ==> "title": {
"en": "ioBroker Adapter",
"de": "ioBroker Adapter",
"ru": "ioBroker драйвер как образец"
},
==> OK => "title": "ioBroker Adapter",
Zudem wird das Icon nicht angezogen. Aktuell werden alle Adapter-Icons von "https://raw.githubusercontent.com/ioBro … dapter.png" geladen. Bei der Instanz wird das korrekte Icon aus dem admin-Verzeichnis geladen.
Das war es erstmal
-
Danke für deine Anmerkungen :!:
@Headroom68:Hallo,
ich habe gerade iobroker neu aufgesetzt und wollte mir dann einmal das iobroker.template anschauen.
Bei der Beschreibung https://github.com/ioBroker/ioBroker.template bin ich auf Fehler gestossen. Es sind teilweise nur Kleinigkeiten, aber auch da sollte es passen.
Das Verzeichnis nach dem entpacken lautet nicht 'ioBroker.template' sondern 'ioBroker.template-master'
==> set name of this template. Call grunt rename ….
Bei mir war grunt nicht installiert Die Nachinstallation brachte dann den Erfolg:
npm install -g grunt-cli `
Man sollte "npm install" aufrufen. Habe das nicht eindeutig markiert. Korrigiert.==> rename directory from ioBroker.template to ioBroker.mynewname
==> to use this template you should copy it into iobroker/node_modules directory
muss es im node_modules Verzeichnis nicht iobroker sein anstelle ioBroker ? `
Korrigiert. (ioBroker.blabla wird trotzdem funktionieren)
Nach dem kopieren und neustarten von iobroker, war der Adapter zu sehen.
==> change version: edit package.json and then call grunt p in your widget directory.
'grunt p' im Verzeichnis brachte nur eine Fehlermeldung. Oder welches Verzeichnis ist mit 'widget' gemeint ? `
Korrigiert. widget directory => adapter directory! bananapi:/opt/iobroker_development/node_modules/iobroker.adapter# grunt p
! Directory: /opt/iobroker_development/node_modules/iobroker.adapter
! Loading "Gruntfile.js" tasks…ERROR
! >> TypeError: Cannot read property '0' of undefined
! Warning: Task "p" not found. Use --force to continue. `
"npm install" am StartIn io-package.json wird der Titel angegeben, allerdings funktioniert dies im Template nicht. Der admin zeigt als Titel nur [Object Object] an.
Fehler ==> "title": {
"en": "ioBroker Adapter",
"de": "ioBroker Adapter",
"ru": "ioBroker драйвер как образец"
},
==> OK => "title": "ioBroker Adapter", `
Korrigiert.Zudem wird das Icon nicht angezogen. Aktuell werden alle Adapter-Icons von "https://raw.githubusercontent.com/ioBro … dapter.png" geladen. Bei der Instanz wird das korrekte Icon aus dem admin-Verzeichnis geladen. `
Na ja.. Ich gehe davon aus, dass man Adapter veröffentlicht und man will doch Ikon auch sehen ohne dass Adapter runtergeladen wird. Des wegen Ikon muss irgendwo im Internet liegen. -
Hi,
grunt und ich werden keine Freunde.
download des Adapters, 'npm install' im Verzeichnis des entdeckten Adapters ausgeführt, 'grunt rename …' führt zu Fehler
Error: Cannot find module '/tmp/ioBroker.template-master/tasks/jscs.js'
Auch 'grunt p' gibt ein Fehler.
TypeError: Cannot read property '0' of undefined
Warning: Task "p" not found. Use --force to continue.
! root@bananapi:/tmp/ioBroker.template-master# npm install
! grunt-exec@0.4.6 node_modules/grunt-exec
! grunt-contrib-clean@0.6.0 node_modules/grunt-contrib-clean
! └── rimraf@2.2.8
! grunt-contrib-copy@0.8.2 node_modules/grunt-contrib-copy
! ├── file-sync-cmp@0.1.1
! └── chalk@1.1.1 (escape-string-regexp@1.0.3, supports-color@2.0.0, ansi-styles@2.1.0, has-ansi@2.0.0, strip-ansi@3.0.0)
! grunt-http@1.6.0 node_modules/grunt-http
! ├── aws-sign2@0.5.0
! ├── oauth-sign@0.4.0
! ├── tunnel-agent@0.4.2
! ├── async@0.9.2
! ├── form-data@0.1.4 (mime@1.2.11, combined-stream@0.0.7)
! ├── tough-cookie@2.2.1
! ├── http-signature@0.10.1 (assert-plus@0.1.5, asn1@0.1.11, ctype@0.5.3)
! ├── hawk@2.3.1 (cryptiles@2.0.5, sntp@1.0.9, boom@2.10.1, hoek@2.16.3)
! └── request@2.47.0 (caseless@0.6.0, forever-agent@0.5.2, stringstream@0.0.5, json-stringify-safe@5.0.1, qs@2.3.3, node-uuid@1.4.7, mime-types@1.0.2, combined-stream@0.0.7, bl@0.9.4, hawk@1.1.1)
! grunt@0.4.5 node_modules/grunt
! ├── dateformat@1.0.2-1.2.3
! ├── which@1.0.9
! ├── eventemitter2@0.4.14
! ├── getobject@0.1.0
! ├── rimraf@2.2.8
! ├── colors@0.6.2
! ├── async@0.1.22
! ├── grunt-legacy-util@0.2.0
! ├── hooker@0.2.3
! ├── exit@0.1.2
! ├── nopt@1.0.10 (abbrev@1.0.7)
! ├── minimatch@0.2.14 (sigmund@1.0.1, lru-cache@2.7.3)
! ├── glob@3.1.21 (inherits@1.0.2, graceful-fs@1.2.3)
! ├── lodash@0.9.2
! ├── coffee-script@1.3.3
! ├── underscore.string@2.2.1
! ├── iconv-lite@0.2.11
! ├── findup-sync@0.1.3 (glob@3.2.11, lodash@2.4.2)
! ├── grunt-legacy-log@0.1.2 (grunt-legacy-log-utils@0.1.1, underscore.string@2.3.3, lodash@2.4.2)
! └── js-yaml@2.0.5 (argparse@0.1.16, esprima@1.0.4)
! grunt-contrib-compress@0.13.0 node_modules/grunt-contrib-compress
! ├── prettysize@0.0.3
! ├── chalk@0.5.1 (ansi-styles@1.1.0, escape-string-regexp@1.0.3, supports-color@0.2.0, strip-ansi@0.3.0, has-ansi@0.1.0)
! └── archiver@0.13.1 (buffer-crc32@0.2.5, lazystream@0.1.0, async@0.9.2, readable-stream@1.0.33, tar-stream@1.1.5, glob@4.3.5, lodash@2.4.2, zip-stream@0.5.2)
! grunt-replace@0.9.3 node_modules/grunt-replace
! ├── chalk@1.1.1 (escape-string-regexp@1.0.3, supports-color@2.0.0, ansi-styles@2.1.0, has-ansi@2.0.0, strip-ansi@3.0.0)
! ├── applause@0.4.3 (cson-parser@1.3.0, js-yaml@3.4.6)
! └── lodash@3.10.1
! grunt-contrib-jshint@0.11.3 node_modules/grunt-contrib-jshint
! ├── hooker@0.2.3
! └── jshint@2.8.0 (strip-json-comments@1.0.4, exit@0.1.2, console-browserify@1.1.0, shelljs@0.3.0, minimatch@2.0.10, cli@0.6.6, htmlparser2@3.8.3, lodash@3.7.0)
! grunt-jscs@2.5.0 node_modules/grunt-jscs
! ├── vow@0.4.11
! ├── hooker@0.2.3
! ├── lodash@3.10.1
! └── jscs@2.7.0 (to-double-quotes@2.0.0, to-single-quotes@2.0.0, reserved-words@0.1.1, strip-json-comments@1.0.4, natural-compare@1.2.2, pathval@0.1.1, jscs-preset-wikimedia@1.0.0, estraverse@4.1.1, strip-bom@2.0.0, xmlbuilder@3.1.0, exit@0.1.2, commander@2.9.0, chalk@1.1.1, glob@5.0.15, minimatch@3.0.0, esprima@2.7.1, babel-jscs@2.0.5, cli-table@0.3.1, resolve@1.1.6, vow-fs@0.3.4, jscs-jsdoc@1.3.1, htmlparser2@3.8.3, prompt@0.2.14, js-yaml@3.4.6, jsonlint@1.6.2, escope@3.3.0, babel-core@5.8.34)
! root@bananapi:/tmp/ioBroker.template-master# grunt rename –name=l2ping --email=iobroker@hn.pida.de --author="Holger Neumann"
! Try to rename to "l2ping"
! Loading "Gruntfile.js" tasks...ERROR
! >> Error: Cannot find module '/tmp/ioBroker.template-master/tasks/jscs.js'
! Warning: Task "rename" not found. Use --force to continue.
! Aborted due to warnings.
! root@bananapi:/tmp/ioBroker.template-master#
! root@bananapi:/tmp/ioBroker.template-master#
! root@bananapi:/tmp/ioBroker.template-master# grunt p
! Loading "Gruntfile.js" tasks...ERROR
! >> TypeError: Cannot read property '0' of undefined
! Warning: Task "p" not found. Use --force to continue.
! Aborted due to warnings. -
Hi,
ich kenne grunt zu wenig und möchte es eigentlich auch nicht kennenlernen, daher hier der Workaround zu dem Problem mit dem rename.
So wie ich das sehe (Grundfile.js), sollte das herunterladen eigentlich automatisch geschehen.
Workaround:
Im Verzeichnis des Adapters ein Verzeichnis 'tasks' anlegen.
mkdir tasks
in das neu erstellte Verzeichnis wechseln:
cd tasks
Dann die benötigten Dateien mittels wget herunterladen.
wget https://raw.githubusercontent.com/ioBro … ks/jscs.js
wget https://raw.githubusercontent.com/ioBro ... /jshint.js
wget https://raw.githubusercontent.com/ioBro ... csRules.js
Danach funktioniert das rename.
Nicht automatisch umbenannt wird die Datei '/www/index.html' hier steht noch 'Template'.
-
Hi,
grunt und ich werden keine Freunde.
download des Adapters, 'npm install' im Verzeichnis des entdeckten Adapters ausgeführt, 'grunt rename …' führt zu Fehler
Error: Cannot find module '/tmp/ioBroker.template-master/tasks/jscs.js'
Auch 'grunt p' gibt ein Fehler.
TypeError: Cannot read property '0' of undefined
Warning: Task "p" not found. Use --force to continue.
! root@bananapi:/tmp/ioBroker.template-master# npm install
! grunt-exec@0.4.6 node_modules/grunt-exec
! grunt-contrib-clean@0.6.0 node_modules/grunt-contrib-clean
! └── rimraf@2.2.8
! grunt-contrib-copy@0.8.2 node_modules/grunt-contrib-copy
! ├── file-sync-cmp@0.1.1
! └── chalk@1.1.1 (escape-string-regexp@1.0.3, supports-color@2.0.0, ansi-styles@2.1.0, has-ansi@2.0.0, strip-ansi@3.0.0)
! grunt-http@1.6.0 node_modules/grunt-http
! ├── aws-sign2@0.5.0
! ├── oauth-sign@0.4.0
! ├── tunnel-agent@0.4.2
! ├── async@0.9.2
! ├── form-data@0.1.4 (mime@1.2.11, combined-stream@0.0.7)
! ├── tough-cookie@2.2.1
! ├── http-signature@0.10.1 (assert-plus@0.1.5, asn1@0.1.11, ctype@0.5.3)
! ├── hawk@2.3.1 (cryptiles@2.0.5, sntp@1.0.9, boom@2.10.1, hoek@2.16.3)
! └── request@2.47.0 (caseless@0.6.0, forever-agent@0.5.2, stringstream@0.0.5, json-stringify-safe@5.0.1, qs@2.3.3, node-uuid@1.4.7, mime-types@1.0.2, combined-stream@0.0.7, bl@0.9.4, hawk@1.1.1)
! grunt@0.4.5 node_modules/grunt
! ├── dateformat@1.0.2-1.2.3
! ├── which@1.0.9
! ├── eventemitter2@0.4.14
! ├── getobject@0.1.0
! ├── rimraf@2.2.8
! ├── colors@0.6.2
! ├── async@0.1.22
! ├── grunt-legacy-util@0.2.0
! ├── hooker@0.2.3
! ├── exit@0.1.2
! ├── nopt@1.0.10 (abbrev@1.0.7)
! ├── minimatch@0.2.14 (sigmund@1.0.1, lru-cache@2.7.3)
! ├── glob@3.1.21 (inherits@1.0.2, graceful-fs@1.2.3)
! ├── lodash@0.9.2
! ├── coffee-script@1.3.3
! ├── underscore.string@2.2.1
! ├── iconv-lite@0.2.11
! ├── findup-sync@0.1.3 (glob@3.2.11, lodash@2.4.2)
! ├── grunt-legacy-log@0.1.2 (grunt-legacy-log-utils@0.1.1, underscore.string@2.3.3, lodash@2.4.2)
! └── js-yaml@2.0.5 (argparse@0.1.16, esprima@1.0.4)
! grunt-contrib-compress@0.13.0 node_modules/grunt-contrib-compress
! ├── prettysize@0.0.3
! ├── chalk@0.5.1 (ansi-styles@1.1.0, escape-string-regexp@1.0.3, supports-color@0.2.0, strip-ansi@0.3.0, has-ansi@0.1.0)
! └── archiver@0.13.1 (buffer-crc32@0.2.5, lazystream@0.1.0, async@0.9.2, readable-stream@1.0.33, tar-stream@1.1.5, glob@4.3.5, lodash@2.4.2, zip-stream@0.5.2)
! grunt-replace@0.9.3 node_modules/grunt-replace
! ├── chalk@1.1.1 (escape-string-regexp@1.0.3, supports-color@2.0.0, ansi-styles@2.1.0, has-ansi@2.0.0, strip-ansi@3.0.0)
! ├── applause@0.4.3 (cson-parser@1.3.0, js-yaml@3.4.6)
! └── lodash@3.10.1
! grunt-contrib-jshint@0.11.3 node_modules/grunt-contrib-jshint
! ├── hooker@0.2.3
! └── jshint@2.8.0 (strip-json-comments@1.0.4, exit@0.1.2, console-browserify@1.1.0, shelljs@0.3.0, minimatch@2.0.10, cli@0.6.6, htmlparser2@3.8.3, lodash@3.7.0)
! grunt-jscs@2.5.0 node_modules/grunt-jscs
! ├── vow@0.4.11
! ├── hooker@0.2.3
! ├── lodash@3.10.1
! └── jscs@2.7.0 (to-double-quotes@2.0.0, to-single-quotes@2.0.0, reserved-words@0.1.1, strip-json-comments@1.0.4, natural-compare@1.2.2, pathval@0.1.1, jscs-preset-wikimedia@1.0.0, estraverse@4.1.1, strip-bom@2.0.0, xmlbuilder@3.1.0, exit@0.1.2, commander@2.9.0, chalk@1.1.1, glob@5.0.15, minimatch@3.0.0, esprima@2.7.1, babel-jscs@2.0.5, cli-table@0.3.1, resolve@1.1.6, vow-fs@0.3.4, jscs-jsdoc@1.3.1, htmlparser2@3.8.3, prompt@0.2.14, js-yaml@3.4.6, jsonlint@1.6.2, escope@3.3.0, babel-core@5.8.34)
! root@bananapi:/tmp/ioBroker.template-master# grunt rename –name=l2ping --email=iobroker@hn.pida.de --author="Holger Neumann"
! Try to rename to "l2ping"
! Loading "Gruntfile.js" tasks...ERROR
! >> Error: Cannot find module '/tmp/ioBroker.template-master/tasks/jscs.js'
! Warning: Task "rename" not found. Use --force to continue.
! Aborted due to warnings.
! root@bananapi:/tmp/ioBroker.template-master#
! root@bananapi:/tmp/ioBroker.template-master#
! root@bananapi:/tmp/ioBroker.template-master# grunt p
! Loading "Gruntfile.js" tasks...ERROR
! >> TypeError: Cannot read property '0' of undefined
! Warning: Task "p" not found. Use --force to continue.
! Aborted due to warnings. `
Danke für deine Anmerkungen. Habe alles gefixt. -
Hallo,
'rename' und 'p' funktionieren, besten Dank.
Bitte noch folgendes im Gruntfile.js beim 'Namen' einfügen, dann ist es vollständig.
{
expand: true,
flatten: true,
src: [
srcDir + 'www/index.html'
],
dest: srcDir + 'www'
}
-
Hallo,
'rename' und 'p' funktionieren, besten Dank.
Bitte noch folgendes im Gruntfile.js beim 'Namen' einfügen, dann ist es vollständig.
{
expand: true,
flatten: true,
src: [
srcDir + 'www/index.html'
],
dest: srcDir + 'www'
} `
Danke, erledigt. -
Hallo,
ich habe gerade iobroker neu aufgesetzt und wollte mir dann einmal das iobroker.template anschauen.
Bei der Beschreibung https://github.com/ioBroker/ioBroker.template bin ich auf Fehler gestossen. Es sind teilweise nur Kleinigkeiten, aber auch da sollte es passen.
Das Verzeichnis nach dem entpacken lautet nicht 'ioBroker.template' sondern 'ioBroker.template-master'
==> set name of this template. Call grunt rename ….
Bei mir war grunt nicht installiert Die Nachinstallation brachte dann den Erfolg:
npm install -g grunt-cli
==> rename directory from ioBroker.template to ioBroker.mynewname
==> to use this template you should copy it into iobroker/node_modules directory
muss es im node_modules Verzeichnis nicht iobroker sein anstelle ioBroker ?
Nach dem kopieren und neustarten von iobroker, war der Adapter zu sehen.
==> change version: edit package.json and then call grunt p in your widget directory.
'grunt p' im Verzeichnis brachte nur eine Fehlermeldung. Oder welches Verzeichnis ist mit 'widget' gemeint ?
! bananapi:/opt/iobroker_development/node_modules/iobroker.adapter# grunt p
! Directory: /opt/iobroker_development/node_modules/iobroker.adapter
! Loading "Gruntfile.js" tasks…ERROR
! >> TypeError: Cannot read property '0' of undefined
! Warning: Task "p" not found. Use --force to continue.In io-package.json wird der Titel angegeben, allerdings funktioniert dies im Template nicht. Der admin zeigt als Titel nur [Object Object] an.
Fehler ==> "title": {
"en": "ioBroker Adapter",
"de": "ioBroker Adapter",
"ru": "ioBroker драйвер как образец"
},
==> OK => "title": "ioBroker Adapter",
Zudem wird das Icon nicht angezogen. Aktuell werden alle Adapter-Icons von "https://raw.githubusercontent.com/ioBro … dapter.png" geladen. Bei der Instanz wird das korrekte Icon aus dem admin-Verzeichnis geladen.
Das war es erstmal `
Wie weit bist du mit der Entwicklung? Kannst du vielleicht die Schritte beschreiben? -
Hallo Bluefox,
nach den letzten Änderungen in vis:
` > 0.8.3 (2016-01-21)
(bluefox) non vis adapters may have widgets too `
könntest du bitte den den ioBroker.template Adapter mit einem Beispiel-Widget zu versehen?
Tobias
-
Ich habe das iobroker.template mit ein widget Beispiel erweitert. Bluefox hat die Erweiterung integriert (v0.5.0).
-
Wenn ich bei einem Widget mehrere "data-vis-attrs" definiere gibt es einem Fehler, wenn das erste Attribut "oid" ist:
data-vis-attrs0="oid/id;min/number;mid_oid/id;max/number;"
Das hier geht wieder:
data-vis-attrs0="dummy;oid/id;min/number;mid_oid/id;max/number;"
Wenn man nur "data-vis-attrs" nutzt geht es auch.
-
Wenn ich bei einem Widget mehrere "data-vis-attrs" definiere gibt es einem Fehler, wenn das erste Attribut "oid" ist:
data-vis-attrs0="oid/id;min/number;mid_oid/id;max/number;"
Das hier geht wieder:
data-vis-attrs0="dummy;oid/id;min/number;mid_oid/id;max/number;"
Wenn man nur "data-vis-attrs" nutzt geht es auch. `
Kann es sein, dass in dem ersten data-vis-attr am ende Semikolon fehlt? -
Wenn ich bei einem Widget mehrere "data-vis-attrs" definiere gibt es einem Fehler, wenn das erste Attribut "oid" ist:
data-vis-attrs0="oid/id;min/number;mid_oid/id;max/number;"
Das hier geht wieder:
data-vis-attrs0="dummy;oid/id;min/number;mid_oid/id;max/number;"
Wenn man nur "data-vis-attrs" nutzt geht es auch.
Kann es sein, dass in dem ersten data-vis-attr am ende Semikolon fehlt?
So wie ich es kopiert habe nutze ich es auch. Wie gesagt, der Fehler tritt nur auf, wenn ich mehrere data-vis-attrsX nutze und nur an der ersten Stelle von data-vis-attrs0, sonst geht alles.
data-vis-attrs0="oid/id;min/number;mid_oid/id;max/number;"
~~![](</s><URL url=)http://i.imgur.com/gS4y4Bz.png" />
data-vis-attrs0="dummy;oid/id;min/number;mid_oid/id;max/number;"
~~![](</s><URL url=)http://i.imgur.com/9d9Cerm.png" />
Das Widget gibts hier:
-
data-vis-attrs muss trotzdem da sein.
-
Jetzt wo ich die Beschreibung in der HTML nochmal genau gelesen habe sehe ich es auch :lol: .
-
Ich bekomme das mit dem grunt rename nicht hin.
Versuche es mit dem Template unter
https://github.com/ioBroker/ioBroker.vis-template
Ist das das richtige Template Verzeichnis?
habe grunt wirft Fehlermeldung aus
Loading "Gruntfile.js" tasks...ERROR >> Error: Cannot find module '/opt/iobroker/node_modules/iobroker.template-ts-bare/tasks/jscs.js' Warning: Task "rename" not found. Use --force to continue.
npm install -g grunt-cli habe ich natürlich gemacht.