Navigation

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

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Profile
    • Following 2
    • Followers 6
    • Topics 89
    • Posts 722
    • Best 105
    • Groups 3

    ldittmar

    @ldittmar

    Developer

    167
    Reputation
    357
    Profile views
    722
    Posts
    6
    Followers
    2
    Following
    Joined Last Online
    Location Großniedesheim Age 44

    ldittmar Follow
    Developer Pro Starter

    Best posts made by ldittmar

    • Adapter: ioBroker.info

      Hallo Community,

      ich habe schon immer eine Art Startseite für ioBroker vermisst, deswegen bin ich jetzt dabei sowas zu machen. Noch befindet sich alles in einem ganz frühen Stadium, aber ist schon nutzbar. Ich habe da noch einige Ideen, die ich noch einfließen will… vielleicht hat auch einer von euch ein paar Vorschläge.

      https://github.com/ldittmar81/ioBroker.info

      Viel Spaß

      ldittmar

      posted in Tester
      ldittmar
      ldittmar
    • Meeting für ioBroker Core/Dev/Admin 21.05.20 21:00

      Hallo Leute,

      wir hatten die Idee alle 2 Monate ein Online Meeting zu machen, wo sich das ioBroker Core Team mit den Entwickler und Treffen, um aktuelle und künftige Themen zu besprechen. Es geht sowohl um administrative Themen, als auch um die Entwicklung an sich. Es ist also kein Meeting für den Endanwender. Also für alle Admins, Entwickler, aber vielleicht auch für die hardcore Tester unter euch. In der erste Phase möchten wir wissen wer mitmachen möchte, welche Themen ihr habt und dann finden wir gemeinsam ein Termin.

      Ich werde jetzt mal hier die Themen sammeln und alles sortieren, damit wir dann zum Meeting ein Leitfaden haben. Hinter den Themen werde ich noch im Klammer den Namen der Person, die es vorgeschlagen hat schreiben. Diese wird dann beim Meeting die Diskussion zum Thema starten.

      Was wären Themen? Zum Beispiel wenn einer von euch eine neue Technologie vorstellen möchte oder ein Vorschlag, wie man etwas besser machen könnte. Vielleicht ein neuen Adapter vorstellen... es ist alles möglich.

      Wir werden jetzt bis zum 10.05.2020 Themen sammeln und dann ein Terminvorschläge machen. Unser Treffen wird dann per Webex durchgeführt, dazu aber später...

      Themen für das Meeting am 21.05.2020 21:00 Uhr:

      • Vorwort/Wartezeit bis alle es mit der Technik hinbekommen haben (Ldittmar)
      • Was ist seit dem letzten HM Treffen passiert (Bluefox/Apollon77)
      • Sentry (Apollon77)
      • Admin - Verbesserungen (Bluefox)
      • Ideen für Plugins (Bluefox)
      • Python (Bluefox)
      • Node.js Modul "canvas" in iot - Compilerwarnungen für User schön verpacken (Apollon77)
      • Vorgehen mit alten Fehler bzw. dessen Behebung (Arteck)
      • ioBroker Community Adaptern - Zusammenarbeit, PRs, Vorgehensweise (Braindead)
      • Type-Detector -- Vorschläge für neue Rollen/Typen sammeln (Garfonso)
      • Info Adapter Messages (Ldittmar)
      • Weiteres Vorgehen bezüglich online Meeting/Schlußwort (Ldittmar)
      posted in Entwickler-Meetings
      ldittmar
      ldittmar
    • Gulp ist kein Hexenwerk - Auto translation

      Hallo Allerseits,

      ich möchte mal kurz Werbung für gulp machen, denn wir haben es inzwischen so weit perfektioniert, dass alle Übersetzungen automatisch generiert werden. Ihr müsst also nur noch das englische Wort hinzufügen, gulp starten und schon habt ihr alle Übersetzungen in der words.js drin. Was muss man dafür tun?

      In der package.json müssen "gulp": "^4.0.0" und "axios": "^0.18.0" hinzugefügt werden:

        "dependencies": {
          ...
        },
        "devDependencies": {
          ...
          "gulp": "^4.0.0",    
          "axios": "^0.18.0"
        },
        "main": "main.js",
      

      Dann eure alte gulpfile.js durch diese ersetzen: https://raw.githubusercontent.com/iobro … ulpfile.js

      Und im Ordner lib, diese Datei hinzufügen: https://raw.githubusercontent.com/iobro ... b/tools.js

      Wenn ihr jetzt auf der console: npm install eingibt, wird gulp installiert und der Spaß kann beginnen...

      Achtung! Damit die nächsten Schritte funktionieren, muss die words.js entweder im Ordner admin oder unter admin/js sein...

      Dieser Schritt muss nur ein einziges Mal ausgeführt werden: Auf der console gebt ihr "gulp adminWords2languages" -> das führt dazu, dass ein Ordner i18n unter admin erstellt wird. Dort befinden sich die Übersetzungen in alle möglichen Sprachen. Wenn jetzt ein neues Wort dazu kommt, muss dieser NUR in der Datei i18n/en/translations.json hinzugefügt werden, alles andere macht gulp.

      Ab jetzt müsst ihr also immer nur die Datei i18n/en/translations.json pflegen und wenn ihr fertig seid, auf der console "gulp translateAndUpdateWordsJS" eingeben. Dadurch werden alle Wörter in der i18n/en/translations.json in den anderen Sprachen übersetzt und schließlich in die words.js übernommen.

      gulp translateAndUpdateWordsJS übersetzt auch die io-package news, titleLang und desc. Dafür müsst ihr in der io-package nur der englische Text angeben und alles andere macht gulp für euch.

      Sooo…. Dann probiert es mal aus und wenn noch Fragen sind, dann einfach melden.

      Nachtrag: Wenn man zu oft übersetzen lässt, weigert sich dann Google und bringt ein Fehler 503. Man muss dann halt eine Zeit warten, dann geht alles wieder.

      Nachtrag 2: Da man bei größere Übersetzungen mit Google Probleme bekommt, habe ich den kostenlosen Yandex Übersetzer eingebaut. Um Yandex nutzen zu können braucht man eine API Key (https://translate.yandex.com/developers) und kann diese für die Übersetzung nutzen mit:

      gulp translateAndUpdateWordsJS --yandex MEINEAPIKEYHIEREINGEBEN
      

      Grüße,

      ldittmar

      posted in Entwicklung
      ldittmar
      ldittmar
    • RE: Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread)

      @Siko @da_Woody @metaxa

      Soo... Ihr wollt wissen, woher die Datenpunkte für die Instanzen kommen - nun gut: Einige Datenpunkte sind total einfach unter system.adapter.[adaptername].[instanz] zu finden, aber das kennt ihr alle bestimmt.

      Screenshot 2021-07-31 135323.png

      Die Logeinträge bekomme ich aus dem Logparser, aber das ist bestimmt auch nicht das Problem.

      Screenshot 2021-07-31 135536.png

      Ihr wollt bestimmt wissen, woher ich die Versionen der installierte Adapter usw. haben... Dafür habe ich ein Javascript gebaut. Das Ding läuft bei mir 2 mal am Tag (02:35 und 14:35) und holt sich alle Daten aus dem Netz. Man muss nur noch die installierte Adaptern und den Host-Link angeben.

      const semver = require('semver');
      
      /** AB HIER BEARBEITEN */
      
      //Bezeichung der installierte Adaptern
      const installierteAdapter = ["js-controller", "admin", "info"];
      //Den richtigen Host angeben
      const controller = "system.host.prod-ioBroker";
      
      schedule("35 2,14 * * *", function () {    
          doIt();
      });
      
      /** AB HIER NICHTS MEHR MACHEN*/
      
      async function doIt(){
          await startInstanzenRead();
          await wait(10000);
          checkUpdate();
      }
      
      function getPosition(string, subString, index) {
        return string.split(subString, index).join(subString).length;
      }
      
      async function startInstanzenRead(){
          try {
              require("request")('https://raw.githubusercontent.com/ioBroker/ioBroker.repositories/master/sources-dist-stable.json', async function (error, response, result) {
                  const stableList = (function () { try {return JSON.parse(result);} catch(e) {return {};}})();            
                  installierteAdapter.forEach(async function(adapter) {
      
                      //stable version
                      createState("0_userdata.0.Instanzen.stable." + adapter, async function () {
                          setState("0_userdata.0.Instanzen.stable." + adapter, stableList[adapter]?stableList[adapter].version:"not stable", true);
                      });
                      
                      //latest version
                      try {
                          require("request")('https://api.npms.io/v2/package/iobroker.' + adapter, async function (error, response, result) {
                              const latestList = (function () { try {return JSON.parse(result);} catch(e) {return {};}})();
                              createState("0_userdata.0.Instanzen.latest." + adapter, async function () {
                                  setState("0_userdata.0.Instanzen.latest." + adapter, latestList.collected.metadata.version, true);
                              });
                          }).on("error", function (e) {console.error(e);});
                      } catch (e) { console.error(e); }
                      
      
                      //installed version
                      getObject (adapter === "js-controller" ? controller : 'system.adapter.' + adapter + '.0', async function (err, obj) {
                          createState("0_userdata.0.Instanzen.installiert." + adapter, async function () {
                              setState("0_userdata.0.Instanzen.installiert." + adapter, adapter === "js-controller" ? obj.common.installedVersion : obj.common.version, true);
                              //github version
                              let lastestLink;
                              if(adapter === "js-controller"){
                                  lastestLink = "https://raw.githubusercontent.com/ioBroker/ioBroker.js-controller/master/io-package.json";
                              }else{
                                  lastestLink = obj.common.extIcon;
                                  lastestLink = lastestLink.slice(0, getPosition(lastestLink, "/", 6) + 1);
                                  lastestLink = lastestLink + "io-package.json";
                              }
                              try {
                                  require("request")(lastestLink, async function (error, response, result) {
                                      const gitList = (function () { try {return JSON.parse(result);} catch(e) {return {};}})();
                                      createState("0_userdata.0.Instanzen.github." + adapter, async function () {
                                          setState("0_userdata.0.Instanzen.github." + adapter, gitList.common.version, true);
                                      });
                                  }).on("error", function (e) {console.error(e);});
                              } catch (e) { console.error(e); }   
                          });
                      });
      
                  });
              }).on("error", function (e) {console.error(e);});
          } catch (e) { console.error(e); }    
      };
      
      async function checkUpdate(){
      
          installierteAdapter.forEach(async function(adapter) {
              const installed = getState("0_userdata.0.Instanzen.installiert." + adapter).val;
              const stableVersion = getState("0_userdata.0.Instanzen.stable." + adapter).val;
              const latestVersion = getState("0_userdata.0.Instanzen.latest." + adapter).val;
              const githubVersion = getState("0_userdata.0.Instanzen.github." + adapter).val;
      
              //gibt es ein Update?
              if (installed != stableVersion && installed != latestVersion && installed != githubVersion) {
                  createState("0_userdata.0.Instanzen.installiert." + adapter + "-update", async function () {
                      setState("0_userdata.0.Instanzen.installiert." + adapter + "-update", '#009900', true);                
                      //welche Version kann installiert werden?
                      createState("0_userdata.0.Instanzen.installiert." + adapter + "-update-version", async function () {
                          let updateVersion = "";
                          try{semver.lt(installed, stableVersion) && (updateVersion = stableVersion)} catch (e) {}
                          if(updateVersion === ""){
                              try{semver.lt(installed, latestVersion) && (updateVersion = latestVersion)} catch (e) {}
                          }
                          if(updateVersion === ""){
                              try{semver.lt(installed, githubVersion) && (updateVersion = githubVersion)} catch (e) {}
                          }    
                          
                          setState("0_userdata.0.Instanzen.installiert." + adapter + "-update-version", updateVersion, true);
                      });
                  });
              } else {
                  createState("0_userdata.0.Instanzen.installiert." + adapter + "-update", async function () {
                      setState("0_userdata.0.Instanzen.installiert." + adapter + "-update", '', true);
                      createState("0_userdata.0.Instanzen.installiert." + adapter + "-update-version", async function () {
                          setState("0_userdata.0.Instanzen.installiert." + adapter + "-update-version", "", true);
                      });
                  });
              }
      
              //ist Adapter in eine nicht stable Version installiert?
              try{
                  if(semver.gt(installed, stableVersion)){
                      createState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", async function () {
                          setState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", true, true);
                      });
                  }else{
                      createState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", async function () {
                          setState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", false, true);
                      });
                  }
              } catch (e) { 
                  createState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", async function () {
                      setState("0_userdata.0.Instanzen.installiert." + adapter + "-beta", true, true);
                  });
              }
              
          });
      
      }
      
      doIt();
      

      Alle Ergebnisse werden dann unter 0_userdata.0.Instanzen gepeichert:

      Screenshot 2021-07-31 140547.png

      posted in Tester
      ldittmar
      ldittmar
    • RE: Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread)

      @s-bormann said in [Neuer Adapter] Visualisierung iQontrol:

      Hey Leute, wollte nur mal bescheid geben, dass ich aktuell leider keine Zeit habe. Muss mich leider erst mal um einige andere Dinge kümmern. In ein paar Tagen gehts weiter. Lese aber passiv hier mit und bin ganz begeistert, wie hier alle mitmachen. Melde mich! LG

      Hey... kein Stress! ☺ Wir wissen alle hier, dass die Entwickler Ihre Freizeit hier opfern und manchmal braucht man auch Zeit für andere Sachen. Auf jedem Fall wissen wir alle zu schätzen wieviel Mühe du dir gibst. Danke 🙂

      posted in Tester
      ldittmar
      ldittmar
    • RE: Info Adapter Meldung "Wichtig" abschalten

      @Homoran It's not a bug... it's a feature... Es hat sich bis jetzt noch keiner beschwert, dass die Meldungen immer angezeigt werden. Hmm... vielleicht ein Button einbauen: "Meldung nicht mehr zeigen". Sobald ich Zeit habe, schaue ich mal was man machen könnte 🙂

      posted in ioBroker Allgemein
      ldittmar
      ldittmar
    • RE: Meeting für ioBroker Core/Dev/Admin 21.05.20 21:00

      @e-s Kurz und knapp: es gibt inzwischen über 40.000 Installationen weltweit. Es wird an Version 5 vom Admin entwickelt, der viele schöne Features haben wird und endlich schön am Smartphone bedient werden kann. Die Fehlersuche wurde durch Sentry verbessert. Dann noch ein paar Richtlinien zur Entwicklung und im groß und ganzen war das auch schon.

      Nächstes Meeting in 2 Monate. Thread kann geschlossen werden und ich mache ein neuen für die Themensammlung mal auf.

      posted in Entwickler-Meetings
      ldittmar
      ldittmar
    • Popup in Admin bzw. Meldung im Info Adapter

      Ich mache mal ein Thread auf, damit wir die Nutzung der Meldungen im Info Adapter ein bisschen ankurbeln. Wir haben hier ein Mittel, um ganz viele User, ganz schnell zu erreichen. Wenn ihr irgendwelche wichtige Infos habt, die an den User weitergeleitet werden muss, dann schreib hier als Kommentar und ich kümmere mich darum.

      Die Meldung werden nur an Anwender gezeigt, die vom "Problem" betroffen sind. Dafür brauche ich vom Melder folgende Informationen:

      • Titel und Text -> Am Besten auf englisch.... deutsch geht natürlich auch
      • Adaptername -> Um welchen Adapter handelt es sich und welche Versionen sind betroffen. Es kann auch eine Kombination sein z.B. Adapter "Apfel" Version kleiner 3.0.5 funktioniert nicht, wenn JS Controller ab 3.0.1 installiert ist.

      Was genau kann ich da prüfen?

      • Welche Adapter in welche Versionen installiert sind?
      • Welche Node und NPM version ist installiert?
      • Welchen Repo ist eingestellt (default oder latest)?
      • Gibt es eine aktive Instanz eines Adapters im System?
      • Welches Betriebssystem läuft?

      Hier nochmal alle Möglichkeiten: https://github.com/ioBroker/ioBroker.docs/blob/master/info/news.md

      Das schöne ist: Die Meldungen werden wirklich nur den Personen gezeigt, die auch betroffen sind. Es kommt einmalig ein Popup beim Admin und man kann es dann im Info Fenster nochmal nachlesen.

      Also... wenn ihr was habt, könnt ihr gerne die Meldung hier Posten und ich kümmere mich um die Eintragung.

      posted in Entwicklung
      ldittmar
      ldittmar
    • RE: Adapter: ioBroker.info

      @sigi234 Das mit der Uhr und die Dokumentation sollte jetzt, mit Version 1.3.2, gefixt sein...

      Außerdem...
      05-04-_2019_13-58-37.png
      ...daraus wird...

      https://github.com/iobroker-community-adapters/ioBroker.info/issues/26

      ...passende Dokumentation dazu wird nachgereicht.

      Grüße,
      ldittmar

      Nachtrag: Die versprochene Dokumentation ->

      Konfiguration (Github)
      Neue Adapteranfragen stellen
      Neue Fehler melden oder Verbesserungsvorschläge einreichen

      ldittmar81 created this issue in iobroker-community-adapters/ioBroker.info

      closed Add "My issues" #26

      posted in Tester
      ldittmar
      ldittmar
    • Alias best practices - Wie kann man es besser machen?

      Hallo Leute. Ich starte jetzt eine Studie über die Nutzung von Alias im ioBroker. Wie handhabt ihr das? Das wäre echt interessant und vielleicht könnten wir ein paar Ideen sammeln, wie man etwas diesbezüglich besser machen kann.

      Ich habe bei mir inzwischen alles auf Alias umgebaut, denn das ist echt eine super tolle Lösung für viele Probleme der Hausautomatisierung... Für alle die nicht wissen was man mit Alias machen kann: Man erstellt eine Verlinkung zu einem Datenpunkt im ioBroker her und arbeitet dann nur noch mit der Verlinkung und nicht mit dem echten Datenpunkt. Warum sollte man nur noch so arbeiten? Es gibt viele Gründe:

      • ListenpunktNehmen wir an, ein Lichtschalter geht kaputt und man ersetzt diesen. Durch das Ersetzen des Gerätes, bekommt dieser eine neue ID. Diese ID müsste in jede Visualisierung oder Skript ersetzt werden. Beim Alias müsste lediglich die Verlinkung aktualisiert werden und alles läuft auf Anhieb.
      • Vereinheitlichung der Daten - Beim Verlinken, hat man auch die Möglichkeit Daten zu ändern, so dass es überall gleich funktioniert. Als Beispiel nehmen wir die Datenpunkte "available=true" und "unreach=false" - Beide Datenpunkte beschreiben die aktuelle Verfügbarkeit eines Gerätes, aber leider haben beide verschiedene Werte für die gleiche Aussage. Mit Alias kann man alle Datenpunkte die gleiche ID geben: z.B. "ERREICHBAR" und den Wert von unreach einfach negieren. Also ERREICHBAR = !unreach
      • Mit Alias muss man nicht einzelne Datenpunkte irgendwo suchen. Sie befinden sich ALLE unter alias.0 und darunter ist man Frei eine eigene Struktur aufzubauen. Zum Beispiel alle Lichter in einem Ordner - Dabei ist es total egal, ob das Licht eine HUE Lampe, ein Homematic Aktor oder eine WLAN Lampe ist. Alle sind dort auffindbar.
      • Die Verlinkungen können nach angepasst werden, indem man eine Einheit vergibt ober mögliche Texte Übersetzt.

      Jetzt zum eigentlichen Thema: Wie nutze ICH die Alias Funktion?

      Ich habe mir mit dem Device Adapter eine Ordnerstruktur erstellt, denn mir ist kein anderer Weg bekannt, einem Objekt vom Typ "folder" zu erstellen.

      25-05-_2020_09-31-24.png
      25-05-_2020_09-30-40.png

      Darunter habe ich dann die einzelnen Geräte als "channel". Was sind Geräte für mich? Als Gerät definiere ich nicht umbedingt einem Sensor. Zum Beispiel habe ich Briefkasten als ein Gerät. Im Briefkasten habe ich ein Bewegungssensor (wurd ein Brief eingeworfen) und ein Türsensor (wurde Briefkasten geleert) eingebaut. Dazu kommen noch Datenpunkte, die vom Skript befüllt werden. Leider kann unter alias.0 NUR Alias DPs rein, so dass ich gezwungen bin ein DT außerhalb zu erstellen und diesen da rein zu verlinken.

      25-05-_2020_10-07-45.png

      Rollen und Räume pflege ich auch NUR unter Alias und bevor ich mit neue Geräte arbeite, ertelle ich immer eine Verknüpfung. Ist zwar anfangs mehr Arbeit, aber es ist erstens alles viel geordneter und einheitlicher und zweitens kann ich notfalls alles schnell umswitschen, ohne irgendwelche IDs überall ändern zu müssen.

      Was wünsche ich mir, damit die Arbeit damit einfacher wird?

      • Die Möglichkeit "folder" direkt über Admin zu erstellen (https://github.com/ioBroker/ioBroker.admin/issues/577)
      • Die Möglichkeit ein Alias eines Datenpunktes über die Admin Oberfläche zu erstellen (https://github.com/ioBroker/ioBroker.admin/issues/558)
      • Den Device Adapter etwas flexibler zu gestallten, damit man Geräte wie "Briefkasten" erstellen kann (https://github.com/ioBroker/ioBroker.devices/issues/18)
      • Wäre schön, wenn man auch ein nicht Alias DP unter Alias speichern könnte, dann musste man nicht ein extra DP erstellen um Skript gesteuerte DPs im Gerät zu haben (https://github.com/ioBroker/ioBroker.js-controller/issues/906)
      • Im Device Adapter auch Enums/Aufzählungen anlegen zu können, denn manchmal fehlen welche und man muss das Anlegen eines Gerätes abbrechen, damit man diese anlegen kann. (https://github.com/ioBroker/ioBroker.devices/issues/20)
      • Im Device Adapter die Möglichkeit mehrere Räume/Funktionen auszuwählen (Mein Wohnzimmer hat als Räume Wohnzimmer und Erdgeschoss) (https://github.com/ioBroker/ioBroker.devices/issues/20)
      • Im Device Adapter die Möglichkeit einzelne DPs andere Funktionen/Räume zuzuordnen (LOWBAT soll als einziges die Funktion Batterie haben) (https://github.com/ioBroker/ioBroker.devices/issues/20)
      • Eine Möglichkeit die Datenstruktur zu verändern, ohne die ID anpassen zu müssen. (https://github.com/ioBroker/ioBroker.js-controller/issues/905)

      Soviel zu mir... wie ist es bei euch? Alias muss auch unbedingt Anwenderfreundlicher werden. Hat jemand dafür Ideen?

      ldittmar81 created this issue in ioBroker/ioBroker.admin

      closed Create folder on admin objects #577

      Apollon77 created this issue in ioBroker/ioBroker.admin

      closed Add Basic Alias Settings editor to Object editor #558

      sbormann created this issue in ioBroker/ioBroker.devices

      closed Allow adding more states to device #18

      ldittmar81 created this issue in ioBroker/ioBroker.js-controller

      closed Nicht Alias DP unter alias.0 erstellen #906

      ldittmar81 created this issue in ioBroker/ioBroker.devices

      closed Add new enums and choose multliple enums #20

      ldittmar81 created this issue in ioBroker/ioBroker.devices

      closed Add new enums and choose multliple enums #20

      ldittmar81 created this issue in ioBroker/ioBroker.devices

      closed Add new enums and choose multliple enums #20

      ldittmar81 created this issue in ioBroker/ioBroker.js-controller

      open Ordnerstruktur änderbar ohne ID zu ändern #905

      posted in ioBroker Allgemein
      ldittmar
      ldittmar

    Latest posts made by ldittmar

    • Meeting für ioBroker Core/Dev/Admin 18.06.25 20:30

      Themenliste für Juni:

      • Jeder kann kurz sagen woran er gerade arbeitet (alle Anwesenden) - immer nur kurz, die Zeit rennt ⏲
      • ioBroker Community Initiatives - aktueller Stand (Apollon77)
      • Roles und TypeDetector - "Welche neuen Rollen und ggf. Gerätetypen haben wir eingeführt?" (Apollon77)
      • Solingen Smart Living Forum - Bericht

      Der Link zum Treffen:

      https://teams.microsoft.com/l/meetup-join/19%3Ameeting_NmQ0YTExMzQtMzE1Mi00ZjlkLWE5ODQtMTViNWUyMmM4N2Rm%40thread.v2/0?context={"Tid"%3A"9828db65-475b-459a-bee3-3f75e9d878c0"%2C"Oid"%3A"3884f994-0582-4036-a42e-f1edda8e14e0"}

      Wer Themen zum Meeting hat, einfach hier drunter schreiben und wir tragen es ein.

      Die Meetings werden auf 2 Stunden begrenzt. Themen die nicht behandelt werden können, verschieben wir auf nächsten Monat.
      Aber es kann durchaus passieren, dass Diskussionen auch nach dem Ende weiter geführt werden. 🙂

      Alles was im Meeting besprochen wurde, wird hier unterhalb der Themen, stichpunktweise dokumentiert.

      Das nächste Meeting wird dann Ordnungsgemäß am 16.07.25 stattfinden.

      posted in Entwickler-Meetings
      ldittmar
      ldittmar
    • Meeting für ioBroker Core/Dev/Admin 21.05.25 20:30

      Themenliste für Mai:

      • Jeder kann kurz sagen woran er gerade arbeitet (alle Anwesenden) - immer nur kurz, die Zeit rennt ⏲
      • ioBroker Community Initiatives - aktueller Stand (Apollon77)
        • Matter seid ca. 2 Wochen im Stable, lauft gut. Wenige Issues. Mege Gerätetypen in Vorbereitung
      • Roles und TypeDetector - "Welche neuen Rollen und ggf. Gerätetypen haben wir eingeführt?" (Apollon77)
        • Fehlende Rolle indicator.error hinzugefügt
        • Type Detector hat einige neue Features bekommen, siehe Changelog. Matter nutzt das, weitere Adapter bekommen es noch
      • Mit TypeScript Widgets schreiben (Bluefox)
        • Vis2 Widgets in TS schreiben ...
        • BundlerType = "module"property in widget config in io-package einfügen.
        • Beispiel: OpenWeather map Widget
        • Geht mit neuester Vis2 version 2.12.9
      • OAuth2 Service für Adapter (UncleSam)
        • Ja, etwas generisches macht Sinn, Bedarf aktuell bei Spotify-Adapter
        • Denis hat bereits so einen Service für DropBox und Google Drive, den kann man ggf anpassen
        • Denis und UncleSam schliessen sich dazu kurz und dann wird Spotify der Testballon wo auch die Doku rausfällt
      • Regionale Adapter (UncleSam)
        • Idee: Adapter deklariert im io-package mit zb ISO-3166-2 die "Region" und Admin nutzt Sie um zb "Lokale Adapter" als eigene Kategorie anzuzeigen
        • Schritte: io-package Schema erweitern, dann Adapter die relevant sind zu machen, dann kann Admin Dinge anpassen
      • Empfehlung für node.js 22 (mcm1957)
        • Ja machen wir 🙂
      • Node.js 24 Adapter tests starten
        • Ja, Martin verteilt bald Issues
      • Notification und andere Benachrichtigung..wann ist was sinnvoll (arteck)
        • Generelle Diskussion welche Notifications wo und wie angezeigt werden sollen (Robomow status im Admin ...)?
        • Notifications ein/ausschalten Konfig oder state im Adapter? Sollte ich Konfig sein.
        • Ggf im Admin editierbar was dort angezeigt wird
        • Generell gern machen und nutzen
      • Solingen Smart Living Forum: Save the data 14.06.25
        • Kommt vorbei!!

      Der Link zum Treffen:

      https://teams.microsoft.com/l/meetup-join/19%3Ameeting_NmQ0YTExMzQtMzE1Mi00ZjlkLWE5ODQtMTViNWUyMmM4N2Rm%40thread.v2/0?context={"Tid"%3A"9828db65-475b-459a-bee3-3f75e9d878c0"%2C"Oid"%3A"3884f994-0582-4036-a42e-f1edda8e14e0"}

      Wer Themen zum Meeting hat, einfach hier drunter schreiben und wir tragen es ein.

      Die Meetings werden auf 2 Stunden begrenzt. Themen die nicht behandelt werden können, verschieben wir auf nächsten Monat.
      Aber es kann durchaus passieren, dass Diskussionen auch nach dem Ende weiter geführt werden. 🙂

      Alles was im Meeting besprochen wurde, wird hier unterhalb der Themen, stichpunktweise dokumentiert.

      Das nächste Meeting wird dann Ordnungsgemäß am 18.06.25 stattfinden.

      posted in Entwickler-Meetings
      ldittmar
      ldittmar
    • Meeting für ioBroker Core/Dev/Admin 16.04.25 20:30

      Themenliste für April:

      • Jeder kann kurz sagen woran er gerade arbeitet (alle Anwesenden) - immer nur kurz, die Zeit rennt ⏲
      • ioBroker Community Initiatives - aktueller Stand (Apollon77)
        • Matter funktioniert alles gut mit fast 400 Installationen
        • Wird noch an der automatische Erkennung von Geräten bei Matter gearbeitet
        • Immer mehr Adapter sind inzwischen responsive!! 🙂
      • Roles und TypeDetector - "Welche neuen Rollen und ggf. Gerätetypen haben wir eingeführt?" (Apollon77)
        • Anpassungen werden wegen Matter demnächst vorgenommen
      • Integration von externen "Geräte-Libraries" via "Virtuelle Adapter" (UncleSam)
        • Lange Diskution - wie könnte man sowas abbilden?
        • Library Quelle - https://library.loxone.com/?t=modbus
      • Der LoRaWAN Adapter kann ja nun auch Downlink Konfigurationen zur Geräte Steuerung durch Import/Export eines JSONs austauschen. So können User ihre Konfigs teilen, oder Hersteller diese zur Verfügung stellen.
      • Solingen Smart Living Forum: Save the data 14.06.25
        • Ist eine offene Veranstalltung und jeder kann kommen. Wer uns dort besuchen mag, kann gerne kommen.
        • Es werden viele schöne Vorträge - sobald mehr Infos vorliegen, werden diese im Forum gepostet

      Der Link zum Treffen:

      https://teams.microsoft.com/l/meetup-join/19%3Ameeting_NmQ0YTExMzQtMzE1Mi00ZjlkLWE5ODQtMTViNWUyMmM4N2Rm%40thread.v2/0?context={"Tid"%3A"9828db65-475b-459a-bee3-3f75e9d878c0"%2C"Oid"%3A"3884f994-0582-4036-a42e-f1edda8e14e0"}

      Wer Themen zum Meeting hat, einfach hier drunter schreiben und wir tragen es ein.

      Die Meetings werden auf 2 Stunden begrenzt. Themen die nicht behandelt werden können, verschieben wir auf nächsten Monat.
      Aber es kann durchaus passieren, dass Diskussionen auch nach dem Ende weiter geführt werden. 🙂

      Alles was im Meeting besprochen wurde, wird hier unterhalb der Themen, stichpunktweise dokumentiert.

      Das nächste Meeting wird dann Ordnungsgemäß am 21.05.25 stattfinden.

      posted in Entwickler-Meetings
      ldittmar
      ldittmar
    • Meeting für ioBroker Core/Dev/Admin 19.03.25 20:30

      Themenliste für März:

      • Jeder kann kurz sagen woran er gerade arbeitet (alle Anwesenden) - immer nur kurz, die Zeit rennt ⏲
        • Carsten: Arbeitet an Widget vis2 Sammlung. Gern ausprobieren und zurückmelden: https://github.com/Steiger04/ioBroker.vis-2-widgets-collection
      • ioBroker Community Initiatives - aktueller Stand (Apollon77)
        • matter update kommt demnächst, hat schon >300 Installationen
      • Roles und TypeDetector - "Welche neuen Rollen und ggf. Gerätetypen haben wir eingeführt?" (Apollon77)
        • Kurzes gemeinsames durchgehen des "Ende januar" Releases
      • JSON tab (simatec)
        • Wäre cool auch "Admin-Tabs" per JSONConfig machen zu können .. das hat Simatec bei zb ShutterControl umgesetzt.
        • Details siehe auch https://github.com/ioBroker/ioBroker.admin/tree/master/packages/jsonConfig#json-tab-in-admin
      • Admin typescript json config components
        • React Components mit TS bauen für Admin/JSON-Config, aktuell in https://github.com/ioBroker/ioBroker.admin-component-easy-access/tree/json-custom-typescript ... bald dort im Master
      • DNScope
        • DynDNS Adapter mit den gängigen DynDNS Providern
      • Notifications wo ist das schon drin und wie kriegt man es in andere Adapter?
        • Am besten Issues anlegen bei den Adaptern mit den Use-Cases.
        • Für Devs: hm-rega, admin, shelly
        • Aber Achtung: Bitte nicht über-Reporten und nicht duplikate senden
      • Solingen Smart Living Forum: Save the data 14.6.25

      Der Link zum Treffen:

      https://teams.microsoft.com/l/meetup-join/19%3Ameeting_NmQ0YTExMzQtMzE1Mi00ZjlkLWE5ODQtMTViNWUyMmM4N2Rm%40thread.v2/0?context={"Tid"%3A"9828db65-475b-459a-bee3-3f75e9d878c0"%2C"Oid"%3A"3884f994-0582-4036-a42e-f1edda8e14e0"}

      Wer Themen zum Meeting hat, einfach hier drunter schreiben und wir tragen es ein.

      Die Meetings werden auf 2 Stunden begrenzt. Themen die nicht behandelt werden können, verschieben wir auf nächsten Monat.
      Aber es kann durchaus passieren, dass Diskussionen auch nach dem Ende weiter geführt werden. 🙂

      Alles was im Meeting besprochen wurde, wird hier unterhalb der Themen, stichpunktweise dokumentiert.

      Das nächste Meeting wird dann Ordnungsgemäß am 16.04.25 stattfinden.

      posted in Entwickler-Meetings
      ldittmar
      ldittmar
    • RE: Meeting für ioBroker Core/Dev/Admin 19.02.25 20:30

      @sigi234 was genau willst du darüber wissen?

      posted in Entwickler-Meetings
      ldittmar
      ldittmar
    • Meeting für ioBroker Core/Dev/Admin 19.02.25 20:30

      Themenliste für Februar:

      • Jeder kann kurz sagen woran er gerade arbeitet (alle Anwesenden) - immer nur kurz, die Zeit rennt ⏲
        • Javascript Adapter soll eine Bibliothek für Scripte bekommen
      • ioBroker Community Initiatives - aktueller Stand (Bluefox)
        • Adapterübersetzungen im i18n Ordner soll es pro Sprache eine JSON Datei geben de.json, en.json usw...
        • https://github.com/ioBroker/ioBroker-i18n-manager
        • Responsive - 170 Adapter sind inzwischen responsive
        • Adapterchecker ist durchgelaufen - sollten Issues nicht passen, bitte melden
      • Roles und TypeDetector - "Welche neuen Rollen und ggf. Gerätetypen haben wir eingeführt?" (Bluefox)
      • ioBroker.cameras - Wie eigene Kamera hinzufügen (Bluefox)
        • https://github.com/ioBroker/ioBroker.cameras
        • Aufruf!!! Bitte eigene Kameras im Adapter hinzufügen (Supported cameras)
        • https://github.com/ioBroker/ioBroker.cameras?tab=readme-ov-file#how-to-add-a-new-camera-for-developers
        • Wenn man viele Kameras hat, braucht man natürlich auch die entsprechende Hardware
        • www.ispyconnect.com
      • VIS-2 Bug Behebungen und Weiterentwicklung (Sigi234)
        • VIS2 soll auf Vite umgestellt werden, um die Ladegeschwindigkeit zu erhöhen, danach sollen wieder neue Features kommen
      • ioBroker Dashboard - Mein kleines Frontend-Projekt -Update (ldittmar)
        • https://github.com/ldittmar81/ioBroker_dashboard
      • webui Update (jogibear9988)
        • https://github.com/iobroker-community-adapters/ioBroker.webui
        • Testserver: http://129.159.205.3:8082/webui/index.html
        • Videos: https://www.youtube.com/user/jogibear9988
      • Bad Homburg das erste FFM iobroker Usertreffen (ilovegym)
        • https://forum.iobroker.net/topic/78093/usertreffen-ffm

      Der Link zum Treffen:

      https://teams.microsoft.com/l/meetup-join/19%3Ameeting_NmQ0YTExMzQtMzE1Mi00ZjlkLWE5ODQtMTViNWUyMmM4N2Rm%40thread.v2/0?context={"Tid"%3A"9828db65-475b-459a-bee3-3f75e9d878c0"%2C"Oid"%3A"3884f994-0582-4036-a42e-f1edda8e14e0"}

      Wer Themen zum Meeting hat, einfach hier drunter schreiben und wir tragen es ein.

      Die Meetings werden auf 2 Stunden begrenzt. Themen die nicht behandelt werden können, verschieben wir auf nächsten Monat.
      Aber es kann durchaus passieren, dass Diskussionen auch nach dem Ende weiter geführt werden. 🙂

      Alles was im Meeting besprochen wurde, wird hier unterhalb der Themen, stichpunktweise dokumentiert.

      Das nächste Meeting wird dann Ordnungsgemäß am 19.03.25 stattfinden.

      posted in Entwickler-Meetings
      ldittmar
      ldittmar
    • Meeting für ioBroker Core/Dev/Admin 15.01.25 20:30

      Themenliste für Januar:

      • Jeder kann kurz sagen woran er gerade arbeitet (alle Anwesenden) - immer nur kurz, die Zeit rennt ⏲
        • DevPortal - https://www.iobroker.dev/ wurde wieder aktualisiert
        • Wir suchen immer wieder Übersetzer für ioBroker . https://weblate.iobroker.net/
      • ioBroker Community Initiatives - aktueller Stand (Apollon77)
        • Update Matter Adapter und DM Updates
        • Update Solingen Smart Living Forum - es wird nach einem Termin 2025 gesucht
      • Roles und TypeDetector - "Welche neuen Rollen und ggf. Gerätetypen haben wir eingeführt?" (Apollon77)
      • i18n Manager (Bluefox)
        • https://github.com/ioBroker/ioBroker-i18n-manager
        • Einfache Übersetzung für die Adapter-Entwicklung
      • ioBroker Dashboard - Mein kleines Frontend-Projekt (ldittmar)
        • https://github.com/ldittmar81/ioBroker_dashboard
      • ioBroker LoRaWAN (J_Paul)
        • https://github.com/ioBroker/ioBroker.admin/issues/2326
      • Yahka (tarikweiss)
        • Yahka Config wurde new gemacht
      • Roadmap Docs verbessern (alle)
        • https://github.com/ioBroker/dev-docs bzw. https://iobroker.github.io/dev-docs/

      Der Link zum Treffen:

      https://teams.microsoft.com/l/meetup-join/19%3Ameeting_NmQ0YTExMzQtMzE1Mi00ZjlkLWE5ODQtMTViNWUyMmM4N2Rm%40thread.v2/0?context={"Tid"%3A"9828db65-475b-459a-bee3-3f75e9d878c0"%2C"Oid"%3A"3884f994-0582-4036-a42e-f1edda8e14e0"}

      Wer Themen zum Meeting hat, einfach hier drunter schreiben und wir tragen es ein.

      Die Meetings werden auf 2 Stunden begrenzt. Themen die nicht behandelt werden können, verschieben wir auf nächsten Monat.
      Aber es kann durchaus passieren, dass Diskussionen auch nach dem Ende weiter geführt werden. 🙂

      Alles was im Meeting besprochen wurde, wird hier unterhalb der Themen, stichpunktweise dokumentiert.

      Das nächste Meeting wird dann Ordnungsgemäß am 19.02.25 stattfinde

      BenAhrdt created this issue in ioBroker/ioBroker.admin

      open [enhancement]: JsonConfig: (accordion) export and import / add via JSONConfig buttons #2326

      posted in Entwickler-Meetings
      ldittmar
      ldittmar
    • Meeting für ioBroker Core/Dev/Admin 20.11.24 20:30

      Themenliste für November:

      • Jeder kann kurz sagen woran er gerade arbeitet (alle Anwesenden) - immer nur kurz, die Zeit rennt ⏲
        • Bluefox ändert alles auf TypeScript
        • Dev Portal wird aktualisiert
      • Recap ioBroker Community-Treffen 10 Jähriges ioBroker Jubiläum (Alle)
        • https://forum.iobroker.net/topic/78055/iobroker-10-jahres-community-treffen-ein-kleiner-recap
        • 2025 wird es kein Treffen geben, aber wer weiß was 2026 bringt
        • Wir wollen Feedback von euch, damit wir es das nächste Mal besser machen können
      • ioBroker Community Initiatives - aktueller Stand (Apollon77)
        • Responsive Task Force - So langsam wird alles responsive - Ziel bis Ende des Jahres die Top 100 Adapter fertig zu machen
        • Matter Adapter - Insight Code-Struktur, Funktion und Erweiterbarkeit - Alpha Test-Phase gestartet
      • Roles und typeDetector - "Welche neuen Rollen und ggf. Gerätetypen haben wir eingeführt?" (Apollon77)
        • Type Detector/Devices Task Force ... Telegram-Gruppe. Wer dabei? (Apollon77)
      • Zukunft Feiertag's Adapter (Jey Cee)
        • Adapter wird künfig ersetzt. Informationen kommen noch.
      • Migration auf EsLint 9, Info über Migration Guide und @iobroker/eslint-rules (mgm1957)
        • https://github.com/ioBroker/ioBroker.eslint-config/blob/main/MIGRATION.md

      Der Link zum Treffen:

      https://teams.microsoft.com/l/meetup-join/19%3Ameeting_NmQ0YTExMzQtMzE1Mi00ZjlkLWE5ODQtMTViNWUyMmM4N2Rm%40thread.v2/0?context={"Tid"%3A"9828db65-475b-459a-bee3-3f75e9d878c0"%2C"Oid"%3A"3884f994-0582-4036-a42e-f1edda8e14e0"}

      Wer Themen zum Meeting hat, einfach hier drunter schreiben und wir tragen es ein.

      Die Meetings werden auf 2 Stunden begrenzt. Themen die nicht behandelt werden können, verschieben wir auf nächsten Monat.
      Aber es kann durchaus passieren, dass Diskussionen auch nach dem Ende weiter geführt werden. 🙂

      Alles was im Meeting besprochen wurde, wird hier unterhalb der Themen, stichpunktweise dokumentiert.

      Das nächste Meeting wird dann Ordnungsgemäß am 15.01.25 stattfinden

      posted in Entwickler-Meetings
      ldittmar
      ldittmar
    • Verbindung über ioBroker.ws

      Hi... ich versuche gerade den Status eines Objektes über den ws Adapter zubekommen. Das habe ich bis jetzt gemacht:

      const connOptions = {
        connLink: 'ws://192.168.0.50:8089'
      };
      let socket;
      
      function initializeSocket() {
        socket = new WebSocket(`${connOptions.connLink}/?sid=${Math.random().toString(36).substr(2, 10)}`);
      
        socket.addEventListener('open', () => {
          console.log('Verbindung zum ioBroker WebSocket-Adapter hergestellt.');
        });
      
        socket.addEventListener('message', (event) => {
          try {
            const data = JSON.parse(event.data);
            console.log('Nachricht vom ioBroker empfangen:', data);
            handleIoBrokerMessage(data);
          } catch (e) {
            console.error('Fehler beim Verarbeiten der Nachricht:', e);
          }
        });
      
        socket.addEventListener('close', (event) => {
          console.warn('Verbindung zum ioBroker WebSocket-Adapter geschlossen:', event);
          setTimeout(() => initializeSocket(), 5000);
        });
      }
      
      
      function sendMessageToIoBroker(message) {
        if (socket.readyState === WebSocket.OPEN) {
          socket.send(JSON.stringify(message));
          console.log('Nachricht an ioBroker gesendet:', message);
        } else {
          console.warn('WebSocket-Verbindung ist nicht offen.');
        }
      }
      
      function handleIoBrokerMessage(data) {
        // Prüfung auf spezifische Nachrichten
        if (Array.isArray(data) && data[0] === 0) {
          switch (data[1]) {
            case 1:
              console.log('ioBroker ist bereit.');
              const stateId = 'alias.0.Wohnzimmer.Durchlüftung.TIMER';
              subscribeToState(stateId);
              getCurrentState(stateId);
              break;
            case 'stateChange':
              console.log(`Zustand von ${data[2]} aktualisiert:`, data[3]);
              break;
            case 'getState': // Rückgabe des aktuellen Zustands
              console.log(`Aktueller Zustand von ${data[2]}:`, data[3]);
              break;
            default:
              console.log('Unbekannte Nachricht:', data);
          }
        } else {
          console.log('Andere Nachricht:', data);
        }
      }
      
      function subscribeToState(stateId) {
        const subscribeMessage = [0, 'subscribe', stateId];
        sendMessageToIoBroker(subscribeMessage);
        console.log(`Subscribed to state: ${stateId}`);
      }
      
      function getCurrentState(stateId) {
        const getStateMessage = [0, 'getState', stateId];
        sendMessageToIoBroker(getStateMessage);
        console.log(`Requesting current state of: ${stateId}`);
      }
      
      initializeSocket();
      

      Der verbindet sich, aber ich bekomme keine Werte. Irgendwas mache ich falsch und mit der Dokumentation komme ich auch nicht weiter. Hat jemand eine Idee? Das kommt in der Console:

      Verbindung zum ioBroker WebSocket-Adapter hergestellt.
      iobroker.js:16 Nachricht vom ioBroker empfangen: (3) [0, 1, '___ready___']
      iobroker.js:44 ioBroker ist bereit.
      iobroker.js:33 Nachricht an ioBroker gesendet: (3) [0, 'subscribe', 'alias.0.Wohnzimmer.Durchlüftung.TIMER']
      iobroker.js:66 Subscribed to state: alias.0.Wohnzimmer.Durchlüftung.TIMER
      iobroker.js:33 Nachricht an ioBroker gesendet: (3) [0, 'getState', 'alias.0.Wohnzimmer.Durchlüftung.TIMER']
      iobroker.js:72 Requesting current state of: alias.0.Wohnzimmer.Durchlüftung.TIMER
      iobroker.js:16 Nachricht vom ioBroker empfangen: [1]
      iobroker.js:59 Andere Nachricht: [1]
      iobroker.js:16 Nachricht vom ioBroker empfangen: [1]
      iobroker.js:59 Andere Nachricht: [1]
      iobroker.js:16 Nachricht vom ioBroker empfangen: [1]
      iobroker.js:59 Andere Nachricht: [1]
      iobroker.js:24 Verbindung zum ioBroker WebSocket-Adapter geschlossen: CloseEvent {isTrusted: true, wasClean: true, code: 1005, reason: '', type: 'close', …}
      (anonym) @ iobroker.js:24
      iobroker.js:10 Verbindung zum ioBroker WebSocket-Adapter hergestellt.
      iobroker.js:16 Nachricht vom ioBroker empfangen: (3) [0, 1, '___ready___']
      iobroker.js:44 ioBroker ist bereit.
      iobroker.js:33 Nachricht an ioBroker gesendet: (3) [0, 'subscribe', 'alias.0.Wohnzimmer.Durchlüftung.TIMER']
      iobroker.js:66 Subscribed to state: alias.0.Wohnzimmer.Durchlüftung.TIMER
      iobroker.js:33 Nachricht an ioBroker gesendet: (3) [0, 'getState', 'alias.0.Wohnzimmer.Durchlüftung.TIMER']
      iobroker.js:72 Requesting current state of: alias.0.Wohnzimmer.Durchlüftung.TIMER
      iobroker.js:16 Nachricht vom ioBroker empfangen: [1]
      iobroker.js:59 Andere Nachricht: [1]
      iobroker.js:16 Nachricht vom ioBroker empfangen: [1]
      iobroker.js:59 Andere Nachricht: [1]
      iobroker.js:16 Nachricht vom ioBroker empfangen: [1]
      iobroker.js:59 Andere Nachricht: [1]
      iobroker.js:24 Verbindung zum ioBroker WebSocket-Adapter geschlossen: CloseEvent {isTrusted: true, wasClean: true, code: 1005, reason: '', type: 'close', …}
      
      posted in Entwicklung
      ldittmar
      ldittmar
    • RE: Meeting Frontend responsive Design 10.10.24 20:30

      Solltet ihr noch Themen und Fragen haben, können wir diese hier sammeln und am 10.10 darüber diskutieren.

      posted in Entwickler-Meetings
      ldittmar
      ldittmar
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo