NEWS
Auswertung vieler "States" auf einmal.
-
Ich speichere einfach alle Zustände eines Typs oder was auch immer in einem topic oder DP in einen JSON bzw. einem Objekt. Alle Trigger laufen über Wildcards oder direkt in das Objekt, dass dann in Summe ausgewertet wird.
Mach das aber nicht mit Blockly.

Der Vorteil alles in einem Objekt zu speichern ist, dass Du den Zustand bei jedem Zustand sofort verfügbar hast und bei jedem Trigger - der Gesamtzustand sofort aktualisiert wird.
-
Ich speichere einfach alle Zustände eines Typs oder was auch immer in einem topic oder DP in einen JSON bzw. einem Objekt. Alle Trigger laufen über Wildcards oder direkt in das Objekt, dass dann in Summe ausgewertet wird.
Mach das aber nicht mit Blockly.

Der Vorteil alles in einem Objekt zu speichern ist, dass Du den Zustand bei jedem Zustand sofort verfügbar hast und bei jedem Trigger - der Gesamtzustand sofort aktualisiert wird.
@mickym sagte in Auswertung vieler "States" auf einmal.:
Mach das aber nicht mit Blockly.
Was meinst Du damit?
Ich habe jetzt folgendes versucht.

Wenn ich die Leuchte schalte, passiert aber mit dem Datenpunkt nichts. Was mache ich falsch?
(Ich habe eine Lampe genommen, weil es schneller geht als mit einem Ventil) -
@mickym sagte in Auswertung vieler "States" auf einmal.:
Mach das aber nicht mit Blockly.
Was meinst Du damit?
Ich habe jetzt folgendes versucht.

Wenn ich die Leuchte schalte, passiert aber mit dem Datenpunkt nichts. Was mache ich falsch?
(Ich habe eine Lampe genommen, weil es schneller geht als mit einem Ventil)@beowolf sagte in Auswertung vieler "States" auf einmal.:
Ich habe jetzt folgendes versucht.
was ist das?
-
@beowolf sagte in Auswertung vieler "States" auf einmal.:
Ich habe jetzt folgendes versucht.
was ist das?
Ich habe unter 0_userdata.0 einen Ordner "devicesOnline Heizkörper" angelegt.
(0_userdata.0.devicesOnline.Heizkörper)
Dort habe ich einen Datenpunkt mit Zustandstyp json angelegt. "Ventilstellung"
In diesen Datenpunkt habe ich dann das eingefügt:
{ "Schreibtischleuchte POWER": true }War nicht richtig?
-
Hallo zusammen,
ich möchte gerne folgendes.
Wenn alle Heizungen aus sind mache etwas. Oder wenn alle Fenster zu sind mache etwas.
Wie stelle ich das an? Kann man eine "Liste" erstellen die dann als "eine" Einheit betrachtet wird die dann "einen" Zustand einnimmt?
Grüße
Manfred@beowolf
Wenn das nicht unendlich lange Listen sind die da zusammengefasst werden sollen, kann man das mit Blockly mMn so lösen:
Alternativ kann man auch mit dem Szenen-Adapter arbeiten und Szenen anlegen und dann auf den Status einer Szene triggern.
-
@mickym sagte in Auswertung vieler "States" auf einmal.:
Mach das aber nicht mit Blockly.
Was meinst Du damit?
Ich habe jetzt folgendes versucht.

Wenn ich die Leuchte schalte, passiert aber mit dem Datenpunkt nichts. Was mache ich falsch?
(Ich habe eine Lampe genommen, weil es schneller geht als mit einem Ventil)@beowolf Na wie gesagt ich mache es mit NodeRed - da ist es einfach solche Objekte dynamisch zu erstellen und auszuwerten. Mit dem Blockly ist mir das fast zu mühselig, aber ich habs mal versucht. Sprich, dass was Du manuell gemacht hast, musst Du halt mit Deinem Blockly bauen.
Ich habe mal zur Veranschaulichung 2 meiner Küchengeräte genommen:

Den Status erhälst Du auch in einem Blockly über einen Trigger oder den Namen der ID.
Ich machs bei mir mal mit einem Wasserkocher und meiner Kaffeemaschine. ;){ object-ID: true, object-ID: false }das Blockly erstellt aus Deinen Trigger (wie beispielsweise @beowolf) gezeigt hat so ein Objekt:

In dem Fall muss man wohl immer wieder auf Javascript zurückgreifen. Mit den Puzzleteilchen alleine schaffe ich es nicht. ;)
Man könnte nun die Objekt-ID in dem Blockly noch verschönern, aber lassen wir das mal. Aus dem oberen Blockly mit diesen beiden Beispielen wird also so ein Objekt erzeugt:

und durch die trigger automatisch aktualisiert.
Mit einem 2. Blockly - kann man glaub auch in das selbe machen ermittelst Du nun den Gesamtstatus und kannst dann darauf reagieren.
-
@beowolf Na wie gesagt ich mache es mit NodeRed - da ist es einfach solche Objekte dynamisch zu erstellen und auszuwerten. Mit dem Blockly ist mir das fast zu mühselig, aber ich habs mal versucht. Sprich, dass was Du manuell gemacht hast, musst Du halt mit Deinem Blockly bauen.
Ich habe mal zur Veranschaulichung 2 meiner Küchengeräte genommen:

Den Status erhälst Du auch in einem Blockly über einen Trigger oder den Namen der ID.
Ich machs bei mir mal mit einem Wasserkocher und meiner Kaffeemaschine. ;){ object-ID: true, object-ID: false }das Blockly erstellt aus Deinen Trigger (wie beispielsweise @beowolf) gezeigt hat so ein Objekt:

In dem Fall muss man wohl immer wieder auf Javascript zurückgreifen. Mit den Puzzleteilchen alleine schaffe ich es nicht. ;)
Man könnte nun die Objekt-ID in dem Blockly noch verschönern, aber lassen wir das mal. Aus dem oberen Blockly mit diesen beiden Beispielen wird also so ein Objekt erzeugt:

und durch die trigger automatisch aktualisiert.
Mit einem 2. Blockly - kann man glaub auch in das selbe machen ermittelst Du nun den Gesamtstatus und kannst dann darauf reagieren.
-
@beowolf Der Vollständigkeit will ich Dir das vollständige Blockly über das Objekt noch zeigen - ist eigentlich nicht weiter schwierig, da Du Dir nur einen Datenpunkt für den Gesamtstatus aussuchen musst und oben halt die ganzen Trigger.
Ich habe alles in ein Blockly gepackt, aber das funktioniert auch:

Sprich den Datenpunkt den Du mit dem Objekt beschreibst, triggert gleichzeitig und wertet aus. ;) In diesem Fall mit einer ODER verknüpfung. Das Schöne an dieser Variante ist, dass Du nicht wissen musst wieviele States Du miteinander verknüpfen musst:
Du siehst als ERGEBNIS hast Du immer, ob ein Geräte eingeschaltet ist oder alle ausgeschaltet sind, egal welches Gerät eingeschaltet ist:
Wenn Du dann im Blockly auch mit Wildcards triggern kannst, dann WÄRE es fast so einfach wie in NodeRed. ;)
Funktioniert halt nur mit true und false (also wahr und falsch). Wenn Du wissen willst, musst Du halt den Wert vorher wandeln. Als bei einer Heizung, wenn Ventilöffnung >0 dann true (wahr), wenn =0 dann false (falsch).
In dem Fall ist es ausreichend den Zahlenwert also die Ventilöffnung in einen Logikwert zu konvertieren:

da 0 automatisch auf false und jede Zahl ungleich 0 auf true konvertiert wird.
-
@beowolf
Wenn das nicht unendlich lange Listen sind die da zusammengefasst werden sollen, kann man das mit Blockly mMn so lösen:
Alternativ kann man auch mit dem Szenen-Adapter arbeiten und Szenen anlegen und dann auf den Status einer Szene triggern.
@badsnoopy667 sagte in Auswertung vieler "States" auf einmal.:
@beowolf
Wenn das nicht unendlich lange Listen sind die da zusammengefasst werden sollen, kann man das mit Blockly mMn so lösen:
Alternativ kann man auch mit dem Szenen-Adapter arbeiten und Szenen anlegen und dann auf den Status einer Szene triggern.
Das ist halt mE nicht das, da Du ja nur auf den EINEN Wert eines der von Dir angegebenen Objekte reagierst. Die Anforderung war aber, dass Du mit EINEM Trigger gleich den Gesamtstatus aller Objekte ermitteln kannst. Also wie in meinem Beispiel ist eines dieser Geräte EIN geschaltet oder sind ALLE ausgeschaltet. Das hätte ich mit der Auswertung VIELER States aufeinmal verstanden.
-
@badsnoopy667 sagte in Auswertung vieler "States" auf einmal.:
@beowolf
Wenn das nicht unendlich lange Listen sind die da zusammengefasst werden sollen, kann man das mit Blockly mMn so lösen:
Alternativ kann man auch mit dem Szenen-Adapter arbeiten und Szenen anlegen und dann auf den Status einer Szene triggern.
Das ist halt mE nicht das, da Du ja nur auf den EINEN Wert eines der von Dir angegebenen Objekte reagierst. Die Anforderung war aber, dass Du mit EINEM Trigger gleich den Gesamtstatus aller Objekte ermitteln kannst. Also wie in meinem Beispiel ist eines dieser Geräte EIN geschaltet oder sind ALLE ausgeschaltet. Das hätte ich mit der Auswertung VIELER States aufeinmal verstanden.
@mickym
Oh! Danke für den Hinweis. Ich war der Meinung, dass das Blockly erst triggert, wenn ALLE States false sind. Wenn dem nicht so ist, muss man das natürlich noch anpassen! Sorry! -
Ich habe unter 0_userdata.0 einen Ordner "devicesOnline Heizkörper" angelegt.
(0_userdata.0.devicesOnline.Heizkörper)
Dort habe ich einen Datenpunkt mit Zustandstyp json angelegt. "Ventilstellung"
In diesen Datenpunkt habe ich dann das eingefügt:
{ "Schreibtischleuchte POWER": true }War nicht richtig?
@beowolf sagte in Auswertung vieler "States" auf einmal.:
War nicht richtig?
keine Ahnung?
Was soll der DP bewirken?
eigene DP "tun" nichts.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden