Shelly Plus1PMMini ich verzweifle

Begonnen von paulbaumann, 20 November 2023, 21:23:58

Vorheriges Thema - Nächstes Thema

Otto123

Zitat von: Otto123 am 27 November 2023, 09:59:53mit einem list des Device nachdem es automatisch erstellt  und noch nicht manipuliert wurde.
Mir ist egal wo Du das postest :) nur ohne weiter Info wird es schwer eine Idee zu entwickeln. Und offenbar macht es ja so keiner, andererseits Tasmota sicher irgendwie immer ähnlich zu behandeln ...
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Klaus_R

Zitat von: paulbaumann am 20 November 2023, 21:23:58Wird in FHEM als MQTT2_DEVICE sofort erkannt. Das war es aber auch. Egal welches Template ich zuordne, ich kann das Ding gar nicht unter FHEM schalten.

Hallo, hab auch gerade einen Shelly Plus 1PM (nicht mini!) mit Tasmota in Betrieb genommen. Wurde automatisch von FHEM angelegt und es kommen auch jede Menge Readings rein.
diese readingList wurde automatisch angelegt:
DVES_D0C79C:tele/Shelly1PM_D0C79C/LWT:.* LWT
DVES_D0C79C:cmnd/Shelly1PM_D0C79C/POWER:.* POWER
DVES_D0C79C:tele/Shelly1PM_D0C79C/INFO1:.* { json2nameValue($EVENT, 'INFO1_', $JSONMAP) }
DVES_D0C79C:tele/Shelly1PM_D0C79C/INFO2:.* { json2nameValue($EVENT, 'INFO2_', $JSONMAP) }
DVES_D0C79C:tele/Shelly1PM_D0C79C/INFO3:.* { json2nameValue($EVENT, 'INFO3_', $JSONMAP) }
DVES_D0C79C:tele/Shelly1PM_D0C79C/STATE:.* { json2nameValue($EVENT, 'STATE_', $JSONMAP) }
DVES_D0C79C:tasmota/discovery/80646FD0C79C/config:.* { json2nameValue($EVENT, 'config_', $JSONMAP) }
DVES_D0C79C:tasmota/discovery/80646FD0C79C/sensors:.* { json2nameValue($EVENT, 'sensors_', $JSONMAP) }
DVES_D0C79C:stat/Shelly1PM_D0C79C/RESULT:.* { json2nameValue($EVENT, 'RESULT_', $JSONMAP) }
DVES_D0C79C:stat/Shelly1PM_D0C79C/POWER:.* POWER
DVES_D0C79C:tele/Shelly1PM_D0C79C/SENSOR:.* { json2nameValue($EVENT, 'SENSOR_', $JSONMAP) }

kannst das bei Dir mal reinkopieren.

Nach anlegen von setList:
off:noArg    cmnd/Shelly1PM_D0C79C/POWER 0
on:noArg     cmnd/Shelly1PM_D0C79C/POWER 1
attr MQTT2_DVES_D0C79C setList off:noArg    cmnd/Shelly1PM_D0C79C/POWER 0\
on:noArg     cmnd/Shelly1PM_D0C79C/POWER 1

konnte ich problemlos schalten.

Das
DVES_D0C79Cund
Shelly1PM_D0C79C musst Du natürlich mit deinen Bezeichnungen ersetzen. Hoffe es hilft!
Viel Glück!
Linux Mint, Raspi-OSMC, Raspi-fhem, WemosD1, Shelly, CUL

paulbaumann

Hatte ich das oben nicht erwähnt?
Schalten ging bei mir mittlerweile auch problemlos.
Aber ich hatte Probleme mit der Lampenanzeige.
Habe ich gestern hinbekommen.
Das Problem ist
devStateIcon
und
stateFormat
Und das hat es wirklich in sich.
Das ist mal richtig doof komplex gemacht. Man müsste mit den Leuten die die Tasmota Templates gemacht haben mal reden wenn sie willens sind auf DAU Niveau, wie ich einer bin, zu kommunizieren.
Wenn Ihr wollt kann ich ja meine Einstellungen posten die können ja auch für Andere die auf das Problem stoßen nützlich sein

rabehd

Zitat von: paulbaumann am 29 November 2023, 13:26:57Das ist mal richtig doof komplex gemacht. Man müsste mit den Leuten die die Tasmota Templates gemacht haben mal reden wenn sie willens sind auf DAU Niveau, wie ich einer bin, zu kommunizieren.
Finde ich unhöflich. >:(

Wer sich als DAU bezeichnet sollte nicht ein Shelly auf Tasmota ändern und dann die Hand geführt haben wollen.
Auch funktionierende Lösungen kann man hinterfragen.

paulbaumann

Warum unhöflich?
Aber vielleicht besänftige ich dich heute Abend wenn ich die (ja von mir rausgefundene und funktionierende) Lösung hier einstelle. Sinn meiner Ausführungen war doch nur das sich die Tasmota Template Leute das mal anschauen damit Andere es einfacher haben und nicht auch wie ich mit zig Versuchen sich der Lösung nähern müssen

rabehd

#20
Ein Template ist eine Vorlage die eigentlich für einen bestimmten Fall gedacht ist.
Das mußt Du nicht verwenden, das darfst Du anpassen. Du darfst auch ein eigenes Template einstellen.
Der Wunsch das jemand für Dich ein Template erstellt, ist die falsche Einstellung. Das ist hier kein Kaufprodukt und jeder macht das in seiner Freizeit. 
Auch funktionierende Lösungen kann man hinterfragen.

JoWiemann

Zitat von: paulbaumann am 29 November 2023, 13:26:57Das ist mal richtig doof komplex gemacht. Man müsste mit den Leuten die die Tasmota Templates gemacht haben mal reden wenn sie willens sind auf DAU Niveau, wie ich einer bin, zu kommunizieren.

Hallo,

wer ist Man? Und "mal reden wenn sie willens sind". Hast Du denn Beta-User schon mal auf das Problem aufmerksam gemacht. Dieser User ist der/die Maintainer. Und "Man" kannst ja nur Du sein.

Wir arbeiten hier mit Respekt zusammen. Wenn wir etwas finden, dann adressieren wir das respektvoll an den/die Maintainer. Keiner wird Fehler/Anregungen/Korrekturen ablehnen.

Und, wir machen Fhem gemeinsam besser. Jeder/Jede trägt dazu bei.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Klaus_R

Zitat von: paulbaumann am 30 November 2023, 08:39:23wenn ich die (ja von mir rausgefundene und funktionierende) Lösung hier einstelle.
Ich würde es gerne sehen!
Gruss Klaus
Linux Mint, Raspi-OSMC, Raspi-fhem, WemosD1, Shelly, CUL

paulbaumann

So jetzt sitz ich am Rechner, hoffe ich bekomme das mit diesem Code usw hin.
So funktioniert es bei mir mit einer ShellyPlus1PMMini und damit anders wie meine alten Shelly1PM, nicht missverstehen, schalten ist nicht das Problem, das geht ja auch im Browser,
mir ging es um die gemeinsame Anzeige der Lampe und ob Rot oder nicht und ob ich in der Übersicht drauf drücken kann.
Und sorry, auch wenn doof vielleicht das falsche Wort war, es ist eine steile Lernkurve wenn ich von devStateIcon und stateFormat rede und ich peil das nicht und bin dafür echt DAU
und habe nur mit copy und paste gearbeitet von vorhandenen Templates. Das geht jetzt aber so wie es soll! Hier das Ergebis: (die XXXXXX sind durch die 6-stellige Zahlen-Buchstaben-Gerätenummer von Tasmota zu ersetzen)
Funktioniert wie es soll.

[code]:
define MQTT2_DVES_XXXXXX MQTT2_DEVICE DVES_XXXXXX
attr MQTT2_DVES_XXXXXX IODev MQTT2_FHEM_Server
attr MQTT2_DVES_XXXXXX alexaName Ruhe
attr MQTT2_DVES_XXXXXX alias Ruhe
attr MQTT2_DVES_XXXXXX autocreate 0
attr MQTT2_DVES_XXXXXX devStateIcon {my $text = ' uptime: '.ReadingsVal($name,"Uptime","unknown").sprintf(" aktuell: %.1f W Tag: %.2f kWh Gestern: %.3f kWh Gesamt: %.4f kWh", ReadingsVal($name,"ENERGY_Power","-1"), ReadingsVal($name,"ENERGY_Today","-1"), ReadingsVal($name,"ENERGY_Yesterday","-1"), ReadingsVal($name,"ENERGY_Total","-1"));; my $onl = ReadingsVal($name,"LWT","false") eq "Online"?"10px-kreis-gruen":"10px-kreis-rot";; my $light = ReadingsVal($name,"state","off");;"<div><a href=\"http://".ReadingsVal($name,"IPAddress","none")." \"target=\"_blank\">".FW_makeImage($onl).'</a> <a href="/fhem?cmd.dummy=set '.$name.' toggle&XHR=1">'.FW_makeImage($light)."</a>$text<b></b>"}
attr MQTT2_DVES_XXXXXX gassistantName Ruhe
attr MQTT2_DVES_XXXXXX genericDeviceType switch
attr MQTT2_DVES_XXXXXX icon hue_filled_outlet
attr MQTT2_DVES_XXXXXX jsonMap POWER1:0 POWER2:0 POWER3:0 POWER4:0 Dimmer:0 Channel_0:0 Channel_1:0 Channel_2:0 Channel_3:0 Channel_4:0 HSBColor:0 Color:0
attr MQTT2_DVES_XXXXXX model tasmota_POW
attr MQTT2_DVES_XXXXXX readingList tele/tasmota_XXXXXX/LWT:.* LWT\
  tele/tasmota_XXXXXX/STATE:.* { json2nameValue($EVENT,'',$JSONMAP) }\
  tele/tasmota_XXXXXX/SENSOR:.* { json2nameValue($EVENT,'',$JSONMAP) }\
  tele/tasmota_XXXXXX/INFO.:.* { json2nameValue($EVENT,'',$JSONMAP) }\
  tele/tasmota_XXXXXX/UPTIME:.* { json2nameValue($EVENT,'',$JSONMAP) }\
  stat/tasmota_XXXXXX/POWER1:.* state\
  stat/tasmota_XXXXXX/RESULT:.* { json2nameValue($EVENT,'',$JSONMAP) }
attr MQTT2_DVES_XXXXXX room GoogleAssistant,MQTT2_DEVICE,alexa
attr MQTT2_DVES_XXXXXX setList off:noArg    cmnd/tasmota_XXXXXX/POWER1 0\
  on:noArg     cmnd/tasmota_XXXXXX/POWER1 1\
  toggle:noArg cmnd/tasmota_XXXXXX/POWER1 2
attr MQTT2_DVES_XXXXXX setStateList on off toggle
attr MQTT2_DVES_XXXXXX stateFormat {sprintf("aktuell: %.1f W Tag: %.2f kWh Gestern: %.3f kWh Gesamt: %.4f kWh", ReadingsVal($name,"ENERGY_Power","-1"), ReadingsVal($name,"ENERGY_Today","-1"), ReadingsVal($name,"ENERGY_Yesterday","-1"), ReadingsVal($name,"ENERGY_Total","-1"))}
attr MQTT2_DVES_XXXXXX webCmd :


paulbaumann

@rabehd und @JoWiemann
hoffe die Wogen mit dem Post 23 etwas geglättet zu haben
Sorry ich halte mich zu blöd ein eigenes Template einzustellen,
dazu müßte ich auch all das verstehen, das ist mir viel zu komplex.
Mir reicht es schon wenn ich per copy-paste vorhandene Templates so abwandle das Sie für meinen Fall gehen.
Und das stelle ich natürlich gerne Anderen zur Verfügung...

Gasmast3r

Hy habe grad den Shelly_PM_MINI mit Tasmota FW eingebunden und alle werte die nicht gebraucht werden rausgelöscht.

Das Template habe ich mir dann aus der Datei kopiert und es so um kopiert das es passen sollte.

denke wenn ich das hin bekomme schaffst du das auch.

paulbaumann

@Gasmast3r
Ja ja danke.
Das habe ich ja im Code Post 23 (also 2 weiter oben über deinen) auch gemacht.
Zugegeben habe nicht alle die nicht gebracht werden 100% entfernt.
Funktioniert jedenfalls fehlerfrei.
Natürlich kann ich den Code auch gerne als Template zur Verfügung stellen wenn ich das darf.
Weiß bloß nicht wie, hatte ja schon Schwierigkeiten Code zu posten, war wohl einmal zu viel das 'Code:'

Prof. Dr. Peter Henning

Ich wundere mich etwas darüber, dass jemand, der solche Schwierigkeiten hat, die Shelly-Devices überhaupt umflasht. Die normale Firmware ist flexibel und sicher genug, um die Dinger zu betreiben.

LG

pah

Gasmast3r

Hy, ich persönlich finde die Dokumentation zum umflashen auf Tasmota inkl einbinden ist besser beschrieben als die Einbindung als Shelly Device.

Die PM Mini bekomme ich per Tasmota besser zum Laufen als per Shelly, mag auch daran liegen das man sich langsam an Tasmota/MQTT eingelesen hat.

paulbaumann

Und ich kann den Post 28 nur voll umgänglich bestätigen. Besser hätte ich es nicht formulieren können.