MQTT2+Shelly: erste Konfiguration und template-Entwicklung

Begonnen von miggun, 03 Dezember 2018, 21:05:34

Vorheriges Thema - Nächstes Thema

rudolfkoenig

ZitatDer lässt mich Username und Passwort nicht löschen. Kann doch nicht sein, dass ich da jetzt nen Reset machen muss, oder?
Falls fuer die MQTT2_SERVER Instanz kein allowed gesetzt ist, dann ist das gesendete Benutzername/Passwort egal.
Ich wuerde "attr MQTT2_SERVER verbose 5" setzen, und das FHEM-Log ueberwachen. Damit werden alle Verbindungsversuche (auch die abgewiesenen) gemeldet.

miggun

Zitat von: rudolfkoenig am 04 Dezember 2018, 07:46:40
Falls fuer die MQTT2_SERVER Instanz kein allowed gesetzt ist, dann ist das gesendete Benutzername/Passwort egal.
Ich wuerde "attr MQTT2_SERVER verbose 5" setzen, und das FHEM-Log ueberwachen. Damit werden alle Verbindungsversuche (auch die abgewiesenen) gemeldet.

Klasse, danke.

Habe FHEM neu gestartet und bekomme das hier im Log.

    2018.12.04 08:22:26 1: PERL WARNING: Use of uninitialized value $val in concatenation (.) or string at ./FHEM/36_Shelly.pm line 607.
2018.12.04 08:22:32 2: AttrTemplates: got 10 entries   


Das hat aber nichts mit MQTT2 zu tun


Raspberry Pi 3 B+
Raspberry Pi 3 B+
MapleCUN
Shelly1, Shelly2, Shelly4pro, FS20

kabanett

Hallo,
ist die IP deines Fhem-Rechner tatsächlich 192.168.33.3 ?
Frage nur weil das 33er Netz im Auslieferungszustand des Shellys verwendet wird.

Gruß
Hardware: Fhem auf Raspi3 / selbtsbau CUL 433 und 868 MHz / MAX Thermostate / IT-Dosen nur noch Weihnachten / diverse ESP Aktoren/Sensoren / X10 Fernbedienung / Shelly 1, 1L, 2, 2.5, Dimmer, RGB2 / LaCrosseGateway / Zigbee2531 / diverse Zigbee Aktoren/Sensoren

miggun

Ahhhhhh, danke.....
Das war es.
Manchmal sieht man den Wald vor lauter Bäumen nicht.


Raspberry Pi 3 B+
Raspberry Pi 3 B+
MapleCUN
Shelly1, Shelly2, Shelly4pro, FS20

miggun

#19
Der Vollständigkeit halber hier das, was der Shelly 2 raus wirft.
Jetzt kommt das Problem, das gute Stück zu bedienen.
Internals:
   CFGFN     
   CID        shellyswitch_32B268
   DEF        shellyswitch_32B268
   DEVICETOPIC MQTT2_shellyswitch_32B268
   IODev      MQTT2_SERVER
   LASTInputDev MQTT2_SERVER
   MQTT2_SERVER_MSGCNT 607
   MQTT2_SERVER_TIME 2018-12-04 11:59:30
   MSGCNT     607
   NAME       Kueche_Shelly_Licht_MQTT
   NR         82
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2018-12-04 11:59:30   1               off
     2018-12-04 11:43:30   announce_id     shellyswitch-32B268
     2018-12-04 09:50:58   energy          6
     2018-12-04 09:50:58   power           44.25
     2018-12-04 11:59:30   shellies/shellyswitch-32B268/relay/0 off
Attributes:
   IODev      MQTT2_SERVER
   readingList shellyswitch_32B268:shellies/shellyswitch-32B268/relay/0:.* shellies/shellyswitch-32B268/relay/0
shellyswitch_32B268:shellies/shellyswitch-32B268/relay/1:.* 1
shellyswitch_32B268:shellies/announce:.* { json2nameValue($EVENT, 'announce_') }
shellyswitch_32B268:shellies/shellyswitch-32B268/relay/power:.* power
shellyswitch_32B268:shellies/shellyswitch-32B268/relay/energy:.* energy
   room       MQTT2_DEVICE
   verbose    3]  Internals:
   CFGFN     
   CID        shellyswitch_32B268
   DEF        shellyswitch_32B268
   DEVICETOPIC MQTT2_shellyswitch_32B268
   IODev      MQTT2_SERVER
   LASTInputDev MQTT2_SERVER
   MQTT2_SERVER_MSGCNT 607
   MQTT2_SERVER_TIME 2018-12-04 11:59:30
   MSGCNT     607
   NAME       Kueche_Shelly_Licht_MQTT
   NR         82
   STATE      ???
   TYPE       MQTT2_DEVICE
   READINGS:
     2018-12-04 11:59:30   1               off
     2018-12-04 11:43:30   announce_id     shellyswitch-32B268
     2018-12-04 09:50:58   energy          6
     2018-12-04 09:50:58   power           44.25
     2018-12-04 11:59:30   shellies/shellyswitch-32B268/relay/0 off
Attributes:
   IODev      MQTT2_SERVER
   readingList shellyswitch_32B268:shellies/shellyswitch-32B268/relay/0:.* shellies/shellyswitch-32B268/relay/0
shellyswitch_32B268:shellies/shellyswitch-32B268/relay/1:.* 1
shellyswitch_32B268:shellies/announce:.* { json2nameValue($EVENT, 'announce_') }
shellyswitch_32B268:shellies/shellyswitch-32B268/relay/power:.* power
shellyswitch_32B268:shellies/shellyswitch-32B268/relay/energy:.* energy
   room       MQTT2_DEVICE
   verbose    3



Raspberry Pi 3 B+
Raspberry Pi 3 B+
MapleCUN
Shelly1, Shelly2, Shelly4pro, FS20

Beta-User

Aus http://shelly-api-docs.shelly.cloud/

Zitatshellies/shelly1-<deviceid>/relay/0/command accepts on and off and applies accordingly
Probiere es also mal mit (für die RAW-Def):
attr shellyswitch_32B268 setList \
off:noArg    shellies/shellyswitch-32B268/relay/0/command off\
on:noArg     shellies/shellyswitch-32B268/relay/0/command on
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

miggun

Klasse, danke.
Probiere ich.
Habe jetzt die Dante Zeit mit dem Mobiltelefon gearbeitet.
Gleich bin ich zu Hause und mache mit dem Rechner weiter.


Raspberry Pi 3 B+
Raspberry Pi 3 B+
MapleCUN
Shelly1, Shelly2, Shelly4pro, FS20

andies

Und bitte list- und ähnliche Angaben in Code-Tags. Das sind die Knöpfe mit der Raute #.

Liest sich viel leichter.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

miggun

Ups, sollte Code sein. Hatte mich auf dem Handy verklickt.
Geändert.
Raspberry Pi 3 B+
MapleCUN
Shelly1, Shelly2, Shelly4pro, FS20

miggun

Mist.... nächste Problem.
Ich bekomme den echten Status nicht dargestellt. An und Aus zeigt er richtig an, solnge ich nicht extern betätige. Also nehme ich nicht den Status, denn ich geliefert bekomme. Wo bin ich jetzt wieder daneben?

defmod t_Kueche_Hauptlicht MQTT2_DEVICE
attr t_Kueche_Hauptlicht IODev MQTT2_SERVER
attr t_Kueche_Hauptlicht devStateIcon shellies/shellyswitch-32B268/relay/0 ON:li_wht_on shellies/shellyswitch-32B268/relay/0 OFF:li_wht_off
attr t_Kueche_Hauptlicht eventMap on:ON off:OFF
attr t_Kueche_Hauptlicht getList shellies/shellyswitch-32B268/relay/power power\
shellies/shellyswitch-32B268/relay/0 state
attr t_Kueche_Hauptlicht homebridgeMapping On=state,valueOff=Off,valueOn=On,cmdOff=Off,cmdOn=On
attr t_Kueche_Hauptlicht icon li_wht_off
attr t_Kueche_Hauptlicht readingList shellyswitch_32B268:shellies/shellyswitch-32B268/relay/0:.* shellies/shellyswitch-32B268/relay/0\
shellyswitch_32B268:shellies/shellyswitch-32B268/relay/1:.* 1\
shellyswitch_32B268:shellies/announce:.* { json2nameValue($EVENT, 'announce_') }\
shellyswitch_32B268:shellies/shellyswitch-32B268/relay/power:.* power\
shellyswitch_32B268:shellies/shellyswitch-32B268/relay/energy:.* energy
attr t_Kueche_Hauptlicht room 01_Küche,Homekit,MQTT2_DEVICE
attr t_Kueche_Hauptlicht setList off:noArg shellies/shellyswitch-32B268/relay/0/command off\
on:noArg shellies/shellyswitch-32B268/relay/0/command on
attr t_Kueche_Hauptlicht siriName Hauptlicht
attr t_Kueche_Hauptlicht webCmd on:off
Raspberry Pi 3 B+
MapleCUN
Shelly1, Shelly2, Shelly4pro, FS20

Beta-User

Schau dir mal die mqtt2-templates an (SuFu ;) ).

Auf den ersten Blick mal Folgendes:
Die eventMap sieht komisch aus (wieso Großschreibung), und devStateIcon enthält Leerzeichen, die m.E. teilweise durch einen Punkt ersetzt werden müßten (Beschäftige dich mit dem Punkt bzw. dessen Bedeutung in Regex...)

Ansonsten solltest du mal den Verkehr auf MQTT-Ebene mitlesen (ich nutze dazu mosquitto_sub - das funktioniert auch mit MQTT2_SERVER) und ggf. mal hier posten, was da hin- und hergeht.
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

miggun

Ah, mach ich.
eventMap habe ich so aus dem MQTT2 wiki, bin mir aber nicht sicher.
Werde ich aber in klein machen, ist mir auch lieber.
Da werde ich direkt mal rein lesen.
Raspberry Pi 3 B+
MapleCUN
Shelly1, Shelly2, Shelly4pro, FS20

Beta-User

Zum einen steht über dem wiki: needs update...
Zum anderen wäre mir neu, dass da was speziell für den shelly geschrieben wurde ;) . Merke: Es gibt keinen wirklichen Standard, wie die topics und die Messages gebaut sind, jeder Hersteller/jede firmware macht das ein klein wenig anders! Daher der Hinweis, den Verkehr mitzuschneiden.

Das wäre btw ganz sinnvoll, dann könnte dein Shelly2 dann auch als mqtt2-template Eingang in das Allgemeingut finden ;) . Vielleicht beschäftigst du dich etwas damit und lieferst dann was passendes, das Rudi nur einchecken muß. DAS wäre klasse ;D .
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

miggun

Gerade ich. :D :D :D
Beschäftigen ja, aber bevor ich was raus finde, das Ihr noch nicht wisst, bin ich ein ganzes Stück näher an der Rente.
Raspberry Pi 3 B+
MapleCUN
Shelly1, Shelly2, Shelly4pro, FS20

Beta-User

Glaube mir, das lohnt für beide Seiten:

Du lernst was wichtiges über FHEM (wie Readings zustandekommen z.B. und die Darstellung von Devices in FHEMWEB).
Und die Allgemeinheit lernt die Schaltbefehle für einen Shelly2.

Du mußt im wesentlichen nicht viel mehr tun als den Verkehr mitzulesen. Das ist nicht schwierig (z.B. mosquitto_sub -d -h <server-hostname> -t shellies/#; MQTT.fx soll auch einfach sein) , mußt halt einen Weg finden, wie du das am einfachsten exportierst (aus der Kommandozeile ginge Kopieren z.B. mit Markieren und dann Strg+Umschalt+c).

Beim Transfer der Infos auf das Device können dann andere unterstützen, und dann daraus ein template zu machen? Mal sehen, kann auch kein Hexenwerk sein...
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