Autor Thema: MQTT2 für Worx Landroid Mähroboter  (Gelesen 20447 mal)

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 19508
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #15 am: 11 Juni 2020, 22:15:18 »
Ist meine Beschreibung so ungenau?
scp "d:\Downloads\V0.0.24 - Net\AWS.p12" pi@raspib3:Kopiert ins Homeverzeichnis vom User Pi  ;)
"openssl pkcs12 -in /home/pi/AWS.p12 ...Liest aus dem Homeverzeichnis User Pi  ::)
Das mit den von mir angegeben Befehlen splittet das Zertifikat in das Homeverzeichnis von User fhem -> /opt/fhem/

Warum nimmst Du nicht einfach meine Anleitung? Was ist daran unverständlich?

Gruß Otto
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

Offline eisenhauer1987

  • Jr. Member
  • **
  • Beiträge: 91
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #16 am: 12 Juni 2020, 08:04:33 »
Morgen!

Ich habe das ganze auch mal über MQTT eingerichtet, funktioniert! Es paar Fragen hätte ich aber noch. Wenn man jetzt die Startzeit anpassen will, wie ist das machbar? Außerdem wäre es klasse wenn die Readings lesbar übersetzt werden. Man kann sich zwar was zusammenreimen, aber übersichtlich ist es noch nicht.

Grüße

Offline marvin78

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5782
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #17 am: 12 Juni 2020, 08:43:00 »
Morgen!

Ich habe das ganze auch mal über MQTT eingerichtet, funktioniert! Es paar Fragen hätte ich aber noch. Wenn man jetzt die Startzeit anpassen will, wie ist das machbar? Außerdem wäre es klasse wenn die Readings lesbar übersetzt werden. Man kann sich zwar was zusammenreimen, aber übersichtlich ist es noch nicht.

Grüße

Es steht dir doch frei, das zu tun. Das ist der Vorteil von generischen Devices: Du kannst es nennen, wie du möchtest.

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 19508
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #18 am: 12 Juni 2020, 09:13:07 »
Welche Readings fehlen Dir lesbar? Ich gebe zu, das mit den Readings war von mir ein "erster" Schuß. Klar kann man die alle übersetzen, das Muster vom jetzigen Template zeigt ja auch genau wie. Da können wir das Template auch jederzeit perfektionieren.
In der setList sieht man auch wie man das mit den Zeiten machen müsste. Um da weiter zu entwickeln ist erst mal ein set x-raw-payload sinnvoll, da lässt sich gut probieren. Also setList ergänzen mit (BASE_TOPIC/DEV_ID austauschen mit den echten Werten BoardID und MAC)
x_raw_payload:textField { my $payload = $EVENT;$payload =~ s/$EVTPART0 //g; qq(BASE_TOPIC/DEV_ID/commandIn $payload)}Der komplette mqtt/json String steht ja weiter oben, davon muss sicherlich dieser Teil übertragen werden:
Edit: gerade getestet funktioniert genau so: Startzeit,Dauer,Kantenschnitt
    {"sc":{"d":[
      ["00:00",0,0],
      ["09:00",120,1],
      ["00:00",0,0],
      ["09:00",60,1],
      ["09:00",60,1],
      ["00:00",0,0],
      ["00:00",0,0]]}}
Dann braucht man noch eine schöne Eingabemöglichkeit :)

Ich kann da jetzt erstmal 14 Tage nicht dran arbeiten, aber Hilfe ist willkommen :)

Gruß Otto
« Letzte Änderung: 12 Juni 2020, 09:32:06 von Otto123 »
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

Offline eisenhauer1987

  • Jr. Member
  • **
  • Beiträge: 91
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #19 am: 12 Juni 2020, 12:10:24 »
Das mit dem fehlenden Reading ist quatsch, wenn man mal genau guckt sind ja alle im Klartext da^^.

Nun wollte ich noch das verändern des Mähkalenders ermöglichen. Dazu folgende setlist:
setmowtimes:textField { my $payload = $EVENT;$payload =~ s/$EVTPART0 //g; qq(PRM100/98D86318D372/commandIn {"sc":{"d":[$payload]}})}
Ein manuelles:

set Garten.LandroidM setmowtimes ["00:00",0,0],["10:00",180,0],["10:00",180,1],["10:00",180,0],["10:00",180,1],["10:00",180,0],["10:00",120,1]
funktioniert damit. Allerdings funktioniert es nicht in einem DOIF (Perl). Ich denke es hat mit den [] zu tun. Ideen?

{if ( [09:30|AT SA] or ["test:on"])
  {
     fhem("set Garten.LandroidM setmowtimes ["00:00",0,0],["10:00",180,0],["10:00",180,1],["10:00",180,0],["10:00",180,1],["10:00",180,0],["10:00",120,1]");
  }
}

Fehler werden keine geworfen.

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 19508
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #20 am: 12 Juni 2020, 17:00:58 »
Das wird wohl so sein :(
Ideen:
1. Im DOIF Thread mal die Frage aufwerfen: Was machen wenn [ einfach Text sein soll?
2. Escapen? \[ \]
3. Analog zu $payload eine Variable füllen und diese im set Befehl übergeben? Dann läuft es ev. nicht durch den Interpreter?

Gruß Otto
« Letzte Änderung: 12 Juni 2020, 17:11:58 von Otto123 »
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 19508
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #21 am: 28 Juni 2020, 21:15:25 »
Hinweis:
Wie im anderen Thread vermerkt gibt es eine neue Funktion (One Time Scheduler) und damit eine Änderung im json String ab Firmware 3.13 die momentan für die 2019 Modelle verteilt wird.
Ich werde mir das die nächsten Tage anschauen.
Edit:
Ich habe mal ein Update gemacht und kann das hier beschriebene Verhalten mit der MQTT2 Variante nicht feststellen. Die Zeitverzögerung lässt sich ganz normal einstellen. Aber vielleicht übersehe ich was  ???
Edit 3: Ich habe das Problem gefunden.
Mit der iobroker.worx Lösung wird der json jedesmal komplett gesendet. Beispiel:
DEBUG: Worxcloud MQTT sendMessage to 2019xxxxxxxxxxxxxxxx Message: {"sc":{"m":1,"distm":0,"ots":{"bc":0,"wtm":100},"p":-100,"d":[["00:00",0,0],["00:00",0,1],["00:00",0,0],["00:00",0,0],["00:00",0,0],["00:00",0,1],["00:00",0,0]]}}Steht also zufällig im ots bc und/oder wtm schon ein Wert, führt jede Konfigänderung für Zeitplan oder mowerTimeCorrection (-100% - 100%) zum sofortigen Start durch ots.

Edit2: Was in der App noch  nicht geht, geht per mqtt sofort (bei Firmware 3.13): AdHoc mähen für eine bestimmte Zeit mit optionalen Kantenschnitt:
Für die Testphase - mähen 10 min ohne Kantenschnitt (siehe):
set <mower> x_raw_payload {"sc":{"ots":{"bc":0,"wtm":10}}}Offenbar nimmt er nur bestimmte Zeitbereiche 10 min - xxxx? 
Alles wtm < 10 setzt er offenbar auf 0 und tut bei bc:0 nichts. Bei bc:1 macht er Kantenschnitt aus der Ladestation heraus! ;)
Also nur Kantenschnitt:
set <mower> x_raw_payload {"sc":{"ots":{"bc":1,"wtm":0}}}
Edit4:
Hier habe ich noch den Hinweis für distm gefunden. Es handelt sich offenbar um ein temporäres Aussetzen des Mähplanes (disturb?) in Minuten.
set <mower> x_raw_payload {"sc":{"distm":1440}}sollte also den Mähplan für einen Tag außer Kraft setzen (Partymodus). Hab ich bisher nicht getestet.

Gruß Otto
« Letzte Änderung: 01 Juli 2020, 09:40:11 von Otto123 »
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 19508
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #22 am: 01 Juli 2020, 21:38:15 »
Hallo,

ab morgen gibt es ein neues Template per Update.
Dort sind die zusätzlichen Funktionen für die neue Firmware 3.13 eingebaut.
- ad Hoc Kantenschnitt
- ad Hoc Rasenmähen für xx minuten
- Party modus für xx minuten

Nach dem Update die Templates neu initialisieren:
{ AttrTemplate_Initialize() }Oder für sofort / ohne komplettes update:
{ Svn_GetFile("FHEM/lib/AttrTemplate/mqtt2.template", "FHEM/lib/AttrTemplate/mqtt2.template", sub(){ AttrTemplate_Initialize() }) }
Gruß Otto
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

Online eldrik

  • Sr. Member
  • ****
  • Beiträge: 921
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #23 am: 02 Juli 2020, 13:07:14 »
Hi,
gerade einmal mit der zweiten Befehlskette ausprobiert, kein neues Template vorhanden.

Greetz
Eldrik

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 19508
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #24 am: 02 Juli 2020, 14:21:48 »
Hallo Eldrik,

was zeigt Dir
{qx( ls -lha ./FHEM/lib/AttrTemplate/)}
Gruß Otto
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

Online eldrik

  • Sr. Member
  • ****
  • Beiträge: 921
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #25 am: 02 Juli 2020, 18:13:43 »
Hi,

Den Zeitstempel der Datei zum Zeitpunkt des Download

fhem dialout 249K Jul  2 13:04 mqtt2.template

Greetz
Eldrik

Offline TomLee

  • Hero Member
  • *****
  • Beiträge: 3563
  • ... wer sät, der erntet ...
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #26 am: 02 Juli 2020, 18:52:34 »
Zitat
gerade einmal mit der zweiten Befehlskette ausprobiert, kein neues Template vorhanden.

Wie genau meinst du das, erwartest du jetzt ein zweites Template oder wird erst gar keins im setter <device> attrTemplate angezeigt?

Hab keinen Mähroboter aber ein Template wird mir nach update in einem MQTT2_DEVICE angezeigt oder auch nach der "Befehlskette".

Wenn eines angezeigt wird, welche attrTemplateVersion bekommst du angezeigt wenn du dieses nur auswählst ?

ganz unten bei setreading DEVICE attrTemplateVersion ...

Online eldrik

  • Sr. Member
  • ****
  • Beiträge: 921
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #27 am: 02 Juli 2020, 19:43:30 »
Wie genau meinst du das, erwartest du jetzt ein zweites Template oder wird erst gar keins im setter <device> attrTemplate angezeigt?

Hab keinen Mähroboter aber ein Template wird mir nach update in einem MQTT2_DEVICE angezeigt oder auch nach der "Befehlskette".

Wenn eines angezeigt wird, welche attrTemplateVersion bekommst du angezeigt wenn du dieses nur auswählst ?

ganz unten bei setreading DEVICE attrTemplateVersion ...

nein ich erwarte selbstverständlich kein zweites Template  :D die Version ist einfach weiterhin die alte attrTemplateVersion
20200607

Das Logfile hatte auch nichts unauffälliges gemeldet, daher der Post.

2020.07.02 19:45:02.848 1: SVN download of FHEM/lib/AttrTemplate/mqtt2.template to FHEM/lib/AttrTemplate/mqtt2.template finished
2020.07.02 19:45:03.572 2: AttrTemplates: got 180 entries

Greetz
Eldrik
« Letzte Änderung: 02 Juli 2020, 19:46:33 von eldrik »

Offline TomLee

  • Hero Member
  • *****
  • Beiträge: 3563
  • ... wer sät, der erntet ...
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #28 am: 02 Juli 2020, 20:19:58 »
Bei mir steht 20200701 drin, wie im svn

Schon heute mal ganz normal mit update und anschliessendem shutdown restart versucht ?

Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 19508
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:MQTT2 für Worx Landroid Mähroboter
« Antwort #29 am: 02 Juli 2020, 21:26:04 »
Hast Du vorher mal das Template aus meinem Github geladen? Datum und Größe sehen gut aus, Version stimmt nicht.
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266