NEWS
wo kann ich Abfragen welche Adapter aktuell laufen ?
-
@luder Nein ich sehe gerade es funktioniert direkt mit dem alive Datenpunkt.
Also mit dieser Subscription bekommst Du den Status:
system.adapter.*.alive
In NodeRed geht das dann leicht zu sammeln und in einen Datenpunkt zu schreiben:
Das ging eine Zeitlang nicht - scheint aber nun zu gehen - das Objekt kann man dann als ein JSON wegschreiben:
{ "yahka.0": true, "sql.0": true, "simple-api.0": true, "mqtt.1": true, "mercedesme.0": true, "socketio.0": true, "javascript.0": true, "ping.0": true, "tuya.0": true, "pi-hole.0": true, "sourceanalytix.0": true, "node-red.0": true, "info.0": true, "web.0": true, "admin.0": true, "mqtt.2": true, "backitup.0": true, "node-red.1": true, "linux-control.0": true, "tr-064.0": true }
-
@mickym sagte in wo kann ich Abfragen welche Adapter aktuell laufen ?:
Danke für deine Mühe, aber bei nodered stehe ich erst mal auf dem Schauch.
Die Bausteine msg.topic und join finde ich bei mir garnicht. Da müsste ich mich dann erst mal einarbeiten. Weis auch nicht wo ich deinen Beispieltext einbinden müsste. -
@luder Na Ich mach Dir den Flow fertig - dann musst den nur importieren und er schreibt Dir den Adapterstatus in einen Datenpunkt.
So Du musst nur den Flow hier importieren:
und den Datenpunkt unter 0_userdata.0.adapter_alive erstellen.
Dann wird Dir dort der Status als JSON weggeschrieben:
Den kannst dann mit Deiner Logikmaschine wieder analysieren. Ich kann den Flow aber auch vervollständigen, dass in einem Datenpunkt false rein geschrieben wird, wenn ein Adapter nicht läuft.
Wenn Du nicht weisst wie Du den Flow importierst, dann einfach den Code in die Zwischenablage kopieren:
Auf Import
Den Inhalt der Zwischenablage hier reinkopieren
und dann auf Deploy und übernehmen. Wie gesagt vorher noch den Datenpunkt unter 0_userdata.0 anlegen.Ich schau mal, ob ich es mit JS noch hinbekomme - aber das tut im Moment nicht.
-
@mickym Vielen Dank, Du bist ja heute mein Weihnachtsmann
Vom Prinzip läuft es schon. Das steht jetz alles in diesem Json File.
Könnte man das ggf. auch noch so machen, das es direkt in einem entsprechenden Datenpunkt landet (wie Du ja oben schon angedeutet hast).
Die Datenpunkte müsste ich dann wahrscheinlich entsprechend erstellen.Eine blöde Frage noch, warum tauchen denn diese Objekte nicht direkt im iobroker unter Objekte auf?
-
@luder Klar kann ich machen - aber dann hast Du ja nichts anderes als Du jetzt schon mit dem alive Datenpunkt hast. Ich kann Dir auch alles in einzelne Datenpunkte schreiben lassen, aber was für einen Gewinn hättest Du davon? Dann kannst Du doch gleich die Datenpunkte direkt abfragen, oder?
-
@luder sagte in wo kann ich Abfragen welche Adapter aktuell laufen ?:
Eine blöde Frage noch, warum tauchen denn diese Objekte nicht direkt im iobroker unter Objekte auf?
Doch mach mal den Expertenmodus an:
-
So mit JS habe ich zumindest nun die subscription hinbekommen. Das spukt Dir den Adapterstatus nun aus den subscriptions aus:
on({id:/system\.adapter\..*\.alive/, change:'any'}, function (obj) { var value = obj.state.val; console.log(obj.id); console.log(value); });
Also wie gesagt einzelne Datenpunkte hast Du ja bereits.
-
@mickym Vielen Dank, jetzt habe ich alles zusammen und geht so wie ich es mit vorgstellt habe und wieder was dazu gelernt.
Wünsche Dir noch einen schöne 2ten Weihnachstag.
-
So der Vollständigkeit halber - hier alles in JS, was ich vorher über den NodeRed Flow gemacht habe.
var adapters = {}; on({id:/system\.adapter\..*\.alive/, change:'any'}, function (obj) { var value = obj.state.val; var key = obj.id.replace(/system\.adapter\.(.*)\.alive$/,'$1'); adapters[key] = value; setState('0_userdata.0.adapter_alive', JSON.stringify(adapters), true); // console.log(adapters); });
schreibt wie gesagt einen JSON von allen Adapterstatus in einen Datenpunkt:
{ "yahka.0": true, "sql.0": true, "simple-api.0": true, "mqtt.1": true, "mercedesme.0": true, "socketio.0": true, "javascript.0": true, "ping.0": true, "tuya.0": true, "pi-hole.0": true, "sourceanalytix.0": true, "node-red.0": true, "info.0": true, "web.0": true, "admin.0": true, "mqtt.2": true, "backitup.0": true, "node-red.1": true, "linux-control.0": true, "tr-064.0": true }
-
Schau mal in meinen Signatur.
Da verlinke ich zu ein paar Tabellen von mir.Da ist auch eine für Adapter bei.
Sollte eigentlich in jede Visualisierung einzubinden sein.Dann hat man es bei Bedarf direkt schön vor sich.