Navigation

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

    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 3
    • Posts 10
    • Best 1
    • Groups 1

    massa

    @massa

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

    massa Follow
    Starter

    Best posts made by massa

    • RE: Ich hab den Cronjob noch nie begriffen

      Ich benutze immer den "Cron Generator" in der iobroker GUI - kann ich dir nur empfehlen!

      posted in Skripten / Logik
      M
      massa

    Latest posts made by massa

    • RE: JS request Modul installieren

      Werde es morgen mal austesten! Node-ssh hatte zumindest nicht mehr funktioniert, aber das request Modul würde mir theoretisch auch reichen!
      Besten Dank schon mal 🙂

      posted in Skripten / Logik
      M
      massa
    • RE: JS request Modul installieren

      Ich habe nur das node-ssh Modul in den Settings angegeben!
      Das seltsame ist ja, dass erst alles normal funktioniert hat und jetzt findet er nicht mal das inkludierte request Modul...
      Bildschirmfoto 2019-12-01 um 17.17.49.png

      posted in Skripten / Logik
      M
      massa
    • RE: JS request Modul installieren

      Habe Version 4.3.3 installiert!
      Raspberry:
      Bildschirmfoto 2019-12-01 um 16.50.59.png

      posted in Skripten / Logik
      M
      massa
    • RE: JS request Modul installieren

      Ich habe ganz plötzlich das gleiche Problem... Hat jemand eine Lösung für das Problem gefunden?
      Ich hatte letzte Woche das node-ssh Modul zusätzlich eingebunden was auch erst funktionierte. Aber ein Tag später hat er das Modul nicht mehr gefunden, obwohl vorhanden! Habe keine Änderungen vorgenommen...
      Das request Modul findet er auch nicht mehr.

      Hat da jemand eine Idee?

      posted in Skripten / Logik
      M
      massa
    • HM Thermostat mit externem Temperatursensor peeren

      Hallo zusammen,

      ich habe gerade meinen Aqara Temperatursensor im ioBroker in Betrieb genommen.
      Nun würde ich diesen gerne irgendwie mit meinem Homematic Thermostat im selben Raum verbinden, da dieses extrem ungenau ist und die Heizungssteuerung schwierig macht..
      Ich habe eine Anleitung für FHEM gefunden, gibt es das in der Form auch für den ioBroker?
      https://hilftdirweiter.de/fhem-homematic-heizkoerperthermostat-mit-externem-temperatursensor-peeren/

      Besten Dank!

      posted in Hardware
      M
      massa
    • RE: Hash Methode aus Java in Javascript übersetzen

      @AlCalzone wen haben wir denn da 😉

      Vielen Dank!!
      Ich habe die letzten Tage mit diesem Rätsel verbracht und war schon echt am verzweifeln... So klappt es!
      Dann kann es ja weitergehen 🙂

      posted in Entwicklung
      M
      massa
    • Hash Methode aus Java in Javascript übersetzen

      Hallo zusammen,

      ich arbeite gerade an einem aktualisierten myAudi Adapter. Ich stehe nun vor der Herausforderung drei Java Methode (aus der myAudi APK extrahiert) in Javascript zu übersetzen, um diese für den iobroker zu nutzen! Folgende zwei Methoden habe ich bereits gefunden:

      JAVA Original Methoden:

          static byte[] hexToBytes( String str) {
              byte[] bArr = new byte[(str.length() / 2)];
              int i = 0;
              while (i < str.length()) {
                  int i2 = i + 2;
                  bArr[i / 2] = (byte) Integer.parseInt(str.substring(i, i2), 16);
                  i = i2;
              }
              return bArr;
          }
      
         
          static String bytesToHex( byte[] bArr) {
              char[] cArr = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
              char[] cArr2 = new char[(bArr.length * 2)];
              for (int i = 0; i < bArr.length; i++) {
                  int b = bArr[i] & 255; //byte
                  int i2 = i * 2;
                  cArr2[i2] = cArr[b >>> 4];
                  cArr2[i2 + 1] = cArr[b & 15];
              }
              return new String(cArr2);
          }
      

      Javascript Übersetzung:

          function hexToBytes(hex) {
            for (var bytes = [], c = 0; c < hex.length; c += 2){
              bytes.push(parseInt(hex.substr(c, 2), 16));
            }
            adapter.log.info(bytes);
            return bytes;
          }
      
          // Convert a byte array to a hex string
          function bytesToHex(bytes) {
            for (var hex = [], i = 0; i < bytes.length; i++) {
              var current = bytes[i] < 0 ? bytes[i] + 256 : bytes[i];
              hex.push((current >>> 4).toString(16));
              hex.push((current & 0xF).toString(16));
            }
            return hex.join("");
          }
      

      Mein eigentliches Problem besteht nun darin, dass ich in der Hash Methode nie auf das richtige Ergebnis komme, da Javascript mit den Typen und Hashing anders umgeht als Java. So sieht die Hash Methode in Java aus:

      static String hashPinV2( String str, String str2) {
                try {
                  byte[] hexToBytes = hexToBytes(str);
                  byte[] hexToBytes2 = hexToBytes(str2);
                  byte[] bArr = new byte[(hexToBytes.length + hexToBytes2.length)];
                  System.arraycopy(hexToBytes, 0, bArr, 0, hexToBytes.length);
                  System.arraycopy(hexToBytes2, 0, bArr, hexToBytes.length, hexToBytes2.length);
                  return bytesToHex(MessageDigest.getInstance("SHA-512").digest(bArr));
               } 
                catch (Exception e) {
              System.err.println("ERROR");
          }
                return "1";
          }
      

      Hat jemand einen Tipp was genau ich tun muss, um das in Javascript umzusetzen? Ich habe schon eine ganze Menge ausprobiert, aber komme einfach nicht weiter... Übrigens ist es natürlich nicht wichtig genau die gleichen Methodne zu benutzen. Also wenn jemand einen anderen Weg kennt und auf das gleiche Ergebnis kommt ist das genauso gut 🙂

      Folgende Test-Werte benutze ich:

      hashPinV2(Test-Pin,Test-Challenge)

      Test-Pin: 3364
      Test-Challenge: 3680E2E102C45655318BE5660D6E43DE7D7CA8FA733BFE983FC071BE5A7B5321

      Richtiger Ziel-Hash: DE11152A24ECD60104455FA1DC6F5D7A69BB7388B562BF2B2C22C2921B5DF9944F56563C57014FDD8F86670D7499CEB2F7682892528810874CC776112585960C

      posted in Entwicklung
      M
      massa
    • RE: Ich hab den Cronjob noch nie begriffen

      Ich benutze immer den "Cron Generator" in der iobroker GUI - kann ich dir nur empfehlen!

      posted in Skripten / Logik
      M
      massa
    • RE: Zeitspanne, Trigger und if Abfrage

      Ahhhh jetzt habe ich verstanden wie man es machen muss. Vielen Dank für deine Hilfe! 🙂

      posted in Skripten / Logik
      M
      massa
    • Zeitspanne, Trigger und if Abfrage

      Hallo zusammen,

      ich spiele nun schon eine ganze Weile mit dem iobroker und habe auch einige Skripte implementiert.

      Nun haben sich mit der Zeit einige Fragen bei mir aufgetan auf die ich keine Antwort finde:

      1. Wie bzw. nach welchen Regeln verarbeitet Iobroker ein Skript, wenn z.B. ein Trigger (.on) innerhalb einer if-Abfrage bzw, einem anderen Trigger steht, also z.B.

      .on(Anwesenheitstatus ändert sich)
          if(anwesenehit=wahr){
             .on(Tür öffnet sich)
                  Schalte das Licht im Flur ein
      
      

      2. Wie kann ich eine Zeitspanne festlegen, sodass wenn ich nach hause komme und meine Anwesenheit wahr ist und sich dann innerhalb von 10 Minuten der Status des Türsensors ändert das Licht im Flur angeht und sich nach 3 Minuten wieder ausschaltet? Natürlich darf das Licht nur angehen, wenn die isAstroDay Funktion false ist. Folgendes ist mein Ansatz, welcher aber nicht funktioniert, da wie es aussieht direkt in die Trigger gesprungen wird, ohne dass vorherige Bedingungen abgefragt werden:

      on({id: "cloud.0.services.ifttt"/*IFTTT value*/, change: "ne"}, function (obj) {
          if(getState("cloud.0.services.ifttt").val == 'person1_abwesend' && getState("cloud.1.services.ifttt").val == 'person2_abwesend'){
              setState("hm-rega.0.950"/*Anwesenheit_HM*/, false);
              setState("hm-rpc.0.XXX.1.STATE"/*HM-LC-Sw1PBU-FM XXX:1.STATE*/, false);
              setState("hm-rpc.0.XXX.1.LEVEL"/*HM-LC-Dim1TPBU-FM XXX:1.LEVEL*/, 0);
          }
          else{
              setState("hm-rega.0.950"/*Anwesend*/, true);
              on({id: "hm-rpc.0.XXX.1.STATE"/*HM-Sec-SCo XXX:1.STATE*/, change: "ne"}, function (obj) {
                  if(isAstroDay()===false){
                      setState("hm-rpc.0.XXX.1.STATE"/*HM-LC-Sw1PBU-FM XXX:1.STATE*/, true);
                      timeout = setTimeout(function () {
                        setState("hm-rpc.0.XXX.1.STATE"/*HM-LC-Sw1PBU-FM XXX:1.STATE*/, false);  
                      }, 180000);
                  }    
              });
          }
      });
      
      

      Vielen Dank für eure Hilfe 🙂

      posted in Skripten / Logik
      M
      massa
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo