NEWS
Gosund Verbindung MQTT
-
@ilovegym eventuell müsste man das auf mehrere Sonoff-Adapter verteilen ... aber wo bei einem System die magische Grenze liegt wüsste ich auch nicht. Ist dann halt umständlich.
Ich selbst mache es so: https://forum.iobroker.net/topic/48945/tasmota-steckdosen-per-mqtt-javascript-direkt-ansteuern/
Das hieße bei dir du 120x mal so ein Skript starten müsstest (ich habe auch Varianten für LED-Streifen usw).Vorteil bei mir ist das ich seit dem keine Performanceprobleme mehr habe mit den Tasmotas
-
@rushmed das hatte ich früher auch, (mit früher meine ich, als noch ne Fritzbox am Start war), geschultet dass das Netzwerk überlastet war bzw der Kanal, als die ein oder andere Wlan Cam dazu kam
ähnliches hatte ich kürzlich auch mit meinem Unifi, nach nem kompletten Upgrade(Firmeware) der Unifi Komponenten sowie Kanalverteilung läuft es nun wieder -
@bananajoe sagte in Gosund Verbindung MQTT:
120x mal so ein Skript starten müsstest
kann ja auch nicht die lösung sein. würde doch das gesammte system belasten. oder seh ich das falsch?
-
@da_woody die Skripte laufen ja nicht die ganze Zeit sondern stehen quasi auf Bereitschaft, erst wenn die getriggert werden machen die was.
Mein Javascript-Adapter verbraucht 220MByte, bei über 150 aktiven Scripten,Mein ioBroker ist eine Ubuntu-VM mit 3 CPU-Kernen (2.1GHz),
der iobroker.js-controller bei 1 bis 11.,7 % aus (das müsste aber ja der ioBroker selbst sein)
der io.javascript.0 liegt bei 2 bis 6 % Auslastung, -
@bananajoe sagte in Gosund Verbindung MQTT:
die Skripte laufen ja nicht die ganze Zeit sondern stehen quasi auf Bereitschaft
wahrscheindlich bin ich dafür wirklich zu dämlich. bereitschaft, ok, dann wird was überwacht. braucht doch auch systemzeit.
k, mit bißchen nachdenken, ein adapter macht das ja auch so. waiting for...
find aber, mit einem adapter ist es einfacher, als 120 scripte zu basteln...
vllt lieg ich da falsch, aber wenn alles über scripte geht, wozu dann adapter?
soll keine kritik sein, ich wills nur verstehen. fette hochachtung, der scripte/blocklys basteln kann! -
@Rushmed
Ich habe nur 3 Tasmota Geräte - aber ich nutze auch den mqtt Adapter in Kombination mit dem mosquitto Broker.
Ich hab auch immer gesagt wie @BananaJoe dass der Sonoff kein MQTT-Adapter ersetzt bzw. auch nicht ist - aber diese Kritik wird hier nicht gerne gesehen.@bananajoe sagte in Gosund Verbindung MQTT:
@rushmed wie viele Geräte hast du in Summe am Sonoff-Adapter und auf was für Hardware läuft dein ioBroker?
Der Sonoff-Adapter ist KEIN MQTT Broker, er simuliert nur einen für die Tasmota-Geräte. Ich verbreite hier Forum seit Tagen die These das der Adapter die Meldungen seriell abarbeitet und wenn zu viele in zu kurzer Zeit kommen ist er überfordert und Antwortet den MQTT-Clients = Tasmota nicht schnell genug.
Wenn du es einrichtest und alle nach und nach hinzufügst ist alles ok. Dann halte den Adapter mal 30 Sekunden an und danach versuchen quasi alle gleichzeitig sich beim Adapter anzumelden. Antwortet der mal nicht schnell genug versuchen die Tasmota-Geräte sich wieder einzuloggen und machen es eigentlich nur noch schlimmer ...
Ich nutze deshalb den Mosquitto-MQTT Broker, der kann das ab. Und die Auswertung (was der Sonoff-Adapter machen würde) per eigenes Skript - und zwar pro Gerät ein eigenes Skript.
Nach meiner Theorie das der Sonoff-Adapter seriell abarbeitet (weil ein Prozess) müsste man den ggf. mal umstricken das der einen Subprozess pro Gerät startet - falls das geht.Wenn Du mosquitto und den MQTT Adapter nutzt wie von @BananaJoe beschrieben, dann bekommst Du eigentlich schon alle Daten geliefert. Es geht in der Regel nur noch um die Datenpunkte unter dem cmnd Ast.
Ich nutze hier keine Skripts, sondern den Tasmota Device Manager.
https://github.com/jziolkowski/tdm/releases/tag/v0.2.11
Die Überwachung ist ja identisch - ob nun ein Datenpunkt im Sonoff Adapter oder im MQTT Adapter geändert wird ist ja egal.
Und die Werte aus den JSONs zu extrahieren, dass ist ja wohl easy:Im Übrigen braucht man zur Überwachung von 120 Geräten auch nicht 120 Skripte. In den meisten Logikmaschinen kann man mit Wildcards arbeiten, die triggern ein Skript/Flow - auch für 120 Geräte.
-
@mickym ich habe bei einer Autofahrt auch darüber nachgedacht ob nicht ein Skript alle Geräte abwickeln kann. Selbst wenn es länger dauert weil gerade 30 Geräte gleichzeitig was wollen ist das ja egal, der Mosquitto hat sich ja schon aus sicht der Tasmota-Geräte gekümmert.
Ich werde da.mal was testen
-
@bananajoe sagte in Gosund Verbindung MQTT:
@mickym ich habe bei einer Autofahrt auch darüber nachgedacht ob nicht ein Skript alle Geräte abwickeln kann. Selbst wenn es länger dauert weil gerade 30 Geräte gleichzeitig was wollen ist das ja egal, der Mosquitto hat sich ja schon aus sicht der Tasmota-Geräte gekümmert.
Ich werde da.mal was testen
Ja man muss ja auch nicht gleich ins andere Extrem verfallen. Wenn man eine Steckdose hat - dann wird sicher hauptsächlich der Power Datenpunkt interessant sein, bei Licht oder so noch was anderes. Ich wollte ja damit nur sagen, dass man weder zwingend 1 Skript noch 120 braucht - sondern vielleicht was dazwischen.
Meine MQTT Pfade sind halt wie folgt aufgebaut:
tasmota/%topic%/%prefix%/
ist nicht Standard aber das passt halt für mich besser.
So wenn ich jetzt alle POWER Datenpunkte nach meinem Schema in einem Skript abhandeln wollte, dann kann ich ja auf:
mqtt.0.tasmota.*.stat.power
oder in mqtt Schreibweise
tasmota/+/stat/power
überwachen bzw. subscriben. Über den topic muss ich halt den Wildcard wieder dem Gerät eindeutig zuordnen und dann ggf. agieren.
Standard ist glaub umgekehrt.
tasmota/%prefix%/%topic%/
dann wäre der Selektor halt
mqtt.0.tasmota.stat.*.POWER
-
@mickym mhh ganz so einfach wird das auch nicht. Ich habe da auch jede Menge Tasmota-Geräte dazwischen die keine Steckdosen etc. sind.
Also müsste ich mir eine Erkennung bauen oder am Anfang eine Liste welche Geräte berücksichtigt werden sollen.Eigentlich also den Sonoff-Adapter, nur das der nicht selbst MQTT macht sondern man ihn auf die Datenpunkte des MQTT-Adapters loslässt.
Pffffft klingt nach einem Adapter-Projekt ... ich baue mir erst einmal ein Skript-Prototyp dafür. Als erstes müsste ich testen ob das mit dem einem Skript dann so performt wie ich mir das vorstelle. Ich verarbeite ja bisher ja nicht nur die /stat/ sondern auch die /tele/ um zum Beispiel den Power-Status auch von Geräten zu bekommen die nie geschaltet werden.
Und dann muss auch noch die Firmware-Version berücksichtigt werden weil z.B. die INFO1 Meldung ab Firmware 9.5 anders aussieht als bis 9.3.1
Aber klingt nach einem machbaren Projekt in welchen ich meine JavaScript Kenntnisse vertiefen könnte.
-
@bananajoe Na aber das ist doch egal - auch tele DP - kannst ja alles mit Wildcard triggern lassen. Also wie gesagt meine Anregung war ja nur - nicht alles (120 Skripte) oder eins, sondern halt vielleicht eine funktionale Zusammenstellung. Letztlich kannst ja bei Deinen einzelnen Skripten bleiben oder auch nur eines nutzen.
Die tele Punkte sind bei mir ja bei jedem Device dieselben: