Publish aus AT-Befehl

Begonnen von Pancake, 12 Oktober 2022, 20:31:56

Vorheriges Thema - Nächstes Thema

Beta-User

Zitat von: Pancake am 13 Oktober 2022, 17:59:05
Die Rolladensteuerung aus fhem wäre natürlich gut. Hier fehlt mir aber das "richtige" Template um einen Schrittmotor mit einem A4988 zu steuern.
Das ganz normale paßt m.E. "im Prinzip" - du darfst nur die backlog-Befehle nicht alle senden... Aber die Attribute müßten ohne weiteres 1:1 funktionieren.

Zitat
Ein Schrittmotor läßt sich nicht einfach mit einem Transistor schalten. Der Schrittmotor benötigt einen Treiber wie z.B. A4988, DRV8825, TMC2208.
Soweit war und ist mir das klar.
Hatte das so interpretiert, dass du mit dem ersten ESP die Spannungszufuhr wegschaltest, um  Energie zu sparen. Meine Frage war, ob man dazu einen weiteren ESP braucht, oder ob man die Energiezufuhr der "hungrigen" Teile gesondert wegschalten könnte (z.B. über eine über das "enable"-Signal zusätzlich vorgeschaltetes Relay oder einen MOSFET.

Zitat
hier einzufügen gibt es eine Fehlermeldung.
Vermutlich hat Otto123 ja schon richtig "geraten", was das eigentliche Problem ist, aber prinzipiell ist es für die Helfer auch interessant, WELCHE Fehlermeldung (in welchem Zusammenhang) kommt...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Pancake

Die Fehlermeldung erscheint nicht mehr.
Habe fhem resetet.

DEF
*19:31:00 { if($wday == 0 ||$wday == 1 || $wday == 2 || $wday == 3 ||  $wday == 4 || $wday == 5||$wday == 6) { fhem("set Shelly_KuecheRolloN on-for-timer 300;;sleep 5;;set MQTT2_Server publish cmnd/stefan/shutterposition 0")}}

Jetzt wird der Befehl set Shelly_KuecheRolloN on-for-timer 300 auch nicht mehr ausgeführt.

ZitatDas ganz normale paßt m.E. "im Prinzip" - du darfst nur die backlog-Befehle nicht alle senden... Aber die Attribute müßten ohne weiteres 1:1 funktionieren.
Weiß nicht wie so etwas unterbunden werden kann.

ZitatSoweit war und ist mir das klar.
Hatte das so interpretiert, dass du mit dem ersten ESP die Spannungszufuhr wegschaltest, um  Energie zu sparen. Meine Frage war, ob man dazu einen weiteren ESP braucht, oder ob man die Energiezufuhr der "hungrigen" Teile gesondert wegschalten könnte (z.B. über eine über das "enable"-Signal zusätzlich vorgeschaltetes Relay oder einen MOSFET

Sämtliche spannungsführenden Teile sollen ausgeschaltet werden mit demShelly Plug S.

Otto123

#17
so kommen wir nicht weiter.
Ich empfehle Grundlagen:
https://forum.fhem.de/index.php/topic,71806.0.html
https://wiki.fhem.de/wiki/Quick-Start

Poste bitte Raw Def oder ein list vom at in Codetags

Zitat von: Pancake am 13 Oktober 2022, 19:50:37
Habe fhem resetet.
Was meinst Du damit?

Wenn etwas "nicht geht" wie bei diesem at gibt es folgende Testschritte
at kennt set .... execNow (Webinterface) oder nimm den Ausführungsteil und wirf ihn in die FHEM Kommandozeile
nimm den ersten Befehl nach dem if - wirf in in die FHEM Kommandozeile.
Nimm den zweiten ... (macht hier keinen Sinn)
Nimm den dritten nach dem if -  wirf in in die FHEM Kommandozeile.
Nimm von mir aus den zweiten plus den dritten (mit einem semikolon als Trenner) usw.
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

Pancake

#18
defmod Wochentimer_Rollo_Kueche_N_zu at *21:07:00 { if($wday == 0 ||$wday == 1 || $wday == 2 || $wday == 3 ||  $wday == 4 || $wday == 5||$wday == 6) { fhem("set Shelly_KuecheRolloN on-for-timer 300;;;;sleep 5;;;;set MQTT2_Server publish cmnd/stefan/shutterposition 0")}}\
\
\

attr Wochentimer_Rollo_Kueche_N_zu mqttPublish set shellies/shellyplug-s-E3F645/relay/0/command on

setstate Wochentimer_Rollo_Kueche_N_zu Next: 21:07:00
setstate Wochentimer_Rollo_Kueche_N_zu 2022-10-13 21:07:00 state Next: 21:07:00



ZitatHabe fhem resetet.

Shutdown Restart

Gerade noch einmal sudo systemctl stop fhem und wieder gestartet mit sudo systemctl start fhem

Denn Shelly PlugS spanungslos gemacht und wieder in die Steckdose gesteckt.

Der Befehl set Shelly_KuecheRolloN on funktioniert in der Kommandozeile.
Der Befehl set Shelly_KuecheRolloN on-for-timer 300 funktioniert in der Kommandozeile.

In dem AT  Wochentimer_Rollo_Kueche_N_zu wird kein Befehl ausgeführt.

Otto123

korrigiere bitte die Definition:
defmod Wochentimer_Rollo_Kueche_N_zu at *21:07:00 { if($wday == 0 ||$wday == 1 || $wday == 2 || $wday == 3 ||  $wday == 4 || $wday == 5||$wday == 6) { fhem("set Shelly_KuecheRolloN on-for-timer 300;;sleep 5;;set MQTT2_Server publish cmnd/stefan/shutterposition 0")}}
Und teste die Funktion mit set Wochentimer_Rollo_Kueche_N_zu execNow

Wie hast Du das attr Wochentimer_Rollo_Kueche_N_zu mqttPublish da hinein bekommen?  :o
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

Pancake

#20
defmod Wochentimer_Rollo_Kueche_N_zu at *21:07:00 { if($wday == 0 ||$wday == 1 || $wday == 2 || $wday == 3 ||  $wday == 4 || $wday == 5||$wday == 6) { fhem("set Shelly_KuecheRolloN on-for-timer 300;;sleep 5;;set MQTT2_Server publish cmnd/stefan/shutterposition 0")}}

Die Definition wurde durch deinen Code ersetzt und funktioniert!!!
Der Shelly wird eingeschaltet, nach5 sec. fährt das Rollo nach unten, nach 5 min. schaltet sich der Shelly aus.

ZitatWie hast Du das attr Wochentimer_Rollo_Kueche_N_zu mqttPublish da hinein bekommen?  :o

DEF angeklickt -> Fenster öffnet sich Code eingefügt, erst gab es eine Fehlermeldung, danach wurde der Code akzeptiert.

Schönen Dank!
für deine Zeit und geduld :)

Beta-User

Zum einen: [gelöst]?

Zitat von: Pancake am 13 Oktober 2022, 19:50:37
Weiß nicht wie so etwas unterbunden werden kann.
Na ja, falls du dich dann irgendwann wieder mit dem Thema befassen willst: https://wiki.fhem.de/wiki/AttrTemplate.

Der volle Weg wäre demnach, eine Kopie des am besten passenden templates zu machen, den Namen anzupassen und in einer eigenen Datei zu speichern und dann den backlog-Befehl einfach auszukommentieren oder passend zu ändern.

Es dürfte aber auch reichen, den ESP zu der Zeit nicht im WLAN erreichbar zu machen, zu dem die Befehle abgesetzt werden ;) ...

Zitat
Sämtliche spannungsführenden Teile sollen ausgeschaltet werden mit demShelly Plug S.
An ja, wenn das die Vorgabe ist, dann ist es halt so. Wird seine Gründe haben, ich find's unschön bzw. doppelt gemoppelt.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Pancake

ZitatNa ja, falls du dich dann irgendwann wieder mit dem Thema befassen willst: https://wiki.fhem.de/wiki/AttrTemplate.

Habe so ein Template unter fhem/FHEM/lib/AttrTemplate (max.template) angesehen. Da sollten schon etwas Kenntnisse von Perl verhanden sein. :-\

ZitatAn ja, wenn das die Vorgabe ist, dann ist es halt so. Wird seine Gründe haben, ich find's unschön bzw. doppelt gemoppelt.

Das ist richtig, mit den schwindeligen ESP gab es hier schon mal einen leichten "GAU". Bei einer Fehlfunktion wurde der Schrittmotor so warm, dass er nicht mehr anzufassen war >60°C. Auch wenn der Schrittmotortreiber (A4988) vom ESP nicht korrekt angesteuert wird zieht er ordentlich Strom ca. 1.5 A bei 12 Volt = 18Watt und dann wird er warm und deshalb alles aus.

Beta-User

Zitat von: Pancake am 14 Oktober 2022, 13:58:22
Habe so ein Template unter fhem/FHEM/lib/AttrTemplate (max.template) angesehen. Da sollten schon etwas Kenntnisse von Perl verhanden sein. :-\
::) Nun ja, wenn man "mit Gewalt" an der falschen Stelle sucht und nicht einfach was nimmt, was schon in die richtige Richtung geht, ist es in der Tat schwierig :P .
Vielleicht schaust du dir mal "tasmota_2ch_shutter_invert_0" und "tasmota_2ch_shutter_invert_1" an, aktuell zu finden ab https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/lib/AttrTemplate/mqtt2.template#L1535

Zitat
Das ist richtig, mit den schwindeligen ESP gab es hier schon mal einen leichten "GAU". Bei einer Fehlfunktion wurde der Schrittmotor so warm, dass er nicht mehr anzufassen war >60°C. Auch wenn der Schrittmotortreiber (A4988) vom ESP nicht korrekt angesteuert wird zieht er ordentlich Strom ca. 1.5 A bei 12 Volt = 18Watt und dann wird er warm und deshalb alles aus.
Nun denn, wenn du die Hardware eigentlich gar nicht richtig im Griff hast, stellt sich die Frage, wie lange du das zu allgemeinen Zufriedenheit betreiben willst. Aber das ist wieder eine ganz andere Geschichte.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Pancake

Da hat mich wohl jemand auf den "Holzweg" geschickt ;D
ZitatNa ja, falls du dich dann irgendwann wieder mit dem Thema befassen willst: https://wiki.fhem.de/wiki/AttrTemplate.
Eigene Templates entwickeln
Hierfür können die vorhandenen Templates der im Unterverzeichnis fhem/FHEM/lib/AttrTemplate zu findenden Dateien als Basis dienen

Beta-User

Hä? Die von mir genannte Datei ist doch auch in diesem Verzeichnis zu finden, es ist nur einfacher, auf die svn-Version zu verlinken...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors