Deebot Ozmo 950 [MQTT][CLOUDFREE][CLOUD][bumper][non-bumper]

Begonnen von schwatter, 15 Juni 2020, 21:42:30

Vorheriges Thema - Nächstes Thema

Thomas0401

#75
Ja das hatte ich auch gehofft aber mit dem ersten geht es schon los.

pip3 install deebotozmo

Wird das so in die Shell geschrieben oder fehlt noch sudo. Du siehst hier ist einer der wirklich gerade erst damit angefangen ist  ;D


Thomas0401

Ein kleines Update,

ich habe jetzt Phyton 3 installiert und konnte dann "pip3 install deebotozmo" auch installieren. Dann fehlte noch "sudo apt-get install libtiff5"

Vorsichtshalber mal den Pi neu gestartet.

bei "deebotozmo createconfig" kommt "Befel nicht gefunden"

Hat jemand einen Tipp was ich evtl. falsch gemacht habe?

VG Thomas

schwatter

Nabend, als welcher User bist du denn angemeldet? Ich gehe mal von User Pi aus.

Funktioniert das?

root@raspi4fhem:~# deebotozmo  --help
Usage: deebotozmo [OPTIONS] COMMAND1 [ARGS]... [COMMAND2 [ARGS]...]...

Options:
  --debug / --no-debug
  --help                Show this message and exit.

Commands:
  charge         Returns to charger
  clean          Auto clean
  components     Get robot components life span
  createconfig   logs in with specified email; run this first
  customarea     Cleans provided area(s), ex: "-602,1812,800,723"
  dodebug        debug function, do not use :)
  exportlivemap  Get robot map and save it [filepath ex:...
  getcleanlogs   Get Clean Logs
  getrooms       Get saved rooms
  pause          pause the robot
  playsound      Play welcome sound
  resume         Resume the robot
  setfanspeed    Set Clean Speed
  setwaterlevel  Set Water Level
  spotarea       Cleans provided rooms(s), ex: "0,1" | Use GetRooms to see...
  stats          Get stats
  statuses       Get robot statuses [Status,Battery,FanSpeed,WaterLevel]
root@raspi4fhem:~#


Ich habe das als User root eingerichtet. Probier mal "sudo deebotozmo createconfig"

Thomas0401

Nabend,

ich habe es natürlich immer als "root" probiert und da funktioniert es nicht. Gerade habe ich als "pi" versucht und es funktioniert. Ist das richtig oder latte?

Thomas0401

#79
Moin moin,

über das Terminal funktioniert das tadellos.

Bei dem dummy gibt es Probleme, nach dem setzen der Attribute und Speichern der Config schmeißt FHEM das komplett aufgeführte raus

attr DeebotOzmo950 webCmdLabel BasicCmd::SpotArea::Fanspeed::Vacuumdetails::Mapdater:

setstate DeebotOzmo950 LastActivity:05_Systeminfos statuses<br><br>\
Vacuum Status: STATE_DOCKED\
Battery: 100%\
Fan Speed: normal\
Water Level: low\
<br>\
<img src="/fhem/www/livemap/map.png?nocache=<?time(); ?>">"
setstate DeebotOzmo950 2020-09-24 21:58:58 components brush: 92.50555555555555%\
sideBrush: 83.91111111111111%\
heap: 81.26388888888889%\

setstate DeebotOzmo950 2020-09-24 22:02:21 state 05_Systeminfos statuses
setstate DeebotOzmo950 2020-09-24 22:02:24 statuses Vacuum Status: STATE_DOCKED\
Battery: 100%\
Fan Speed: normal\
Water Level: low\

Wenn ich das über die RAW definition eingebe gibt es eine Fehlermeldung die sich auf diese Endung bezieht: ?>">"

Kann es sein das bei mir irgendwas fehlt bei der Grundinstallation von FHEM?

schwatter

Morgen,

schön das du selber so weit gekommen bist. Alles was Config und Code betrifft kopiert man in Codetags. Das ist das Symbol #.
Hier nochmal meine Raw.

defmod DeebotOzmo950 dummy
attr DeebotOzmo950 readingList state
attr DeebotOzmo950 room 04.Esszimmer_EG
attr DeebotOzmo950 setList 01_CleaningAuto:clean,pause,resume,charge 02_SpotArea:selectnumbers,0,1,9,0,lin 03_Fanspeed:quiet,normal,max,max+ 04_WaterFlowRate:low,medium,high,ultrahigh 05_Systeminfos:components,statuses,stats,getrooms 06_GetMap:noArg
attr DeebotOzmo950 stateFormat LastActivity:state<br><br>\
statuses<br>\
<a href="http://192.168.178.66:8085/fhem/www/livemap/map.png"><img src="/fhem/www/livemap/map.png?nocache=<?time();; ?>" style="width: 100%;;max-height: 100%"> </a>
attr DeebotOzmo950 webCmd 01_CleaningAuto:02_SpotArea:03_Fanspeed:05_Systeminfos:06_GetMap
attr DeebotOzmo950 webCmdLabel BasicCmd:;:SpotArea:;:Fanspeed:;:Vacuumdetails:;:Mapdater:;


Wenn vielleicht etwas nicht wegen Formatierung funktioniert, bist du nicht gezwungen alles immer Raw anzulegen. Leg den Dummy an
und dann nach und nach weitere "attr".

Thomas0401

#81
Aber wo werden denn die anderen Befehle/Codes eingetragen setstate usw.?

Da viel mir immer nur die Raw ein. Ich hatte es auch so versucht nur die Attribute nach und nach zu setzen. Funktionierte aber leider trotzdem nicht.
Gehört das "statuses<br>\
<a href="http://192.168.178.66:8085/fhem/www/livemap/map.png"><img src="/fhem/www/livemap/map.png?nocache=<?time();; ?>" style="width: 100%;;max-height: 100%"> </a>"
mit zu dem Attribut "stateFormat"?
Die IPund Port ist vom Pi wo FHEM drauf läuft oder?

Ist eigentlich die Version wichtig vom Bot?

Hatte glaube was gelesen davon

Sorry das ich so viel Fragen habe

schwatter

- Die Befehle sind mit den Notifys verknüpft. Setzt man in dem Dummy einen State, reagiert das passende Notify darauf und führt den Befehl aus.
- Über setstate musst du dir keine Gedanken machen. Das wird automatisch angelegt. Die sind nur als Beispiel im ersten Thread mit drinne.
- Die IP und Port ist vom Pi wo FHEM drau.
- Die Version vom Bot ist nur wichtig wegen MQTT. Das funktioniert leider mit der neusten Version nicht mehr. Du nutzt aber die Cloud. Daher egal.


Thomas0401


schwatter

Fhem fehlen bestimmt noch die Berechtigungen, um Shellbefehle ausführen zu dürfen.

Gib oben in der Fhem-Befehlszeile folgendes ein.

{system("sudo deebotozmo clean &")}

Wenn alles ok ist, startet der Bot und du bekommst eine "-1" zurück. Tut sich nichts, dann schau dir bitte den Link an.

http://heinz-otto.blogspot.com/2018/02/in-fhem-externe-programme-aufrufen.html

Thomas0401

Ich bekomme eine -1 zurück aber der Lümmel startet leider nicht

Otto123

Hallo Thomas,

Deine sudoers  sieht nach kein Plan aus ;)
stell bitte den Originalzustand wieder her!

Dann machst Du folgendes um den Pfad zu ermitteln:
which deebotozmo
Dann erstellts Du eine Datei:
sudo nano /etc/sudoers.d/011_fhem-nopasswd
Dort kommt so eine Zeile rein:
fhem ALL=(ALL) NOPASSWD: /pfad/der/gerade/ermittelt/wurde

Oder als ein Script (vorher sudo su):
File="011_fhem-nopasswd"
echo "fhem ALL=(ALL) NOPASSWD: $(which deebotozmo)" >/etc/sudoers.d/$File
chmod 0440 /etc/sudoers.d/$File


Gruß Otto
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

Thomas0401

#87
Hallo Otto,

sudo: stat konnte nicht auf /etc/sudoers.d/010_at-export angewendet werden: Keine Berechtigung
sudo: stat konnte nicht auf /etc/sudoers.d/010_pi-nopasswd angewendet werden: Keine Berechtigung
sudo: stat konnte nicht auf /etc/sudoers.d/010_proxy angewendet werden: Keine Berechtigung
sudo: stat konnte nicht auf /etc/sudoers.d/README angewendet werden: Keine Berechtigung
sudo: stat konnte nicht auf /etc/sudoers.d/fhem angewendet werden: Keine Berechtigung
[sudo] Passwort für pi:
pi ist nicht in der sudoers-Datei. Dieser Vorfall wird gemeldet.

das habe ich jetzt wenn ich mich anmelde

Das liegt bestimmt an meinem gefährlichen halbwissen ;D

Otto123

nachdem Du was getan hast?  :o :o :o
Wenn Du nicht mehr weißt was der Originalzustand war und nicht weißt was Du tun sollst - musst Du doch nachfragen!?
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

Thomas0401

#89
Wie es vorher war kann ich nicht sagen, die /etc/sudoers ist mit dem FHEM-Kurs den ich mache so gewachsen.

ich hatte zuletzt die /etc/sudoers mit nano geöffnet und da stand das ja drin
# User privilege specification
root ALL=(ALL:ALL) ALL

# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

und versehentlich beim Telefonieren mit einem Kunden habe ich das % vor sudo ALL=(ALL:ALL) ALL gelöscht. Ich dacht ich bin in meiner Betriebssoftware mit dem Cursor. Als ich gemerkt habe das ich noch in Putty hänge, schnell habe ich dann mit strg-o und j und strg-x beendet (Der Kunde nervte gar füchterlig) und ohne drüber nachzudenken den pi geschlossen

Ziemlich bekloppt