Navigation

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

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    A
    • Profile
    • Following 0
    • Followers 0
    • Topics 0
    • Posts 13
    • Best 1
    • Groups 1

    ADS_0x1

    @ADS_0x1

    Starter

    1
    Reputation
    10
    Profile views
    13
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    ADS_0x1 Follow
    Starter

    Best posts made by ADS_0x1

    • RE: [Umfrage] enOcean Adapter Weiterentwicklung

      Ich finde das Projekt super! Habe auch mal n paar Taler dagelassen, da ich der Meinung bin, dass Eltako was tolles auf die Beine gestellt hat, aber so richtig kommt das noch nicht in der Masse an.

      Mit ioBroker kann man in Zukunft wunderbar Bestandsbauten sanieren, da über die zentrale Stelle Enocean, Eltako Hutschienen-Elemente, sowie Zigbee und Hue integrierbar sind. Zusätzlich zu KNX macht das richtig viel her.

      Applaus und Huldigung auf jeden Fall bis hierher!

      posted in ioBroker Allgemein
      A
      ADS_0x1

    Latest posts made by ADS_0x1

    • RE: Test ViessmannAPI v2.0.0

      Hallo zusammen,

      hat jemand den Adapter mit einem Vitoair FS am laufen? Gemäß Datenpunkt-Dokumentation sollten Datenpunkte verfügbar sein.

      Viele Grüße!

      posted in Tester
      A
      ADS_0x1
    • RE: jarvis v2.2.0 - just another remarkable vis

      @mcu danke dir für deine Antwort! Der Link zeigt eine Bitmaskierung für 4 Bit auf ein Wort, das ist prinzipiell der richtige Ansatz, allerdings muss ich das ganze für 48 Bits machen, jeweils ein Kontrollelement dafür einfügen und Anzeigestatus verknüpfen, bei Änderung die 48 Bits wieder zusammenführen und in die SPS Variable schreiben. Das könnte man mit einem Script "stumpf" so machen, aber vielleicht kennt jemand einen eleganteren Weg, bzw. vielleicht kennt jemand ein Kontrollelement, bei dem ein Wort in Bits aufgelöst dargestellt wird o.ä.

      Hier die zugesagten Screenshots / Code:

      c4e6cd6b-10d7-4262-90d6-64aeaefc7bcd-image.png

      {
        "type": "state",
        "common": {
          "name": "Intervalle in Halbstundenschritten, die der Heuschieber auffahren darf",
          "role": "",
          "type": "number",
          "unit": "",
          "read": true,
          "write": true
        },
        "native": {
          "cat": "db",
          "type": "WORD",
          "db": "DB410",
          "dbId": 410,
          "address": 68,
          "offsetBit": 0,
          "rw": true,
          "wp": false,
          "len": "2"
        },
        "from": "system.adapter.s7.0",
        "user": "system.user.admin",
        "ts": 1642936549747,
        "_id": "s7.0.DBs.DB410.HeuHalbstundenintervalle1"
      }
      

      (Das ist für die anderen beiden Worte analog)

      Vielleicht ist noch nicht ganz rübergekommen, was ich vorhabe? Hier nochmal ein Live-Screenshot des S7 Panels:
      254c97f9-243a-4848-99b0-c0f44264a9b8-image.png

      Danke schon einmal für die bisherigen Hinweise!

      posted in Tester
      A
      ADS_0x1
    • RE: jarvis v2.2.0 - just another remarkable vis

      @mcu danke für die fixe Antwort. Kann leider keinen Export oder Screenshot liefern, mir ist gerade die Verbindung abgekackt...

      Ich habe die DP nur im S7 Adapter (S7 Adapter, Instanz 0, Zugriff auf globalen DB). Dort liegen die Daten als WORD vor.
      Auf WORDs habe ich noch nie geschrieben, lediglich auf BOOLS, INTs und STRINGs.
      Die Datenhoheit hat die SPS, d.h. ich schreibe "stumpf" in den DB der SPS und erst bei einem "übernehmen" (setzen eines BOOLs) wird ein Handshake ausgeführt und die Daten in der SPS übernommen.

      Oder habe ich deine Frage falsch verstanden?

      Viele Grüße!

      posted in Tester
      A
      ADS_0x1
    • RE: jarvis v2.2.0 - just another remarkable vis

      Hallo zusammen,

      das ogligatorische "Danke" an Zefau für den Adapter darf natürlich nicht fehlen - für die Standardsachen schön simpel und schnell im "engineering", und wenn man mehr will, dann gibt es hier zig Beispiele. Ich selbst habe schon die E-Mail - Liste umgesetzt bekommen, die ich nutze, um Meldungen meiner SPS auf jarvis angezeigt zu bekommen.

      Jetzt stehe ich allerdings ein wenig auf dem Schlauch und bräuchte vielleicht etwas Unterstützung. Ich nutze jarvis um etwas "komfortabler" die Eingaben in eine SPS zu erledigen; in diesem Fall habe ich einen Pferdestall mit einigen Boxen, die an Pensionspferde (oder vielmehr deren Besitzer:innen) vermietet sind. Die Besitzer:innen können in halbstunden-Intervallen festlegen, ob der Verschlag zur Heuraufe geöffnet oder geschlossen sein soll. In der SPS speichere ich die 24 h in 0.5 h Intervallen in 3 Wörtern (also 3 x 2 Byte = 6 Byte, 6 x 8 Bit = 48 Zustände). Es ist ein stationäres HMI vorhanden, das hängt halt leider im verschlag im Stall...

      Auf dem HMI habe ich die Einstellung über eine Bitumschaltung mit Slice-Zugriff auf eins der drei Worte gelöst, ist halt im Schlimmsten Fall 48 mal drücken, um alle Bits umzuschalten, aber ich belege alle Worte mit 16#FFFF vor und es werden nur die Schließzeiten kurz angetippt:
      90bbe5e6-e40b-4630-bfc4-5d1813c5feb5-image.png

      Sorry für das lange Vorgeplänkel, nun zur Frage:

      Hat jemand eine Idee, wie ich das in jarvis realisieren könnte?

      Vielen Dank!

      posted in Tester
      A
      ADS_0x1
    • RE: E Mails in Vis anzeigen

      @knusterus @knusterus :
      Hallo Volker,

      ich weiß, der Thread ist schon alt, aber leider wird der immer noch bei Google relativ weit oben angezeigt, wenn man nach "ioBroker Visualisierung Emails anzeigen" sucht, daher hier meine Antwort.

      In folgendem Thema hattest du ja auch schon gepostet:
      https://forum.iobroker.net/topic/18501/emails-empfangen

      Ich habe das Skript dort adaptiert und lasse mir die Emails in Jarvis anzeigen (müsste für VIS aber ähnlich funktionieren):

      // Quelle Original: https://github.com/chirag04/mail-listener2
      // Quelle Forum: https://forum.iobroker.net/topic/18501/emails-empfangen
       
      createState("IMAP.Email_Eingang");
      createState("IMAP.EmailText");
      createState("IMAP.Status");
      createState("IMAP.EmailsJSON");
      createState("IMAP.Emails");
       
          var MailListener = require("mail-listener2");
          var mailListener = new MailListener({
            username: "siemens",    // hier Email Adresse eintragen
            password: "verysecretVeryLong!1eins",	      // hier Passwort eintragen	
            host: "192.168.1.10",  //Mailserver
            port: 993, // imap port
            tls: true,
            connTimeout: 10000, // Default by node-imap
            authTimeout: 5000, // Default by node-imap,
            debug: null, // Or your custom function with only one incoming argument. Default: null
            tlsOptions: { rejectUnauthorized: false },
            mailbox: "INBOX", // mailbox to monitor
            searchFilter: ["UNSEEN"], // the search filter being used after an IDLE notification has been retrieved
            markSeen: true, // all fetched email willbe marked as seen and not fetched next time
            fetchUnreadOnStart: true, // use it only if you want to get all unread email on lib start. Default is `false`,
            mailParserOptions: {streamAttachments: false}, // options to be passed to mailParser lib.
            attachments: false, // download attachments as they are encountered to the project directory
            attachmentOptions: { directory: "attachments/" } // specify a download directory for attachments
          });
            
          const aMailAll = [];
      
          mailListener.start();
          mailListener.on("server:connected", function(){console.warn("------- imapConnected");});
          // IMAP-Status als Logausgabe und in Datenpunkt
          mailListener.on("server:connected", function(){setState("IMAP.Status",1);});
          mailListener.on("server:disconnected", function(){console.error("------- imapDisconnected");});
          mailListener.on("server:disconnected", function(){setState("IMAP.Status",0);});
          //
          mailListener.on("error", function(err){console.error(err);}); // geändert auf Error im Log, 
          mailListener.on("mail", function(mail, seqno, attributes){
              /* log("Absendeadresse: " + mail.from[0].address);
              log("Absendername: " + mail.from[0].name);
              log("Betreff: " + mail.subject);
              log("Inhalt: " +  mail.text); */ 
              if (aMailAll.length > 25) {
                  aMailAll.shift();
              }  
              let aMailsingle = 
                  {
                      "Datum"     : new Date().toLocaleString(),
                      "Betreff"   : mail.subject
                  }
              ;
              /* aMailSingle[0] = {};
              aMailSingle[0].Datum = mail.date;
              aMailSingle[0].Betreff = mail.subject; */
              aMailAll.push(aMailsingle); 
              setState("IMAP.Email_Eingang",mail.from[0].address);
              setState("IMAP.EmailText",mail.text);
              //log(aMailSingle);
              setState("IMAP.Emails",aMailAll);
              setState("IMAP.EmailsJSON", JSON.stringify(aMailAll));
      
          });
          // mailListener.on("attachment", function(attachment){console.log(attachment.path);});
      

      Ich lege mir ein Array mit Objekten an, in denen der Timestamp und der Betreff hineingeschrieben wird, das könntest du nach belieben erweitern. Im IMAP.EmailsJSON findest du dann die Einträge.
      Über den Filter searchFilter: [""] kannst du dir definieren, was du abfragen möchtest;
      Ich nutze das, um Status- und Fehlerinformationen meiner SPS im Pferdestall darzustellen, die SPS sendet E-Mails an einen lokalen E-Mailserver und der ioBroker greift über das Skript auf diesen zu.

      Vielleicht hilft das dir ja noch, wenn nicht hoffentlich den Menschen, die (wie ich) über google hier gelandet sind.

      Viele Grüße!

      posted in Visualisierung
      A
      ADS_0x1
    • RE: [Adapter] Beckhoff ADS

      Hallo dkleber89,

      nachdem ich im Februar mit dem Adapter etwas experimentiert hatte, hab ich nun wieder etwas Zeit gefunden mich einzuarbeiten. Ich hatte im Februar ein paar Probleme mit einem Reconnect, wenn die Steuerung ausgefallen war und neugestartet ist, das scheint mit der aktuellen Version bei mir behoben zu sein.

      Das soweit als Feedback.

      Danke dir für die Arbeit am Adapter.

      Viele Grüße,

      Andreas

      posted in ioBroker Allgemein
      A
      ADS_0x1
    • RE: [Umfrage] enOcean Adapter Weiterentwicklung

      Ich finde das Projekt super! Habe auch mal n paar Taler dagelassen, da ich der Meinung bin, dass Eltako was tolles auf die Beine gestellt hat, aber so richtig kommt das noch nicht in der Masse an.

      Mit ioBroker kann man in Zukunft wunderbar Bestandsbauten sanieren, da über die zentrale Stelle Enocean, Eltako Hutschienen-Elemente, sowie Zigbee und Hue integrierbar sind. Zusätzlich zu KNX macht das richtig viel her.

      Applaus und Huldigung auf jeden Fall bis hierher!

      posted in ioBroker Allgemein
      A
      ADS_0x1
    • RE: [Adapter] Beckhoff ADS

      @dkleber89 said in [Adapter] Beckhoff ADS:

      Servus Zusammen,

      ich würde die Art der Livebits ändern.

      Wenn das immer nur gespiegelt wird funktioniert das in einer Umgebung die zyklisch abgearbeitet wird, aber in einem eventbasierten System muss nur ein Event (Gründe gibt es dafür viele -> Netzwerk, Neustarts etc.) verloren gehen und alles steht.

      Ich würde in der SPS einer Variable einen 1s - 1s Blinktakt geben.
      Diese Variable wird vom ioBroker auf Änderung überwacht inkl. Meldung falls nix mehr ankommt.
      Zusätzlich spiegelt ioBroker diesen Blinktakt auf eine zweite Variable.
      Diese zweite Variable wird von der SPS auf Änderung überwacht inkl. Meldung falls nix mehr ankommt.

      Somit sind beide Seiten überwacht und es ist egal wenn mal ein Event verloren geht.

      Gruß,
      dkleber89

      Hi @dkleber89 ,

      danke für die Hinweise, so ähnlich mache ich das - nur, dass ich das Bit in der SPS nicht immer takte, sondern nur im Fehlerfalle - so ne Art "Hey, lebst du noch"-Anstupser.

      Viele Grüße,

      Andreas

      Edit: Ich hab dann mal gemerkt, was passiert, wenn man event-basierte Systeme mit einem 0 Delay Life-Bit-Toggle belastet.... CPU Auslastung bei schubsen eines Bits ist nahezu 100%, Netzwerkauslastung lt. portainer ca. 40 MB lesen und schreiben... gut, ich weiß dann, was du mir sagen wolltest @dkleber89 😄

      posted in ioBroker Allgemein
      A
      ADS_0x1
    • RE: [Adapter] Beckhoff ADS

      @Mario275 said in [Adapter] Beckhoff ADS:

      Hallo @ADS_0x1,

      ich nutze hier einfach ein kleines JavaScript. Von meiner PLC kommt eine 1 Sekunden Takt Livebit Variable, das ich lese und zugleich schreibe ich das wieder in eine zweite Variable. Somit bekomme ich mit wenn der Controller nicht mehr läuft.

      const idSrc = 'beckhoff.0.plc.GVL_ioBroker.bOut_Livebit'/bOut Livebit ioBroker [BOOL]/;
      const idDst = 'beckhoff.0.plc.GVL_ioBroker.bIn_Livebit'/bIn Livebit ioBroker [BOOL]/;

      // Skriptstart
      setState(idDst, getState(idSrc).val);

      // Aktualisierung bei Wertänderung
      on(idSrc, function(dp) {
      setState(idDst, dp.state.val);
      });

      Gruß Mario275

      Läuft mit deinem Skript!
      live_bit.mp4 (mit 200 ms delay)
      live_bit_0_delay.mp4 (mit 0 ms delay)
      life_bit_sps.png

      Selbst ohne Verzögerung macht das Teil genau das, was es soll... jetzt müsste man mal testen, wie schnell das Ganze bei x Variablen ist.

      Danke dafür in jedem Falle, ich bau darauf mal auf!

      posted in ioBroker Allgemein
      A
      ADS_0x1
    • RE: [Adapter] Beckhoff ADS

      @T-Spooner said in [Adapter] Beckhoff ADS:

      Darf ich fragen, was Du für ne Hardware nutzt?

      Das mit deinen 10.000 Datenpunkten ist natürlich schon krass viel.
      Ich habe jetzt einfach mal ein Test-Strukt aufgebaut, das enthält 8 DINTs und 8 BOOLs. Da dachte ich, sollte nichts überfordert mit sein.

      Meine Hardware ist ein Alpine-Linux (virtualisiert) mit Docker; als Container installiert sind portainer und iobroker. Hardware sind 2 GByte RAM und 2 CPU Cores ohne Limitierung. Das kann ich bei Bedarf bis auf 8 Cores un 12 GByte RAM hochschrauben, wenn es sein müsste. Aber meiner Meinung nach sollte es das tun. Da in ioBroker nur der Default-Kram nach Installation, Node-Red und der Beckhoff Adapter laufen, denke ich, dass das von der Hardware her machbar ist.

      Auf der SPS-Seite steht eine CX9020 mit einer Cycletime von ~ 200 µs

      @Mario275 @T-Spooner :
      Ich nehme bei Systemen, die nicht in Echtzeit arbeiten oder kommunizieren immer die SPS als nicht-limitierenden Faktor und lasse die anderen Systeme die Arbeit machen, in der SPS wird in Echtzeit reagiert.
      Ziel ist:
      SPS 'lauscht' auf ein Bit, das Bit wird invertiert und auf ein Bit geschrieben, dass von der externen Anwendung überwacht wird.

      Bit_ioBroker	    Bit_SPS
      
      0                   0		(Zustand bei Neustart)
      0           #       1		(nach initial cycle invertiert die SPS das Bit und setzt es)
      0		    1		(ioBroker liest das Bit aus der SPS ein)
      1           *       1           (ioBroker spiegelt das Bit 1:1 und sollte es in der SPS setzen)
      1           #       0           (SPS sieht die Änderung im ioBroker Bit und es wird automatisch im cycle invertiert)
      1                   0		(iobroker liest das Bit aus der SPS aus)
      0           *       0           (iobroker spiegelt das Bit 1:1 und schreibt es auf die SPS)
      
      * = Delay in ioBroker / Node_red eingebaut - ohne Erfolg
      # = TON und TOF in SPS integriert um Bit als Delay zu verzögern - ohne Erfolg
      

      Danke für das Skript @Mario275 , ich teste das morgen mal aus und werde berichten.

      Viele Grüße,

      Andreas

      posted in ioBroker Allgemein
      A
      ADS_0x1
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo