Autor Thema: MQTT2+Shelly: erste Konfiguration und template-Entwicklung  (Gelesen 7078 mal)

Offline Guzzi-Charlie

  • Jr. Member
  • **
  • Beiträge: 85
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #225 am: 22 Januar 2019, 18:47:44 »
Oh, ich sehe gerade: Das "__json2nameValue__EVENT___announce_____JSONMAP___" ist ja nur der Name des Readings (sieht aber komisch aus).
Das Ergebnis des Readings ist:
{"id":"shelly4pro-801300","online":true,"mac":"C8FD19801300","ip":"192.168.178.131","new_fw":false, "fw_ver":"20181217-130631/v1.4.2@cc724b51"}

Ist jetzt alles in einem Reading. Ob das jetzt besser oder schlechter ist als Vorher, keine Ahnung. Aber das ist ja im Moment auch nicht das Problem.

Gruß
- Raspberry PI 3+: (Cuno V2 mit 2x KS300, JeeLink mit 9x EC3000, Wetterstation WS101 (USB über Fowsr) ==> außer Betrieb
- Stromzähler: 38x DRS155M (B+G E-Tech) FHEM nicht möglich
- LAN: Intertechno LAN-Gateway mit 28x RMF-R1 (Rohrmotor24) ==> noch nicht in FHEM
- DECT: 4x DECT200
- WLAN: 1x Shelly 4

Offline Guzzi-Charlie

  • Jr. Member
  • **
  • Beiträge: 85
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #226 am: 22 Januar 2019, 18:56:16 »
Was mir gerade erst aufgefallen ist:
Das erste "power" Reading wird beim Anlegen nicht verdoppelt. Erst ab Kanal 2 wird alles verdoppelt.

Und der Readingsname vom Zustand des relay 0 ist auch seltsam:
Statt wie bei Kanal 2-4 "1\", "2\", "3\" wird hier "shellies/shelly4pro-801300/relay/0\" angelegt.
- Raspberry PI 3+: (Cuno V2 mit 2x KS300, JeeLink mit 9x EC3000, Wetterstation WS101 (USB über Fowsr) ==> außer Betrieb
- Stromzähler: 38x DRS155M (B+G E-Tech) FHEM nicht möglich
- LAN: Intertechno LAN-Gateway mit 28x RMF-R1 (Rohrmotor24) ==> noch nicht in FHEM
- DECT: 4x DECT200
- WLAN: 1x Shelly 4

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5378
  • Maintainer: mqtt2.template, httpmod.template
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #227 am: 22 Januar 2019, 19:04:13 »
...das ist definitiv nicht so ganz im Sinne des Erfinders...

@Rudi: ich hoffe, du liest hier noch mit.

@Guzzi-Charlie:
Ich habe eben noch eine neue Fassung der templates ins svn geladen (https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/lib/AttrTemplate/mqtt2.template), die auch die readingList passend schreiben sollte (auch auf Basis deiner kaputten Perl-Anweisung).

Vielleicht magst du die mal Testen, ob dann was vernünftiges bei rumkommt, garantieren kann ich aber dafür nicht...
Server: HP-T5740 mit Debian stretch (i386) + aktuellem FHEM | ConfigDB | CUL_HM: div. Hardware mit VCCU | MySensors seriell (2.3.1@RS485, daran div. Sensoren usw., u.a. DS18B20) | Milight@ESP-GW@MQTT2 | zigbee2mqtt@MQTT2 | SIGNALduino | MapleCUN

Offline Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6247
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #228 am: 22 Januar 2019, 19:28:22 »
Ein getretener Hund bellt, und der hier wird halt ausfallend. Vielleicht einfach mal recherchieren, wie man eine stark variable Größe über die Zeit integriert.

LG

pah

P.S.: Ach ja: Es heißt Perl, und nicht "Pearl". Ich empfehle einen Blick in die Anfänger-Doku  ;D ;D

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 19984
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #229 am: 22 Januar 2019, 19:40:39 »
Zitat
shelly4pro_801300:shellies/announce:.* __json2nameValue__EVENT___announce_____JSONMAP___
Da habe ich wohl einen Eigentor geschossen.
Habs gefixt, eingecheckt, und (ausnahmsweise) fuers sofortigen fhem-update zur Verfuegung gestellt

@Guzzi-Charlie: wenn du das Neuanlegen mit einem "attr MQTT2_FHEM_Server verbiose 5" dokumentieren koenntest, waere ich fuer den Log dankbar.
Natuerlich nach einem FHEM-Update, den ich dringend empfehle, da deine aktuelle Version von 00_MQTT2_DEVICE.pm beim autocreate Mist baut.

Offline Guzzi-Charlie

  • Jr. Member
  • **
  • Beiträge: 85
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #230 am: 22 Januar 2019, 22:27:11 »
Hallo Rudi,

heißt das Modul "00_MQTT2_DEVICE.pm", oder "00_MQTT2_CLIENT.pm"?

Ein "00_MQTT2_DEVICE.pm" hab ich nämlich nicht im FHEM-Ordner, nur ein "00_MQTT2_CLIENT.pm" und das ist von Heute Abend 18:13Uhr (war mein letztes Update).

Ich mache gleich nochmal ein Update, lege dann alles nochmal neu an und poste dann das Log.

Gruß
- Raspberry PI 3+: (Cuno V2 mit 2x KS300, JeeLink mit 9x EC3000, Wetterstation WS101 (USB über Fowsr) ==> außer Betrieb
- Stromzähler: 38x DRS155M (B+G E-Tech) FHEM nicht möglich
- LAN: Intertechno LAN-Gateway mit 28x RMF-R1 (Rohrmotor24) ==> noch nicht in FHEM
- DECT: 4x DECT200
- WLAN: 1x Shelly 4

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 19984
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #231 am: 22 Januar 2019, 22:59:04 »
Ich meinte 10_MQTT2_DEVICE.pm.

Offline Guzzi-Charlie

  • Jr. Member
  • **
  • Beiträge: 85
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #232 am: 22 Januar 2019, 23:07:54 »
So, nun die Ergebnisse nach Update, Löschen und Neuanlegen des Shelly 4Pro mit autocreate.

Auf die Schnelle betrachtet sieht der neu angelegte Shelly 4Pro auch nicht anders aus als vorher.
Hier die readingList:
shelly4pro_801300:shellies/announce:.* __json2nameValue__EVENT___announce_____JSONMAP___
shelly4pro_801300:shellies/shelly4pro-801300/relay/0/power:.* power
shelly4pro_801300:shellies/shelly4pro-801300/relay/0:.* shellies/shelly4pro-801300/relay/0
shelly4pro_801300:shellies/shelly4pro-801300/relay/1/power:.* power
shelly4pro_801300:shellies/shelly4pro-801300/relay/1:.* 1
shelly4pro_801300:shellies/shelly4pro-801300/relay/2/power:.* power
shelly4pro_801300:shellies/shelly4pro-801300/relay/2:.* 2
shelly4pro_801300:shellies/shelly4pro-801300/relay/3/power:.* power
shelly4pro_801300:shellies/shelly4pro-801300/relay/3/energy:.* energy
shelly4pro_801300:shellies/shelly4pro-801300/relay/3:.* 3
shelly4pro_801300:shellies/shelly4pro-801300/relay/0/energy:.* energy
shelly4pro_801300:shellies/shelly4pro-801300/relay/1/energy:.* energy
shelly4pro_801300:shellies/shelly4pro-801300/relay/2/energy:.* energy

Auszug aus dem Logfile (ich hoffe das ist so richtig, Das attr Verbose vom MQTT2-Server hatte ich auf 5 gestellt):
2019.01.22 22:53:40 5: CONNECT: (0)(4)MQTT(4)(2)(0)<(0)(17)shelly4pro-801300
2019.01.22 22:53:40 4: MQTT2_FHEM_Server_192.168.178.131_63354 shelly4pro-801300 CONNECT V:4 keepAlive:60
2019.01.22 22:53:41 5: PUBLISH: (0)(17)shellies/announce{"id":"shelly4pro-801300","online":true,"mac":"C8FD19801300","ip":"192.168.178.131","new_fw":false, "fw_ver":"20181217-130631/v1.4.2@cc724b51"}
2019.01.22 22:53:41 4: MQTT2_FHEM_Server_192.168.178.131_63354 shelly4pro-801300 PUBLISH shellies/announce:{"id":"shelly4pro-801300","online":true,"mac":"C8FD19801300","ip":"192.168.178.131","new_fw":false, "fw_ver":"20181217-130631/v1.4.2@cc724b51"}
2019.01.22 22:53:41 5: MQTT2_FHEM_Server: dispatch autocreate:shelly4pro_801300:shellies/announce:{"id":"shelly4pro-801300","online":true,"mac":"C8FD19801300","ip":"192.168.178.131","new_fw":false, "fw_ver":"20181217-130631/v1.4.2@cc724b51"}
2019.01.22 22:53:41 2: autocreate: define MQTT2_shelly4pro_801300 MQTT2_DEVICE shelly4pro_801300
2019.01.22 22:53:41 2: autocreate: define FileLog_MQTT2_shelly4pro_801300 FileLog ./log/MQTT2_shelly4pro_801300-%Y.log MQTT2_shelly4pro_801300
2019.01.22 22:53:41 5: PUBLISH: (0)(shellies/shelly4pro-801300/relay/0/power0.00
2019.01.22 22:53:41 4: MQTT2_FHEM_Server_192.168.178.131_63354 shelly4pro-801300 PUBLISH shellies/shelly4pro-801300/relay/0/power:0.00
2019.01.22 22:53:41 5: MQTT2_FHEM_Server: dispatch autocreate:shelly4pro_801300:shellies/shelly4pro-801300/relay/0/power:0.00
2019.01.22 22:53:41 5: PUBLISH: (0)"shellies/shelly4pro-801300/relay/0off
2019.01.22 22:53:41 4: MQTT2_FHEM_Server_192.168.178.131_63354 shelly4pro-801300 PUBLISH shellies/shelly4pro-801300/relay/0:off
2019.01.22 22:53:41 5: MQTT2_FHEM_Server: dispatch autocreate:shelly4pro_801300:shellies/shelly4pro-801300/relay/0:off
2019.01.22 22:53:41 5: PUBLISH: (0)(shellies/shelly4pro-801300/relay/1/power0.00
2019.01.22 22:53:41 4: MQTT2_FHEM_Server_192.168.178.131_63354 shelly4pro-801300 PUBLISH shellies/shelly4pro-801300/relay/1/power:0.00
2019.01.22 22:53:41 5: MQTT2_FHEM_Server: dispatch autocreate:shelly4pro_801300:shellies/shelly4pro-801300/relay/1/power:0.00
2019.01.22 22:53:41 5: PUBLISH: (0)"shellies/shelly4pro-801300/relay/1off
2019.01.22 22:53:41 4: MQTT2_FHEM_Server_192.168.178.131_63354 shelly4pro-801300 PUBLISH shellies/shelly4pro-801300/relay/1:off
2019.01.22 22:53:41 5: MQTT2_FHEM_Server: dispatch autocreate:shelly4pro_801300:shellies/shelly4pro-801300/relay/1:off
2019.01.22 22:53:41 5: PUBLISH: (0)(shellies/shelly4pro-801300/relay/2/power0.00
2019.01.22 22:53:41 4: MQTT2_FHEM_Server_192.168.178.131_63354 shelly4pro-801300 PUBLISH shellies/shelly4pro-801300/relay/2/power:0.00
2019.01.22 22:53:41 5: MQTT2_FHEM_Server: dispatch autocreate:shelly4pro_801300:shellies/shelly4pro-801300/relay/2/power:0.00
2019.01.22 22:53:41 5: PUBLISH: (0)"shellies/shelly4pro-801300/relay/2off
2019.01.22 22:53:41 4: MQTT2_FHEM_Server_192.168.178.131_63354 shelly4pro-801300 PUBLISH shellies/shelly4pro-801300/relay/2:off
2019.01.22 22:53:41 5: MQTT2_FHEM_Server: dispatch autocreate:shelly4pro_801300:shellies/shelly4pro-801300/relay/2:off
2019.01.22 22:53:41 5: PUBLISH: (0)(shellies/shelly4pro-801300/relay/3/power23.50
2019.01.22 22:53:41 4: MQTT2_FHEM_Server_192.168.178.131_63354 shelly4pro-801300 PUBLISH shellies/shelly4pro-801300/relay/3/power:23.50
2019.01.22 22:53:41 5: MQTT2_FHEM_Server: dispatch autocreate:shelly4pro_801300:shellies/shelly4pro-801300/relay/3/power:23.50
2019.01.22 22:53:41 5: PUBLISH: (0))shellies/shelly4pro-801300/relay/3/energy322
2019.01.22 22:53:41 4: MQTT2_FHEM_Server_192.168.178.131_63354 shelly4pro-801300 PUBLISH shellies/shelly4pro-801300/relay/3/energy:322
2019.01.22 22:53:41 5: MQTT2_FHEM_Server: dispatch autocreate:shelly4pro_801300:shellies/shelly4pro-801300/relay/3/energy:322
2019.01.22 22:53:42 5: PUBLISH: (0)"shellies/shelly4pro-801300/relay/3on
2019.01.22 22:53:42 4: MQTT2_FHEM_Server_192.168.178.131_63354 shelly4pro-801300 PUBLISH shellies/shelly4pro-801300/relay/3:on
2019.01.22 22:53:42 5: MQTT2_FHEM_Server: dispatch autocreate:shelly4pro_801300:shellies/shelly4pro-801300/relay/3:on
2019.01.22 22:53:42 5: SUBSCRIBE: (133);(0)(16)shellies/command(1)
2019.01.22 22:53:42 4: MQTT2_FHEM_Server_192.168.178.131_63354 shelly4pro-801300 SUBSCRIBE
2019.01.22 22:53:42 4:   topic:shellies/command qos:1
2019.01.22 22:53:42 5: SUBSCRIBE: (133)<(0)"shellies/shelly4pro-801300/command(1)
2019.01.22 22:53:42 4: MQTT2_FHEM_Server_192.168.178.131_63354 shelly4pro-801300 SUBSCRIBE
2019.01.22 22:53:42 4:   topic:shellies/shelly4pro-801300/command qos:1
2019.01.22 22:53:42 5: SUBSCRIBE: (133)=(0)*shellies/shelly4pro-801300/relay/3/command(1)
2019.01.22 22:53:42 4: MQTT2_FHEM_Server_192.168.178.131_63354 shelly4pro-801300 SUBSCRIBE
2019.01.22 22:53:42 4:   topic:shellies/shelly4pro-801300/relay/3/command qos:1
2019.01.22 22:53:42 5: SUBSCRIBE: (133)>(0)*shellies/shelly4pro-801300/relay/2/command(1)
2019.01.22 22:53:42 4: MQTT2_FHEM_Server_192.168.178.131_63354 shelly4pro-801300 SUBSCRIBE
2019.01.22 22:53:42 4:   topic:shellies/shelly4pro-801300/relay/2/command qos:1
2019.01.22 22:53:42 5: SUBSCRIBE: (133)?(0)*shellies/shelly4pro-801300/relay/1/command(1)
2019.01.22 22:53:42 4: MQTT2_FHEM_Server_192.168.178.131_63354 shelly4pro-801300 SUBSCRIBE
2019.01.22 22:53:42 4:   topic:shellies/shelly4pro-801300/relay/1/command qos:1
2019.01.22 22:53:42 5: SUBSCRIBE: (133)@(0)*shellies/shelly4pro-801300/relay/0/command(1)
2019.01.22 22:53:42 4: MQTT2_FHEM_Server_192.168.178.131_63354 shelly4pro-801300 SUBSCRIBE
2019.01.22 22:53:42 4:   topic:shellies/shelly4pro-801300/relay/0/command qos:1
2019.01.22 22:53:43 5: PINGREQ:
2019.01.22 22:53:43 4: MQTT2_FHEM_Server_192.168.178.162_15416 DVES_E4AC01 PINGREQ
2019.01.22 22:53:43 5: PUBLISH: (0)$shellies/shellyswitch-135A27/relay/0on
2019.01.22 22:53:43 4: MQTT2_FHEM_Server_192.168.178.141_57225 shellyswitch-135A27 PUBLISH shellies/shellyswitch-135A27/relay/0:on
2019.01.22 22:53:43 5: MQTT2_FHEM_Server: dispatch autocreate:shellyswitch_135A27:shellies/shellyswitch-135A27/relay/0:on
2019.01.22 22:53:43 5: PUBLISH: (0)$shellies/shellyswitch-135A27/relay/1off
2019.01.22 22:53:43 4: MQTT2_FHEM_Server_192.168.178.141_57225 shellyswitch-135A27 PUBLISH shellies/shellyswitch-135A27/relay/1:off
2019.01.22 22:53:43 5: MQTT2_FHEM_Server: dispatch autocreate:shellyswitch_135A27:shellies/shellyswitch-135A27/relay/1:off
2019.01.22 22:53:43 5: PUBLISH: (0)(shellies/shellyswitch-135A27/relay/power34.57
2019.01.22 22:53:43 4: MQTT2_FHEM_Server_192.168.178.141_57225 shellyswitch-135A27 PUBLISH shellies/shellyswitch-135A27/relay/power:34.57
2019.01.22 22:53:43 5: MQTT2_FHEM_Server: dispatch autocreate:shellyswitch_135A27:shellies/shellyswitch-135A27/relay/power:34.57

Die Adressen ...161 und ...162 sind ein Shelly 1 (gerade nicht in Betrieb und ein Shelly 2).
- Raspberry PI 3+: (Cuno V2 mit 2x KS300, JeeLink mit 9x EC3000, Wetterstation WS101 (USB über Fowsr) ==> außer Betrieb
- Stromzähler: 38x DRS155M (B+G E-Tech) FHEM nicht möglich
- LAN: Intertechno LAN-Gateway mit 28x RMF-R1 (Rohrmotor24) ==> noch nicht in FHEM
- DECT: 4x DECT200
- WLAN: 1x Shelly 4

Offline Guzzi-Charlie

  • Jr. Member
  • **
  • Beiträge: 85
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #233 am: 22 Januar 2019, 23:12:27 »
Oh, jetzt haben sich die Posts überschnitten.

Hab gerade nochmal geschaut. Das Modul "10_MQTT_DEVICE.pm" ist tatsächlich noch alt (vom 07.10.2018) und wurde nicht geupdatet gerade. Dann kann ja auch nichts anderes herauskommen.

Ist das beim Komplett-Update nicht dabei? Muß ich das separat updaten?
- Raspberry PI 3+: (Cuno V2 mit 2x KS300, JeeLink mit 9x EC3000, Wetterstation WS101 (USB über Fowsr) ==> außer Betrieb
- Stromzähler: 38x DRS155M (B+G E-Tech) FHEM nicht möglich
- LAN: Intertechno LAN-Gateway mit 28x RMF-R1 (Rohrmotor24) ==> noch nicht in FHEM
- DECT: 4x DECT200
- WLAN: 1x Shelly 4

Offline Guzzi-Charlie

  • Jr. Member
  • **
  • Beiträge: 85
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #234 am: 22 Januar 2019, 23:28:58 »
Oh Mann, oh Mann. Ich höre besser auf für Heute, mache zu viele Fehler.

1. Mein FileZilla war nicht aktuallisiert, also "10_MQTT_DEVICE.pm" wurde doch geupdatet.
2. Habe aber den "shutdown restart"vergessen.

Also alles nochmal von Vorne. Schicke gleich die Daten.
- Raspberry PI 3+: (Cuno V2 mit 2x KS300, JeeLink mit 9x EC3000, Wetterstation WS101 (USB über Fowsr) ==> außer Betrieb
- Stromzähler: 38x DRS155M (B+G E-Tech) FHEM nicht möglich
- LAN: Intertechno LAN-Gateway mit 28x RMF-R1 (Rohrmotor24) ==> noch nicht in FHEM
- DECT: 4x DECT200
- WLAN: 1x Shelly 4

Offline Guzzi-Charlie

  • Jr. Member
  • **
  • Beiträge: 85
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #235 am: 22 Januar 2019, 23:49:47 »
So, nun hoffentlich die richtigen Daten nach Update, Restart, Löschen und Neuanlegen des Shelly 4Pro mit autocreate.

Die "announce"-Werte sind jetzt wieder richtig. Der Rest ist aber immer noch wie ursprünglich, d.h. falscher Name beim relay0 und keine Unterscheidung der einzelnen Kanäle für "power" und "energy".

Hier die readingList:
shelly4pro_801300:shellies/announce:.* { json2nameValue($EVENT, 'announce_', $JSONMAP) }
shelly4pro_801300:shellies/shelly4pro-801300/relay/0/power:.* power
shelly4pro_801300:shellies/shelly4pro-801300/relay/0/energy:.* energy
shelly4pro_801300:shellies/shelly4pro-801300/relay/0:.* shellies/shelly4pro-801300/relay/0
shelly4pro_801300:shellies/shelly4pro-801300/relay/1/power:.* power
shelly4pro_801300:shellies/shelly4pro-801300/relay/1:.* 1
shelly4pro_801300:shellies/shelly4pro-801300/relay/2/power:.* power
shelly4pro_801300:shellies/shelly4pro-801300/relay/2:.* 2
shelly4pro_801300:shellies/shelly4pro-801300/relay/3/power:.* power
shelly4pro_801300:shellies/shelly4pro-801300/relay/3/energy:.* energy
shelly4pro_801300:shellies/shelly4pro-801300/relay/3:.* 3
shelly4pro_801300:shellies/shelly4pro-801300/relay/1/energy:.* energy
shelly4pro_801300:shellies/shelly4pro-801300/relay/2/energy:.* energy
Die "energy"-Werte erscheinen übrigens nur wenn der Kanal "EIN" ist.

Auszug aus dem Logfile (ich hoffe das ist so richtig, Das attr Verbose vom MQTT2-Server hatte ich auf 5 gestellt):
2019.01.22 23:36:21 5: PUBLISH: (0)(shellies/shelly4pro-801300/relay/0/power0.00
2019.01.22 23:36:21 4: MQTT2_FHEM_Server_192.168.178.131_52806 shelly4pro-801300 PUBLISH shellies/shelly4pro-801300/relay/0/power:0.00
2019.01.22 23:36:21 5: MQTT2_FHEM_Server: dispatch autocreate:shelly4pro_801300:shellies/shelly4pro-801300/relay/0/power:0.00
2019.01.22 23:36:21 5: PUBLISH: (0)"shellies/shelly4pro-801300/relay/0off
2019.01.22 23:36:21 4: MQTT2_FHEM_Server_192.168.178.131_52806 shelly4pro-801300 PUBLISH shellies/shelly4pro-801300/relay/0:off
2019.01.22 23:36:21 5: MQTT2_FHEM_Server: dispatch autocreate:shelly4pro_801300:shellies/shelly4pro-801300/relay/0:off
2019.01.22 23:36:21 5: PUBLISH: (0)(shellies/shelly4pro-801300/relay/1/power0.00
2019.01.22 23:36:21 4: MQTT2_FHEM_Server_192.168.178.131_52806 shelly4pro-801300 PUBLISH shellies/shelly4pro-801300/relay/1/power:0.00
2019.01.22 23:36:21 5: MQTT2_FHEM_Server: dispatch autocreate:shelly4pro_801300:shellies/shelly4pro-801300/relay/1/power:0.00
2019.01.22 23:36:21 5: PUBLISH: (0)"shellies/shelly4pro-801300/relay/1off
2019.01.22 23:36:21 4: MQTT2_FHEM_Server_192.168.178.131_52806 shelly4pro-801300 PUBLISH shellies/shelly4pro-801300/relay/1:off
2019.01.22 23:36:21 5: MQTT2_FHEM_Server: dispatch autocreate:shelly4pro_801300:shellies/shelly4pro-801300/relay/1:off
2019.01.22 23:36:21 5: PUBLISH: (0)(shellies/shelly4pro-801300/relay/2/power0.00
2019.01.22 23:36:21 4: MQTT2_FHEM_Server_192.168.178.131_52806 shelly4pro-801300 PUBLISH shellies/shelly4pro-801300/relay/2/power:0.00
2019.01.22 23:36:21 5: MQTT2_FHEM_Server: dispatch autocreate:shelly4pro_801300:shellies/shelly4pro-801300/relay/2/power:0.00
2019.01.22 23:36:21 5: PUBLISH: (0)"shellies/shelly4pro-801300/relay/2off
2019.01.22 23:36:21 4: MQTT2_FHEM_Server_192.168.178.131_52806 shelly4pro-801300 PUBLISH shellies/shelly4pro-801300/relay/2:off
2019.01.22 23:36:21 5: MQTT2_FHEM_Server: dispatch autocreate:shelly4pro_801300:shellies/shelly4pro-801300/relay/2:off
2019.01.22 23:36:21 5: PUBLISH: (0)(shellies/shelly4pro-801300/relay/3/power23.39
2019.01.22 23:36:21 4: MQTT2_FHEM_Server_192.168.178.131_52806 shelly4pro-801300 PUBLISH shellies/shelly4pro-801300/relay/3/power:23.39
2019.01.22 23:36:21 5: MQTT2_FHEM_Server: dispatch autocreate:shelly4pro_801300:shellies/shelly4pro-801300/relay/3/power:23.39
2019.01.22 23:36:21 5: PUBLISH: (0))shellies/shelly4pro-801300/relay/3/energy324
2019.01.22 23:36:21 4: MQTT2_FHEM_Server_192.168.178.131_52806 shelly4pro-801300 PUBLISH shellies/shelly4pro-801300/relay/3/energy:324
2019.01.22 23:36:21 5: MQTT2_FHEM_Server: dispatch autocreate:shelly4pro_801300:shellies/shelly4pro-801300/relay/3/energy:324
2019.01.22 23:36:21 5: PUBLISH: (0)"shellies/shelly4pro-801300/relay/3on
2019.01.22 23:36:21 4: MQTT2_FHEM_Server_192.168.178.131_52806 shelly4pro-801300 PUBLISH shellies/shelly4pro-801300/relay/3:on
2019.01.22 23:36:21 5: MQTT2_FHEM_Server: dispatch autocreate:shelly4pro_801300:shellies/shelly4pro-801300/relay/3:on

Ich hoffe das ist Richtig und hilft. Ich mache jetzt Schluß für Heute.

Gruß
- Raspberry PI 3+: (Cuno V2 mit 2x KS300, JeeLink mit 9x EC3000, Wetterstation WS101 (USB über Fowsr) ==> außer Betrieb
- Stromzähler: 38x DRS155M (B+G E-Tech) FHEM nicht möglich
- LAN: Intertechno LAN-Gateway mit 28x RMF-R1 (Rohrmotor24) ==> noch nicht in FHEM
- DECT: 4x DECT200
- WLAN: 1x Shelly 4

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5378
  • Maintainer: mqtt2.template, httpmod.template
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #236 am: 23 Januar 2019, 07:40:29 »
[...] keine Unterscheidung der einzelnen Kanäle für "power" und "energy".
Das kommt daher, dass man beim Festlegen der Readings irgendeine Annahme treffen muß; hier: der Letzte Teil des Topic-Strings ist der Reading-Name.
Da der shelly aber denselben Namen hinten verwendet, kann autocreate das nicht unterscheiden und man muß manuell eingreifen, sonst landet eben immer der letzte Wert von irgendwo her in diesem Reading. Wenn du das manuell bearbeiten willst: einfach die Kanalnummer dahinter schreiben (also energy0 bzw. power0 usw.).

@Rudi:
- An einen Automatismus, um sowas zu umgehen, glaube ich nicht so recht; man könnte aber vielleicht immer eine pure Zahl im Topicstring als "Warnzeichen" auffassen: Bei den MiLights ist das ähnlich, nur dass da danach noch einiges an Detailinfo via JSON kommt. Wenn, dann wäre die Logik ggf. so: "Gibt es eine Zahl in den letzten beiden Elementen des Topic-Strings, bilde das Reading als $TEXT$ZAHL". 
- zu dem seltsamen Readingnamen mit dem topicstring fällt mir nichts ein.
- Die Sache mit den Präfixen in json2nameValue ist zwar in einigen Fällen wohl zweckmäßig, in der Mehrzahl der uns bisher untergekommenen Fällen führt es aber eher zu Verwirrung und Änderungswünschen. Meine Tendenz wäre daher, das im Default nur in der einfachen Form ({ json2nameValue($EVENT) }) in autocreate zu verwenden; ggf. kann man einen Hinweis auf die komplexere Form in einen comment schreiben, wenn da noch nichts drin steht.

Gruß, Beta-User
Server: HP-T5740 mit Debian stretch (i386) + aktuellem FHEM | ConfigDB | CUL_HM: div. Hardware mit VCCU | MySensors seriell (2.3.1@RS485, daran div. Sensoren usw., u.a. DS18B20) | Milight@ESP-GW@MQTT2 | zigbee2mqtt@MQTT2 | SIGNALduino | MapleCUN

Offline Guzzi-Charlie

  • Jr. Member
  • **
  • Beiträge: 85
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #237 am: 23 Januar 2019, 09:34:43 »
Hallo Guten Morgen,

Danke erstmal für die bisherigen Hilfen und Erklärungen.

Ich weiß, daß ich manuell die readingList ändern kann (habe ich ja auch schon gemacht). Ich hab aber keine Ahnung wie das autocreate und das template im Detail funktioniert (ich habe es bisher "nur" benutzt), deshalb die Anmerkungen. Ich kann auch absolut damit leben wie es jetzt ist. Ein wenig Handarbeit ist ja kein Problem.

Ich wollte hier auch nicht alle wuschig machen. Ich bin ja eigentlich nur wegen der seltsamen/unterschiedliche Methoden der "Bereitstellung" der Energiewerte bei den Shellys auf diesen Thread gestoßen und wollte zu meinen Feststellungen/Erkenntnissen/Vorstellungen ein paar Bestätigungen/Hilfen. Vielen Dank an Rudi und Beta-User. Wenn ich von Allterco was Neues erfahre werde ich das gerne hier kund tun.

Grundsätzlich bin ich ja von der autocreate-Funktion des MQTT2-Servers begeistert. Das funktioniert wunderbar und ist gerade für Anfänger ein wahnsinniger Vorteil. Hab inzwischen über 30 Devices (hauptsächlich Sonoff und Wemos D1 mini) angelegt. Die funktionieren alle perfekt.

So, jetzt muß ich mich Heute erstmal um was Anderes kümmern. Muß 2 Wechselrichter meiner PV-Anlagen austauschen.

Gruß
- Raspberry PI 3+: (Cuno V2 mit 2x KS300, JeeLink mit 9x EC3000, Wetterstation WS101 (USB über Fowsr) ==> außer Betrieb
- Stromzähler: 38x DRS155M (B+G E-Tech) FHEM nicht möglich
- LAN: Intertechno LAN-Gateway mit 28x RMF-R1 (Rohrmotor24) ==> noch nicht in FHEM
- DECT: 4x DECT200
- WLAN: 1x Shelly 4

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 19984
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #238 am: 24 Januar 2019, 16:00:53 »
@Guzzi-Charlie:
Danke fuer die Daten. Die aktuelle Version verruracht bei mir damit keine doppelten Readings, dieses Problem scheint also erledigt zu sein.

@Beta-User:
ab sofort werden in autocreate die letzten 2 Stellen des topics auf "pure Zahl" geprueft, und daraus entweder $TEXT$ZAHL, $TEXT$ZAHL$TEXT (falls moeglich, sonst $ZAHL$TEXT) als Readingname generiert. Damit werden aus Guzzi-Charlies Log folgende Readings automatisch erzeugt:
Zitat
relay_0
relay_0_power
relay_1
relay_1_power
relay_2
relay_2_power
relay_3
relay_3_energy
relay_3_power
json2nameValue im autocreate habe ich so abgeaendert, wie bestellt.
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5378
  • Maintainer: mqtt2.template, httpmod.template
Antw:MQTT2+Shelly: erste Konfiguration und template-Entwicklung
« Antwort #239 am: 24 Januar 2019, 16:20:52 »
ab sofort werden in autocreate die letzten 2 Stellen des topics auf "pure Zahl" geprueft, und daraus entweder $TEXT$ZAHL, $TEXT$ZAHL$TEXT (falls moeglich, sonst $ZAHL$TEXT) als Readingname generiert.
Danke, soweit hatte ich nicht gedacht, ist aber m.E. klasse. Bin mal gespannt, wie sich das dann in der Praxis bewährt :) .

@all: Irgendwelche Einwände, wenn die Shelly-templates dann bei Gelegenheit dieser Namenskonvention angeglichen werden? Dann gibt es keine Brüche vor/nach Anwendung der templates, und die Nummerik wird konsistenter?
Ist halt ggf. ein einmaliger Aufwand für die, die die Dinge schon im Einsatz haben, aber "up-to-date" bleiben wollen (was man nicht muß! es geht auch so...).

Zitat
json2nameValue im autocreate habe ich so abgeaendert, wie bestellt.
Auch hier: Bin mal gespannt, was uns zukünftige User dazu sagen werden...
Server: HP-T5740 mit Debian stretch (i386) + aktuellem FHEM | ConfigDB | CUL_HM: div. Hardware mit VCCU | MySensors seriell (2.3.1@RS485, daran div. Sensoren usw., u.a. DS18B20) | Milight@ESP-GW@MQTT2 | zigbee2mqtt@MQTT2 | SIGNALduino | MapleCUN

 

decade-submarginal