Weiter zum Inhalt

Entwicklung

1.3k Themen 31.9k Beiträge

Diskussionen und Hilfe für die Entwicklung von ioBroker und Adaptern.

NEWS

  • Neue Adapter-Version veröffentlichen?

    Verschoben
    11
    0 Stimmen
    11 Beiträge
    2k Aufrufe
    apollon77A
    Hi, pull request angekommen und kommentiert. Schau mal ob das json nicht kaputt ist. Schau auch bitte nochmal nach den Adapter Kategorien. Denke auch nochmal nach. Der beschriebene automatismus bei latest bezieht sich nur auf die Version. Im latest repo file steht keine Versionsnummer. Die wird einmal täglich aus npm geholt. Das ist damit gemeint. Aber das repo file definiert welche npm Projekte abgefragt werden.
  • Aktualisierung von objects aus package.json

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    910 Aufrufe
    apollon77A
    Hi, ob so gewollt oder nicht weiss ich nicht, ich denke "nicht vollständig implementiert" Siehe https://trello.com/c/Mhgs41PP … hatte das schonmal angelegt und auch grob ne Idee wo man es einbauen müsste .. aber noch keine Ruhe es zu tun
  • IP-Adresse Broadlink

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    897 Aufrufe
    R
    keiner eine Idee ?
  • Hat noch jemand Probleme mit Travis/AppVeyor?

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    974 Aufrufe
    apollon77A
    Angeblich gefixt …
  • Eigenen Adapter in Adapterliste bekannt machen?

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    934 Aufrufe
    apollon77A
    Hi, Das "ioBroker-repositories" hat zwei Teile. 1.) Gesamtliste der "offiziellen Adapter", die dann die Quelle für "latest" ist. bedeutet, da kann ein neuer Adapter rein. 2.) Stable-Repo: Nochmal eine Liste, aber mit Versionsnummern, die dann im stable Repo verfügbar sind. Je nachdem wie "weit" die Adapter in der Qualität sind können Sie erst nur in latest und dann nach mehr Tests (oder so) in Stable rein oder gleich in beide. Vorgehen um Adapter reinzubekommen: Das oben genannte Repo forken, die eigenen Adapter (alphabetisch sortiert) analog zu den anderen einbauen und Pull-Request stellen. Im Pullrequest bitte den Forum-Testthread verlinken (den es hoffentlich gibt). Und wir schauen auch das das Adapter-testing "grün" ist :-) Ingo
  • Einstieg in Adapterentwicklung

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    dabbeljuhD
    Ok, das erklärt das. Allerdings mir nicht so ganz … :lol: Wie genau mach ich das denn? Kannst du mir das evtl. anhand des obigen Codes zeigen? Muss ich den value in den Knoten native schreiben? Irgendwie steh ich da auf dem Schlauch. Egal, wie ich es versuche, kommt nach dem Upload kein Eintrag unter Objekte zustande. :oops:
  • Object "unit" ändern

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    2k Aufrufe
    P
    @Bluefox: @Pman: Die Funktionen extendObject bzw. extendForeignObject: https://github.com/ioBroker/ioBroker/wi … umentation ` Aber die machen nichts anders,als: Objekt lesen, Änderungen einpflegen, Objekt schreiben. ` Genau, ich glaube das ist es, was der TE wollte.
  • [Idee] Neue, gemischte Rolle für Dimmer/Switch in 1 Gerät?

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    1k Aufrufe
    AlCalzoneA
    @apollon77: Rollen geben einem Gerät keine Logik. Und das bräuchte man hier, oder?! ` Nein, aber eine Bedeutung und bestimmte vorgeschriebene Eigenschaften, die von Adaptern verstanden/vorausgesetzt werden können/sollen. ==> https://github.com/ioBroker/ioBroker/bl … A.md#state So sind States mit common.role "level.dimmer" üblicherweise vom common.type "number" und haben ein min und max, der von Widgets/Adaptern interpretiert wird. Meine vorgeschlagene Rolle würde darauf basieren und zusätzlich noch on/off-Level als Info zur Verfügung stellen. Btw, gibt es irgendwo eine Liste (außer dieser https://github.com/ioBroker/ioBroker/blob/master/doc/SCHEMA.md#state-commonrole), in der steht, welche common.role welche Bedeutung hat und welche weiteren Attribute vorhanden sein sollten/müssen? Bzw. (falls nicht) sollte man so eine mal erstellen und zentral bei der Doku für Adapter-Entwicklung verlinken? Gerade solche Dinge wie der Cloud-Adapter/Alexa scheinen ja wesentlich darauf zu achten, um die Funktionen der States zu erkennen. Mit TypeScript könnte ich das dann sogar in die Adapter-Vorlage übernehmen, sodass Entwickler gleich gewarnt werden, wenn was fehlt.
  • Javascript Kursen

    Verschoben
    3
    1
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    eric2905E
    Hi, if you follow the link in the first post, you'll reach a website (see screenshot). [image: 355_udemy.png] There you follow the red marked link (see above screenshot) and will end at the final offer. I just got the package for 0$.. Thanks to Bluefox for the link! Greetings, Eric
  • Info für Entwickler aus dem Log

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    621 Aufrufe
    Niemand hat geantwortet
  • Mqtt Sensor NodeMCU

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    1k Aufrufe
    Niemand hat geantwortet
  • New Buffer oder Buffer.from

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    944 Aufrufe
    MeistertrM
    so mein problem bleibt leider Fehler: landroid-s.0 2017-07-25 11:16:44.331 error at Function.from (native) landroid-s.0 2017-07-25 11:16:44.331 error at Function.from (native) landroid-s.0 2017-07-25 11:16:44.331 error TypeError: base64 is not a function landroid-s.0 2017-07-25 11:16:44.319 error uncaught exception: base64 is not a function landroid-s.0 2017-07-25 11:16:44.293 info Certificate retrieved Habe nun gelesen, dass in manchen 4er versionen Buffer zwar exestiert, jedoch die base64 funktion noch nciht implementiert ist.. jemand eine Lösung? sosnt muss ich zur not mit try arbeiten, finde ich aber nicht so elegant. Kann ich aus einem Adapter heraus die Node version abfragen?
  • [Frage] 'adapter' funktionen nicht überall verfügbar

    Verschoben
    8
    0 Stimmen
    8 Beiträge
    2k Aufrufe
    carsten04C
    Ich finde beide Lösungen zur Sichtbarmachung des Adapter-Instanzobjektes adpater in eigenen Modulen haben Ihre Berechtigung. Die Lösung von AlCalzone finde ich sehr elegant, insbesondere dann, wenn ich das instanzierte Adapterobjekt noch dynamisch anpassen möchte (z.B. einige Methoden promisifizieren möchte, etc.). Dann kann ich das schön übersichtlich in global.js machen. Wenn ich nur adapter in wenigen eigenen Modulen benötige, mache ich es eigentlich immer so, wie von apollon77 vorgeschlagen. Das geht schnell und ist sehr überschaubar. Bei der Lösung von AlCalzone muss mann sich immer bewusst machen, dass Klassen erst ab Nodeversion 4.8.3 zur Verfügung stehen, dass eine Kompatibilität zur Nodeversion 0.12.18, die ja auch noch vielfach genutzt wird, nicht gegeben ist. Im Umgang mit adapter sollte man auch wissen, dass mit const utils = require(path.join(__dirname, '/lib/utils')); var adapter = utils.adapter(options); am Anfang von main.js die Erzeugung von adapter asynchron erfolgt. Dies liegt an dem Aufruf von initObjects(callback); innerhalb des Adapter-Konstruktors. Hierdurch werden im adapter alle Methoden in adapter.objects adapter.states (in der Regel als ObjectsInMemClient und StatesInMemClient) für die Abstraktionsschicht zur Verfügung gestellt. Das hat zur Folge, dass z.B. folgender Aufruf am Anfang von main.js const Promise = require('bluebird'); const utils = require(path.join(__dirname, '/lib/utils')); var adapter = utils.adapter(options); adapter = Promise.promisifyAll(adapter); nicht vollständig funktionieren muss, da adapter.states zu diesem Zeitpunkt noch nicht erzeugt wurde. Man muss also immer das ready-Event abwarten, um Änderungen in adapter vorzunehmen, d.h. erst in main() ist wirklich sichergestellt, dass adapter vollständig zur Verfügung steht. Grüße Carsten
  • [Frage] Widget nicht schaltbar

    Verschoben
    1
    1
    0 Stimmen
    1 Beiträge
    3k Aufrufe
    Niemand hat geantwortet
  • Frage zu: adapter.on('unload', function (callback) {…})

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    3k Aufrufe
    carsten04C
    Hi Bluefox, das war genau das fehlende Puzzleteil um mein Problem zu lösen. Vielen Dank für den Hinweis und Dein unglaubliches Engagement für ioBroker. Grüße Carsten
  • [Frage] reload Admin config

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    MeistertrM
    @apollon77: "iobroker upload <adaptername>"</adaptername> ` super danke . Wenn doch alles immer so einfach wäre :)
  • IoBroker.lightify

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    2k Aufrufe
    BluefoxB
    Da soef nicht auf Anfragen reagiert, muss ich den Adapter ins iobroker.osram umbenennen. Noch mal an alle Entwickler: Bitte tragen sie mich als owner bei npm ein. cd iobroker.Adapter npm owner add bluefox Sonst muss ich immer wieder so was wie ioBroker.adapter2 und so weiter machen. Das mache ich nur wenn ihr lange Zeit nicht auf Anfragen reagiert.
  • Adapter-Entwicklung

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    J
    @apollon77: Hi jacek, willkommen in der Entwicklergemeinschaft. Am besten mach Dir als erstes noch nen Trello-Account und wäre super wenn Du deine Pläne/Ideen im Trello-Board einträgst damit man sieht wer an was arbeitet. http://forum.iobroker.net/viewtopic.php … lit=trello ` Vielen Dank für die Info. @apollon77: Modus-Wechsel sind nicht so einfach. Wenn es einmalig während der Entwicklung ist dann ist es am einfachsten Direkt das Objekt zu editieren. Unter "OBjekte" dazu Expertenmodus einschalten, dann kannst Du alle Objekte einsehen. Das was Du brauchst ist "system.adapter.<adaptername>.<indstanceid>" Dort dann rechts auf das Bleistift-Symbol und dort ändern. Dann iobroker neu starten, damit sollte das neu eingelesen werden. Ansonsten ist auch pot. ein manuelles "iobroker upload <adaptername>" auf der Kommandozeile nötig um alles in sync zu bringen. Wenn DU den Adapter schon Live und an Leute verteilt hast dann kann man einen Moduswechsel machen wie z.B. bei mir im NUT-Adapter https://github.com/Apollon77/ioBroker.n … nut.js#L85 ... aber auch das bracht manchmal nen iobroker neustart um richtig zu klappen.</adaptername></indstanceid></adaptername> ` Das hat mir gefehlt und jetzt klappt es auch. Vielen Dank. @apollon77: Das sollte nicht passieren. Die main.js ist ja der "Code". Da wird nix gecached. Das editierne musst Du in /opt/iobroker/node_modules/iobroker,.<adaptername>/main.js machen!! Dann eher schauen das das stoppen des Adapters auch wirklich geklappt hat. Also mit "ps" mal in den Prozessen schauen. Je nachdem was man so macht muss man schauen das es nicht hängenbleibt.</adaptername> ` Evtl. lag es noch am Modus oder daran, dass der Prozess nicht komplett beendet war. Werde das noch genauer testen. @apollon77: Ansonsten kann ich noch das als Überblick empfehlen: http://forum.iobroker.net/viewtopic.php?f=24&t=6383 ` Die Anleitung ist super. Damit komme ich nun sehr gut weiter. Vielen Dank für die Antworten. Viele Grüße Jacek
  • Eigenes Vis widget: Installation erfolgreich aber im edit-mode nicht sichtbar

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    2k Aufrufe
    Rene_HMR
    @Bluefox: Ohne Widget Set zu sehen schwer zu sagen, aber es hilft immer: iobroker restart vis iobroker upload vis ` Ja, das hilft. Danke. Jedes mal, wenn ich vis-weather nach einer Neu-Installation installiere, muss ich iobroker upload vis aufrufen. Nach was kann/muss ich suchen, um den Fehler zu beheben?
  • Lumi-gateway-v3 Mi Home

    Verschoben
    8
    0 Stimmen
    8 Beiträge
    5k Aufrufe
    arteckA
    läuft KLASSE… wieder mal zuvorgekommen.. und ich wollte mich morgen mal hinsetzten... :lol: 1518_mii.png

285

Online

33.0k

Benutzer

83.5k

Themen

1.3m

Beiträge