Navigation

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

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    M
    • Profile
    • Following 0
    • Followers 0
    • Topics 0
    • Posts 13
    • Best 0
    • Groups 0

    meifi2017

    @meifi2017

    0
    Reputation
    12
    Profile views
    13
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    meifi2017 Follow

    Latest posts made by meifi2017

    • RE: [Adapter] - iobroker.i2c

      Nachtrag: ich habe mir das ganze nochmal genauer angeschaut.

      Wenn ich in der i2c.js die Zeile 65 auskommentiere, habe ich keine Probleme mehr beim Adapterneustart. Können wir hier evtl. auf der Mainseite des Adapters eine

      Checkbox hinterlegen, welche man aktiviert, dann werden die Defaults geschrieben, wenn angehakt, danach wir die checkbox wieder automatisch deaktiviert?!

      //that._deviceHandlers[deviceConfig.address] = that._deviceFactories[deviceConfig.type].create(deviceConfig, that);
      
      

      Ich versuche sonst die Tage das selber zu implementieren. Ich mache mich auch mal dran, eine Reset Time per Output zu setzen, das ist z.b. bei stromstoßrelais hilfreich.

      LG

      posted in ioBroker Allgemein
      M
      meifi2017
    • RE: [Adapter] - iobroker.i2c

      Moin UncleSam,

      ich bin endlich dazu gekommen, deinen Adapter zu testen. Konfiguration funktioniert bei mir ohne Probleme, jedoch werden wohl beim

      Neustart des Adapters etwas initalisiert, was mein Bus so garnicht mag… alle Module werden auf die, in der Konfiguration eingestellen

      Werte gesetzt und der komplette Bus verabschiedet sich. Ich muss dann alle Teilnehmer am Bus einmal neustarten, damit Sie wieder reagieren.

      Das Log sieht dann wie folgt aus:

      i2c.0	2017-11-27 20:42:36.770	error	PCF8574 57: Couldn't read current value: Error: EIO, Input/output error
      i2c.0	2017-11-27 20:42:36.755	error	PCF8574 56: Couldn't read current value: Error: EIO, Input/output error
      i2c.0	2017-11-27 20:42:36.367	error	PCF8574 57: Couldn't read current value: Error: EIO, Input/output error
      i2c.0	2017-11-27 20:42:36.343	error	PCF8574 56: Couldn't read current value: Error: EIO, Input/output error
      i2c.0	2017-11-27 20:42:36.256	error	PCF8574 57: Couldn't read current value: Error: EIO, Input/output error
      
      

      Hast du eine Idee?

      Wäre es evtl. auch umsetzbar, dass man eine weitere Spalte in der Konfiguration hinterlegt, welche es ermöglicht einen Autoreset nach X ms vom

      Adapter ausführen zulassen? Ich würde mir die Tage mal das REPO anschauen und mal testen, ob ich das vielleicht selber Implementieren kann.

      Viele Grüße aus Hamburg

      meifi

      posted in ioBroker Allgemein
      M
      meifi2017
    • RE: Art-Net

      Hallo zusammen,

      habt ihr schon via JS einen RGB Fade hinbekommen? Oder kann das evtl. direkt mit in den Adapter implementiert werden? Habe leider im Forum noch nichts passendes

      gefunden und meine Versuche mit JS funktionieren nicht wirklich 😞 Ich versuche es momentan mit dem folgenden Script. In der Debugausgabe ist alles O.K., aber sobald

      man es direkt ausgeben will, passiert nix 😕

      var r=255,g=0,b=0;
      
      setInterval(function(){
        if(r > 0 && b == 0){
          r--;
          g++;
        }
        if(g > 0 && r == 0){
          g--;
          b++;
        }
        if(b > 0 && g == 0){
          r++;
          b--;
        }
        setState("artnet.0.rgb.100.blue"/*wohn_decke blue*/, b);
        setState("artnet.0.rgb.100.green"/*wohn_decke green*/, g);
        setState("artnet.0.rgb.100.red"/*wohn_decke red*/, r); 
      },100);
      
      

      Viele Grüße

      meifi

      posted in Tester
      M
      meifi2017
    • RE: ([gelöst]) Daten Sonnensystem Resol auslesen per VBUS

      Hallo zusammen,

      da ich plane eine weitere Resol bei mir in Einsatz zu bringen, habe ich ich die deviceIDs mit eingebaut, sowie ein paar infos zu den devices. Gerne mal testen und eine Rückmeldung geben.

      Beim ersten start, nicht vergessten, create_states auf true zu setzen. 🙂

      //******************************************
      //************Dutchman & meifi2017**********
      //*******************V 1.1****************** 
      //******************************************
      
      // define variable
      var vbus = require('resol-vbus');
      var headerSet = new vbus.HeaderSet();
      var conn;
      var create_states = false; // !!! set initial on true to create states once, disable value afterwards to update states !!
      
      // Schedule every 20 seconds
      schedule("*/20 * * * * *", function () {
      
      //*****************************SET VARs***************************************************************************
      var resolhost = '';      // Can be used with via.vbus.net OR internal 192xxxxx adress !
      var resolviaTag = 'xxxx';                   // only necessary if connected using VBus.net otherwise leave empty
      var resolpass = 'vbus';                 //default is set
      var resolDL3 = false;           //set to true if you use a DL3
      var worktime = 10000;           // 10 second timer, collection all information takes some seconds [emoji6]
      
      //*****************************Dont edit something below**********************************************************
      
      //check vars
          var regip = new RegExp("^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$");
      
      if(resolDL3) {
          if (regip.test(resolhost)) {
              conn = new vbus.TcpConnection({
                  host: resolhost,
                  password: resolpass, 
                  channel: 1,
              });
          } else {
              conn = new vbus.TcpConnection({
                  host: resolhost,
                  viaTag: resolviaTag,
                  password: resolpass, 
                  channel: 1,
          });
          }
      } else {
              if (regip.test(resolhost)) {
              conn = new vbus.TcpConnection({
                  host: resolhost,
                  password: resolpass, 
              });
          } else {
              conn = new vbus.TcpConnection({
                  host: resolhost,
                  viaTag: resolviaTag,
                  password: resolpass, 
          });
          }
      }
      
          // Log connection status
          var onConnectionStateChange = function(state) {
          console.debug(state);
          };
      
          var onPacket = function(packet) {
              headerSet.addHeader(packet);
          };
      
          conn.on('connectionState', onConnectionStateChange);
          conn.on('packet', onPacket);
      
          conn.connect().done(function() {
      
              setTimeout(function() {
                  conn.disconnect();
      
                  //create header packages
                  var packets = headerSet.getSortedHeaders();
                  var spec = vbus.Specification.getDefaultSpecification();
                  var packetFields = spec.getPacketFieldsForHeaders(packets);
      
                  var packet = null;
                  var counter = 0;
                  var resoldeviceold = '';
                  packetFields.forEach(function(packetField) {
      
                      counter = counter + 1;
                      if (packet !== packetField.packet) {
                          packet = packetField.packet;
                          console.debug(packetField.packetSpec.fullName);
      
                      }
                      // write values in memory
                      packetField.name = packetField.name.replace(/ /g,"");
                      var resoldevice = packetField.packetSpec.sourceDevice.deviceId
      
                      console.debug("Value received : " + packetField.name + " = " + packetField.formatTextValue());
      
                      rawvalue = packetField.formatTextValue();
                      rawvalue = rawvalue.replace(/[^0-9.,]/g,"");
      
                      console.debug("Value translated to raw format : " + rawvalue);
      
                      // Create new objects only if "var create_states = true"
                      if (create_states === true){
                          if (resoldevice != resoldeviceold){
                              createState("vbus." + resoldevice + ".device.deviceId" ,{
                                  name: packetField.packetSpec.sourceDevice.deviceId,
                                  type: 'string',
                                  role: 'value'
                              });
                               createState("vbus." + resoldevice + ".device.channel" ,{
                                  name: packetField.packetSpec.sourceDevice.channel,
                                  type: 'string',
                                  role: 'value'
                              });
                                createState("vbus." + resoldevice + ".device.selfAddress" ,{
                                  name: packetField.packetSpec.sourceDevice.selfAddress,
                                  type: 'string',
                                  role: 'value'
                              });
                                 createState("vbus." + resoldevice + ".device.peerAddress" ,{
                                  name: packetField.packetSpec.sourceDevice.peerAddress,
                                  type: 'string',
                                  role: 'value'
                              });
                                  createState("vbus." + resoldevice + ".device.name" ,{
                                  name: packetField.packetSpec.sourceDevice.name,
                                  type: 'string',
                                  role: 'value'
                              });
                                   createState("vbus." + resoldevice + ".device.fullName" ,{
                                  name: packetField.packetSpec.sourceDevice.fullName,
                                  type: 'string',
                                  role: 'value'
                              });
                              resoldeviceold = resoldevice;
                          }
                          // create objects real data
                          createState("vbus." + resoldevice + ".values." + packetField.name ,{
                              name: packetField.name,
                              type: 'string',
                              role: 'value'
                          });
      
                          // create objects raw data only
                          createState("vbus." + resoldevice + ".values_raw." + packetField.name ,{
                              name: packetField.name + "_raw",
                              type: 'string',
                              role: 'value'
                          });
      
                      } else {
                          // Update values
                          setState("vbus." + resoldevice + ".values." + packetField.name , packetField.formatTextValue(), true);
                          setState("vbus." + resoldevice + ".values_raw." + packetField.name , rawvalue, true);
                      }
      
                  });
      
                  if (create_states === true){
                      console.warn("States created change var create_states to False !!!");
                  }
      
              }, worktime);
          });
      
      });
      
      //2017-10-12 meifi2017 - added new vars section and auto connection build
      //2017-10-12 meifi2017 - added multi-device support
      
      

      Viele Grüße aus Hamburg

      meifi

      posted in Skripten / Logik
      M
      meifi2017
    • RE: ([gelöst]) Daten Sonnensystem Resol auslesen per VBUS

      Hi,

      das ist unabhängig vom createstate. Ich prüfe nochmal, ob es sich um eine IP-Adresse oder einen Hostnamen

      handelt und passe somit die connectionparameter an. Somit wird, bei einer LANVerbindung garnicht

      erst der viaTag übergeben

      if(resolDL3) {
          if (regip.test(resolhost)) {
              conn = new vbus.TcpConnection({
                  host: resolhost,
                  password: resolpass, 
                  channel: 1,
              });
          } else {
              conn = new vbus.TcpConnection({
                  host: resolhost,
                  viaTag: resolviaTag,
                  password: resolpass, 
                  channel: 1,
          });
          }
      } else {
              if (regip.test(resolhost)) {
              conn = new vbus.TcpConnection({
                  host: resolhost,
                  password: resolpass, 
              });
          } else {
              conn = new vbus.TcpConnection({
                  host: resolhost,
                  viaTag: resolviaTag,
                  password: resolpass, 
          });
          }
      }
      
      
      posted in Skripten / Logik
      M
      meifi2017
    • RE: Iobroker.io / iobroker.i2c

      Perfekt. Ich danke dir 🙂 werde es am Wochenende mal testen.

      posted in ioBroker Allgemein
      M
      meifi2017
    • RE: ([gelöst]) Daten Sonnensystem Resol auslesen per VBUS

      Hallo Dutchman,

      ich habe die Fehler, welche man so machen könnte versucht abzufangen… kannst ja mal rüber schauen. Bei mir läuft es soweit schon.

      //******************************************
      //************Dutchman & meifi2017**********
      //*******************V 0.9****************** 
      //******************************************
      
      // define variable
      var vbus = require('resol-vbus');
      var headerSet = new vbus.HeaderSet();
      var conn;
      var create_states = false; // !!! set initial on true to create states once, disable value afterwards to update states !!
      
      // Schedule every 20 seconds
      schedule("*/20 * * * * *", function () {
      
      //*****************************SET VARs***************************************************************************
      var resolhost = '192.168.178.201';      // Can be used with via.vbus.net OR internal 192xxxxx adress !
      var resolviaTag = 'xxxx';                   // only necessary if connected using VBus.net otherwise leave empty
      var resolpass = 'vbus';                 //default is set
      var resolDL3 = false;           //set to true if you use a DL3
      var worktime = 10000;           // 10 second timer, collection all information takes some seconds [emoji6]
      
      //*****************************Dont edit something below**********************************************************
      
      //check vars
          var regip = new RegExp("^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$");
      
      if(resolDL3) {
          if (regip.test(resolhost)) {
              conn = new vbus.TcpConnection({
                  host: resolhost,
                  password: resolpass, 
                  channel: 1,
              });
          } else {
              conn = new vbus.TcpConnection({
                  host: resolhost,
                  viaTag: resolviaTag,
                  password: resolpass, 
                  channel: 1,
          });
          }
      } else {
              if (regip.test(resolhost)) {
              conn = new vbus.TcpConnection({
                  host: resolhost,
                  password: resolpass, 
              });
          } else {
              conn = new vbus.TcpConnection({
                  host: resolhost,
                  viaTag: resolviaTag,
                  password: resolpass, 
          });
          }
      }
      
          // Log connection status
          var onConnectionStateChange = function(state) {
          console.debug(state);
          };
      
          var onPacket = function(packet) {
              headerSet.addHeader(packet);
          };
      
          conn.on('connectionState', onConnectionStateChange);
          conn.on('packet', onPacket);
      
          conn.connect().done(function() {
      
              setTimeout(function() {
                  conn.disconnect();
      
                  //create header packages
                  var packets = headerSet.getSortedHeaders();
                  var spec = vbus.Specification.getDefaultSpecification();
                  var packetFields = spec.getPacketFieldsForHeaders(packets);
      
                  var packet = null;
                  var counter = 0;
      
                  packetFields.forEach(function(packetField) {
                      counter = counter + 1;
                      if (packet !== packetField.packet) {
                          packet = packetField.packet;
                          console.debug(packetField.packetSpec.fullName);
      
                      }
                      // write values in memory
                      packetField.name = packetField.name.replace(/ /g,"");
      
                      console.debug("Value received : " + packetField.name + " = " + packetField.formatTextValue());
      
                      rawvalue = packetField.formatTextValue();
                      rawvalue = rawvalue.replace(/[^0-9.,]/g,"");
      
                      console.debug("Value translated to raw format : " + rawvalue);
      
                      // Create new objects only if "var create_states = true"
                      if (create_states === true){
      
                          // create objects real data
                          createState("vbus.values." + packetField.name ,{
                              name: packetField.name,
                              type: 'string',
                              role: 'value'
                          });
      
                          // create objects raw data only
                          createState("vbus.values_raw." + packetField.name ,{
                              name: packetField.name + "_raw",
                              type: 'string',
                              role: 'value'
                          });
      
                      } else {
                          // Update values
                          setState("vbus.values." + packetField.name , packetField.formatTextValue(), true);
                          setState("vbus.values_raw." + packetField.name , rawvalue, true);
                      }
      
                  });
      
                  if (create_states === true){
                      console.warn("States created change var create_states to False !!!");
                  }
      
              }, worktime);
          });
      
      });
      
      //2017-10-12 meifi2017 - added new vars section and auto connection build
      
      
      posted in Skripten / Logik
      M
      meifi2017
    • RE: Iobroker.io / iobroker.i2c

      Alles klar, das mit dem Reset wäre ja kein Problem via externen Script zu lösen.

      Das mit dem negieren wäre aber schon wichtig, gerade wenn man die I2C Module

      von Horter einsetzt 😉

      posted in ioBroker Allgemein
      M
      meifi2017
    • RE: Iobroker.io / iobroker.i2c

      Hallo UncleSam,

      vielen Dank für dein Adapter. Ich werde diesen am Wochenende mal testen. Kann man in dem Adapter auch festlegen, wie in meinen Scripten, ob die Ein- / Ausgänge negiert sind und ob diese nach einem bestimten Timeout wieder zurückgesetzt werden?

      LG meifi

      posted in ioBroker Allgemein
      M
      meifi2017
    • RE: [Anleitung] Katze per PIR und ESP8266 erkennen und Melden.

      Moin,

      gibt es hier schon was neues zum Thema ESP / Katzenklappe / Integration iobroker?

      LG

      posted in Praktische Anwendungen (Showcase)
      M
      meifi2017
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo