[Gelöst] Mal wieder: Anwesenheit plotten

Begonnen von grossmaggul, 17 Februar 2020, 13:55:11

Vorheriges Thema - Nächstes Thema

Frank_Huber

Eventuell fet hier auch noch das event-on-change-reading im presence Gerät.


Gesendet von meinem Doogee S60 mit Tapatalk


KernSani

Du fragst auf "presence" ab, der Wert heißt aber "present"
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

grossmaggul

Es klappt einfach nicht.:-(

ZitatEventuell fet hier auch noch das event-on-change-reading im presence Gerät.
Nein, das ist da.

Hier das list des PRESENCE Devices
Internals:
   CHANGED   
   DEF        event unifi_ap_ac_lr:iphonese:.disconnected unifi_ap_ac_lr:iphonese:.connected
   EVENT_ABSENT unifi_ap_ac_lr:iphonese:.disconnected
   EVENT_PRESENT unifi_ap_ac_lr:iphonese:.connected
   FUUID      5e42aac2-f33f-f310-83dc-830f7a4513e07131
   MODE       event
   NAME       maggi_fon
   NOTIFYDEV  global,unifi_ap_ac_lr
   NR         280
   NTFY_ORDER 50-maggi_fon
   STATE      present
   TYPE       PRESENCE
   Helper:
     DBLOG:
       presence:
         logdb:
           TIME       1582064473.81366
           VALUE      present
   READINGS:
     2020-02-18 23:20:33   model           event
     2020-02-19 09:39:05   presence        present
     2020-02-19 09:39:05   state           present
   helper:
     CURRENT_STATE present
     PRESENT_COUNT 0
Attributes:
   DbLogExclude .*
   DbLogInclude presence
   absenceTimeout 10:00
   event-min-interval 60
   event-on-change-reading presence
   presenceTimeout 10
   room       9.6_HomeStatus




Zitat von: KernSaniDu fragst auf "presence" ab, der Wert heißt aber "present"
Ja, das ist mir auch schon aufgefallen.
Ich habe da auch einiges durcheinandergewürfelt, daher nochmal alles neu aufgebaut, trotzdem funktioniert es nicht.

# Created by FHEM/98_SVG.pm, 2020-02-19 09:29:21
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<L1>'
set ytics "absent" 0, "present" 1
set y2tics
set grid
set ylabel "Anwesenheit"
set y2label ""
set yrange [0:1.1]

#logdb maggi_fon:presence
#$val=($val=~"presence"?1:0)
logdb maggi_fon:presence:::$val=~s/(present|absent)(\d*).*/$1eq"presence"?1:0/eg

plot "<IN>" using 1:2 axes x1y1 title 'Da oder nicht' ls l1fill lw 1 with steps


"show preprocessed input" zeigt, daß die Umsetzung nicht funktioniert:

Zitatget logdb HISTORY INT 2020-02-19_00:00:00 2020-02-19_23:59:59 maggi_fon:presence

2020-02-19_09:44:40 maybe absent
2020-02-19_09:45:10 absent
#maggi_fon:presence:::

FHEM auf Debian Buster Server, 2 x nanoCUL868, 1xnanoCUL465; Homematic, MAX, MiLight, HUE,  2 x Gosund SP1

Beta-User

Versuchs mal mit
logdb maggi_fon:presence:::$val=~s/(present|absent)(\d*).*/$1eq"present"?1:0/eg
Da du das ganze scheinbar für mehrere Presence-Dinge nutzen willst, würde ich mal eine Blick ins Wiki empfehlen, konkret nach https://wiki.fhem.de/wiki/SVG
Da sind (nur) zwei Beispiele drin, eines für logDB und eines für FileLog, aber wenn man es "richtig" macht, muß man hinterher nur noch ein paar Werte im "plotReplace"-Attribut des SVG-Geräts festlegen und hat eine einfach nutzbare .gplot für alle Presence-Geräte...


Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

grossmaggul

Ich muß da mal was Grundsätzliches fragen, wo editiere ich die gplot Datei am besten in der FHEM GUI oder im Terminal direkt im gplot Ordner?
Muß man irgendwas anstoßen, wenn man Änderungen gemacht hat?(shutdown restart, cache des Browsers löschen oder so)

ZitatVersuchs mal mit
Habe ich bereits, aber das brachte auch nichts.

ZitatDa du das ganze scheinbar für mehrere Presence-Dinge nutzen willst
Das möchte ich schon, allerdings würde ich das erstmal grundsätzlich zum Laufen bekommen und da hapert's ja im Moment noch.:-/

Ich muß das jetzt eh auf Eis legen, da ich ab morgen zwei Wochen weg bin und nicht dazu komme mich darum zu kümmern.
FHEM auf Debian Buster Server, 2 x nanoCUL868, 1xnanoCUL465; Homematic, MAX, MiLight, HUE,  2 x Gosund SP1

ch.eick

Am einfachsten nur im fhem bearbeitet. Dann auf save und die Änderung wird sofort aktiv.

Gesendet von meinem SM-G930F mit Tapatalk

RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Beta-User

Finde auch, dass es am einfachsten ist, die .gplot via "Edit files" unter FHEMWEB zu bearbeiten. Geht man da auf "Save ...", wird die Datei auch gleich neu geladen und man kann direkt unter "show preprecessed ..." die Auswirkungen testen (jedenfalls habe ich das so in Erinnerung).

Zum eigentlichen... Ist schon "komisch", manchmal übersehe ich scheinbar deswegen das Wesentliche, weil ich gar nicht auf den Gedanken gekommen wäre, bestimmte Punkte zu ändern (wie hier das mit dem "#"). Statt:
#logdb maggi_fon:presence
#$val=($val=~"presence"?1:0)
logdb maggi_fon:presence:::$val=~s/(present|absent)(\d*).*/$1eq"presence"?1:0/eg

sollte da m.E. auch nur diese eine Zeile, eingeleitet mit "#" stehen:
#logdb maggi_fon:presence:::$val=~s/(present|absent)(\d*).*/$1eq"presence"?1:0/eg
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

grossmaggul

#22
Ich war davon ausgegangen, daß das # ein Kommentarzeichen ist.

Was es wohl nicht ist, denn nachdem ich die Zeile, so wie Du geschrieben hast, geändert habe und die anderen vermeintlichen Kommentarzeilen entfernt habe, scheint es zu funktionieren.

# Created by FHEM/98_SVG.pm, 2020-02-20 09:32:57
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<L1>'
set ytics "absent" 0, "present" 1
set y2tics
set grid
set ylabel "Anwesenheit"
set y2label ""
set yrange [0:1.1]

#logdb maggi_fon:presence:::$val=($val=~"present"?1:0)

plot "<IN>" using 1:2 axes x1y1 title 'Da oder nicht' ls l1fill lw 1 with steps
FHEM auf Debian Buster Server, 2 x nanoCUL868, 1xnanoCUL465; Homematic, MAX, MiLight, HUE,  2 x Gosund SP1

Beta-User

Jein, das wäre aus gnuplot-Sicht tatsächlich eine Kommentarzeile.

Über diesen Mechanismus wird aber eine "Vorbehandlung" durch das SVG-Modul vorgenommen: Das wertet die Kommentarzeilen aus und führt dabei u.a. auch die Ersetzungen aus "plotReplace" aus...

Hoffe, der Schritt zur "Generalisierung" ist jetzt mit diesem ergänzenden Hinweis auch vollends einfach?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files