Folgende Frage zu Sonoff/Tasmota und MQTT2_Device

Begonnen von moonsorrox, 13 Dezember 2018, 16:27:05

Vorheriges Thema - Nächstes Thema

Beta-User

Moin,

die Vorgehensweise für die Umstellung sollte so passen wie beschrieben.

Das mit der Beschreibung (desc:) ist so zu lesen, dass für relay state POWER verwendet wird (bzw. POWER1). Ansonsten sind die wirklich gleich, sie schalten beide über POWER1 (was ja an sich korrekt zu sein scheint). Oder besteht da Handlungsbedarf, dass auch die setList anders sein sollte?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

TomLee

Zitat... das für relay state POWER verwendet wird...

na ja, und deswegen auch in der setlist einfach das es ein "Bild" ist. Handlungsbedarf ? nö ☺

osr

Zitat von: Beta-User am 20 Dezember 2018, 12:43:32
Das mit der Beschreibung (desc:) ist so zu lesen, dass für relay state POWER verwendet wird (bzw. POWER1). Ansonsten sind die wirklich gleich, sie schalten beide über POWER1 (was ja an sich korrekt zu sein scheint). Oder besteht da Handlungsbedarf, dass auch die setList anders sein sollte?

Man könnte das setlist dann mit Power machen so dass das logischer wäre. Für Tasmota geht beides für den ersten Kanal. Also Schönheit gegen Einheitlichkeit ;-)

osr

also zu tasmota sensors only sollte die desc: lauten


desc:Applies to all tasmota devices without relays


relays nicht switches


deleteReading DEVICE .*_.*


ist Mist. Gerade das Problem dass wir eigentlich lösen wollten kriegen wir damit nicht in den Griff. Statt dessen müsste man die Readings umschreiben ohne Prefix. Das halte ich aber für fehleranfällig. Da es ja auch Readings gibt mit _. Das könnte bei bestehenden Geräten wo das Präfixing schon aus war dazu führen dass aus SI7021_Humidity nur Humidity wird und neu dann auch wieder SI7021_Humidity hinzugefügt wird.

Also ich würde es beim normalen deleteReading lassen und wirklich den restart hinzufügen. Man könnte das ja im desc mit Klarstellen also 2. Zeile:

when applying the template the tasmota device is rebooted to get all readings

Oder so ähnlich... würde nur halt nicht nur schreiben "device will reboot" sondern auch warum

mqttretry bringt wohl nicht das gewünschte Ergebnis also besser nicht dran rumschrauben.

Noch eine andere Frage:
Wie kann ich denn diese Textansicht erzeugen mit den ganzen Readings wie es hier alle machen um sie hier zu posten? Einfach nur Copy und Paste aus der Oberfläche geht da ja nicht.

@Beta-User wenn du mich privat kontaktierst kann ich dir gerne einen Wemos D1 mit USB-Netzteil kostenlos zusenden. Fertig mit Tasmota geflashed. Dann kannst du damit die Templates auch problemlos in echt testen. Von mir aus kann ich auch noch 1,5 € für einen Temperatursensor drauflegen ;-)

rudolfkoenig

ZitatWie kann ich denn diese Textansicht erzeugen mit den ganzen Readings wie es hier alle machen um sie hier zu posten? Einfach nur Copy und Paste aus der Oberfläche geht da ja nicht.
Vermutlich tippen die Herrschaften irgendwo "list device". Was aber fuer die Weiterverwendung gar nicht optimal ist, besser waere "list -r device", bzw unten in der Detailansicht: "Raw definition"

TomLee

Zitat von: rudolfkoenig am 20 Dezember 2018, 20:13:45
Vermutlich tippen die Herrschaften irgendwo "list device". Was aber fuer die Weiterverwendung gar nicht optimal ist, besser waere "list -r device", bzw unten in der Detailansicht: "Raw definition"


Vermutlich liegt das daran das Beta-User noch nicht angemerkt hat, das sowas hier mit angepinnt werden sollte.


Beta-User

Zitat von: TomLee am 20 Dezember 2018, 20:31:28
Vermutlich liegt das daran das Beta-User noch nicht angemerkt hat, das sowas hier mit angepinnt werden sollte.
Das wäre für Anfänger, die für diesen Bereich treffende Variante mit dem nur noch fetten Hinweis, dass bitte ein list geliefert werden soll, wäre die hier: https://forum.fhem.de/index.php/topic,94495.msg872201.html#msg872201

Und dazu hatte ich bereits zwei Hinweise verteilt, dass ich diesen gerne angepinnt hätte.

@Rudi: Spricht was dagegen und wenn nein, wärst du so freundlich?

Zitat von: osr am 20 Dezember 2018, 19:23:44
also zu tasmota sensors only sollte die desc: lauten
Thx, wird korrigiert.

ZitatdeleteReading DEVICE .*_.*


ist [...]
Also ich würde es beim normalen deleteReading lassen und wirklich den restart hinzufügen. Man könnte das ja im desc mit Klarstellen also 2. Zeile:
Hab's geändert, wobei das von dir zitierte Reading m.E. nicht gekürzt wird, sondern ebenfalls gelöscht, und dann bei autocreate 1 auch wiederkommen sollte. Aber egal, ihr entscheidet...
Gekürzt werden sollte nur die Präfix-Einstellung in der readingList. Da sich dazu bisher keiner beschwert hat, gehe ich mal davon aus, dass das funktioniert? (ich hatte dazu nur eine alte RAW-Definition aus dem Wiki ;) , daher kam die Bitte, mal ein list von einem aktuellen autocreate-erstellten Device zu posten).
Den Hinweis auf den Reboot habe ich aufgenommen und den Titel erweitert, dann kann man es auch nicht übersehen.

Zitat
mqttretry bringt wohl nicht das gewünschte Ergebnis also besser nicht dran rumschrauben.
Danke für den Hinweis, habe das nur aus der Doku genommen und fand das als Idee praktisch, da wir in einem anderen Thread schon das Problem mit den vielen Anfragen im 10-Sek-Takt hatten; wenn's aber nicht wirkt und dann nur der reboot bleibt, wird das template ganz verworfen, oder?
(Anm.: Eigentlich wäre es gut, es stände irgendwo (im Wiki?) eine Zusammenfassung, welche Einstellungen an den Tasmota-Devices (direkt) vorgenommen werden sollten. Zwischendurch hatte ich die Idee, eine Art Zentraldevice (ähnlich wie das template, aber direkt zu bedienen für alle Tasmotas) zu bauen, aber irgendwas darf der geneige User auch selber einstellen...).

Zitat
@Beta-User wenn du mich privat kontaktierst kann ich dir gerne einen Wemos D1 mit USB-Netzteil kostenlos zusenden. Fertig mit Tasmota geflashed. Dann kannst du damit die Templates auch problemlos in echt testen. Von mir aus kann ich auch noch 1,5 € für einen Temperatursensor drauflegen ;-)
Thx für's Angebot! Mach' dir nicht die Mühe...
[kurz OT]
Einen (oder ein paar Wemos D1 habe ich hier auch noch "ungenutzt" hier rumfliegen, aber eigentlich wollte ich mich nicht mehr als notwendig mit diesen Biestern befassen. M.E. sind das schlecht designte IC's und WLAN ist für HA auch Mist => ich habe effektiv nur einen ESP tatsächlich am laufen (diese Milight-Bridge; die ist um Längen besser als das (bescheuerte!) Original. Ein zweiter macht - eher als Testsystem - etwas IR (die Dioden sind zu schwach, da ist eine firmware drauf, an der ich sogar selber nach kleinen Änderungen compiliert habe ;) ). Ich plane auch nicht wesentlich mehr und werde mich wenn, dann mit ESPEasy (@MQTT) befassen, um das Teil darauf umzustellen. Nichts gegen Tasmota, aber ESPEasy scheint den IR-Empfangsteil besser zu beherrschen.

Und Temperatursensoren habe ich ca. 15 DS18B20 im Einsatz und nochmal 15 rumliegen, dazu mehrere BMxx80, PT100(?) mit MAXirgendwas, und einen IR-basierten - es herrscht also kein Mangel....

Die 1wire hängen bei mir aber an einer MySensors-RS485-Installation, wie auch ein BME280; wenn ich Funk brauche (demnächst wieder), dann wird das auch MySensors, das ich btw. ausschließlich mit seriellen GW's betreibe; grade hängen (teilweise zu Testzwecken) alleine 5 MySensors-GW's an meinem Server ;D .

Will sagen: Das Material ist nicht das Problem, die Flasherei an sich auch nicht, es fehlt der Wille, sich in Ruhe hinzusetzen und sich auch noch Tasmota praktisch reinzuziehen...
[/OT]
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

rudolfkoenig

Zitat@Rudi: Spricht was dagegen und wenn nein, wärst du so freundlich?
Habs gemacht.
Kannst du bitte noch eine kurze Einleitung/Abgrenzung (MQTT2 vs. MQTT) reinschreiben, sonst ist der Anfaenger verwirrt.

Beta-User

Zitat von: rudolfkoenig am 20 Dezember 2018, 21:45:03
Habs gemacht.
Kannst du bitte noch eine kurze Einleitung/Abgrenzung (MQTT2 vs. MQTT) reinschreiben, sonst ist der Anfaenger verwirrt.
Danke und Danke für den Hinweis.

Hab's ergänzt und auch auf den Wiki-Beitrag verlinkt, der das Zusammenspiel der Module kurz erklärt. Hat evtl. auch den Effekt, dass man das auch leichter wiederfindet, wenn man mal jemand den Unterschied erklären soll :) . Gab's ja zuletzt immer wieder Beiträge, wo die Unterscheidung dem TE nicht so klar war.

Feedback zu dem Artikel gerne im Wiki-Bereich: https://forum.fhem.de/index.php/topic,93343.0.html
Der ist auch erst mal "auf die Schnelle" entstanden und nicht unbedingt ausgereift...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

DasQ

[OT]
Zitat von: Beta-User am 20 Dezember 2018, 21:01:59
aber eigentlich wollte ich mich nicht mehr als notwendig mit diesen Biestern befassen. M.E. sind das schlecht designte IC's und WLAN ist für HA auch Mist

na na na, die dinger sind doch putzig. musst ihn nur ordentlich zureden, dann tun die auch was se sollen.
[/OT]

p.s. deine IR schaltung würd mich mal intressieren. meiner hier rockt auf fast 5m das ganze wohnzimmer ir gedöns
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

Beta-User

[immer noch OT]Putzig, ja... Ich habe mich nur zuerst mit diesen dusseligen 01-er-Versionen rumgeplagt, als ich noch nicht wußte, wie man Microcontroller schreibt. Da war das miese Design was timing usw. angeht noch nicht durch software ausgebügelt, und ich habe mich ausgerechnet mit dem timing-kritischen IR-Quatsch versucht, da reinzukommen. Nicht lustig, nein gar nicht...
Da war anschließend MySensors (@nRF24+seriellem GW) ein Kinderspiel dagegen.

Das ist das "normale" IR-360°-GW, allerdings mit der SW wie hier beschrieben: https://wiki.fhem.de/wiki/IR-MQTT-Gateway. Da sind nur testweise nach vorne zwei 6200-er drauf (engerer Winkel, größere Leistung). Ich will nur eigentlich über die gegenüberliegende weiße Wand zurück, das sind dann 8m... Stelle ich mich 2m davor, geht's auch, aber dann brauche ich eigentlich auch kein IR :( .
Vermutlich muß ich das doch mit MySensors lösen (das war meine erste Lösung, die auch noch sendetechnisch mit den alten Dioden genauso leidlich funktioniert, da hat aber die von mir verwendete IR-Lib einen Hau und kommt nach dem Empfangen nicht mehr auf Senden zurück (oder anders rum...). Aber da hängen die Dioden hinter einem Transistor und bekommen die vollen 5V ab (Schaltung wie in der ursprünglichen IRlib für Arduino).
Ist halt Spielzeug ;) . Die Ecke hat keine hohe Prio.

Ergo: Ich kann den Dingern schon gut zureden, wenn ich will; wenn's sein muß, kommt auch was raus. Ändert aber nichts an meiner Einstellung zu WLAN+HA im Allgemeinen und den ESP's im Speziellen :P . Der direkte Weg (ohne WLAN) ist nicht nur sicherer, er macht m.E. auch mehr Spaß 8) .
[/OT]
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

osr

Zitat von: Beta-User am 20 Dezember 2018, 21:01:59
(Anm.: Eigentlich wäre es gut, es stände irgendwo (im Wiki?) eine Zusammenfassung, welche Einstellungen an den Tasmota-Devices (direkt) vorgenommen werden sollten.

Ich dachte wir waren uns hier einig, dass mit den templates nur unveränderte Tasmota-Firmware unterstützt wird? Also ohne irgendwelche nicht Standard Anpassungen?

So sind die templates ja aktuell auch ausgelegt.

[kurz OT]
Ich kam zufällig auf die sonoff und dann anschließend auf die Wemos D1. Relay, Sensoren etc. angelötet, Tasmota in einer Version mit voreingestelltem WLAN geflashed, Weboberfläche aufgerufen und Sensoren etc. gewählt. Läuft! Vorher hatte ich über 100 Z-Wave Geräte in einem etwas größeren Gebäude. Größtenteils ZWAVE+. Die Zuverlässigkeit war nicht gegeben. Irgenwann ging z. B. ein Fibaro Bewegungsmelder einfach nicht mehr... Oder aus irgendeinem Grund schlug ein Schaltbefehl fehl. Bei der Menge an Geräten wollte ich nicht jedem Gerät hinterher rennen. Insbesondere für die Fußbodenheizungssteuerung.

WLAN-Abdeckung ist über unify-Geräte top gegeben und 2.4 ist nur für die Haussteuerung. 5 für alles was Bandbreite braucht. Sicherheit würde ich aktuell für besser gegeben halten bei WPA2 als bei ZWAVE+ (insbesondere da viele Geräte das ja auch nur zum Teil oder gar nicht verschlüsselt implementiert haben und mit aktivierter Verschlüsselung reduziert sich die Stabilität nochmal) Klar ich brauche jetzt aktuell immer Netz. Aber das ist kein großes Problem da ich die Sensoren eh in die Dosen packe wo früher die Temperaturregler für die Fußbodenheizung drin waren ;-)

Also auf die Zuverlässigkeit (aktuell leider nur mit mosquitto, wegen den Problemen mit MQTT2_Server) lasse ich da auf die Geräte mit Tasmota-Firmware nichts kommen. Für die Steckdosen-Zwischenstecker gibt es ja mit Gosun auch eine genauso kompakte alternative wie die Fibaro-ZWAVE-Geräte. Nur die Popp Z-Weather Station wird wohl als einziges Gerät übrig bleiben. Die funktioniert und die nehme ich als Basis für die Steuerung der Markisen bei Wind.

MySensors kannte ich bisher nicht. Das werde ich mir wohl mal etwas genauer ansehen, hört sich recht interessant an. Würde gerne noch draußen ein paar Sensoren einbinden (Teich, ...) über die DS18... da würde sich das eventuell gut machen. Wobei ich das letztes Jahr für die Poolpumpensteuerung und einen DS draußen einfach über einen Wemos mit Relay, DS-Temperatursensor und wasserdichtem Gehäuse gelöst hatte. Aber eben immer mal wieder was neues ;-)
[/OT]

rudolfkoenig

Zitataktuell leider nur mit mosquitto, wegen den Problemen mit MQTT2_Server
Sind das die SSL Probleme?
Wenn ja: kannst du es bitte erneut testen? Vor ein paar Tagen habe ich ein Problem mit SSL+fhemFork gefixt.

Beta-User

Zur Info:

Habe die gestern angesprochenen Themen ins heutige update gepackt gehabt, zusammen mit einer setList etc. mit POWER für das eine template, damit da nicht nochmal einer drüber stolpert, warum das auseinanderfällt.

Zitat von: osr am 21 Dezember 2018, 12:52:48
Ich dachte wir waren uns hier einig, dass mit den templates nur unveränderte Tasmota-Firmware unterstützt wird? Also ohne irgendwelche nicht Standard Anpassungen?

So sind die templates ja aktuell auch ausgelegt.
Bei dem Vorschlag ging es nicht um empfohlene Patches/anpassungen der firmware bei Tasmota, die Auswirkungen auf die MQTT-Seite (also die templates) hätten, sondern z.B. um die Frage, wie oft der Broker von einem Device angepingt wird (derzeit 10 Sekunden) und ähnliches. Sorry, wenn das nicht verständlich formuliert war. Ob es mehr gibt wie diesen Punkt, kann ich mangels eigener Erfahrung nicht sagen, vermute es aber fast.

Zitat
[kurz OT]
Ich kam zufällig auf die sonoff [...]
[/OT]
:) Vermutlich bringt da jeder halt auch seine "Leidensgeschichte" mit irgendwas mit, was er (negativ) kennt - und jedes Ding hat halt seine Kehrseite.
Hier lese ich halt immer wieder Posts von einfachen Menschen, die "mal eben schnell einsteigen wollen", und sich nicht groß über die Infrastruktur an sich groß Gedanken machen wollen oder können, sondern erst mal den Pi über WLAN an ihre Fritte hängen, und sich dann beim 26. Tasmota-Device wundern, warum in aller Welt denn wohl seltsame Effekte auftreten...

Dass man sowas bei vernünftiger Planung, der richtigen Hardware, genügend Kenntnis, wie was funktioniert und etwas Glück umgehen kann, ist schon klar :) . Ich bin aber eigentlich auch "nur User" und habe hier auch nicht die riesen Infrastruktur am laufen, sondern will "halt einfach" mein Häuschen etwas intelligenter haben ;) . Und da soll der Server möglichst autarkt von der restlichen IT-Infrastruktur vor sich hin blubbern und mit "seinen" Geräten kommunizieren können (jedenfalls, wenn überhaupt Strom da ist).

Dass in dem Zusammenhang Funk immer nur die zweitbeste Lösung ist, ist klar, und dass irgendwo eine Grenze bei vermeshten 868-er Geräten ist, ist eigentlich auch logisch (1%), dass das aber bei nur 100 Geräten schon der Fall sein soll, finde ich seltsam, da ist man ja schnell angelangt :o .

MySensors ist m.E. super, wenn es um einen der folgenden Punkte geht
- eigene Logik in die firmware einzubauen
- praktisch jedes Bauteil (v.a.Sensor-Hardware) ist nutzbar, für das es eine Arduino-lib gibt
- batteriebetrieben (mach das mal mit WLAN)
- kabelgebunden (RS485, iVm. einem CAN-Transceiver superstabil seit 2.3.1!)
- große Reichweite (mit LoRa-Transceivern RFM9x, selbst bisher aber nur angetestet, aber grundsätzlich funktional...)
Details im entsprechenden Forumsbereich, zum Einlesen gibts im Wiki den Starter-Guide...
Das eine oder andere kann man zwar auch mit anderen Lösungen erreichen, die Kombi an Auswahlmöglichkeiten ist aber ziemlich einmalig, ohne dass man sich in zu viel unterschiedliches Coding eindenken muß! (Da fällt mir ein, ich muß dringend mal Löten und flaschen, um das leidige OTA-Thema da zu Ende zu bringen ::) )

Da du aber Tasmota kennst und das stabil rennt, darfst du auch damit glücklich sein!

Man sieht sich!
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

TomLee

#74
Heute ist als erstes ein Sonoff-Dual dran.

Das klappt auch mit A_02a_tasmota_2channel_split.
Das die Readings POWER1 und POWER2 in beiden Geräten stehen ist etwas irritierend anfänglich, stehen aber halt auch beide im STATE JSON. Könnt ich das jeweilige nicht benötigte löschen oder wird es nach einem restart wieder angelegt ? Habs jetzt noch nicht probiert.

Rein interessehalber hab ich ein A_02_tasmota_2ch_unified definiert, einfach um zu schauen wie das aussieht.
Schaut euch mal den STATE an:


defmod sonoffDual_schaltschrank_Vorderhaus_ch1t_CH2 MQTT2_DEVICE myMQTT2CLIENT
attr sonoffDual_schaltschrank_Vorderhaus_ch1t_CH2 IODev myMQTT2_CLIENT
attr sonoffDual_schaltschrank_Vorderhaus_ch1t_CH2 autocreate 0
attr sonoffDual_schaltschrank_Vorderhaus_ch1t_CH2 eventMap { dev=>{'^(.*)POWER(.?): OFF$'=>'$1POWER$2: off', '^(.*)POWER(.?): ON$'=>'$1POWER$2: on'} }
attr sonoffDual_schaltschrank_Vorderhaus_ch1t_CH2 model A_02_tasmota_2ch_unified
attr sonoffDual_schaltschrank_Vorderhaus_ch1t_CH2 readingList tele/sonoffDual_schaltschrank_Vorderh/LWT:.* LWT\
  tele/sonoffDual_schaltschrank_Vorderh/STATE:.* { json2nameValue($EVENT) }\
  tele/sonoffDual_schaltschrank_Vorderh/SENSOR:.* { json2nameValue($EVENT) }\
  tele/sonoffDual_schaltschrank_Vorderh/INFO.:.* { json2nameValue($EVENT) }\
  stat/sonoffDual_schaltschrank_Vorderh/RESULT:.* { json2nameValue($EVENT) }
attr sonoffDual_schaltschrank_Vorderhaus_ch1t_CH2 room MQTT2_DEVICE
attr sonoffDual_schaltschrank_Vorderhaus_ch1t_CH2 setList POWER1:on,off cmnd/sonoffDual_schaltschrank_Vorderh/POWER1 $EVTPART1\
  POWER2:on,off  cmnd/sonoffDual_schaltschrank_Vorderh/POWER2 $EVTPART1
attr sonoffDual_schaltschrank_Vorderhaus_ch1t_CH2 stateFormat {\
  "<div>P1:" . FW_makeImage(lc ReadingsVal($name, "POWER1", "off"))\
  . " P2:" . FW_makeImage(lc ReadingsVal($name, "POWER2", "off"))\
  . "</div>"\
  }
attr sonoffDual_schaltschrank_Vorderhaus_ch1t_CH2 webCmd POWER1 on:POWER1 off:POWER2 on:POWER2 off

setstate sonoffDual_schaltschrank_Vorderhaus_ch1t_CH2 <div>P1:<svg class=" off" data-txt="off" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="617pt" viewBox="0 0 468 617"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,617) scale(0.221801,-0.221801)"  stroke="none"> <path d="M756 2765 c-9 -25 -7 -128 3 -144 5 -8 16 -11 25 -8 24 10 19 160 -5 165 -9 2 -19 -4 -23 -13z"/> <path d="M1310 2695 c0 -77 2 -86 18 -83 14 3 17 15 17 83 0 68 -3 80 -17 83 -16 3 -18 -6 -18 -83z"/> <path d="M1806 2581 c-47 -47 -67 -74 -63 -85 4 -9 10 -16 14 -16 17 0 155 148 149 159 -14 21 -32 10 -100 -58z"/> <path d="M220 2622 c0 -23 125 -147 139 -138 21 13 11 32 -52 94 -64 64 -87 75 -87 44z"/> <path d="M809 2257 c-70 -20 -136 -63 -174 -115 -65 -87 -65 -91 -65 -643 0 -479 1 -500 21 -553 25 -67 87 -134 160 -173 l54 -28 250 0 c235 0 253 1 296 21 63 29 125 94 158 163 l26 56 0 520 0 520 -28 56 c-32 66 -99 132 -165 162 -43 20 -65 22 -267 24 -153 2 -234 -2 -266 -10z m486 -146 c48 -22 69 -44 90 -94 13 -31 15 -107 15 -517 0 -526 0 -523 -59 -573 -48 -40 -90 -47 -299 -47 -205 0 -226 4 -280 54 -51 46 -50 40 -53 567 l-3 495 23 40 c24 43 64 72 115 85 17 4 117 7 221 8 164 0 195 -2 230 -18z"/> <path d="M13 2065 c-11 -29 12 -36 118 -33 96 3 104 4 104 23 0 19 -8 20 -108 23 -91 2 -108 0 -114 -13z"/> <path d="M1877 2066 c-11 -27 17 -36 113 -36 100 0 127 8 117 34 -5 13 -25 16 -116 16 -83 0 -110 -3 -114 -14z"/> <path d="M10 1510 c0 -19 6 -20 116 -20 105 0 115 2 112 18 -3 15 -18 17 -116 20 -107 3 -112 2 -112 -18z"/> <path d="M1876 1522 c-2 -4 -1 -14 3 -20 5 -9 38 -12 117 -10 89 2 109 6 109 18 0 12 -20 16 -112 18 -61 1 -114 -1 -117 -6z"/> <path d="M21 981 c-8 -5 -11 -16 -8 -25 5 -13 24 -16 112 -16 88 0 107 3 112 16 10 26 -16 34 -112 34 -50 0 -96 -4 -104 -9z"/> <path d="M1882 978 c-8 -8 -9 -15 -1 -25 8 -9 40 -13 108 -13 101 0 128 8 118 34 -5 13 -24 16 -110 16 -66 0 -107 -4 -115 -12z"/> <path d="M768 693 c-36 -41 -30 -95 11 -108 60 -19 520 -91 539 -84 53 20 66 99 19 119 -28 12 -482 90 -524 90 -16 0 -37 -8 -45 -17z"/> <path d="M793 530 c-41 -17 -58 -85 -28 -110 15 -12 492 -100 543 -100 33 0 62 34 62 74 0 18 -6 38 -13 44 -6 6 -120 29 -252 51 -132 23 -251 43 -265 46 -14 2 -35 0 -47 -5z"/> <path d="M793 360 c-46 -18 -59 -90 -20 -114 21 -13 478 -96 531 -96 14 0 35 9 46 20 26 26 27 85 2 99 -10 5 -126 28 -258 51 -131 22 -248 42 -259 44 -11 2 -30 0 -42 -4z"/> <path d="M871 154 c-26 -33 -27 -55 -3 -82 13 -16 51 -26 176 -47 158 -27 159 -27 185 -7 31 22 41 81 18 101 -16 13 -271 61 -323 61 -23 0 -39 -8 -53 -26z"/> </g> </svg> P2:<svg class=" off" data-txt="off" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="617pt" viewBox="0 0 468 617"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,617) scale(0.221801,-0.221801)"  stroke="none"> <path d="M756 2765 c-9 -25 -7 -128 3 -144 5 -8 16 -11 25 -8 24 10 19 160 -5 165 -9 2 -19 -4 -23 -13z"/> <path d="M1310 2695 c0 -77 2 -86 18 -83 14 3 17 15 17 83 0 68 -3 80 -17 83 -16 3 -18 -6 -18 -83z"/> <path d="M1806 2581 c-47 -47 -67 -74 -63 -85 4 -9 10 -16 14 -16 17 0 155 148 149 159 -14 21 -32 10 -100 -58z"/> <path d="M220 2622 c0 -23 125 -147 139 -138 21 13 11 32 -52 94 -64 64 -87 75 -87 44z"/> <path d="M809 2257 c-70 -20 -136 -63 -174 -115 -65 -87 -65 -91 -65 -643 0 -479 1 -500 21 -553 25 -67 87 -134 160 -173 l54 -28 250 0 c235 0 253 1 296 21 63 29 125 94 158 163 l26 56 0 520 0 520 -28 56 c-32 66 -99 132 -165 162 -43 20 -65 22 -267 24 -153 2 -234 -2 -266 -10z m486 -146 c48 -22 69 -44 90 -94 13 -31 15 -107 15 -517 0 -526 0 -523 -59 -573 -48 -40 -90 -47 -299 -47 -205 0 -226 4 -280 54 -51 46 -50 40 -53 567 l-3 495 23 40 c24 43 64 72 115 85 17 4 117 7 221 8 164 0 195 -2 230 -18z"/> <path d="M13 2065 c-11 -29 12 -36 118 -33 96 3 104 4 104 23 0 19 -8 20 -108 23 -91 2 -108 0 -114 -13z"/> <path d="M1877 2066 c-11 -27 17 -36 113 -36 100 0 127 8 117 34 -5 13 -25 16 -116 16 -83 0 -110 -3 -114 -14z"/> <path d="M10 1510 c0 -19 6 -20 116 -20 105 0 115 2 112 18 -3 15 -18 17 -116 20 -107 3 -112 2 -112 -18z"/> <path d="M1876 1522 c-2 -4 -1 -14 3 -20 5 -9 38 -12 117 -10 89 2 109 6 109 18 0 12 -20 16 -112 18 -61 1 -114 -1 -117 -6z"/> <path d="M21 981 c-8 -5 -11 -16 -8 -25 5 -13 24 -16 112 -16 88 0 107 3 112 16 10 26 -16 34 -112 34 -50 0 -96 -4 -104 -9z"/> <path d="M1882 978 c-8 -8 -9 -15 -1 -25 8 -9 40 -13 108 -13 101 0 128 8 118 34 -5 13 -24 16 -110 16 -66 0 -107 -4 -115 -12z"/> <path d="M768 693 c-36 -41 -30 -95 11 -108 60 -19 520 -91 539 -84 53 20 66 99 19 119 -28 12 -482 90 -524 90 -16 0 -37 -8 -45 -17z"/> <path d="M793 530 c-41 -17 -58 -85 -28 -110 15 -12 492 -100 543 -100 33 0 62 34 62 74 0 18 -6 38 -13 44 -6 6 -120 29 -252 51 -132 23 -251 43 -265 46 -14 2 -35 0 -47 -5z"/> <path d="M793 360 c-46 -18 -59 -90 -20 -114 21 -13 478 -96 531 -96 14 0 35 9 46 20 26 26 27 85 2 99 -10 5 -126 28 -258 51 -131 22 -248 42 -259 44 -11 2 -30 0 -42 -4z"/> <path d="M871 154 c-26 -33 -27 -55 -3 -82 13 -16 51 -26 176 -47 158 -27 159 -27 185 -7 31 22 41 81 18 101 -16 13 -271 61 -323 61 -23 0 -39 -8 -53 -26z"/> </g> </svg></div>


edit:
$Id: mqtt2.template 18015 2018-12-21 06:04:35Z Beta-User