Navigation

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

    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

    J
    • Profile
    • Following 0
    • Followers 0
    • Topics 3
    • Posts 14
    • Best 2
    • Groups 1

    jeg

    @jeg

    Starter

    2
    Reputation
    12
    Profile views
    14
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    jeg Follow
    Starter

    Best posts made by jeg

    • RE: Datums Interpretation Fehlerhaft

      @Homoran
      Manchmal ist man echt blind. Danke. Aber ganz so ist es auch wieder nicht

      new Date(year, monthIndex [, day [, hour [, minutes [, seconds [, milliseconds]]]]]);

      Es kommt schon zuerst der Monat, aber anders, als ich erwartet hatte:

      Das Argument monthIndex ist 0-basiert. Das bedeutet, dass 0 = Januar und 11 = Dezember ist.
      Anmerkung: Wenn Date als Konstruktor mit mehr als einem Argument aufgerufen wird und die übergebenen Werte größer als ihr logischer Bereich sind (z. B. 13 wird als Monat genutzt oder 70 wird als Minutenwert eingesetzt) wird der angrenzende Wert angepasst. Z. B. ist new Date(2013, 13, 1) äquivalent zu new Date(2014, 1,)

      posted in JavaScript
      J
      jeg
    • RE: Datums Interpretation Fehlerhaft

      @CruziX
      Wie man es nimmt. Bei der Vorgabe muss man einen Monat abziehen. Für den 30.1.2020 nicht

      new Date(2020,01,30)
      

      sondern

      new Date(2020,0,30)
      

      klingt für mich eindeutig falsch, weil nach der Lesart müssten ja auch der Tag 0-basiert sein. Dieser ist aber 1 basiert.
      Wie dem auch sei, so ist es bei Javascript laut Dokumentation. Wieder was dazu gelernt.

      posted in JavaScript
      J
      jeg

    Latest posts made by jeg

    • RE: (gelöst) Licht dimmen mit Magic Cube!

      Anbei mal mein Code. Ich hoffe, wir reden über das gleiche Produkt von Aqura. In den letzten Wochen sind noch ein paar "Buttons" bei den Objekten hinzugekommen, die ich aber nicht benutzt habe. Bei der Klasse müssen zwei Parameter übergeben werden für die beide IDs. Wenn man dann soetwas schreibt wie:

      var test=new zauberwuerfel("deconz.0.sensors....","deconz.0.sensors..");
      

      in Javascript, dann kann man schon die Auswertung beobachten.
      Ich hoffe, es hilft.

      class zauberwuerfel
      {
          /// Rotationen senkrecht
          /*
              +---+
              | 5 |
          +---+---+---+
          | 4 | 1 | 3 |  1- Schriftzug Aqura lesen 
          +---+---+---+
              | 2 |
              +---+
              | 6 |
              +---+
          */
      
          id1:string;
          id2:string;
          OnGeschuettelt() {};
          OnGeschubst(pOben:number) {};
          OnHorizontalDrehung(pDrehung:number) { };
          OnHorizontalLinksDrehung(pDrehung:number){ };
          OnHorizontalRechtsDrehung(pDrehung:number){ };
          OnVertikalDrehung(pHalb:boolean, pVon:number, pNach:number){ };
          OnVertikalHalbDrehung(pVon:number,pNach:number){ };
          OnVertikalViertelDrehung(pVon:number,pNach:number){ };
          OnKlopfen(pOben:number){};
      
          constructor(pID1:string,pID2:string)
          {
              this.id1=pID1;
              this.id2=pID2;
              var self=this;
              on({id:this.id1,change:"ne",valNe:0},(obj)=>self.OnGeandertID1(obj));
              on({id:this.id2,change:"ne",valNe:0},(obj)=>self.OnGeandertID2(obj));        
          }
      
          /**
           * Gib die Vordere Zahl nur die tausender
           * 3001 -> 3
           */
          GibOben(pWert:number): number
          {
              return Math.floor(pWert/1000);    
          }
      
          /**
           * Gib die Hintere Zahl ohne die tausender
           * 3001 -> 1
           */
          GibUnten(pWert:number): number
          {
              return pWert-Math.floor(pWert/1000)*1000   
          }
      
          OnGeandertID1(pObjekt:iobJS.ChangedStateObject) : void
          {
              /// Horizontales Drehen / Auf der Tischplatte drehen
              var lWert=Math.floor(pObjekt.state.val/100);
              if (Math.sign(lWert)>0)
              {
                  /// Von Oben gesehen im Uhrzeigersinn
                  log(`ZAUBERWÜRFEl HORIZONTAL RECHTS GEDREHT UM ${lWert} °Grad`);      
                  this.OnHorizontalRechtsDrehung(lWert);
              }
              else
              {
                  /// Gegen den Uhrzeigersinn
                  log(`ZAUBERWÜRFEl HORIZONTAL LINKS GEDREHT UM ${Math.abs(lWert)} °Grad`);                 
                  this.OnHorizontalLinksDrehung(Math.abs(lWert));     
              }
              this.OnHorizontalDrehung(lWert);                
          }
          
          OnGeandertID2(pObjekt:iobJS.ChangedStateObject) : void
          {
              var lWert=pObjekt.state.val;
              var lOben=this.GibOben(lWert);
              var lUnten=this.GibUnten(lWert);
              if (lWert==7007)
              {
                  /// Geschüttelt
                  log("ZAUBERWÜRFEl:GESCHÜTTELT");
                  this.OnGeschuettelt();
              }
              else if (lUnten==0)
              {
                  log("ZAUBERWÜRFEL GESCHUBST");
                  this.OnGeschubst(lOben);
              }
              else if (lWert==1006 || lWert==2005 || lWert==3004 || lWert==4003 || lWert==5002 || lWert==6001)
              {
                  /// 180°Grad gedreht
                  log("ZAUBERWÜRFE 180 °Grad Senkrecht")
                  this.OnVertikalDrehung(true,lUnten,lOben);
                  this.OnVertikalHalbDrehung(lUnten,lOben);            
              }
              else if (lWert!=0 && lOben==lUnten)
              {
                  // Hoch gehoben und zweimal geklopft : Hoch Runter Hoch Runter
                  log("ZAUBERWÜRFE DOPPEL TAP");
                  this.OnKlopfen(lOben);
              }
              else
              {
                  /// 90°Grad gedreht
                  log("ZAUBERWÜRFEL 90 °Grad Senkrecht");
                  this.OnVertikalDrehung(true,lUnten,lOben);
                  this.OnVertikalViertelDrehung(lUnten,lOben);
              }
          }
      }
      
      posted in Blockly
      J
      jeg
    • RE: Einmaliger schedule-Auftrag

      Ich habe noch ein wenig weiter geforscht. Es bleibt seltsam:

      schedule(getDateObject("12:30"),()=>{
          log("eins");
      })
      schedule(new Date("2020-01-30 12:30:00"),()=>
      {
          log("zwei");
      })
      

      dann kommt im Log die erwartete Quittierung:

      12:29:24.085	info	javascript.0 (27438) script.js.test: schedule(cron=Thu Jan 30 2020 12:30:00 GMT+0100 (GMT+01:00))
      12:29:24.087	info	javascript.0 (27438) script.js.test: schedule(cron=Thu Jan 30 2020 12:30:00 GMT+0100 (GMT+01:00))
      

      Aber anschließend kommt im Log:

      12:30:00.002	info	javascript.0 (27438) script.js.test: zwei
      12:30:00.003	info	javascript.0 (27438) script.js.test: eins
      12:31:00.007	info	javascript.0 (27438) script.js.test: zwei
      12:32:00.004	info	javascript.0 (27438) script.js.test: zwei
      12:33:00.002	info	javascript.0 (27438) script.js.test: zwei
      

      Das würde ja bedeuten, dass das Date-Objekt mit new Date erzeugt anders interpretiert wird als mit getDateObject. Falls das wirklich so wäre, dann sollte das in der Doku explizit vermerkt werden.

      posted in JavaScript
      J
      jeg
    • RE: Datums Interpretation Fehlerhaft

      @Homoran Das ist kein Fehler im Adapter sondern ein Fehler in Javascript selbst. So ist es auch in jedem Browser und Website. Wenn man im Browser
      new Date(2020,1,30) eingibt, dann kommt Sun Mar 01 2020 00:00:00 GMT+0100 (Mitteleuropäische Normalzeit) zurück.

      posted in JavaScript
      J
      jeg
    • RE: Datums Interpretation Fehlerhaft

      @CruziX
      Wie man es nimmt. Bei der Vorgabe muss man einen Monat abziehen. Für den 30.1.2020 nicht

      new Date(2020,01,30)
      

      sondern

      new Date(2020,0,30)
      

      klingt für mich eindeutig falsch, weil nach der Lesart müssten ja auch der Tag 0-basiert sein. Dieser ist aber 1 basiert.
      Wie dem auch sei, so ist es bei Javascript laut Dokumentation. Wieder was dazu gelernt.

      posted in JavaScript
      J
      jeg
    • Einmaliger schedule-Auftrag

      Wenn ich einen einmaligen schedule-Auftrag habe, dann würde ich das nach der Dokumentation:
      Pattern can be a Javascript Date object (some specific time point) - in this case only it will be triggered only one time.
      mit einem Date-Objekt versuchen:

      schedule(new Date("2020-01-30 11:53:00"),()=>{
          log((new Date()).toString());
      })
      

      Allerdings wird das Ereignis jede Minute ausgeführt und hört auch nicht auf:

      Thu Jan 30 2020 11:53:00 GMT+0100 (GMT+01:00)
      Thu Jan 30 2020 11:54:00 GMT+0100 (GMT+01:00)
      Thu Jan 30 2020 11:55:00 GMT+0100 (GMT+01:00)
      

      Muss ich noch etwas anderes angeben, damit das Ereignis nur einmal ausgelöst wird oder stimmt an dieser Stellte die Dokumentation nicht?

      posted in JavaScript
      J
      jeg
    • RE: Datums Interpretation Fehlerhaft

      @Homoran
      Manchmal ist man echt blind. Danke. Aber ganz so ist es auch wieder nicht

      new Date(year, monthIndex [, day [, hour [, minutes [, seconds [, milliseconds]]]]]);

      Es kommt schon zuerst der Monat, aber anders, als ich erwartet hatte:

      Das Argument monthIndex ist 0-basiert. Das bedeutet, dass 0 = Januar und 11 = Dezember ist.
      Anmerkung: Wenn Date als Konstruktor mit mehr als einem Argument aufgerufen wird und die übergebenen Werte größer als ihr logischer Bereich sind (z. B. 13 wird als Monat genutzt oder 70 wird als Minutenwert eingesetzt) wird der angrenzende Wert angepasst. Z. B. ist new Date(2013, 13, 1) äquivalent zu new Date(2014, 1,)

      posted in JavaScript
      J
      jeg
    • Datums Interpretation Fehlerhaft

      Ich kämpfe mit fehlerhaften Verhalten bei Datum. Mir ist rätselhaft, was hier eigentlich falsch läuft. Ein Beispiel:

      var lDate1=new Date(2020,1,30,7,52,0);
      var lDate2=new Date("2020-01-30 07:52:00");
      log(lDate1.toString()); // Sun Mar 01 2020 07:52:00 GMT+0100 (GMT+01:00)
      log(lDate2.toString()); // Thu Jan 30 2020 07:52:00 GMT+0100 (GMT+01:00)
      

      Wie man sieht, werden im ersten Fall die Daten falsch interpretiert. Das gleiche passiert auch bei schedule:

      schedule({year:2020,month:1,date:30,hour:11,minute:34,second:0},()=>{
          log((new Date().toString()));
      })
      

      Wenn ich hier das korrekte Datum angebe, dann wird das Ereignis nicht ausgelöst. Weil vermutlich der Monat nicht korrekt interpretiert wird.
      Ob das hiermit im Zusammenhang steht, kann ich zwar nicht sagen, aber ich ebenfalls festgestellt, das bei einem schedule-Auftrag die Wochentagsvorgabe nicht mehr so funktioniert, wie in der Dokumentation bzw. wie sie noch letztes Jahr funktioniert hat. Laut Dokumentation sollte der Sonntag mit 0 oder 7 codiert werden können. Aber die 7 funktioniert nicht mehr seit einem Update Ende Dezember. Zum Leidwesen meiner Tochter, denn ihr Zimmer blieb zweimal kalt, weil der schedule-Auftrag am Sonntag mit 7 nicht ausgeführt wurde.

      posted in JavaScript
      J
      jeg
    • node-red Visualisierung nach Startup

      Ich habe ein Problem nach der Initialisierung beim Start eines Flows oder des Servers. In Node-Red werden die Nachrichten nur bei Änderung aus dem IO-Broker In-Node gelesen. Wenn der Flow aber startet, dann wird das Dashboard nicht richtig darsgestellt. Wenn ich dort einen Switch habe, der den Status einer Variablen (in meinem Fall von einem Shelly-Plug-S) darstellt, dann verbleibt der Switch nach dem Start auf OFF auch wenn die Variable auf True steht. Lässt sich irgendwo einstellen, das beim Start ein Node seine Statuswert weitergibt?

      posted in Node-Red
      J
      jeg
    • RE: [Aufruf] Test Shelly Adapter

      @Stuebi Das hat funktioniert 👍 👏 . Gute Arbeit.

      posted in Tester
      J
      jeg
    • RE: [Aufruf] Test Shelly Adapter

      Ich hoffe, ich habe das so gemacht, wie du das wolltest.
      2019-05-18 20:33:58.894 - info: shelly.0 CoAP Info : [[0,111,0],[0,112,1]]
      2019-05-18 20:34:00.201 - info: shelly.0 CoAP Info : [[0,111,0],[0,112,0]]
      2019-05-18 20:34:01.191 - info: shelly.0 CoAP Info : [[0,111,0],[0,112,1]]
      2019-05-18 20:34:02.126 - info: shelly.0 CoAP Info : [[0,111,0],[0,112,0]]
      2019-05-18 20:34:03.739 - info: shelly.0 CoAP Info : [[0,111,0],[0,112,1]]
      2019-05-18 20:34:04.590 - info: shelly.0 CoAP Info : [[0,111,0],[0,112,0]]

      posted in Tester
      J
      jeg
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo