Mqtt Plugin

Fragen und Antwort rund um Erweiterungen von Drittanbietern. Posting ist ohne Anmeldung erlaubt.
maddig112

Re: Mqtt Plugin

Beitrag von maddig112 » 12. Jun 2020, 17:53

Hallo,

ich bräuchte dieses Plugin auch.

Mir geht es genauso. Ich kopier die Datei ins Verzeichnis, habe aber nicht die Wahl das Plugin zu aktivieren.
Es wird auch nicht angezeigt. Den Haken bei "Nur signierte Plugins laden" ist schon raus.

Gruß, maddig

maddig112

Re: Mqtt Plugin

Beitrag von maddig112 » 12. Jun 2020, 17:58

Hier noch die LogEinträge die beim Laden von dem Plugin kommen:

Code: Alles auswählen

12.06.2020 18:00:08 core, LoadPlugins() Loading Plugin "mqtt"
12.06.2020 18:00:08 core, LoadPlugins() Exception: System.TypeLoadException: Die Methode "get_Category" im Typ "BlubbFish.BosmonMqtt.Controller.MqttActionProvider" der Assembly "BosmonMqtt, Version=1.4.0.0, Culture=neutral, PublicKeyToken=null" hat keine Implementierung.
12.06.2020 18:00:08 core, LoadPlugins() Exception: System.TypeLoadException: Die Methode "EditAction" im Typ "BlubbFish.BosmonMqtt.Controller.MqttActionSettings" der Assembly "BosmonMqtt, Version=1.4.0.0, Culture=neutral, PublicKeyToken=null" hat keine Implementierung.
12.06.2020 18:00:08 core, LoadPlugins() Could not load Plugin "mqtt", Error System.IO.FileLoadException: Die Datei oder Assembly "file:///C:\Program Files (x86)\BosMon\plugins\mqtt.dll" oder eine Abh?ngigkeit davon wurde nicht gefunden. Der Vorgang wird nicht unterst?tzt. (Ausnahme von HRESULT: 0x80131515)
Dateiname: "file:///C:\Program Files (x86)\BosMon\plugins\mqtt.dll" ---> System.NotSupportedException: Es wurde versucht, eine Assembly von einer Netzwerkadresse zu laden, was in fr?heren Versionen von .NET Framework zum Ausf?hren der Assembly als Sandkastenassembly gef?hrt h?tte. In dieser Version von .NET Framework wird die CAS-Richtlinie standardm??ig nicht aktiviert, dieser Ladevorgang kann daher gef?hrlich sein. Wenn Sie nicht beabsichtigen, durch diesen Ladevorgang eine Sandkastenassembly zu erstellen, aktivieren Sie den loadFromRemoteSources-Schalter. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkId=155569".
   bei System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   bei System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   bei System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   bei System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)
   bei System.Reflection.Assembly.LoadFrom(String assemblyFile)
   bei #=z7l1GLnKcz_COy0hLRudmowE=.#=ziOegc$0POe6w(String #=zfzuet7I=, String #=zN$cEkPw=)
   bei #=z7l1GLnKcz_COy0hLRudmowE=.#=zeuGeCbnpDT10(Boolean #=zXv4tJVP8n67U)

, Die Datei oder Assembly "file:///C:\Program Files (x86)\BosMon\plugins\mqtt.dll" oder eine Abh?ngigkeit davon wurde nicht gefunden. Der Vorgang wird nicht unterst?tzt. (Ausnahme von HRESULT: 0x80131515):    bei System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   bei System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   bei System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   bei System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)
   bei System.Reflection.Assembly.LoadFrom(String assemblyFile)
   bei #=z7l1GLnKcz_COy0hLRudmowE=.#=ziOegc$0POe6w(String #=zfzuet7I=, String #=zN$cEkPw=)
   bei #=z7l1GLnKcz_COy0hLRudmowE=.#=zeuGeCbnpDT10(Boolean #=zXv4tJVP8n67U)

NewWave
Beiträge: 128
Registriert: 29. Dez 2013, 21:13

Re: Mqtt Plugin

Beitrag von NewWave » 13. Jun 2020, 09:49

Hallo zusammen,

da BlubbFish den Quellcode zur Verfügung gestellt hat, habe ich mich ran gesetzt und die DLL neu kompiliert. Das PlugIn taucht jetzt auf und auch die Einstellungen können getätigt werden. Jedoch gibt es noch einen Fehler beim Hinzufügen des Ereignisses. Sobald ich das gelöst habe bekommt ihr die DLLs ;-)
zum Testen.

Gruß

NewWave
Dir gefällt das Mqtt-PlugIn, dann freue ich mich immer über etwas für die Kaffeekasse: PayPal-Link :D

NewWave
Beiträge: 128
Registriert: 29. Dez 2013, 21:13

Re: Mqtt Plugin

Beitrag von NewWave » 13. Jun 2020, 14:34

Hallo zusammen,

nachfolgend das Plugin für MQTT:
BosmonMqtt.zip
BsomonMqtt Version 6
(64.77 KiB) 354-mal heruntergeladen
alle 3 DLLs in das Verzeichnis BosMon\plugins kopieren. Es wird dotNet Version 4.6 benötigt.

In den Einstellungen unter MQTT kann der Server angegeben werden und bei den Telegrammereignissen unter "Lokal" findet ihr dann das MQTT Bridge.

Bei Fragen und/oder Problem gerne melden. Bitte bedenkt dass es original von BlubbFish stammt und ich es nur für die BosMon Version 1.5 angepasst habe.

Gruß

NewWave
Dir gefällt das Mqtt-PlugIn, dann freue ich mich immer über etwas für die Kaffeekasse: PayPal-Link :D

maddig112

Re: Mqtt Plugin

Beitrag von maddig112 » 13. Jun 2020, 17:54

Hi,

ich finde es Hammer dass du dich da ransetzt und das anpasst. Ist ja vor allem für Hausautomation echt mega nützlich.

Habs gerade ausprobiert. Bei mir erscheint es leider nicht in der Plugin Liste.

- "Nur signierte Plugins laden" -> Haken raus
- BM Version: 1.5.2.2085 installiert
- dotNET 4.6 installiert (Meldung kommt das ein neuers Update schon installiert ist)
- Zip ordentlich entpackt etc.

Folgende Fehler taucht im Log auf, wenn ich die 3 Dateien ins Verzeichnis kopiere und danach BM starte:

Code: Alles auswählen

13.06.2020 17:53:15 core, LoadPlugins() Loading Plugin "BosmonMqtt"
13.06.2020 17:53:15 core, LoadPlugins() Could not load Plugin "BosmonMqtt", Error System.IO.FileLoadException: Die Datei oder Assembly "file:///C:\Program Files (x86)\BosMon\plugins\BosmonMqtt.dll" oder eine Abh?ngigkeit davon wurde nicht gefunden. Der Vorgang wird nicht unterst?tzt. (Ausnahme von HRESULT: 0x80131515)
Dateiname: "file:///C:\Program Files (x86)\BosMon\plugins\BosmonMqtt.dll" ---> System.NotSupportedException: Es wurde versucht, eine Assembly von einer Netzwerkadresse zu laden, was in fr?heren Versionen von .NET Framework zum Ausf?hren der Assembly als Sandkastenassembly gef?hrt h?tte. In dieser Version von .NET Framework wird die CAS-Richtlinie standardm??ig nicht aktiviert, dieser Ladevorgang kann daher gef?hrlich sein. Wenn Sie nicht beabsichtigen, durch diesen Ladevorgang eine Sandkastenassembly zu erstellen, aktivieren Sie den loadFromRemoteSources-Schalter. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkId=155569".
   bei System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   bei System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   bei System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   bei System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)
   bei System.Reflection.Assembly.LoadFrom(String assemblyFile)
   bei #=z7l1GLnKcz_COy0hLRudmowE=.#=ziOegc$0POe6w(String #=zfzuet7I=, String #=zN$cEkPw=)
   bei #=z7l1GLnKcz_COy0hLRudmowE=.#=zeuGeCbnpDT10(Boolean #=zXv4tJVP8n67U)

, Die Datei oder Assembly "file:///C:\Program Files (x86)\BosMon\plugins\BosmonMqtt.dll" oder eine Abh?ngigkeit davon wurde nicht gefunden. Der Vorgang wird nicht unterst?tzt. (Ausnahme von HRESULT: 0x80131515):    bei System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   bei System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   bei System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   bei System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)
   bei System.Reflection.Assembly.LoadFrom(String assemblyFile)
   bei #=z7l1GLnKcz_COy0hLRudmowE=.#=ziOegc$0POe6w(String #=zfzuet7I=, String #=zN$cEkPw=)
   bei #=z7l1GLnKcz_COy0hLRudmowE=.#=zeuGeCbnpDT10(Boolean #=zXv4tJVP8n67U)
   
13.06.2020 17:53:15 core, LoadPlugins() Could not load Plugin "LitJSON", Error BosMon.Exceptions.BosMonPluginException: Plugin invalid
   bei #=z7l1GLnKcz_COy0hLRudmowE=.#=ziOegc$0POe6w(String #=zfzuet7I=, String #=zN$cEkPw=)
   bei #=z7l1GLnKcz_COy0hLRudmowE=.#=zeuGeCbnpDT10(Boolean #=zXv4tJVP8n67U), Plugin invalid:    bei #=z7l1GLnKcz_COy0hLRudmowE=.#=ziOegc$0POe6w(String #=zfzuet7I=, String #=zN$cEkPw=)
   bei #=z7l1GLnKcz_COy0hLRudmowE=.#=zeuGeCbnpDT10(Boolean #=zXv4tJVP8n67U)
13.06.2020 17:53:15 core, LoadPlugins() Loading Plugin "M2Mqtt.Net"
13.06.2020 17:53:15 Exception,  Message: Plugin invalid, StackTrace: 
13.06.2020 17:53:15 core, LoadPlugins() Could not load Plugin "M2Mqtt.Net", Error BosMon.Exceptions.BosMonPluginException: Plugin invalid
   bei #=z7l1GLnKcz_COy0hLRudmowE=.#=ziOegc$0POe6w(String #=zfzuet7I=, String #=zN$cEkPw=)
   bei #=z7l1GLnKcz_COy0hLRudmowE=.#=zeuGeCbnpDT10(Boolean #=zXv4tJVP8n67U), Plugin invalid:    bei #=z7l1GLnKcz_COy0hLRudmowE=.#=ziOegc$0POe6w(String #=zfzuet7I=, String #=zN$cEkPw=)
   bei #=z7l1GLnKcz_COy0hLRudmowE=.#=zeuGeCbnpDT10(Boolean #=zXv4tJVP8n67U)
Vielen Vielen Dank, dass du dir der Sache annimmst.

Gruß maddig

maddig112

Re: Mqtt Plugin

Beitrag von maddig112 » 13. Jun 2020, 18:19

Ok, Kommando zurück. Auf meinem Server wo es produktiv ist geht es. Ich schätze ich hab auf meinem Laptop irgendeinen Versions WirrWarr von .Net.

Funktionieren tut es herrvoragend. Das einzige was ich jetzt noch nicht rausfinden konnte:

Wenn ich beim Ereignis untern Nachricht z.B. %telegramm.adresse% eintrage, sendet er das so 1:1 in die Topic. Ich habs schon probiert mit " oder mit '. Selbes Ergebniss. Weißt du woran das liegt? Oder funktioniert das vll mit dem Testbutton nicht sonder nur mit Dial?

Großen Dank für deine Hilfe.

Gruß maddig

NewWave
Beiträge: 128
Registriert: 29. Dez 2013, 21:13

Re: Mqtt Plugin

Beitrag von NewWave » 13. Jun 2020, 19:08

Hallo,

warum das so ist kann ich dir leider nicht sagen. Jedoch habe ich etwas getestet.
Um die Nachrichten "richtig" in MQTT zu empfangen ist folgendes zu beachten:

Einstellungen -> Plugin -> MQTT:
Topic - allgemeiner Paht - z. Bsp.: /foo/

Dann z.Bsp. in NodeRed angeben was empfangen wird:

POCSAG, FMS, ZWEI

Jetzt sieht das Topic so aus:

/foo/pocsag/

jetzt folgen bei Pocsag die RIC+Subric z.Bsp.: 1234567a, neues Topic: /foo/pocsag/1234567a/

und dann kommt ein JSon Objekt mit vielen Infos

Hoffe das hilft erstmal.

Zum Test habe ich über Telegrammereignis eine Testnachricht erzeugt. In Node-Red das ganze als Debug ausgegeben.

Was die Angaben im Telegrammereignis zu bedeuten haben, kann ich im Moment noch nicht sagen.

Gruß

NewWave
Dir gefällt das Mqtt-PlugIn, dann freue ich mich immer über etwas für die Kaffeekasse: PayPal-Link :D

maddig112

Re: Mqtt Plugin

Beitrag von maddig112 » 14. Jun 2020, 10:36

Hi,

soweit habe ich das gestern auch noch gesehen.

Mit z.b. bosmon/zvei/# kann man dann gut nach payload.Address suchen und hat wie in meinem Fall dann die alarmierte ZVEI.

Was ich nur am Anfang komisch fand, er hat bei mir ab und an mal in die Topic bosmon/zveidmf/XXXXX geschrieben. Was auch immer das heißt. Aber allgemein funktioniert das echt gut.

Cool wäre wirklich noch wenn man bei dem Telegrammereignis bei der Nachricht die BM Variablen benutzen könnte.

Vielen Dank an dich das du es wieder lauffähig gebracht hast.
Gruß maddig

NewWave
Beiträge: 128
Registriert: 29. Dez 2013, 21:13

Re: Mqtt Plugin

Beitrag von NewWave » 14. Jun 2020, 10:47

Hallo,

wegen Variablen schaue ich mal noch nach. Bereinige gerade den Code :roll:

Das zveidmf gibt es in BosMon wirklich, aber mit ZVEI kenne ich mich nicht aus, da wir bereits POCSAG Alarmierung haben.

Wenn dir noch etwas auf- bzw. einfällt bitte Posten, ich schaue dann, was sich machen lässt.

Gruß

NewWave
Dir gefällt das Mqtt-PlugIn, dann freue ich mich immer über etwas für die Kaffeekasse: PayPal-Link :D

NewWave
Beiträge: 128
Registriert: 29. Dez 2013, 21:13

Re: Mqtt Plugin

Beitrag von NewWave » 27. Jun 2020, 09:23

Hallo zusammen,

hier eine neue Version. Es sollte nun möglich sein die BM Variablen beim Ereignis zu nutzen.
BosmonMqtt_V7.zip
Version 7 mit BM Variablen
(64.47 KiB) 457-mal heruntergeladen
Gruß

NewWave
Dir gefällt das Mqtt-PlugIn, dann freue ich mich immer über etwas für die Kaffeekasse: PayPal-Link :D

Antworten