Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. subscribe dynamisch erstellen?

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    15
    1
    655

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    632

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

subscribe dynamisch erstellen?

Geplant Angeheftet Gesperrt Verschoben JavaScript
3 Beiträge 3 Kommentatoren 259 Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • Dominic ReberD Offline
    Dominic ReberD Offline
    Dominic Reber
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen

    Ich schreibe gerade meine eigene Shelly-Strommessung/Speicherung für Tag-/Nachtstrom etc...
    Das funktioniert auch ganz ok, aber ich möchte, falls ich einen neuen Shelly hinzufüge, dies dynamisch hinzufügen.
    Dazu muss ich einen Wert subscriben - nur sollte das dynamisch sein, also sobald ein neuer Shelly da ist, soll auch auf diesen Wert "gehört" werden.

    Statisch geht das ja so:

    on({id: 'irgendwas', change: "ne"}, function (obj){
    })
    

    Nun müsste ich, aus einer funktion raus, sobald ich merke, dass ein neuer Shelly da ist, diese subscription machen für den neuen Shelly...

    Aus einer Funktion raus kann ich ja alle Shellys abrufen und dann auch vergleichen, ob einer neu ist:

    $('shelly.*.*.Relay0.Energy').each(function(id) { 
    ....
       if(istNeu){
          subscribe-Logik();
       }
    }
    

    Brauchen tue ich das, weil der Shelly seinen Energy-Wert auf 0 setzt, sobald er Stromlos ist - das muss ich abfangen können.

    Geht das irgendwie?

    Danke

    mickymM paul53P 2 Antworten Letzte Antwort
    0
    • Dominic ReberD Dominic Reber

      Hallo zusammen

      Ich schreibe gerade meine eigene Shelly-Strommessung/Speicherung für Tag-/Nachtstrom etc...
      Das funktioniert auch ganz ok, aber ich möchte, falls ich einen neuen Shelly hinzufüge, dies dynamisch hinzufügen.
      Dazu muss ich einen Wert subscriben - nur sollte das dynamisch sein, also sobald ein neuer Shelly da ist, soll auch auf diesen Wert "gehört" werden.

      Statisch geht das ja so:

      on({id: 'irgendwas', change: "ne"}, function (obj){
      })
      

      Nun müsste ich, aus einer funktion raus, sobald ich merke, dass ein neuer Shelly da ist, diese subscription machen für den neuen Shelly...

      Aus einer Funktion raus kann ich ja alle Shellys abrufen und dann auch vergleichen, ob einer neu ist:

      $('shelly.*.*.Relay0.Energy').each(function(id) { 
      ....
         if(istNeu){
            subscribe-Logik();
         }
      }
      

      Brauchen tue ich das, weil der Shelly seinen Energy-Wert auf 0 setzt, sobald er Stromlos ist - das muss ich abfangen können.

      Geht das irgendwie?

      Danke

      mickymM Offline
      mickymM Offline
      mickym
      Most Active
      schrieb am zuletzt editiert von mickym
      #2

      @dominic-reber Ehrlich gesagt verstehe ich Dich nicht. Wenn Du mit * subscribst, kann Dir das doch egal sein, ob alt oder neu. Der neue ist in jedem Fall mit dabei und kann doch dann wie die alten gelesen werden???? Es wird immer auf alle gehört und zwar dynamisch.

      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

      1 Antwort Letzte Antwort
      0
      • Dominic ReberD Dominic Reber

        Hallo zusammen

        Ich schreibe gerade meine eigene Shelly-Strommessung/Speicherung für Tag-/Nachtstrom etc...
        Das funktioniert auch ganz ok, aber ich möchte, falls ich einen neuen Shelly hinzufüge, dies dynamisch hinzufügen.
        Dazu muss ich einen Wert subscriben - nur sollte das dynamisch sein, also sobald ein neuer Shelly da ist, soll auch auf diesen Wert "gehört" werden.

        Statisch geht das ja so:

        on({id: 'irgendwas', change: "ne"}, function (obj){
        })
        

        Nun müsste ich, aus einer funktion raus, sobald ich merke, dass ein neuer Shelly da ist, diese subscription machen für den neuen Shelly...

        Aus einer Funktion raus kann ich ja alle Shellys abrufen und dann auch vergleichen, ob einer neu ist:

        $('shelly.*.*.Relay0.Energy').each(function(id) { 
        ....
           if(istNeu){
              subscribe-Logik();
           }
        }
        

        Brauchen tue ich das, weil der Shelly seinen Energy-Wert auf 0 setzt, sobald er Stromlos ist - das muss ich abfangen können.

        Geht das irgendwie?

        Danke

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von paul53
        #3

        @dominic-reber sagte: Aus einer Funktion raus kann ich ja alle Shellys abrufen und dann auch vergleichen, ob einer neu ist:

        Der $Selector erkennt keine neuen Datenpunkte, da er den Puffer der Javascript-Instanz verwendet. Eine Subscription mit RegExp erfasst neue Datenpunkte.

        on({id: /^shelly\..+\.Relay0\.Energy$/}, function(dp) {
            if(!ids.includes(dp.id)) { // DP ist neu
                ids.push(dp.id);
                ...
            }
        });
        

        Siehe hier

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        1 Antwort Letzte Antwort
        0
        Antworten
        • In einem neuen Thema antworten
        Anmelden zum Antworten
        • Älteste zuerst
        • Neuste zuerst
        • Meiste Stimmen


        Support us

        ioBroker
        Community Adapters
        Donate

        917

        Online

        32.6k

        Benutzer

        81.9k

        Themen

        1.3m

        Beiträge
        Community
        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
        ioBroker Community 2014-2025
        logo
        • Anmelden

        • Du hast noch kein Konto? Registrieren

        • Anmelden oder registrieren, um zu suchen
        • Erster Beitrag
          Letzter Beitrag
        0
        • Home
        • Aktuell
        • Tags
        • Ungelesen 0
        • Kategorien
        • Unreplied
        • Beliebt
        • GitHub
        • Docu
        • Hilfe