Roomba Staubsaugerroboter

Begonnen von Prof. Dr. Peter Henning, 10 September 2020, 16:40:34

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

@hapege: Prima. Ich werde das gerne weitgehend übernehmen, testen müsste das dann nochjemand anders mit i7.

@gestein: Kommt mir seltsam vor - weil der Beginn mit state->reported immer das größere hash anlegt, in dem dann batPct gefüllt ist. Und wenn es gefüllt ist, wird auch ein Update gemacht.

Die httpUtils werden von MQTT2_DEVICE verwendet, der Fehler kommt also daher. Habe ich aber noch nicht gesehen.

LG

pah



hapege

Hm,

ich hab jetzt alles durchprobiert was ich hier so gefunden habe, also openssl erweitern
https://forum.fhem.de/index.php/topic,114166.msg1103514.html#msg1103514

Und Roomba zurücksetzen
https://forum.fhem.de/index.php/topic,114166.msg1128658.html#msg1128658

restart, reboot, apt update, die Kiste streicheln...

--> nada.

2021.03.07 11:57:29 4: IP: 192.168.x.y -> 192.168.x.y
2021.03.07 11:57:29 4: HttpUtils: 192.168.x.y: Connection refused (111)


Ratlosigkeit am Sonntag Morgen  :(

@pah: "Weitgehend" klingt gut  ;)

LG,

Hermann
Developer: 70_ESCVP21net.pm, 70_SVDRP.pm
Mitglied FHEM e.V.

Prof. Dr. Peter Henning

Bitte zu diesem Fehler einen neuen Thread aufmachen, in diesem Unterforum hier, Titel "MQTT2_DEVICE mit httpUtils_Fehler".

LG

pah

gestein

Zitat von: Prof. Dr. Peter Henning am 07 März 2021, 11:50:08
@hapege: Prima. Ich werde das gerne weitgehend übernehmen, testen müsste das dann nochjemand anders mit i7.

@gestein: Kommt mir seltsam vor - weil der Beginn mit state->reported immer das größere hash anlegt, in dem dann batPct gefüllt ist. Und wenn es gefüllt ist, wird auch ein Update gemacht.

Das kann ich gerne testen. Habe einen i7.

Das mit dem batPct schaue ich mir mal genauer an.

Lg, Gerhard

hapege

Zitat von: Prof. Dr. Peter Henning am 07 März 2021, 12:24:17
Bitte zu diesem Fehler einen neuen Thread aufmachen, in diesem Unterforum hier, Titel "MQTT2_DEVICE mit httpUtils_Fehler".

LG

pah

Done: https://forum.fhem.de/index.php/topic,119367.0.html
Developer: 70_ESCVP21net.pm, 70_SVDRP.pm
Mitglied FHEM e.V.

gestein

Hallo pah,

bei mir kommt immer wieder dieser Fehler: "2021.03.07 14:10:56.651 1: ERROR evaluating my $CID=   $evalSpecials->{'%CID'};my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=  ....."

Siehe auch hier: https://forum.fhem.de/index.php/topic,114166.msg1136619.html#msg1136619

Wo kann ich da ansetzen?
Im Code ist es hier:
  if( $evt =~ /cleanSchedule/){
    #main::Log 1,"[RoombaUtils] schedule event ".$evt;
-->    my %cleans = %{$staterep->{'cleanSchedule'}};
    schedule(\%cleans,\%ret);
  }


Ich habe den i7, kann das mit dem zu haben:
https://forum.fhem.de/index.php/topic,114166.msg1137830.html#msg1137830

lg, Gerhard

hapege

Beim I7 gibt's cleanSchedule nicht... Nur cleanSchedule2.
Developer: 70_ESCVP21net.pm, 70_SVDRP.pm
Mitglied FHEM e.V.

Prof. Dr. Peter Henning

#277
Die Herren mit i7: Bitte mal die angehängte Version testen - ich brauche einen vollständigen Event von cleanSchedule2 aus dem Log.

Außerdem folgende Fragen an i7-Besitzer:
Kann die Kiste tatsächlich nur 4 verschiedene Programme?
Bieibt z.B. Programm Nr. 3 erhalten, wenn man Programm Nr. 2 deaktiviert? Oder wird alles, was nicht aktiviert ist, automatisch gelöscht?
Sehe ich das richtig, dass man nicht ein Programm pro Wochentag vorgibt, sondern für jedes Reinigungsprogramm außer der Startzeit die Wochentage und Regionen auswählt?

Roadmap: Ich werde aus den RoombaUtils ein echtes Device-Modul machen - das allerdings alle internen Routinen des MQTT2-Device nutzt. Der Hintergrund ist, dass ich dann die Darstellungsroutinen im FHEMWEB-Frontend umbiegen kann - um beispielsweise die aktuelle Position als Graifk in Echtzeit anzuzeigen.


LG

pah

hapege

Hallo,

aber gerne doch :)

Zitatich brauche einen vollständigen Event von cleanSchedule2 aus dem Log
2 Zeitpläne, einmal aktiviert, einmal nicht aktiviert
"cleanSchedule2": [{"enabled": false, "type": 0, "start": {"day": [1, 3], "hour": 9, "min": 0}, "cmd": {"command": "start", "ordered": 1, "pmap_id": "zBzSo0ghQ-SYfM7yqTxZUg", "regions": [{"region_id": "10", "type": "rid"}], "user_pmapv_id": "210227T111225"}}, {"enabled": true, "type": 0, "start": {"day": [2, 4, 6], "hour": 11, "min": 0}, "cmd": {"command": "start", "ordered": 1, "pmap_id": "zBzSo0ghQ-SYfM7yqTxZUg", "regions": [{"region_id": "10", "type": "rid"}, {"region_id": "6", "type": "rid"}, {"region_id": "5", "type": "rid"}, {"region_id": "8", "type": "rid"}], "user_pmapv_id": "210227T111225"}}],


ZitatKann die Kiste tatsächlich nur 4 verschiedene Programme?
Nein, die 4 haben ich willkürlich gewählt, ich habe gerade mal probiert in der App 7 Zeitpläne einzurichten: Geht. Vermutlich auch mehr, ich kann heute abend mal ausloten was geht.
ZitatBieibt z.B. Programm Nr. 3 erhalten, wenn man Programm Nr. 2 deaktiviert?
Ja, bleibt erhalten, "enabled" geht für das Programm dann auf "false"
ZitatOder wird alles, was nicht aktiviert ist, automatisch gelöscht?
Nein, aber die Reihenfolge in cleanSchedule2 ändert sich. Kann ich grad wegen der Arbeitsverweigerung der httputils nicht systematisch testen.
ZitatSehe ich das richtig, dass man nicht ein Programm pro Wochentag vorgibt, sondern für jedes Reinigungsprogramm außer der Startzeit die Wochentage und Regionen auswählt?
Man kann pro Zeitplan folgendes einstellen bzw. auswählen: Startzeit (hh:mm), einen oder mehrere Wochentag(e), Geschoß (bzw map, ich habe 2 Geschosse kartografiert), und Raum/Räume = Region.

Testen würde ich gerne, aber die httputils sind gegen mich :(

LG,

Hermann

Developer: 70_ESCVP21net.pm, 70_SVDRP.pm
Mitglied FHEM e.V.

Prof. Dr. Peter Henning

Hmmm. So wie ich das sehe, wurden weder httpUtils, noch MQTT2_DEVICE upgedated - aber MQTT2_CLIENT.

LG

pah

gestein

Hallo,

Die neue Version läuft schon - sogar mein "bssid" ist drinnen. Danke.

Ich bin noch nicht dazugekommen, das Schedule zu testen, aber mir ist zu meinem Fehler etwas aufgefallen.

Über "periodicCmd" verbinde ich alle 15min den MQTT2_CLIENT (also über set myRoombaMQTTClient connect).
periodicCmd update:15
Den Befehl "update" habe ich definiert als setList: update:noArg {fhem("set ".InternalVal($NAME,"IODev","") . "connect")}

Damit kommen dann die folgenden log-Einträge:
2021.03.07 17:26:48.992 3: MQTT2_DEVICE set myRoomba update
2021.03.07 17:26:50.684 4: MQTT2_DEVICE_Parse: myRoomba $aws/things/D6DBF1F7DA88458CBC34ED564C42DCD1/shadow/update => {roomba::reading($NAME,$EVENT)}
2021.03.07 17:26:50.709 1: ERROR evaluating my $CID=   $evalSpecials->{'%CID'};my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $EVTPART0=   $evalSpecials->{'%EVTPART0'};my $EVTPART1=   $evalSpecials->{'%EVTPART1'};my $EVTPART10=   $evalSpecials->{'%EVTPART10'};my $EVTPART100=   $evalSpecials->{'%EVTPART100'};my $EVTPART101=   $evalSpecials->{'%EVTPART101'};my $EVTPART102=   $evalSpecials->{'%EVTPART102'};my $EVTPART103=   $evalSpecials->{'%EVTPART103'};my $EVTPART104=   $evalSpecials->{'%EVTPART104'};my $EVTPART105=   $evalSpecials->{'%EVTPART105'};my $EVTPART106=   $evalSpecials->{'%EVTPART106'};my $EVTPART107=   $evalSpecials->{'%EVTPART107'};my $EVTPART108=   $evalSpecials->{'%EVTPART108'};my $EVTPART109=   $evalSpecials->{'%EVTPART109'};my $EVTPART11=   $evalSpecials->{'%EVTPART11'};my $EVTPART110=   $evalSpecials->{'%EVTPART110'};my $EVTPART111=   $evalSpecials->{'%EVTPART111'};my $EVTPART112=   $evalSpecials->{'%EVTPART112'};my $EVTPART113=   $evalSpecials->{'%EVTPART113'};my $EVTPART114=   $evalSpecials->{'%EVTPART114'};my $EVTPART115=   $evalSpecials->{'%EVTPART115'};my $EVTPART116=   $evalSpecials->{'%EVTPART116'};my $EVTPART117=   $evalSpecials->{'%EVTPART117'};my $EVTPART118=   $evalSpecials->{'%EVTPART118'};my $EVTPART119=   $evalSpecials->{'%EVTPART119'};my $EVTPART12=   $evalSpecials->{'%EVTPART12'};my $EVTPART120=   $evalSpecials->{'%EVTPART120'};my $EVTPART121=   $evalSpecials->{'%EVTPART121'};my $EVTPART122=   $evalSpecials->{'%EVTPART122'};my $EVTPART123=   $evalSpecials->{'%EVTPART123'};my $EVTPART124=   $evalSpecials->{'%EVTPART124'};my $EVTPART125=   $evalSpecials->{'%EVTPART125'};my $EVTPART126=   $evalSpecials->{'%EVTPART126'};my $EVTPART127=   $evalSpecials->{'%EVTPART127'};my $EVTPART128=   $evalSpecials->{'%EVTPART128'};my $EVTPART129=   $evalSpecials->{'%EVTPART129'};my $EVTPART13=   $evalSpecials->{'%EVTPART13'};my $EVTPART130=   $evalSpecials->{'%EVTPART130'};my $EVTPART131=   $evalSpecials->{'%EVTPART131'};my $EVTPART132=   $evalSpecials->{'%EVTPART132'};my $EVTPART133=   $evalSpecials->{'%EVTPART133'};my $EVTPART134=   $evalSpecials->{'%EVTPART134'};my $EVTPART135=   $evalSpecials->{'%EVTPART135'};my $EVTPART136=   $evalSpecials->{'%EVTPART136'};my $EVTPART137=   $evalSpecials->{'%EVTPART137'};my $EVTPART138=   $evalSpecials->{'%EVTPART138'};my $EVTPART139=   $evalSpecials->{'%EVTPART139'};my $EVTPART14=   $evalSpecials->{'%EVTPART14'};my $EVTPART140=   $evalSpecials->{'%EVTPART140'};my $EVTPART141=   $evalSpecials->{'%EVTPART141'};my $EVTPART142=   $evalSpecials->{'%EVTPART142'};my $EVTPART143=   $evalSpecials->{'%EVTPART143'};my $EVTPART144=   $evalSpecials->{'%EVTPART144'};my $EVTPART145=   $evalSpecials->{'%EVTPART145'};my $EVTPART146=   $evalSpecials->{'%EVTPART146'};my $EVTPART147=   $evalSpecials->{'%EVTPART147'};my $EVTPART148=   $evalSpecials->{'%EVTPART148'};my $EVTPART149=   $evalSpecials->{'%EVTPART149'};my $EVTPART15=   $evalSpecials->{'%EVTPART15'};my $EVTPART150=   $evalSpecials->{'%EVTPART150'};my $EVTPART151=   $evalSpecials->{'%EVTPART151'};my $EVTPART152=   $evalSpecials->{'%EVTPART152'};my $EVTPART153=   $evalSpecials->{'%EVTPART153'};my $EVTPART154=   $evalSpecials->{'%EVTPART154'};my $EVTPART155=   $evalSpecials->{'%EVTPART155'};my $EVTPART156=   $evalSpecials->{'%EVTPART156'};my $EVTPART157=   $evalSpecials->{'%EVTPART157'};my $EVTPART158=   $evalSpecials->{'%EVTPART158'};my $EVTPART159=   $evalSpecials->{'%EVTPART159'};my $EVTPART16=   $evalSpecials->{'%EVTPART16'};my $EVTPART160=   $evalSpecials->{'%EVTPART160'};my $EVTPART161=   $evalSpecials->{'%EVTPART161'};my $EVTPART162=   $evalSpecials->{'%EVTPART162'};my $EVTPART163=   $evalSpecials->{'%EVTPART163'};my $EVTPART164=   $evalSpecials->{'%EVTPART164'};my $EVTPART165=   $evalSpecials->{'%EVTPART165'};my $EVTPART166=   $evalSpecials->{'%EVTPART166'};my $EVTPART167=   $evalSpecials->{'%EVTPART167'};my $EVTPART168=   $evalSpecials->{'%EVTPART168'};my $EVTPART169=   $evalSpecials->{'%EVTPART169'};my $EVTPART17=   $evalSpecials->{'%EVTPART17'};my $EVTPART170=   $evalSpecials->{'%EVTPART170'};my $EVTPART171=   $evalSpecials->{'%EVTPART171'};my $EVTPART172=   $evalSpecials->{'%EVTPART172'};my $EVTPART173=   $evalSpecials->{'%EVTPART173'};my $EVTPART174=   $evalSpecials->{'%EVTPART174'};my $EVTPART175=   $evalSpecials->{'%EVTPART175'};my $EVTPART176=   $evalSpecials->{'%EVTPART176'};my $EVTPART177=   $evalSpecials->{'%EVTPART177'};my $EVTPART178=   $evalSpecials->{'%EVTPART178'};my $EVTPART179=   $evalSpecials->{'%EVTPART179'};my $EVTPART18=   $evalSpecials->{'%EVTPART18'};my $EVTPART180=   $evalSpecials->{'%EVTPART180'};my $EVTPART181=   $evalSpecials->{'%EVTPART181'};my $EVTPART182=   $evalSpecials->{'%EVTPART182'};my $EVTPART183=   $evalSpecials->{'%EVTPART183'};my $EVTPART184=   $evalSpecials->{'%EVTPART184'};my $EVTPART185=   $evalSpecials->{'%EVTPART185'};my $EVTPART186=   $evalSpecials->{'%EVTPART186'};my $EVTPART187=   $evalSpecials->{'%EVTPART187'};my $EVTPART188=   $evalSpecials->{'%EVTPART188'};my $EVTPART189=   $evalSpecials->{'%EVTPART189'};my $EVTPART19=   $evalSpecials->{'%EVTPART19'};my $EVTPART190=   $evalSpecials->{'%EVTPART190'};my $EVTPART191=   $evalSpecials->{'%EVTPART191'};my $EVTPART192=   $evalSpecials->{'%EVTPART192'};my $EVTPART193=   $evalSpecials->{'%EVTPART193'};my $EVTPART194=   $evalSpecials->{'%EVTPART194'};my $EVTPART195=   $evalSpecials->{'%EVTPART195'};my $EVTPART196=   $evalSpecials->{'%EVTPART196'};my $EVTPART197=   $evalSpecials->{'%EVTPART197'};my $EVTPART198=   $evalSpecials->{'%EVTPART198'};my $EVTPART199=   $evalSpecials->{'%EVTPART199'};my $EVTPART2=   $evalSpecials->{'%EVTPART2'};my $EVTPART20=   $evalSpecials->{'%EVTPART20'};my $EVTPART200=   $evalSpecials->{'%EVTPART200'};my $EVTPART201=   $evalSpecials->{'%EVTPART201'};my $EVTPART202=   $evalSpecials->{'%EVTPART202'};my $EVTPART203=   $evalSpecials->{'%EVTPART203'};my $EVTPART204=   $evalSpecials->{'%EVTPART204'};my $EVTPART205=   $evalSpecials->{'%EVTPART205'};my $EVTPART206=   $evalSpecials->{'%EVTPART206'};my $EVTPART207=   $evalSpecials->{'%EVTPART207'};my $EVTPART208=   $evalSpecials->{'%EVTPART208'};my $EVTPART209=   $evalSpecials->{'%EVTPART209'};my $EVTPART21=   $evalSpecials->{'%EVTPART21'};my $EVTPART210=   $evalSpecials->{'%EVTPART210'};my $EVTPART211=   $evalSpecials->{'%EVTPART211'};my $EVTPART212=   $evalSpecials->{'%EVTPART212'};my $EVTPART213=   $evalSpecials->{'%EVTPART213'};my $EVTPART214=   $evalSpecials->{'%EVTPART214'};my $EVTPART215=   $evalSpecials->{'%EVTPART215'};my $EVTPART216=   $evalSpecials->{'%EVTPART216'};my $EVTPART217=   $evalSpecials->{'%EVTPART217'};my $EVTPART218=   $evalSpecials->{'%EVTPART218'};my $EVTPART219=   $evalSpecials->{'%EVTPART219'};my $EVTPART22=   $evalSpecials->{'%EVTPART22'};my $EVTPART220=   $evalSpecials->{'%EVTPART220'};my $EVTPART221=   $evalSpecials->{'%EVTPART221'};my $EVTPART222=   $evalSpecials->{'%EVTPART222'};my $EVTPART223=   $evalSpecials->{'%EVTPART223'};my $EVTPART224=   $evalSpecials->{'%EVTPART224'};my $EVTPART225=   $evalSpecials->{'%EVTPART225'};my $EVTPART226=   $evalSpecials->{'%EVTPART226'};my $EVTPART227=   $evalSpecials->{'%EVTPART227'};my $EVTPART228=   $evalSpecials->{'%EVTPART228'};my $EVTPART229=   $evalSpecials->{'%EVTPART229'};my $EVTPART23=   $evalSpecials->{'%EVTPART23'};my $EVTPART230=   $evalSpecials->{'%EVTPART230'};my $EVTPART231=   $evalSpecials->{'%EVTPART231'};my $EVTPART232=   $evalSpecials->{'%EVTPART232'};my $EVTPART233=   $evalSpecials->{'%EVTPART233'};my $EVTPART234=   $evalSpecials->{'%EVTPART234'};my $EVTPART235=   $evalSpecials->{'%EVTPART235'};my $EVTPART236=   $evalSpecials->{'%EVTPART236'};my $EVTPART237=   $evalSpecials->{'%EVTPART237'};my $EVTPART238=   $evalSpecials->{'%EVTPART238'};my $EVTPART239=   $evalSpecials->{'%EVTPART239'};my $EVTPART24=   $evalSpecials->{'%EVTPART24'};my $EVTPART240=   $evalSpecials->{'%EVTPART240'};my $EVTPART241=   $evalSpecials->{'%EVTPART241'};my $EVTPART242=   $evalSpecials->{'%EVTPART242'};my $EVTPART243=   $evalSpecials->{'%EVTPART243'};my $EVTPART244=   $evalSpecials->{'%EVTPART244'};my $EVTPART245=   $evalSpecials->{'%EVTPART245'};my $EVTPART246=   $evalSpecials->{'%EVTPART246'};my $EVTPART247=   $evalSpecials->{'%EVTPART247'};my $EVTPART248=   $evalSpecials->{'%EVTPART248'};my $EVTPART249=   $evalSpecials->{'%EVTPART249'};my $EVTPART25=   $evalSpecials->{'%EVTPART25'};my $EVTPART250=   $evalSpecials->{'%EVTPART250'};my $EVTPART251=   $evalSpecials->{'%EVTPART251'};my $EVTPART252=   $evalSpecials->{'%EVTPART252'};my $EVTPART253=   $evalSpecials->{'%EVTPART253'};my $EVTPART254=   $evalSpecials->{'%EVTPART254'};my $EVTPART255=   $evalSpecials->{'%EVTPART255'};my $EVTPART256=   $evalSpecials->{'%EVTPART256'};my $EVTPART257=   $evalSpecials->{'%EVTPART257'};my $EVTPART258=   $evalSpecials->{'%EVTPART258'};my $EVTPART259=   $evalSpecials->{'%EVTPART259'};my $EVTPART26=   $evalSpecials->{'%EVTPART26'};my $EVTPART260=   $evalSpecials->{'%EVTPART260'};my $EVTPART261=   $evalSpecials->{'%EVTPART261'};my $EVTPART262=   $evalSpecials->{'%EVTPART262'};my $EVTPART263=   $evalSpecials->{'%EVTPART263'};my $EVTPART264=   $evalSpecials->{'%EVTPART264'};my $EVTPART265=   $evalSpecials->{'%EVTPART265'};my $EVTPART266=   $evalSpecials->{'%EVTPART266'};my $EVTPART267=   $evalSpecials->{'%EVTPART267'};my $EVTPART268=   $evalSpecials->{'%EVTPART268'};my $EVTPART269=   $evalSpecials->{'%EVTPART269'};my $EVTPART27=   $evalSpecials->{'%EVTPART27'};my $EVTPART270=   $evalSpecials->{'%EVTPART270'};my $EVTPART271=   $evalSpecials->{'%EVTPART271'};my $EVTPART272=   $evalSpecials->{'%EVTPART272'};my $EVTPART273=   $evalSpecials->{'%EVTPART273'};my $EVTPART274=   $evalSpecials->{'%EVTPART274'};my $EVTPART275=   $evalSpecials->{'%EVTPART275'};my $EVTPART276=   $evalSpecials->{'%EVTPART276'};my $EVTPART277=   $evalSpecials->{'%EVTPART277'};my $EVTPART278=   $evalSpecials->{'%EVTPART278'};my $EVTPART279=   $evalSpecials->{'%EVTPART279'};my $EVTPART28=   $evalSpecials->{'%EVTPART28'};my $EVTPART280=   $evalSpecials->{'%EVTPART280'};my $EVTPART281=   $evalSpecials->{'%EVTPART281'};my $EVTPART282=   $evalSpecials->{'%EVTPART282'};my $EVTPART283=   $evalSpecials->{'%EVTPART283'};my $EVTPART284=   $evalSpecials->{'%EVTPART284'};my $EVTPART285=   $evalSpecials->{'%EVTPART285'};my $EVTPART286=   $evalSpecials->{'%EVTPART286'};my $EVTPART287=   $evalSpecials->{'%EVTPART287'};my $EVTPART288=   $evalSpecials->{'%EVTPART288'};my $EVTPART289=   $evalSpecials->{'%EVTPART289'};my $EVTPART29=   $evalSpecials->{'%EVTPART29'};my $EVTPART290=   $evalSpecials->{'%EVTPART290'};my $EVTPART291=   $evalSpecials->{'%EVTPART291'};my $EVTPART292=   $evalSpecials->{'%EVTPART292'};my $EVTPART293=   $evalSpecials->{'%EVTPART293'};my $EVTPART294=   $evalSpecials->{'%EVTPART294'};my $EVTPART295=   $evalSpecials->{'%EVTPART295'};my $EVTPART296=   $evalSpecials->{'%EVTPART296'};my $EVTPART297=   $evalSpecials->{'%EVTPART297'};my $EVTPART298=   $evalSpecials->{'%EVTPART298'};my $EVTPART299=   $evalSpecials->{'%EVTPART299'};my $EVTPART3=   $evalSpecials->{'%EVTPART3'};my $EVTPART30=   $evalSpecials->{'%EVTPART30'};my $EVTPART300=   $evalSpecials->{'%EVTPART300'};my $EVTPART301=   $evalSpecials->{'%EVTPART301'};my $EVTPART302=   $evalSpecials->{'%EVTPART302'};my $EVTPART303=   $evalSpecials->{'%EVTPART303'};my $EVTPART304=   $evalSpecials->{'%EVTPART304'};my $EVTPART305=   $evalSpecials->{'%EVTPART305'};my $EVTPART306=   $evalSpecials->{'%EVTPART306'};my $EVTPART307=   $evalSpecials->{'%EVTPART307'};my $EVTPART308=   $evalSpecials->{'%EVTPART308'};my $EVTPART309=   $evalSpecials->{'%EVTPART309'};my $EVTPART31=   $evalSpecials->{'%EVTPART31'};my $EVTPART310=   $evalSpecials->{'%EVTPART310'};my $EVTPART311=   $evalSpecials->{'%EVTPART311'};my $EVTPART312=   $evalSpecials->{'%EVTPART312'};my $EVTPART313=   $evalSpecials->{'%EVTPART313'};my $EVTPART314=   $evalSpecials->{'%EVTPART314'};my $EVTPART315=   $evalSpecials->{'%EVTPART315'};my $EVTPART316=   $evalSpecials->{'%EVTPART316'};my $EVTPART317=   $evalSpecials->{'%EVTPART317'};my $EVTPART318=   $evalSpecials->{'%EVTPART318'};my $EVTPART319=   $evalSpecials->{'%EVTPART319'};my $EVTPART32=   $evalSpecials->{'%EVTPART32'};my $EVTPART320=   $evalSpecials->{'%EVTPART320'};my $EVTPART321=   $evalSpecials->{'%EVTPART321'};my $EVTPART322=   $evalSpecials->{'%EVTPART322'};my $EVTPART323=   $evalSpecials->{'%EVTPART323'};my $EVTPART324=   $evalSpecials->{'%EVTPART324'};my $EVTPART325=   $evalSpecials->{'%EVTPART325'};my $EVTPART326=   $evalSpecials->{'%EVTPART326'};my $EVTPART327=   $evalSpecials->{'%EVTPART327'};my $EVTPART328=   $evalSpecials->{'%EVTPART328'};my $EVTPART329=   $evalSpecials->{'%EVTPART329'};my $EVTPART33=   $evalSpecials->{'%EVTPART33'};my $EVTPART330=   $evalSpecials->{'%EVTPART330'};my $EVTPART331=   $evalSpecials->{'%EVTPART331'};my $EVTPART332=   $evalSpecials->{'%EVTPART332'};my $EVTPART333=   $evalSpecials->{'%EVTPART333'};my $EVTPART334=   $evalSpecials->{'%EVTPART334'};my $EVTPART335=   $evalSpecials->{'%EVTPART335'};my $EVTPART336=   $evalSpecials->{'%EVTPART336'};my $EVTPART337=   $evalSpecials->{'%EVTPART337'};my $EVTPART338=   $evalSpecials->{'%EVTPART338'};my $EVTPART339=   $evalSpecials->{'%EVTPART339'};my $EVTPART34=   $evalSpecials->{'%EVTPART34'};my $EVTPART340=   $evalSpecials->{'%EVTPART340'};my $EVTPART341=   $evalSpecials->{'%EVTPART341'};my $EVTPART342=   $evalSpecials->{'%EVTPART342'};my $EVTPART343=   $evalSpecials->{'%EVTPART343'};my $EVTPART344=   $evalSpecials->{'%EVTPART344'};my $EVTPART345=   $evalSpecials->{'%EVTPART345'};my $EVTPART346=   $evalSpecials->{'%EVTPART346'};my $EVTPART347=   $evalSpecials->{'%EVTPART347'};my $EVTPART348=   $evalSpecials->{'%EVTPART348'};my $EVTPART349=   $evalSpecials->{'%EVTPART349'};my $EVTPART35=   $evalSpecials->{'%EVTPART35'};my $EVTPART350=   $evalSpecials->{'%EVTPART350'};my $EVTPART351=   $evalSpecials->{'%EVTPART351'};my $EVTPART352=   $evalSpecials->{'%EVTPART352'};my $EVTPART353=   $evalSpecials->{'%EVTPART353'};my $EVTPART354=   $evalSpecials->{'%EVTPART354'};my $EVTPART355=   $evalSpecials->{'%EVTPART355'};my $EVTPART356=   $evalSpecials->{'%EVTPART356'};my $EVTPART357=   $evalSpecials->{'%EVTPART357'};my $EVTPART358=   $evalSpecials->{'%EVTPART358'};my $EVTPART359=   $evalSpecials->{'%EVTPART359'};my $EVTPART36=   $evalSpecials->{'%EVTPART36'};my $EVTPART360=   $evalSpecials->{'%EVTPART360'};my $EVTPART361=   $evalSpecials->{'%EVTPART361'};my $EVTPART362=   $evalSpecials->{'%EVTPART362'};my $EVTPART363=   $evalSpecials->{'%EVTPART363'};my $EVTPART364=   $evalSpecials->{'%EVTPART364'};my $EVTPART365=   $evalSpecials->{'%EVTPART365'};my $EVTPART366=   $evalSpecials->{'%EVTPART366'};my $EVTPART367=   $evalSpecials->{'%EVTPART367'};my $EVTPART368=   $evalSpecials->{'%EVTPART368'};my $EVTPART369=   $evalSpecials->{'%EVTPART369'};my $EVTPART37=   $evalSpecials->{'%EVTPART37'};my $EVTPART370=   $evalSpecials->{'%EVTPART370'};my $EVTPART371=   $evalSpecials->{'%EVTPART371'};my $EVTPART372=   $evalSpecials->{'%EVTPART372'};my $EVTPART373=   $evalSpecials->{'%EVTPART373'};my $EVTPART374=   $evalSpecials->{'%EVTPART374'};my $EVTPART375=   $evalSpecials->{'%EVTPART375'};my $EVTPART376=   $evalSpecials->{'%EVTPART376'};my $EVTPART377=   $evalSpecials->{'%EVTPART377'};my $EVTPART378=   $evalSpecials->{'%EVTPART378'};my $EVTPART379=   $evalSpecials->{'%EVTPART379'};my $EVTPART38=   $evalSpecials->{'%EVTPART38'};my $EVTPART380=   $evalSpecials->{'%EVTPART380'};my $EVTPART381=   $evalSpecials->{'%EVTPART381'};my $EVTPART382=   $evalSpecials->{'%EVTPART382'};my $EVTPART383=   $evalSpecials->{'%EVTPART383'};my $EVTPART384=   $evalSpecials->{'%EVTPART384'};my $EVTPART385=   $evalSpecials->{'%EVTPART385'};my $EVTPART386=   $evalSpecials->{'%EVTPART386'};my $EVTPART387=   $evalSpecials->{'%EVTPART387'};my $EVTPART388=   $evalSpecials->{'%EVTPART388'};my $EVTPART389=   $evalSpecials->{'%EVTPART389'};my $EVTPART39=   $evalSpecials->{'%EVTPART39'};my $EVTPART390=   $evalSpecials->{'%EVTPART390'};my $EVTPART391=   $evalSpecials->{'%EVTPART391'};my $EVTPART392=   $evalSpecials->{'%EVTPART392'};my $EVTPART393=   $evalSpecials->{'%EVTPART393'};my $EVTPART394=   $evalSpecials->{'%EVTPART394'};my $EVTPART395=   $evalSpecials->{'%EVTPART395'};my $EVTPART396=   $evalSpecials->{'%EVTPART396'};my $EVTPART397=   $evalSpecials->{'%EVTPART397'};my $EVTPART398=   $evalSpecials->{'%EVTPART398'};my $EVTPART399=   $evalSpecials->{'%EVTPART399'};my $EVTPART4=   $evalSpecials->{'%EVTPART4'};my $EVTPART40=   $evalSpecials->{'%EVTPART40'};my $EVTPART400=   $evalSpecials->{'%EVTPART400'};my $EVTPART401=   $evalSpecials->{'%EVTPART401'};my $EVTPART402=   $evalSpecials->{'%EVTPART402'};my $EVTPART403=   $evalSpecials->{'%EVTPART403'};my $EVTPART404=   $evalSpecials->{'%EVTPART404'};my $EVTPART405=   $evalSpecials->{'%EVTPART405'};my $EVTPART406=   $evalSpecials->{'%EVTPART406'};my $EVTPART407=   $evalSpecials->{'%EVTPART407'};my $EVTPART408=   $evalSpecials->{'%EVTPART408'};my $EVTPART409=   $evalSpecials->{'%EVTPART409'};my $EVTPART41=   $evalSpecials->{'%EVTPART41'};my $EVTPART410=   $evalSpecials->{'%EVTPART410'};my $EVTPART411=   $evalSpecials->{'%EVTPART411'};my $EVTPART412=   $evalSpecials->{'%EVTPART412'};my $EVTPART413=   $evalSpecials->{'%EVTPART413'};my $EVTPART414=   $evalSpecials->{'%EVTPART414'};my $EVTPART415=   $evalSpecials->{'%EVTPART415'};my $EVTPART416=   $evalSpecials->{'%EVTPART416'};my $EVTPART417=   $evalSpecials->{'%EVTPART417'};my $EVTPART418=   $evalSpecials->{'%EVTPART418'};my $EVTPART419=   $evalSpecials->{'%EVTPART419'};my $EVTPART42=   $evalSpecials->{'%EVTPART42'};my $EVTPART420=   $evalSpecials->{'%EVTPART420'};my $EVTPART421=   $evalSpecials->{'%EVTPART421'};my $EVTPART422=   $evalSpecials->{'%EVTPART422'};my $EVTPART423=   $evalSpecials->{'%EVTPART423'};my $EVTPART424=   $evalSpecials->{'%EVTPART424'};my $EVTPART425=   $evalSpecials->{'%EVTPART425'};my $EVTPART426=   $evalSpecials->{'%EVTPART426'};my $EVTPART427=   $evalSpecials->{'%EVTPART427'};my $EVTPART428=   $evalSpecials->{'%EVTPART428'};my $EVTPART429=   $evalSpecials->{'%EVTPART429'};my $EVTPART43=   $evalSpecials->{'%EVTPART43'};my $EVTPART430=   $evalSpecials->{'%EVTPART430'};my $EVTPART431=   $evalSpecials->{'%EVTPART431'};my $EVTPART432=   $evalSpecials->{'%EVTPART432'};my $EVTPART433=   $evalSpecials->{'%EVTPART433'};my $EVTPART434=   $evalSpecials->{'%EVTPART434'};my $EVTPART435=   $evalSpecials->{'%EVTPART435'};my $EVTPART436=   $evalSpecials->{'%EVTPART436'};my $EVTPART437=   $evalSpecials->{'%EVTPART437'};my $EVTPART438=   $evalSpecials->{'%EVTPART438'};my $EVTPART439=   $evalSpecials->{'%EVTPART439'};my $EVTPART44=   $evalSpecials->{'%EVTPART44'};my $EVTPART440=   $evalSpecials->{'%EVTPART440'};my $EVTPART441=   $evalSpecials->{'%EVTPART441'};my $EVTPART442=   $evalSpecials->{'%EVTPART442'};my $EVTPART443=   $evalSpecials->{'%EVTPART443'};my $EVTPART444=   $evalSpecials->{'%EVTPART444'};my $EVTPART445=   $evalSpecials->{'%EVTPART445'};my $EVTPART446=   $evalSpecials->{'%EVTPART446'};my $EVTPART447=   $evalSpecials->{'%EVTPART447'};my $EVTPART448=   $evalSpecials->{'%EVTPART448'};my $EVTPART449=   $evalSpecials->{'%EVTPART449'};my $EVTPART45=   $evalSpecials->{'%EVTPART45'};my $EVTPART450=   $evalSpecials->{'%EVTPART450'};my $EVTPART451=   $evalSpecials->{'%EVTPART451'};my $EVTPART452=   $evalSpecials->{'%EVTPART452'};my $EVTPART453=   $evalSpecials->{'%EVTPART453'};my $EVTPART454=   $evalSpecials->{'%EVTPART454'};my $EVTPART455=   $evalSpecials->{'%EVTPART455'};my $EVTPART456=   $evalSpecials->{'%EVTPART456'};my $EVTPART457=   $evalSpecials->{'%EVTPART457'};my $EVTPART458=   $evalSpecials->{'%EVTPART458'};my $EVTPART459=   $evalSpecials->{'%EVTPART459'};my $EVTPART46=   $evalSpecials->{'%EVTPART46'};my $EVTPART460=   $evalSpecials->{'%EVTPART460'};my $EVTPART461=   $evalSpecials->{'%EVTPART461'};my $EVTPART462=   $evalSpecials->{'%EVTPART462'};my $EVTPART463=   $evalSpecials->{'%EVTPART463'};my $EVTPART464=   $evalSpecials->{'%EVTPART464'};my $EVTPART465=   $evalSpecials->{'%EVTPART465'};my $EVTPART466=   $evalSpecials->{'%EVTPART466'};my $EVTPART467=   $evalSpecials->{'%EVTPART467'};my $EVTPART468=   $evalSpecials->{'%EVTPART468'};my $EVTPART469=   $evalSpecials->{'%EVTPART469'};my $EVTPART47=   $evalSpecials->{'%EVTPART47'};my $EVTPART470=   $evalSpecials->{'%EVTPART470'};my $EVTPART471=   $evalSpecials->{'%EVTPART471'};my $EVTPART472=   $evalSpecials->{'%EVTPART472'};my $EVTPART473=   $evalSpecials->{'%EVTPART473'};my $EVTPART474=   $evalSpecials->{'%EVTPART474'};my $EVTPART475=   $evalSpecials->{'%EVTPART475'};my $EVTPART48=   $evalSpecials->{'%EVTPART48'};my $EVTPART49=   $evalSpecials->{'%EVTPART49'};my $EVTPART5=   $evalSpecials->{'%EVTPART5'};my $EVTPART50=   $evalSpecials->{'%EVTPART50'};my $EVTPART51=   $evalSpecials->{'%EVTPART51'};my $EVTPART52=   $evalSpecials->{'%EVTPART52'};my $EVTPART53=   $evalSpecials->{'%EVTPART53'};my $EVTPART54=   $evalSpecials->{'%EVTPART54'};my $EVTPART55=   $evalSpecials->{'%EVTPART55'};my $EVTPART56=   $evalSpecials->{'%EVTPART56'};my $EVTPART57=   $evalSpecials->{'%EVTPART57'};my $EVTPART58=   $evalSpecials->{'%EVTPART58'};my $EVTPART59=   $evalSpecials->{'%EVTPART59'};my $EVTPART6=   $evalSpecials->{'%EVTPART6'};my $EVTPART60=   $evalSpecials->{'%EVTPART60'};my $EVTPART61=   $evalSpecials->{'%EVTPART61'};my $EVTPART62=   $evalSpecials->{'%EVTPART62'};my $EVTPART63=   $evalSpecials->{'%EVTPART63'};my $EVTPART64=   $evalSpecials->{'%EVTPART64'};my $EVTPART65=   $evalSpecials->{'%EVTPART65'};my $EVTPART66=   $evalSpecials->{'%EVTPART66'};my $EVTPART67=   $evalSpecials->{'%EVTPART67'};my $EVTPART68=   $evalSpecials->{'%EVTPART68'};my $EVTPART69=   $evalSpecials->{'%EVTPART69'};my $EVTPART7=   $evalSpecials->{'%EVTPART7'};my $EVTPART70=   $evalSpecials->{'%EVTPART70'};my $EVTPART71=   $evalSpecials->{'%EVTPART71'};my $EVTPART72=   $evalSpecials->{'%EVTPART72'};my $EVTPART73=   $evalSpecials->{'%EVTPART73'};my $EVTPART74=   $evalSpecials->{'%EVTPART74'};my $EVTPART75=   $evalSpecials->{'%EVTPART75'};my $EVTPART76=   $evalSpecials->{'%EVTPART76'};my $EVTPART77=   $evalSpecials->{'%EVTPART77'};my $EVTPART78=   $evalSpecials->{'%EVTPART78'};my $EVTPART79=   $evalSpecials->{'%EVTPART79'};my $EVTPART8=   $evalSpecials->{'%EVTPART8'};my $EVTPART80=   $evalSpecials->{'%EVTPART80'};my $EVTPART81=   $evalSpecials->{'%EVTPART81'};my $EVTPART82=   $evalSpecials->{'%EVTPART82'};my $EVTPART83=   $evalSpecials->{'%EVTPART83'};my $EVTPART84=   $evalSpecials->{'%EVTPART84'};my $EVTPART85=   $evalSpecials->{'%EVTPART85'};my $EVTPART86=   $evalSpecials->{'%EVTPART86'};my $EVTPART87=   $evalSpecials->{'%EVTPART87'};my $EVTPART88=   $evalSpecials->{'%EVTPART88'};my $EVTPART89=   $evalSpecials->{'%EVTPART89'};my $EVTPART9=   $evalSpecials->{'%EVTPART9'};my $EVTPART90=   $evalSpecials->{'%EVTPART90'};my $EVTPART91=   $evalSpecials->{'%EVTPART91'};my $EVTPART92=   $evalSpecials->{'%EVTPART92'};my $EVTPART93=   $evalSpecials->{'%EVTPART93'};my $EVTPART94=   $evalSpecials->{'%EVTPART94'};my $EVTPART95=   $evalSpecials->{'%EVTPART95'};my $EVTPART96=   $evalSpecials->{'%EVTPART96'};my $EVTPART97=   $evalSpecials->{'%EVTPART97'};my $EVTPART98=   $evalSpecials->{'%EVTPART98'};my $EVTPART99=   $evalSpecials->{'%EVTPART99'};my $JSONMAP=   $evalSpecials->{'%JSONMAP'};my $NAME=   $evalSpecials->{'%NAME'};my $TOPIC=   $evalSpecials->{'%TOPIC'};{roomba::reading($NAME,$EVENT)}: Not a HASH reference at ./FHEM/99_RoombaUtils.pm line 360.


In Zeile 360 kommt ein "Not a HASH reference at ./FHEM/99_RoombaUtils.pm line 360."

Mache ich etwas falsch?

lg, Gerhard

Prof. Dr. Peter Henning

#281
Kann ich noch nicht sagen - das ist genau die Zeile, die das cleanSchedule2 auswertet.
Bitte mal die angehängte Version probieren und schauen, was im Log steht.

LG

pah

hapege

#282
Hi,

nachdem mein Roomba wieder mag (PW neu ausgelesen, ist identisch, nochmal eingetragen, restart --> geht...):
Folgende Fehlermeldung beim restart:


reload: Error:Modul 99_RoombaUtils deactivated:
Can't use bareword ("evtptr") as an ARRAY ref while "strict refs" in use at ./FHEM/99_RoombaUtils.pm line 604.


und wenn ich ein "reload" der RoombaUtils mache:

Can't use bareword ("evtptr") as an ARRAY ref while "strict refs" in use at ./FHEM/99_RoombaUtils.pm line 604.


LG,

Hermann

PS: Ich hab mal ganz naiv ein "$" vor "evtptr" in Zeile 604 und 613 eingefügt (ja, ohne genau zu wissen was ich tue ;) )

604 my %evstart    = %{$evtptr->[$i]->{'start'}};
613 my %evcmd      = %{$evtptr->[$i]->{'cmd'}};


Dann ergibt ein reload:

Global symbol "$evstart" requires explicit package name (did you forget to declare "my $evstart"?) at ./FHEM/99_RoombaUtils.pm line 605.
Global symbol "$evstart" requires explicit package name (did you forget to declare "my $evstart"?) at ./FHEM/99_RoombaUtils.pm line 606.
Global symbol "$evstart" requires explicit package name (did you forget to declare "my $evstart"?) at ./FHEM/99_RoombaUtils.pm line 609.
Global symbol "$evcmd" requires explicit package name (did you forget to declare "my $evcmd"?) at ./FHEM/99_RoombaUtils.pm line 615.
Global symbol "$evcmd" requires explicit package name (did you forget to declare "my $evcmd"?) at ./FHEM/99_RoombaUtils.pm line 619.
Developer: 70_ESCVP21net.pm, 70_SVDRP.pm
Mitglied FHEM e.V.

gestein

Wollte gerade das gleiche schreiben.
Fehlermeldung bei "reload 99_RoombaUtils":
Can't use bareword ("evtptr") as an ARRAY ref while "strict refs" in use at ./FHEM/99_RoombaUtils.pm line 604.

lg, Gerhard

gestein

Eines ist mir noch aufgefallen:
Der myRoombaMQTTClient wird normalerweise das "disconnectAfter" auf 300s gesetzt.

In Zeile 725 wird es aber nun auf 7s gesetzt: main::fhem("attr $iodev disconnectAfter 7");

Stimmt das so?

lg, Gerhard