Neues Modul: THINKINGCLEANER (für iRobot Roomba 500/600)

Begonnen von d.schoen, 23 August 2015, 13:45:59

Vorheriges Thema - Nächstes Thema

d.schoen

Leider nicht wirklich, wie sieht denn dein Define aus?

Was mich etwas irritiert ist die Zeile "no URL for update" in deinem ersten Log. Das bedeutet, dass das Feld für die URL im Code nicht mit einem Wert belegt ist...

Beste Grüße
FHEM 5.7 auf RasPi2
COC 868MHz, Jeelink Clone
Devices: IT, HomeMatic, LaCrosse, ENIGMA2, LG-TV, Thinkingcleaner (iRobot Roomba), LIFX Wifi-Bulbs
Helper: TelegramBot, Homebridge (Siri), Geofency

dantist

define Roomba THINKINGCLEANER http://192.168.108.73 60
attr Roomba userattr icon stateFormat verbose webCmd
attr Roomba stateFormat power_status_cleaner_state
attr Roomba webCmd clean:dock


Läuft es denn bei dir mit FHEM 5.7? Vielleicht ist ja mit dem Update etwas anderes kaputt gegangen, z.B. das JSON-Modul? Ich weiß leider nicht, wie ich das testen könnte.

d.schoen

Hm, das sieht soweit gut aus.

Kannst du mal über ein "ping" und "wget" von dem Rechner aus auf dem FHEM läuft prüfen, ob die Verbindung zum Roomba auch hergestellt werden kann?

Ich hab das Modul auch unter 5.7 laufen, alles prima...
FHEM 5.7 auf RasPi2
COC 868MHz, Jeelink Clone
Devices: IT, HomeMatic, LaCrosse, ENIGMA2, LG-TV, Thinkingcleaner (iRobot Roomba), LIFX Wifi-Bulbs
Helper: TelegramBot, Homebridge (Siri), Geofency

dutzend

Hi,

ich habe leider folgenden Fehler aus dem Modul:


reload: Error:Modul 98_THINKINGCLEANER deactivated:
Type of arg 1 to keys must be hash or array (not private variable) at ./FHEM/98_THINKINGCLEANER.pm line 430, near "$perl_scalar ) "
Type of arg 1 to keys must be hash or array (not private variable) at ./FHEM/98_THINKINGCLEANER.pm line 433, near "$value ) "

2016.05.25 15:10:14 0: Type of arg 1 to keys must be hash or array (not private variable) at ./FHEM/98_THINKINGCLEANER.pm line 430, near "$perl_scalar ) "
Type of arg 1 to keys must be hash or array (not private variable) at ./FHEM/98_THINKINGCLEANER.pm line 433, near "$value ) "


Hat jemand einen Tipp?

Danke René

d.schoen

Kannst du mir bitte mal dein DEFINE für das Modul hier rein posten?

Sieht so aus, als würden von deinem ThinkingCleaner keine Werte an FHEM gesendet werden.
FHEM 5.7 auf RasPi2
COC 868MHz, Jeelink Clone
Devices: IT, HomeMatic, LaCrosse, ENIGMA2, LG-TV, Thinkingcleaner (iRobot Roomba), LIFX Wifi-Bulbs
Helper: TelegramBot, Homebridge (Siri), Geofency

dutzend

Hi,

erstmal Danke! Hier ist mein DEFINE:

define roomba THINKINGCLEANER http://192.168.178.40/ 60
attr roomba userattr icon stateFormat verbose webCmd
attr roomba stateFormat power_status_cleaner_state
attr roomba webCmd clean:dock

Thx René

d.schoen

Versuch mal den "/" am Ende der URL zu entfernen. Ggf. hilft das schon was...

Und: Hast du das JSON Perl Modul installiert? "cpan JSON"

Ansonsten: Versuch mal http://192.168.178.40/full_status.json im Browser aufzurufen. Kommt da was sinnvolles zurück?

FHEM 5.7 auf RasPi2
COC 868MHz, Jeelink Clone
Devices: IT, HomeMatic, LaCrosse, ENIGMA2, LG-TV, Thinkingcleaner (iRobot Roomba), LIFX Wifi-Bulbs
Helper: TelegramBot, Homebridge (Siri), Geofency

dutzend

Hi,
das mit dem Slash hatte ich schon...
Wenn ich die URL abschicke bekomme ich Folgendes:


{ "action":"full_status", "result":"success", "firmware" : { "version" : "1.0.94-310C-FCC", "wifi_version" : "310C", "uuid" : "1e975d9a1a17e47d", "mac_address":"00:1E:C0:15:7F:BB", "DHCP" : 1, "has_been_backed_up" : 1, "has_auth_token" : 0, "boot_status" : "run success", "boot_version" : 5, "auto_update" : 1, "auto_dock" : 1, "restart_AC" : 0, "always_MAX" : 0, "dock_at" : 10, "stop_at" : 6, "time_h_m" : "15:36", "selected_timezone" : "Europe/Berlin" }, "tc_status" : { "name" : "Roomba", "modelnr" : "650", "tc-roomba-conn" : 1, "cleaning_time" : "0", "cleaning_time_total" : "7", "cleaning_distance" : "126", "cleaning_distance_miles" : "77", "dirt_detected" : 0, "bin_status" : 0, "server_connection" : 0, "vacuum_drive" : 0, "clean_delay" : 60, "cleaning" : 0, "schedule_serial_number" : 0 }, "power_status" : { "cleaner_state" : "st_base_trickle", "current" : -38, "charge" : 2696, "battery_charge" : "100", "capacity" : 2696, "voltage" : 15919, "temperature" : 30, "batteryLowVoltage" : 14000, "battery_condition" : "100", "low_power" : 0 }, "buttons" : { "clean_button" : 0, "spot_button" : 0, "dock_button" : 0 }, "sensors" : { "bumper_state" : 0, "bumper_left_state" : 0, "bumper_right_state" : 0, "wheel_drop_left" : 0, "wheel_drop_right" : 0, "wall" : 0, "cliff_left" : 0, "cliff_front_left" : 0, "cliff_right" : 0, "cliff_front_right" : 0, "virtual_wall" : 0, "dirt_detect" : 0, "light_bump" : 0, "mainbrush_current" : 0, "sidebrush_current" : 0, "homebase_detected" : 0, "near_homebase" : 0, "IR_Omni" : 0, "IR_Left" : 0, "IR_Right" : 0 }, "webview" : { "advanced" : "1" } }


Das JSON-Modul habe ich nicht über CPAN installiert (FB7390, v6.23, 5.7), sondern wie hier im Forum beschrieben "manuell".

Gruß und Danke René

dutzend

Hi,

es funzt leider immer noch nicht...
Ich denke, dass es mit dem JSON-Modul zusammenhängt. Wie kann ich prüfen ob das richtig läuft?
Die Dateien habe ich, wie im Wiki (http://www.fhemwiki.de/wiki/Hue#HUE_auf_der_Fritzbox) beschrieben eingebunden und auch die Rechte x-mal überprüft.

Gruß René

dutzend

Hi,

das JSON-Modul scheint zu laufen, die neue Version von Yahoo-Wetter konnte ich einbinden...

Gruß René

dutzend

Hi,

ich brauche immer noch Hilfe, das Modul lässt sich nicht einbinden. Am JSON-Modul wohl liegt es nicht, auch ist der Roomba erreichbar. Eine Perl-Funktion in FHEM...

sub
RoombaTest()
{
  GetHttpFile("192.168.178.40", "/command.json?command=dock");
}


... funktioniert astrein.

Danke für jeden Tipp René

d.schoen

Hallo René,

ich bin leider auch etwas ratlos...

Ich habe soeben eine Debug-Ausgabe in dem Code auf Github eingefügt.

Bitte mal die Version einbinden. Danach Verbose-Attribut auf 5 stellen und sehen, was das Modul in den FHEM-Log schreibt.
Bei mir kommen da folgende Ausgaben:
Buffer: { "action":"full_status", "result":"success", ...   }

Die wären wichtig, wenn die nicht erscheinen läuft irgendwas beim Download schief.

Den Rest können wir gern auch via PN besprechen.
FHEM 5.7 auf RasPi2
COC 868MHz, Jeelink Clone
Devices: IT, HomeMatic, LaCrosse, ENIGMA2, LG-TV, Thinkingcleaner (iRobot Roomba), LIFX Wifi-Bulbs
Helper: TelegramBot, Homebridge (Siri), Geofency

dantist

Wie sieht es eigentlich mit dem geplanten "stop"-Befehl aus?  :) Der wäre sehr hilfreich, wenn man nicht weiß, ob der Bot grade fährt oder nicht.

d.schoen

Das ist das "drivestop" Kommando
set roomba drivestop

Ist in der Version auf Github bereits enthalten.

Beste Grüße
Dominik
FHEM 5.7 auf RasPi2
COC 868MHz, Jeelink Clone
Devices: IT, HomeMatic, LaCrosse, ENIGMA2, LG-TV, Thinkingcleaner (iRobot Roomba), LIFX Wifi-Bulbs
Helper: TelegramBot, Homebridge (Siri), Geofency