MQTT2+Shelly: erste Konfiguration und template-Entwicklung

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

Vorheriges Thema - Nächstes Thema

87insane

Gucke auch oft ins svn... Ist einfach, das stimmt. Dachte du hättest es aufgrund der frische noch parat.

Was die Namen angeht...
... Hier melden sich sehr selten andere User zu Wort (mein empfinden). Viele werden vermutlich bei Neuinstallation oder Problemen nur hier rein sehen. Also mir soll es egal sein. Ich bin mittlerweile weit genug um mir nur die benötigten teile aus den templates zu ziehen oder eben an zu passen.
Ich finde es eben nicht sonderlich sinnvoll... Auf einer seite wird durch autocreate was erzeugt. Auf der anderen seite wieder gelöscht und durch anderes ersetzt. Nun kommen wegen updates oder sonst was, neue readings rein und man muss erst mal schauen wozu das passt. In den templates selber läuft an für sich alles. Aber so oder so wird der Punkt kommen, an dem leute auf neuerer FW und andere auf älterer FW unterwegs sind. Auch wenn mal was geändert wird und du zb die templates von der backe hast, muss der nächste erst mal wissen warum du das so wolltest. Ich mag vernünftige Namen - wie diese dann hier aussehen, ist mir an und für sich auch egal.

Obwohl ich selber schon viel mit dem templates machte, war ich verwundert und musste das erst mal nachvollziehen. Für mich Grund genug das im original zu belassen.

Ein User, der einfach nur die ein oder andere led zum leuchten bringen will, wird sicher nicht am template basteln oder aber sich dafür interessieren wie da was heißt (außer das gerät selber).

Sooooo...für heute leider wieder im Off. Genieß mal die sonnige Ruhe [emoji5]

Gesendet von meinem LG-H850 mit Tapatalk


Beta-User

...selbst wenn ich es parat gehabt hätte: Warum soll ich das hierher kopieren, ggf. was vergessen, dadurch weitere Rückfragen erzeugen usw...?

Den Eindruck, dass andere sich selten melden, mag ich nicht unbedingt teilen: Wer ein Anliegen hat (oder neue Vorschläge, Änderungswünsche...), der meldet sich schon hier und in den anderen Template-Thread. Dass es relativ ruhig ist, führe ich eher auf eine gewisse Konsolidierung des ganzen Themas zurück :) .

Wenn mal jemand die templates übernimmt, wird es sein wie bei jedem anderen Modul: Erst mal aufpassen, welche Auswirkungen jede Änderung ggf. hat. Das ist zwar hier nicht ganz so tragisch, wie wenn ein Modul FHEM komplett abschießt, aber wenn was nicht paßt, gibt's schon feedback. Unbeliebt macht man sich v.a. dadurch, dass man Dinge nicht rückwärtskompatibel hält. Wer das (noch) nicht weiß, wird es schnell lernen.

Was deine Vorgehensweise angeht: Kann man so machen, aber jedenfalls solange ich das mache, werde ich auch (im vertretbaren Rahmen) versuchen, Konsistenz über der Zeit zu gewährleisten, damit eben nicht jeder sich die Mühe machen muss, alles im einzelnen auszutesten... (Ist ja in Teilen auch Sinn der Übung, oder?)
Bisher ist es einigermaßen gelungen, "breaking updates" gering zu halten, und ich sehe keinen wirklichen Anlaß, warum sich das zukünftig ändern sollte (vielleicht in geringem Umfang wg. des Sprachsteuerungsthemas, aber das ist auch irgendwann "durch").

MaW: Du schaffst dir damit mAn. nur zusätzlichen (unnötigen) Aufwand...
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

87insane

Hey - Bei dem Homebridgemapping hänge ich leider... An sich geht an/aus und Helligkeit. Leider bekomme ich das mit den Farben nicht hin. Hatte dazu einen Thread auf gemacht aber bisher, leider noch keine Lösung. Ist aber nicht vergessen, dass soll die Botschaft hier sein...

DasQ

angeblich soll das funktionieren.

ich bin aber auch an den farben gescheitert, die konnte ich zwar umstellen, aber bestimmte farben gehn garnicht, oder total falsch.
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

87insane

Es muss ja irgendwie gehen. Die normalen Mappings klappen ja auch. Naja ich habe so oder so nun erst mal Parookaville und danach habe ich ggf neue Ideen :)

Zur Info: Die Kollegen im Shelly Forum baten um eine kleine Anleitung zum einbinden der Shellys via MQTT an FHEM. Diese habe ich den Kollegen bereit gestellt. Ggf. ja auch für hier interessant....

https://www.shelly-support.eu/forum/index.php?thread/363-anleitung-shelly-mit-fhem-und-mqtt2/&postID=3311#post3311

Beta-User

[OT] Bin nicht glücklich, wenn die "Kollegen" "irgendwo" was haben wollen, und dann diverse Anleitungen "irgendwie" entstehen.
Hier ist z.B. ausschließlich MQTT2_SERVER als IO verwendet. Das geht zwar grundsätzlich, ist aber eben nicht die einzige Möglichkeit...
Weiter ist zumindest mir nicht klar, wie man "autocreate" aktiviert. Zur Klarstellung: Ich kenne zwei Stellen, die beide aktiv sein müssen, aber....:
- beim MQTT2_SERVER ist es per default aktiviert (worauf Rudi neulich berechtigterweise hingewiesen hat, was zur Streichung des Hinweises im Wiki führte, und das man auf zwei Arten "anschalten" kann...=> welche soll gelten?!?), und
- in der weiteren Anleitung ist nicht davon die Rede, dass man _zusätzlich_ ein TYPE=autocreate aktiv haben muß (was aber in der Standardinstallation auch an ist...). Das _könnte_ gemeint sein, aber klar ist das nicht...

Ergo: Mir (und ziemlich sicher einigen anderen auch) wäre lieber, wir würden Leute von extern darauf verweisen, wie die Doku in FHEM aufgebaut ist (https://wiki.fhem.de/wiki/Dokumentationsstruktur) und wo sie ggf. das finden, was sie suchen (z.B. "Praxisbeispiele" und die MQTT-Einführung).

Dann genügt die straffest -mögliche Kurzform, verbunden mit dem Hinweis, wo die full story zu finden ist. (Gerne mit den Hinweis, wie einfach die Dinge damit gehen, das freut mich ja durchaus 8) ...)

Wenn es da room for improvement gibt: Laßt wissen, keiner ist unfehlbar...
[/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

87insane

Ohne ewig lang zu antworten...
... Viele user fangen wegen shelly an mit fhem. So wird es vermutlich bei allen mal eine HW gegeben haben, mit der man angefangen hat. Absichtlich ist die anleitung kurz und für Anfänger. Tiefer werde ich in Richtung mqtt dort auch nicht gehen. Ein FAQ zb würde sich dort eher auf shelly beziehen. Ich habe enorme probleme am Anfang gehabt, um am infos zu kommen. Ich denke die "start Infos" sollten leichter zugänglich sein. Wer will kann dann weiter in die tiefe ABER muss sich dann zwangsläufig hier melden usw.

Sieh es als fhem Promo :)
Sicherlich wird es auch noch einige gute Programmierer oder so anlocken.

Beta-User

Will das hier auch nicht zu sehr vertiefen...

Wer warum zu FHEM kommt, sei mal dahingestellt, aber der Hinweis war so zu verstehen, dass die Anleitung nicht _zu kurz_ ist, sondern _zu lang_ ;) . (Konkret und mindestens: Wirf' autocreate da ganz raus und mach einen Link in's FHEM-Wiki (Praxisbeispiele) dazu; entweder der Leser ist ein Einsteiger, dann werden beide autocreate-Einstellungen sowieso passen, oder er weiß, wo er weitere Infos findet).

Und anders als noch vor ein paar Monaten ist es heute auch nicht mehr besonders schwer, an Infos zu kommen (du hast dich ja dankenswerterweise mit ein paar sehr speziellen Dingen rumgeschlagen ;D , so dass es auf dieser Basis jetzt in der Tat kaum einfacher geht - vielleicht abgesehen von dem Shelly-Modul, das ich aber genausowenig kenne wie die Hardware selbst ::) ).

FHEM braucht man m.E. auch nicht zu promoten, das "verkauft sich von selbst" (an die, die bereit sind, etwas tiefer einzusteigen; für den Rest wird es immer "seltsam" bleiben, und das ist auch ok so).

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

87insane

#443
Passe den Teil morgen an. Dann sollte sie dir zwar noch immer nicht zu 100% gefallen aber wissen ist KEINE hol schuld. Deinen Hinweis, nehme ich natürlich ernst und überlege mir mal was für die Zukunft. Sicherlich gibt es noch mehr Themen zu denen einen Anleitung gehört.

Ps: würde mir sowas für hier im Forum auch wünschen. Es gibt viele Wikis und Infos. Gute Anleitungen findet man aber meist zb auf der seite vom Kollegen winkler oder sonst wo. Hier gibt es einige aber meist sind die sehr schwer verständlich. Vllt kann ich ja für hier mal das eine oder andere für "einfache User" übersetzen. Das wäre doch was schönes :)

Edit: soeben im shelly Forum angepasst.

87insane

#444
Hey und guten Morgen,

im Zuge eines Shelly 2.5, genutzt für einen Dippel-Wippen-Schalter, habe ich das Template A_11a genutzt. Dieses ist ursprünglich für den Shelly 2. Dieser hat aber z.B. keine Messung für Strom usw. Hinzu mag ich es einheitlich, weswegen ich devStateIcon usw angepasst hatte.

devStateIcon (übernommen aus anderen Shelly Templates):
{my $onl = ReadingsVal($name,"online","false") eq "true"?"10px-kreis-gruen":"10px-kreis-rot";; my $light = ReadingsVal($name,"state","off") eq "on"?'light_pendant_light@green':'light_pendant_light';; my $cons = ReadingsVal($name,"relay_0_power","unknown");; my $temp = ReadingsVal($name,"temperature","-100");;"<div><a href=\"http://".ReadingsVal($name,"ip","none")." \"target=\"_blank\">".FW_makeImage($onl)."</a> <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($light)."</a> Aktuell: $cons W / Temp.: $temp °C</div>"}

readingList (CH 1):
shellies/shellyswitch25-BA7797/relay/0:.* state
  shellies/shellyswitch25-BA7797/relay/0:.* relay_0
  shellies/shellyswitch25-BA7797/input/0:.* input_0
  shellies/shellyswitch25-BA7797/online:.* online
  shellies/shellyswitch25-BA7797/announce:.* { json2nameValue($EVENT) }
  shellies/announce:.* { $EVENT =~ m,..id...shellyswitch25-BA7797...mac.*, ? json2nameValue($EVENT) : undef }
  shellies/shellyswitch25-BA7797/relay/0/power:.* relay_0_power
  shellies/shellyswitch25-BA7797/relay/0/energy:.* relay_0_energy
  shellies/shellyswitch25-BA7797/temperature:.* temperature
  shellies/shellyswitch25-BA7797/overtemperature:.* overtemperature
  shellies/shellyswitch25-BA7797/longpush/0:.* longpush_0


readingList (CH 2):
shellies/shellyswitch25-BA7797/relay/1:.* state
  shellies/shellyswitch25-BA7797/relay/1:.* relay_1
  shellies/shellyswitch25-BA7797/input/1:.* input_1
  shellies/shellyswitch25-BA7797/online:.* online
  shellies/shellyswitch25-BA7797/announce:.* { json2nameValue($EVENT) }
  shellies/announce:.* { $EVENT =~ m,..id...shellyswitch25-BA7797...mac.*, ? json2nameValue($EVENT) : undef }
  shellies/shellyswitch25-BA7797/relay/1/power:.* relay_1_power
  shellies/shellyswitch25-BA7797/relay/1/energy:.* relay_1_energy
  shellies/shellyswitch25-BA7797/temperature:.* temperature
  shellies/shellyswitch25-BA7797/overtemperature:.* overtemperature
  shellies/shellyswitch25-BA7797/longpush/1:.* longpush_1



Anbei mal ein Bild...

Normal würde ich auch lieber ein Gerät haben, da es ein Doppel-Schalter ist. ABER das macht wierderum die Alexa Befehle komplizierter. Deswegen als Split....


@Beta-User: Ich habe immer mal wieder gesehen, dass man kleine Zahlen (wie bei einem iPhone) einblenden kann am devStateIcon. Meinst du, sowas würde bei den Shellys gehen, wenn eine neue FW vorhanden ist?
new_fw false
Ist das Reading wenn nichts da ist und true eben wenn was da ist. So das am Ende eine kleine 1 da wäre, wenn eine neue FW vorhanden ist. Das wäre echt praktisch :)

Beta-User

Hallo und Danke,

das kommt dann mit dem nächsten update und der Bitte zu testen.

Dazu dann auch ein "on-for-timer"-Backlog-Beispiel für Tasmota.

Was das mit der update-Anzeige angeht: geht, aber ich will's nicht bauen :P und würde dafür auch eher eine Readingsgroup verwenden.
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

87insane

Zitat von: Beta-User am 29 Juli 2019, 12:55:26
Hallo und Danke,

das kommt dann mit dem nächsten update und der Bitte zu testen.

...

Was das mit der update-Anzeige angeht: geht, aber ich will's nicht bauen :P und würde dafür auch eher eine Readingsgroup verwenden.

Kein Problem.. Mache ich gern...

Hast du einen Tipp wonach ich suchen muss wegen der Update Anzeige? Readinggroup wie zb für leere Batterien ist zwar einfach machbar aber bei weitem nicht so schön :)

Beta-User

Zitat von: 87insane am 29 Juli 2019, 13:14:45
Kein Problem.. Mache ich gern...

Hast du einen Tipp wonach ich suchen muss wegen der Update Anzeige? Readinggroup wie zb für leere Batterien ist zwar einfach machbar aber bei weitem nicht so schön :)
Perl-devStateIcon - da kannst du ja prüfen, ob das Reading den passenden Wert hat und dann statt "grünem Punkt" für online z.B. einen orangenen anzeigen?
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

87insane

#448
Hey zusammen,

ich habe nun heraus gefunden, das diese kleinen Icons mit den Zahlen, in FTUI eingepflegt wurden aber nicht in FHEM WEB.
Ist aber nicht schlimm, da man dies ja anders lösen kann.

@Beta-User: Ist zwar nur eine Mini-Anpassung aber würde gerne was vorschlagen. Danke für deine Vor-Arbeit ;)
@All: Am besten mal Eure Meinung dazu...

Im Bild unten sieht man einen Shelly der ein FW Update bekommen könnte (gelber Kreis). Bei klick darauf, wird der Update Prozess angestoßen (x_update). Wenn kein Update vorhanden ist, dann auch kein gelber Kreis (Im Bild wäre das der zweite Shelly der angezeigt wird - OHNE gelben Kreis). Über die Icon Wahl kann man streiten oder noch besser, Ideen nennen :)

Ich selber hab das nun bei allen Shellys in meinem FHEM aktiv.

Danke fürs lesen und bis dahin.

Anbei noch der neue Code:
{my $onl = ReadingsVal($name,"online","false") eq "true"?"10px-kreis-gruen":"10px-kreis-rot";; my $fw = ReadingsVal($name,"new_fw","false") eq "true"?"10px-kreis-gelb":"";; my $light = ReadingsVal($name,"state","off") eq "on"?'light_pendant_light@green':'light_pendant_light';; my $cons = ReadingsVal($name,"relay_0_power","unknown");; my $temp = ReadingsVal($name,"temperature","-100");; "<div><a href=\"/fhem?cmd.dummy=set $name x_update&XHR=1\">".FW_makeImage($fw)."</a> <a href=\"http://".ReadingsVal($name,"ip","none")." \"target=\"_blank\">".FW_makeImage($onl)."</a> <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($light)."</a> Aktuell: $cons W / Temp.: $temp °C</div>"}

PS: Ich habe andere Lampen Icons, die würden dann beim checkin vermutlich wieder auf die ON/OFF gedreht werden. Danke schonmal.


EDIT: Habe auch eine Variante mit nur einem Punkt aber allen Features gebaut. Diese prüft die new_fw und online readings und färbt den einzelnen Punkt grün, gelb oder rot.
Hier wird dann auch die Funktion des Punktes angepasst. Sollte z.B. der Shelly online sein und eine neue FW vorhanden sein, wird der Punkt gelb und man kann mit klick darauf, das Update der Firmware direkt anstoßen. Sollte kein Update da sein, wird weiterhin durch klicken auf den grünen Punkt das Web-IF aufgerufen. Also alles wie bei meinem Vorschlag, nur intelligent in einem Punkt.

kabanett

Hallo zusammen,
ich habe heute ein paar Shelly 2.5 verbaut und das Template A_11b1a_shelly25_roller_invert_0 benutzt.
Hier wird bis zum ersten Eintreffen der Readings auch ein grüner Punkt angezeigt. Danach steht statt dessen nur "online".
Hat das vieleicht mit dem fehlenden Reading "http://ip" zu tun? Muss ich da noch etwas machen? Sorry ich Blicke das echt noch nicht ;)

Hier mal ein Beispiel der Readings. Ist bei allen Vieren gleich!

READINGS:
     2019-08-06 18:12:29   current         stop
     2019-08-06 18:12:29   energy          250
     2019-08-06 18:12:29   input0          0
     2019-08-06 18:12:29   input1          0
     2019-08-06 18:12:29   overtemperature 0
     2019-08-06 18:12:29   pct             100
     2019-08-06 18:12:29   power           0.00
     2019-08-06 18:12:29   roller_0_energy 250
     2019-08-06 18:12:29   roller_0_power  0.00
     2019-08-06 18:12:29   state           100
     2019-08-06 18:12:29   temperature     54.90


Firmware der Shellys ist aktuell.
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