Autor Thema: SureFlap Haustierklappe  (Gelesen 3811 mal)

Offline clumsy

  • Full Member
  • ***
  • Beiträge: 178
Antw:SureFlap Haustierklappe
« Antwort #30 am: 25 November 2021, 10:44:00 »
ja das hab ich drin bei mir und läuft auch. Ich habs versucht aus dem Stateformat rauszulesen um mir einzelne Readings anzulegen um diese wiederum auf meiner Smartphoneapp zu verwenden. Aber nach 3 Tagen hab ich jetzt aufgegeben :D

Versuchs mal mit userReadings:
attr sf_pet01 userReadings since_now { my $ssince = int(timelocal(gmtime())) - time_str2num(ReadingsVal("$name","data_position_since", "0"));; my $since = sprintf("%02d:%02d", $ssince/3600, $ssince/60%60);; return $since },  since_prev { my $osince = time_str2num(ReadingsVal("$name","data_position_since", "0")) - time_str2num(OldReadingsVal("$name","data_position_since", "0"));; my $since = sprintf("%02d:%02d", $osince/3600, $osince/60%60);; return $since }
Wichtig dass
attr sf_pet01 oldreadings data_position_sincegesetzt ist!

Das generiert dir 2 neue Readings mit der aktuellen und der vorigen Verweildauer (std:min).
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline tek

  • New Member
  • *
  • Beiträge: 26
Antw:SureFlap Haustierklappe
« Antwort #31 am: 25 November 2021, 18:55:38 »
mega danke, das ja noch besser wie gewünscht :D
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Navaho

  • Newbie
  • Beiträge: 1
Antw:SureFlap Haustierklappe
« Antwort #32 am: 30 Dezember 2021, 12:17:58 »
Vielen Dank für den Code. Coole Sache. Ich muss noch mal die Fehler checken, aber man sollte ja auch keinen Code nutzen ohne den ganzen Beitrag gelesen zu haben.  :)

Offline Wastegate

  • New Member
  • *
  • Beiträge: 8
Antw:SureFlap Haustierklappe
« Antwort #33 am: 01 Januar 2022, 13:07:18 »
Wünsche ein schönes neues Jahr.
Vielen Dank für deine Arbeit. Ich habe auch das ganze mal getestet und bekomme seit heute eine Fehlermeldung im LOG:

2022.01.01 00:00:55 1: PERL WARNING: Use of uninitialized value in subtraction (-) at (eval 1541971) line 1.
2022.01.01 00:00:55 3: eval: { return "missing" if ( (time_str2num(ReadingsTimestamp($NAME,"data_updated_at","1900-01-01T20:00:00+00:00")) - time_str2num(ReadingsVal($NAME,"data_updated_at","1900-01-01T20:00:00+00:00"))) < -3600 ); return "ok" if ( ReadingsVal($NAME, "data_battery", "-1" ) > 4.5); return "low" }

Was wohl mit den userReadings von sf_flap01 zusammenhängt. Leider bin ich nicht so fit um das Problem, wenn es denn eines ist, selber zu lösen.
FHEM auf Raspberry 3 , 2 und B+
2xHMLAN und pivccu3

Offline clumsy

  • Full Member
  • ***
  • Beiträge: 178
Antw:SureFlap Haustierklappe
« Antwort #34 am: 02 Januar 2022, 09:23:39 »
Es könnte sein, dass der Fehler kommt, bevor die Klappe den ersten Event meldet (z.B. nach einem Neustart) und deshalb eins der Readings noch nicht initialisiert ist. Wobei das eigentlich abgefangen werden sollte.

Offline Wastegate

  • New Member
  • *
  • Beiträge: 8
Antw:SureFlap Haustierklappe
« Antwort #35 am: 02 Januar 2022, 11:42:03 »
Habe sf_flap01 mal auf disable gesetzt.

Weitere Meldungen aus dem LOG:

2022.01.02 10:49:31 1: PERL WARNING: Argument "42+00" isn't numeric in subroutine entry at ./FHEM/99_Utils.pm line 21.
2022.01.02 10:49:31 3: eval: { my $ssince = int(timelocal(gmtime())) - time_str2num(ReadingsVal("$name","data_position_since", "0"));; my $since = sprintf("%02d:%02d", $ssince/3600, $ssince/60%60);; return $since }

Das scheint dann von sf_pet01 zu sein.
Sonst Klappt das mit sf_dashboard wirklich super. Da sind alle Informationen enthalten. Ich hole mir dort die Informationen für meine Tablet UI.
FHEM auf Raspberry 3 , 2 und B+
2xHMLAN und pivccu3

Offline clumsy

  • Full Member
  • ***
  • Beiträge: 178
Antw:SureFlap Haustierklappe
« Antwort #36 am: 02 Januar 2022, 11:44:48 »
2022.01.02 10:49:31 1: PERL WARNING: Argument "42+00" isn't numeric in subroutine entry at ./FHEM/99_Utils.pm line 21.
Hmm... das scheint aber nicht von dem SF zu sein, ist ja nichts davon im 99_Utils.pm... was steht dann dort auf Zeile 21?

Offline Wastegate

  • New Member
  • *
  • Beiträge: 8
Antw:SureFlap Haustierklappe
« Antwort #37 am: 02 Januar 2022, 12:39:16 »
Ich nehme mal an das es mit der Zeitberechnung zusammenhängt, bin mir da aber nicht sicher.
Die Zeile 21 bezieht sich wohl auf time_str2num.
Dort steht:

return mktime($a[5],$a[4],$a[3],$a[2],$a[1]-1,$a[0]-1900,0,0,-1);

Könnte das ein Problem aus den userReadings sein?
Hoffe das Hilft weiter.  ;)
FHEM auf Raspberry 3 , 2 und B+
2xHMLAN und pivccu3

Offline clumsy

  • Full Member
  • ***
  • Beiträge: 178
Antw:SureFlap Haustierklappe
« Antwort #38 am: 02 Januar 2022, 13:04:45 »
du kannst versuchen in allen
time_str2num(..., ..., "0")den default Wert "0" zu ersetzen durch
"1900-01-01T20:00:00+00:00"evtl. verschwindet so der Fehler.