Autor Thema: mqtt2.template: Contributing  (Gelesen 11297 mal)

Offline Blauhorn

  • Jr. Member
  • **
  • Beiträge: 70
Antw:mqtt2.template: Contributing
« Antwort #45 am: 20 September 2019, 08:24:04 »
Guten Morgen,

als Ergebnis meiner Migration von MQTT nach MQTT2 https://forum.fhem.de/index.php/topic,103762.0.html
ist nun für die Sonoff-4CH mit Tasmota dieses template entstanden, das jeden Kanal in ein eigenes Geräte legt.
# sonoff 4 channel device flashed with Tasmota.
name:A_04_tasmota_4channel_split
filter:TYPE=MQTT2_DEVICE:FILTER=readingList=.*(tele|cmnd|stat).*
desc:sonoff 4 channel device flashed with Tasmota. <br>NOTE: a second, third and fourth device will be created for each additional channel
set DEVICE attrTemplate A_01a_tasmota_basic_state_power1
par:CMNDTOPIC;Command topic prefix, without trailing /;{ AttrVal("DEVICE","readingList","") =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}cmnd$3" : undef }
attr DEVICE comment Channel 1 for DEVICE, see also DEVICE_CH2, DEVICE_CH3 and DEVICE_CH4
#create device for CH2
copy DEVICE DEVICE_CH2
attr DEVICE_CH2 stateFormat POWER2
attr DEVICE_CH2 comment Channel 2 for DEVICE
setreading DEVICE_CH2 associatedWith DEVICE
attr DEVICE_CH2 setList \
  off:noArg    CMNDTOPIC/POWER2 0\
  on:noArg     CMNDTOPIC/POWER2 1\
  toggle:noArg CMNDTOPIC/POWER2 2
attr DEVICE_CH2 setStateList on off toggle
#create device for CH3
copy DEVICE DEVICE_CH3
attr DEVICE_CH3 stateFormat POWER3
attr DEVICE_CH3 comment Channel 3 for DEVICE
setreading DEVICE_CH3 associatedWith DEVICE
attr DEVICE_CH3 setList \
  off:noArg    CMNDTOPIC/POWER3 0\
  on:noArg     CMNDTOPIC/POWER3 1\
  toggle:noArg CMNDTOPIC/POWER3 2
attr DEVICE_CH3 setStateList on off toggle
#create device for CH4
copy DEVICE DEVICE_CH4
attr DEVICE_CH4 stateFormat POWER4
attr DEVICE_CH4 comment Channel 4 for DEVICE
setreading DEVICE_CH4 associatedWith DEVICE
attr DEVICE_CH4 setList \
  off:noArg    CMNDTOPIC/POWER4 0\
  on:noArg     CMNDTOPIC/POWER4 1\
  toggle:noArg CMNDTOPIC/POWER4 2
attr DEVICE_CH4 setStateList on off toggle
#set the model attr for all new devices
attr DEVICE model A_04_tasmota_4channel_split
attr DEVICE_CH2 model A_04_tasmota_4channel_split
attr DEVICE_CH3 model A_04_tasmota_4channel_split
attr DEVICE_CH4 model A_04_tasmota_4channel_split

Gruß vom Blauhorn
1xBananaPi; 1x FB7490; 1xCUL433; 1xCUL868;1x CC2530+CC2591; OpenMiLight-Gateway; 1xHMUART; HM-LC-Sw4-DR; Sonoff* mit TASMOTA, LEDController; MySensors; zigbee2mqtt;

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 8169
  • eigentlich eher user wie "developer"
Antw:mqtt2.template: Contributing
« Antwort #46 am: 20 September 2019, 12:32:53 »
 :)
Du lernst ja fix...!

Thx, u.a. das habe ich eben (mit kleinen Modifikationen) eingecheckt. Danke auch für die Anregung, bei den "Kindern" auch immer das Modell zu setzen, das fehlt(e) bei dem einen oder anderen auch noch...
Server: HP-T620@Debian 10, aktuelles FHEM + ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN
svn:MySensors, WeekdayTimer, AttrTemplate => {mqtt2, mysensors, httpmod}

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 21114
Antw:mqtt2.template: Contributing
« Antwort #47 am: 20 September 2019, 12:54:22 »
Zitat
Eventuell wäre es eine Idee, dazu ein neues, optionales "sort:" einzuführen (ebenfalls alphanummerisch, damit erst mal das bestehende System auf einfache Weise transferiert werden könnte)?
Ich habe order: (optional) implementiert.
Achtung: der Vergleich ist _nicht_ numerisch, sondern alphanumerisch!

Weiterhin erscheint ab sofort beim Auswahl eines attrTemplate Wertes die Beschreibung und die Liste der Befehle.
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 8169
  • eigentlich eher user wie "developer"
Antw:mqtt2.template: Contributing
« Antwort #48 am: 20 September 2019, 14:50:55 »
Ich habe order: (optional) implementiert.
Achtung: der Vergleich ist _nicht_ numerisch, sondern alphanumerisch!

Weiterhin erscheint ab sofort beim Auswahl eines attrTemplate Wertes die Beschreibung und die Liste der Befehle.
Habe eben eine aktualisierte Version von mqtt2.template ins svn geschoben, hatte zwar auf dem Testsystem keine große Auswahl an angezeigten Devices, aber das so gut aus :) .

Gefällt mir sehr gut mit den kürzeren Namen und dem Umstand, dass das sortieren jetzt im Hintergrund abläuft und auch nicht mehr im "model" hinterlegt ist (die sind auch alle geändert...). Wird zwar vermutlich ewig dauern, bis alle model-Angaben in der Statistik wieder passen, aber das können wir verschmerzen, oder?

Kann nicht garantieren, dass ich alles "erwischt" habe und nicht irgendwelche Querbezüge kaputt gegangen sind (interne Aufrufe auf andere templates). Wer was findet, bitte im "bugs"-Thread melden.

Wenn das hier keine größeren Probleme aufwerfen sollte, ziehe ich bei Gelegenheit "meine" beiden anderen files nach.
Server: HP-T620@Debian 10, aktuelles FHEM + ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN
svn:MySensors, WeekdayTimer, AttrTemplate => {mqtt2, mysensors, httpmod}

Offline Icinger

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1251
Antw:mqtt2.template: Contributing
« Antwort #49 am: 28 September 2019, 12:35:58 »
Vielleicht wäre es eine Überlegung, die setlist der SonOff-Templates folgendermaßen zu ergänzen:
  setOtaUrl:textField CMNDTOPIC/OtaUrl $EVTPART1\
  upgrade:noArg   CMNDTOPIC/upgrade 1\
Somit lässt sich die OTA-Url setzen und danach ein Firmware-Update für alle Geräte im Netz gleichzeitig anstoßen.

lg, Stefan
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 8169
  • eigentlich eher user wie "developer"
Antw:mqtt2.template: Contributing
« Antwort #50 am: 28 September 2019, 17:31:20 »
Thx, hab's mal beim "Basistemplate" dazugefügt, damit sollte es sich an (fast?) alle einkanaligen vererben.
Wenn es sich bewährt, schaue ich mir bei Gelegenheit noch die an, die fehlen.

@all: Seit gestern abend bzw. heute morgen werkelt bei mir testweise ein OpenMQTTGateway auf einem ESP32, siehe https://github.com/1technophile/OpenMQTTGateway/wiki, nachdem hier ein User Fragen im Zusammenhang mit 433HMz-Rolling Codes dazu hatte. Für 433MHz finde ich das vorläufig gar nicht sooo spannend, aber das kann scheinbar einige/alle (?) BT-Devices von Xiaomi und taugt evtl. auch als BT-Scanner.
Werde damit wohl meinen IR-ESP8266 (360°-GW, geflasht mit Tasmota) ersetzen (der ESP32 sollte alle drei Funktionen parallel können und sich noch z.B. mit einem BME280 ergänzen lassen, wer das will).
Wie dem auch sei, den Tag über hat das hier in der eher funkarmen Gegend ca. 25 BT-Devices "eingefangen" (bisher keinen Xiaomi, oh Wunder...). Wenn also jemand Lust hat, da mitzuüberlegen, wie man das @MQTT2-Device sinnvoll ausgestalten kann: feel free, entweder einen separaten Thread aufzumachen oder sich einzuklinken :) .

Ein schon ganz passables Template für die ESP-Brücke und einen speziellen RF-Anwendungsfall sind vorhanden, ansonsten scheint der Sketch intern auch nur "die üblichen Verdächtigen" zu nutzen, was libs angeht.
Server: HP-T620@Debian 10, aktuelles FHEM + ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN
svn:MySensors, WeekdayTimer, AttrTemplate => {mqtt2, mysensors, httpmod}

Offline oelkanne

  • New Member
  • *
  • Beiträge: 16
Jarolift Template
« Antwort #51 am: 30 Oktober 2019, 20:32:39 »
Guten Abend.
Ich versuche meine Jarolift Rolläden mit MQTT2 zu verwenden.
(Liefen bisher mit dem mosquitto broker)

Dafür habe ich ein frisches FHEM aufgesetzt und wollte es entsprechend Anleitung betreiben. (Mit ioDEV 
MQTT2_FHEM_Server, sonst wie in der Anleitung https://github.com/madmartin/Jarolift_MQTT/wiki/Usage-with-FHEM-&-MQTT)

Mein Problem: das attribut publishSet gibt es nicht für das ioDEV.

Wie gehe ich richtigerweise vor?

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 8169
  • eigentlich eher user wie "developer"
Antw:mqtt2.template: Contributing
« Antwort #52 am: 30 Oktober 2019, 20:54:01 »
Falscher Thread. Der hier ist für fertige Templates...

OT-Tipp: Wenn du irgendwo einen ESP8266 rumliegen hast, mach da mal ein Tasmota drauf und wende das basic-Template darauf an. Dann hast du schon mal ein Beispiel, wie eine setList aufzubauen ist. Das erfüllt die Funktion, die die publishSet-Attribute aus MQTT_DEVICE hatten. Vermutlich wäre sowas sinnvoll: attr DEVICE setList \
   close:noArg cmd/jarolift/shutter/1 DOWN\
   open:noArg cmd/jarolift/shutter/1 UP\[....]
open/close sind als Befehle gewählt, damit es zu anderen Templates paßt (hier: tasmota_2ch_shutter_invert_0), aber im Prinzip beliebig...

Weitere Diskussion - sofern noch erforderlich - bitte in gesondertem Thread in diesem Forumsbereich, ich sehe das dann in der Regel schon, sonst in dem "Anregungen"-Thread kurz dahin verlinken.
Server: HP-T620@Debian 10, aktuelles FHEM + ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN
svn:MySensors, WeekdayTimer, AttrTemplate => {mqtt2, mysensors, httpmod}

Offline aperoap

  • New Member
  • *
  • Beiträge: 42
Antw:mqtt2.template: Contributing
« Antwort #53 am: 09 November 2019, 08:40:21 »
Hallo Zusammen,
betreibe seit paar Wochen auch zigbee Komponente bei mir. Bis vor eine Woche habe ich MQTT(mosquitto) und zigbee2mqtt von Koenkk mit cc3251 als Controller und ein cc3251 Router betrieben. Seit eine Woche bin ich auf mqtt2 Server umgestigen un mosquitto gelöscht.
Soweit läuft alles und kann betrieben werden. Die integrierten Templates sind hervorragend.

Problem:

-Der Router wurde erkannt und als mqtt2 device angelegt.
 meldet sich minütlich bei Controller und setzt folgende readings.
Readings
associatedWith MQTT2_zigbee_0x00Xxxxxxxxx 2019-11-09 08:18:50
led_state true 2019-11-09 08:35:50
linkquality 0 2019-11-09 08:35:50
state true 2019-11-09 08:35:50
ich habe leider kein template gefunden (online / offline) Anzeige wie mqtt.

Hat vielleicht jemand schon was in der Richtung gemacht?
« Letzte Änderung: 09 November 2019, 08:42:31 von aperoap »

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 8169
  • eigentlich eher user wie "developer"
Antw:mqtt2.template: Contributing
« Antwort #54 am: 09 November 2019, 09:22:16 »
Falscher Thread. Der hier ist für fertige Templates...
>:( Warum wird das überlesen? Kann ich da was machen, dass das nicht übersehen wird?

Aber der Vorschlag ist gut :) .
Bitte in dem anderen Thread (Bugs, Fragen...) ein vollständiges list einstellen und Infos liefern, was du wie (in etwa) angezeigt bekommen willst bzw. wie die Werte dazu sind (state true/false mit einem grünen und roten Punkt wäre kein Problem). Vermutlich würde es Sinn machen, in dem Fall auch die Verbindungsqualität irgendwie zu visualisieren (farbig?).
Kann man die LED via MQTT ein- und ausschalten? (bitte das passende Kommando mitteilen, dann kann man auch dazu einen setter basteln...).
Server: HP-T620@Debian 10, aktuelles FHEM + ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN
svn:MySensors, WeekdayTimer, AttrTemplate => {mqtt2, mysensors, httpmod}