NEWS

State Ordner von zwei Lampen syncen



  • @jlssmt sagte in State Ordner von zwei Lampen syncen:

    einzeln geht alles. Aber ich find das schon sehr unschön mit 16 subscriptions pro Zimmer.

    Hast du den alternativen Vorschlag mit dem $Selector gesehen ? (habe ich nachträglich hinzu gefügt)


  • Starter

    @paul53

    Hab ich natürlich nicht gesehen 😄
    Den kannte ich nicht. Find ich geil. Genau für so ne Info hab ich die Frage gestellt. Danke 🙂

    Edith: Werden ja trotzdem 8 Subscriptions erstellt. Weißt du zufällig auch ob viele Subscriptions Auswirkungen auf Performanz bzw. RAM hat? Gurk hier noch mit nem rpi3 rum und da läuft nicht nur ioBroker drauf 😄



  • @jlssmt sagte:

    Werden ja trotzdem 8 Subscriptions erstellt. Weißt du zufällig auch ob viele Subscriptions Auswirkungen auf Performanz bzw. RAM hat?

    Ja, natürlich werden im Hintergrund 8 Subscriptions erstellt, die alle RAM verbrauchen. Die CPU-Last wird durch die Häufigkeit der Trigger-Ereignisse bestimmt und sollte kein Problem sein.



  • @jlssmt sagte:

    mit 16 subscriptions pro Zimmer.

    Wenn die Synchronisation in beide Richtungen erfolgen soll, sollte man als Quelle des Triggers die Javascript-Instanz ausschließen, damit nicht unnötig gesendet wird.

    const jsi = 'system.adapter.javascript.' + instance;
    
    $('yeelight-2.0.bslamp2.control.*').on(function(dp) {
       if(dp.state.from != jsi) {
          let id = dp.id.replace('bslamp2', 'color');
          setState(id, dp.state.val);
       }
    });
    
    $('yeelight-2.0.color.control.*').on(function(dp) {
       if(dp.state.from != jsi) {
          let id = dp.id.replace('color', 'bslamp2');
          setState(id, dp.state.val);
       }
    });
    


  • @jlssmt
    Da müsste doch ein DP zum synchron laufen genügen und am allereinfachsten geht das mit Blockly und dem Block:
    2f968002-b4f5-4d91-905e-dfcfd1ea3d8e-grafik.png
    Soll das ganze in beide Richtungen laufen,, einfach den Block doppelt und die DP tauschen.



  • @Jan1

    on(id1, id2);
    

    Und mit Änderungen ist es der selbe Code der schon oben gepostet wurde.

    on({id: 'Object ID 1', change: "ne"}, function (obj) {
      setState('Object ID 2', obj.state.val);
    });
    


  • @ticaki
    Nur dass ich mit Blockly nicht mal tippen muss 😉


  • Starter

    @paul53 said in State Ordner von zwei Lampen syncen:

    Wenn die Synchronisation in beide Richtungen erfolgen soll, sollte man als Quelle des Triggers die Javascript-Instanz ausschließen, damit nicht unnötig gesendet wird.

    Habe ich verstanden und ergänzt, danke. Werd es testen und melde mich, wenns Probleme gibt, die ich selbst nicht lösen kann. Bisher siehts aber gut aus.

    //

    @Jan1 said in State Ordner von zwei Lampen syncen:

    Nur dass ich mit Blockly nicht mal tippen muss 😉

    Ich denke wir müssen jetzt keine Grundsatzdiskussion "Blockly vs. Plain JS" lostreten 😉



  • @jlssmt
    Nö, weil ich von Java Script kein Plan habe und das mit Blockly, wie Du schon erkannt hast es der selbe Code ist und ich eben schneller klicke als tippe 🙂


  • Starter

    @Jan1 said in State Ordner von zwei Lampen syncen:

    Nö, weil ich von Java Script kein Plan habe und das mit Blockly, wie Du schon erkannt hast es der selbe Code ist und ich eben schneller klicke als tippe 🙂

    Ich habs ja nicht umsonst in das JavaScript Forum und nicht ins Blockly Forum gepostet 😉

    @paul53
    Zu früh gefreut 😄 Meine Bedside Lamp 2 oder der Yeelight Adapter hat einen Bug, den ich vorher nicht gesehen hatte.
    bslamp2 schaltet (warum auch immer) ab und an den value power auf false, geht aber nicht aus. Die zweite Lampe dann natürlich schon... Paar sec später geht der value dann wieder auf true und die zweite Lampe wieder an.
    Sehr weird das ganze und so für mich keine Lösung.
    Rot rechts ist die "from" Spalte. Kommt also nicht von JS sondern vom Adapter/ der Lampe...
    1268e427-91c1-45d4-b5cb-95dc283240bc-image.png


Log in to reply
 

Suggested Topics

  • 3
  • 17
  • 10
  • 3
  • 1
  • 20
  • 36
  • 4

1.2k
Online

32.4k
Users

39.0k
Topics

528.1k
Posts