Navigation

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

    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

    D
    • Profile
    • Following 0
    • Followers 0
    • Topics 2
    • Posts 4
    • Best 0
    • Groups 1

    Dreamdancer

    @Dreamdancer

    Starter

    0
    Reputation
    86
    Profile views
    4
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    Dreamdancer Follow
    Starter

    Latest posts made by Dreamdancer

    • Wert aus KNX auslesen

      Hallo zusammen, 🙂

      ich brauche Hilfe bei einer denkblockade 😞

      Ich habe ein Skript geschrieben, welches mir Minütlich Werte aus KNX auslesen soll.
      Gemäß der Doku wird das mit einem SetState erledigt.
      Das Funktioniert in soweit auch wunderbar, das im Busmonitor beim auslösen des Triggers der aktuelle Wert auf den Bus gesendet wird.
      Aber jetzt ... im IOBroker setzt er aber den Wert nicht auf die Ausgabe des Bus, sondern auf "true", somit kommt für meine weitere verarbeitung nichts mehr an 😞

          // Zisternenfüllstand in Ltr ausgeben
          var Füllstand_in_Ltr = Scale((setState(cRohFüllstandin_mA, true)), TopSetPoint_Zisterne_mA, LowSetPoint_Zisterne_mA, TopSetPoint_Zisterne_Ltr, LowSetPoint_Zisterne_Ltr);
          setState(cFüllstandin_Ltr, Füllstand_in_Ltr, true);
      

      Das ist der Schnipsel, der mir den Füllstand auslesen soll ( auf dem KNX Bus passt das auch wunderbar ), bloss in das Objekt "cRohFüllstandin_mA" schreibt er nun ein true, das versaut mir die Tour ... was hab ich hier übersehen ...

      Das Objekt selbst (cRohFüllstandin_mA) hat keine Schreibberechtigung (mehr), dennoch wird es auf "true" gesetzt?

      Bin für jeden Tip dankbar 🙂

      posted in JavaScript
      D
      Dreamdancer
    • RE: Test Adapter ioBroker.backitup v3.1.x

      Hallo allerseits,

      ich habe gerade einmal alle Updates gefahren, auch das des Adapters Backitup nun in der Version 1.4.5.
      Alles gut verlaufen, gibt kein Minimal bzw. Total Backup mehr ... nur noch (in meinem Fall) ioBroker und mysql.

      Wenn ich aber nun das Tarball öffne, liegen dort lediglich die VIS Projekte unter "files".
      Userdata, admin und web Adapter haben Ordner, sind aber leer, kein anderer Adapter hat auch nur bloss einen Ordner dort.
      Insbesondere bitter wäre das bei den Scripten, würden diese verloren gehen.

      Mache ich was falsch, muss man die Adapter einstellen, oder ist das ein Fehler?

      posted in Tester
      D
      Dreamdancer
    • RE: Verbindung zu Mobotix T25

      @Dreamdancer sagte in Verbindung zu Mobotix T25:

      Also statt :

      const Obj1 ="knx.1.Erdgeschoss.Systemobjekte.EG_-Klingel_Schaltimpuls_1(Klingel)"; // Link zur Klingel EG Flur

      so :

      const Klingel_Flur_EG ="knx.1.Erdgeschoss.Systemobjekte.EG_-Klingel_Schaltimpuls_1(Klingel)"; // Link zur Klingel EG Flur

      ?

      posted in JavaScript
      D
      Dreamdancer
    • Verbindung zu Mobotix T25

      Hallo zusammen, ich bin neu hier und bei iobroker 🙂
      Zwar nicht grundsätzlich neu im Thema Programmierung, aber doch mit Javascript habe ich ein Script erstellt, welches die Verbindung zwischen iobroker und einer Mobotix T25 realisiert.

      Allerdings war der Weg dorthin etwas holprig, und es würde mich freuen, wenn die Profis mal darüber sehen, und es konstruktive Kritik hagelt.
      Vielleicht kann ja auch ein anderer Neuling darauf aufbauen 🙂

      Die T25 arbeitet mit ihrerseits genannten "Netzwerkmeldungen", das heisst, sie ruft eine URL auf. Sie kann auch HTTPS Seiten aufrufen, ich habe leider keine Möglichkeit gefunden, den iobroker mit HTTPS anzusprechen, und habe daher etwas "Pseudo Sicherheit" mit einer Name/PW abfrage eingebaut, was ungesichert halt eben nur Pseudo ist. Hat hier jemand eine Idee?
      Ich hoffe der Rest meiner Absichten damit wird im Script deutlich, sonst einfach fragen 😉

      Vielen Dank an alle im Vorraus 🙂

      //
      // Mobotix Klingel Script
      // Aufruf: http://192.168.X.X:8087/setBulk?javascript.0.Input_Name=Mobotix&javascript.0.Input_Passwort=XXX8&javascript.0.Input_Klingel_EG=true
      // ACHTUNG: Bei der Aufruf URL ist darauf zu achten, das der Trigger zum Schluss kommt (&javascript.0.Input_Klingel_EG=true), da sonst bei der PW-überprüfung noch keine Daten vorhanden sind!
      //
      
      // Links zu den Datenpunkten
      const Obj1   ="knx.1.Erdgeschoss.Systemobjekte.EG_-_Klingel_Schaltimpuls_1_(Klingel)"; // Link zur Klingel EG Flur
      const Obj2   ="knx.0.Kellergeschoss.Systemobjekte.KG_-_Klingel_Flur_Schaltimpuls_1_(Klingel)"; // Link zur Klingel KG Flur
      const Obj3   ="knx.0.Kellergeschoss.Systemobjekte.KG_-_Klingel_Garage_Schaltimpuls_1_(Klingel)"; // Link zur Klingel KG Garage
      const Obj4   ="knx.2.Dachgeschoss.Systemobjekte.DG_-_Klingel_Schaltimpuls"; // Link zur Klingel DG Flur
      const Obj5   ="javascript.0.Input_Klingel_EG"; // Wurde im EG geklingelt?
      const Obj6   ="javascript.0.Input_Klingel_DG"; // Wurde im DG geklingelt?
      const Obj7   ="javascript.0.Input_Passwort"; // Übertragenes Passwort
      const Obj8   ="javascript.0.Input_Name"; // Übertragener Name
      
      // Benötigte Objekte anlegen, falls nicht vorhanden ...
      if(!existsObject(Obj5) ||!existsObject(Obj6) ||!existsObject(Obj7) ||!existsObject(Obj8)) CreateObjects();
      
      // Benötigte Variablen
      var debug   = true; // Aktiviere Debugging
      var id0     ="XXX"; // Passwort Netzwerkmeldung von Mobotix zum Abgleich
      var id1     ="Mobotix"; // Name Netzwerkmeldung von Mobotix zum Abgleich; 
      var id2     = true; // Rücksetzen aktiv
      
      // Initiierende Trigger ///////
      on({id: 'javascript.0.Input_Klingel_EG', change: "any", val: true}, function (obj) {
          var value       = obj.state.val;
          var Name        = getState(Obj8).val; // Übertragener Name
          var Password    = getState(Obj7).val; // Übertragenes Passwort
          if(value) Klingeln(Name, Password, "EG");
          if(debug && value) log('Trigger Klingel EG aktiviert!');
          if(id2) ClearStates();
      });
      on({id: 'javascript.0.Input_Klingel_DG', change: "any", val: true}, function (obj) {
          var value       = obj.state.val;
          var Name        = getState(Obj8).val; // Übertragener Name
          var Password    = getState(Obj7).val; // Übertragenes Passwort
          if(debug && value) log('Trigger Klingel DG aktiviert!');
          if(value) Klingeln(Name, Password, "DG");
          if(id2) ClearStates();
      });
      //////////////////////////////
      
      // Script starten /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
      function Klingeln(Name, Password, Etage) {
          if(debug)log('Skriptanlauf ...');
          // Abfrage Übertragener Name
      
          // Abfrage, ob Eingegebener Name und Passwort korrekt ...
          if( id1 == Name && id0 == Password){
          if(debug)log('Name und PW korrekt');
              if(Etage=="EG"){
              // Klingeln im EG
              if(debug)log('Klingeln im EG');
              //setState(Obj1, true);
              //setState(Obj2, true);
              //setState(Obj3, true);
              }else if(Etage=="DG"){
              if(debug)log('Klingeln im DG');
              // Klingeln im DG
              //setState(Obj4, true);
              }else{
              if(debug)log('Klingeln Gescheitert, keine Etagenangabe!');
              }
          }else{
          if(debug)log('Unerlaubter Zugriff auf das Script der Mobotix Verbindung!');
          if(debug)log('Name SOLL:' + id1 + ' Name IST:' + Name);
          if(debug)log('PW SOLL:' + id0 + ' PW IST:' + Password);
          }
      }
      ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
      
      // Variablen am Ende wieder leeren!
      function ClearStates(){
          setStateDelayed(Obj5, false, 2000 );
          setStateDelayed(Obj6, false, 2000 );
          setStateDelayed(Obj7, '', 2000 );
          setStateDelayed(Obj8, '', 2000 );
      }
      
      function CreateObjects(){
          // Eingangsvariablen anlegen, falls nicht vorhanden
          if(!existsObject('javascript.0.Input_Klingel_EG')){
              createState('javascript.0.Input_Klingel_EG', 
                  {
                  def: 'false', 
                  type: 'boolean', 
                  name: 'Eingang von Mobotix, es wurde im EG geklingelt wurde!'
                  }
              );
          }
      
          if(!existsObject('javascript.0.Input_Klingel_DG')){
              createState('javascript.0.Input_Klingel_DG', 
                  {
                  def: 'false', 
                  type: 'boolean', 
                  name: 'Eingang von Mobotix, es wurde im DG geklingelt wurde!'
                  }
              );
          }
      
          if(!existsObject('javascript.0.Input_Name')){
              createState('javascript.0.Input_Name', 
                  {
                  def: 'false', 
                  type: 'string', 
                  name: 'Eingang von Mobotix, Übergabewert Anmeldename!'
                  }
              );
          }
      
          if(!existsObject('javascript.0.Input_Passwort')){
              createState('javascript.0.Input_Passwort', 
                  {
                  def: 'false', 
                  type: 'string', 
                  name: 'Eingang von Mobotix, Übergabewert Anmeldepasswort!'
                  }
              );
          }
      }
      
      posted in JavaScript
      D
      Dreamdancer
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo