FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: logol01 am 28 Dezember 2018, 22:55:59

Titel: Geofancy zusätzliche Readings
Beitrag von: logol01 am 28 Dezember 2018, 22:55:59
Hallo zusammen,

ich habe folgendes auf meinem FHEM Pi eingerichtet:
https://www.meintechblog.de/tag/geofency/

Die Readings übergebe ich bis dato mit UDP zu meinem Loxone Miniserver.
Hier mein "99_myUtils.pm" Auszug

#AnwesenheitToLoxone
sub ResidentToLoxone ($)
{
my ($device) = @_;
my $state = ReadingsVal("$device","state","-1");
if ($state eq "absent") {
$state = "0";
}
if ($state eq "home") {
$state = "1";
}
my $arrival=time_str2num(ReadingsVal("$device","lastArrival","-1"));
my $departure=time_str2num(ReadingsVal("$device","lastDeparture","-1"));
my $wayhome=ReadingsVal("$device","wayhome","-1");

UDP_Msg("192.168.178.245" , "7200" , "$device: $state $arrival $departure $wayhome");
}

Nun möchte ich das aber per http zum Loxone Miniserver übergeben (mit MQTT)

Das Dumme ist, dass die Readings aber im falschen Datum und Zeitformat sind.
In der UDP Variante rechne ich das Datum und Zeit Reading in Sekunden um.
Das bräuchte ich aber schon im Standard Reading (oder irgendwie ein zusätzliches Reading), dass mein Loxone Miniserver das versteht.....

Wie kann ich das bewerkstelligen?

Freue mich auf Eure Hilfe

VG

Logol01
Titel: Antw:Geofancy zusätzliche Readings
Beitrag von: herrmannj am 29 Dezember 2018, 00:26:59
wie genau soll die Nachricht aussehen ? (Beispiel)
Titel: Antw:Geofancy zusätzliche Readings
Beitrag von: logol01 am 29 Dezember 2018, 21:37:29
Anbei habe ich die Beispiele angehängt.

Bild Geo1 ist das Reading in FHEM
Bild Geo 2 sind die Werte die der Loxone Miniserver erwartet.

z.B. aus 2018-12-29 19:28:37 muss der Wert werden --> 1546108117.0

Wie oben erwähnt ist bei der Übergabe über UDP in der 99_myUtils.pm Datei die Umrechnung hinterlegt.

Bei MQTT kann ich aber nichts umrechnen - da bräuchte ich die Werte gleich richtig in meinen Readings..... - also sprich zusätzliche Readings.......
Titel: Antw:Geofancy zusätzliche Readings
Beitrag von: herrmannj am 29 Dezember 2018, 22:40:57
Du legst dafür userreadings an (und die Formeln aus 99_myUtils.pm verwenden).
Titel: Antw:Geofancy zusätzliche Readings
Beitrag von: logol01 am 29 Dezember 2018, 23:17:31
Hmmmm, ok!
Und wie müssten die aussehen?
Hab mal danach gegoogelt, aber ich glaube das ist zu kompliziert für mich.

Über eine Erklärung was ich dazu eingeben sollte wäre ich echt froh!
Titel: Antw:Geofancy zusätzliche Readings
Beitrag von: herrmannj am 29 Dezember 2018, 23:33:04
ist da nicht die cmdref die Bibel ? ;)

https://fhem.de/commandref_DE.html
ZitatuserReadings
Komma getrennte Liste von benutzerdefinierten Readings. Jede Definition hat folgendes Format:
<reading>[:<trigger>] [<modifier>] { <perl code> }
also ein attribut anlegen, zuerst das einen Namen dann einen trigger (vmtl device:lastDeparture.*), beim perlcode kommt dann das rein:
{time_str2num(ReadingsVal("$device","lastDeparture","-1"))}

Titel: Antw:Geofancy zusätzliche Readings
Beitrag von: logol01 am 30 Dezember 2018, 12:29:54
ist das so richtig?

userReadings      lastDepature2:lastDeparture.* {time_str2num(ReadingsVal("$device","lastDeparture","-1"))}

siehe Bild?

müsste da dann ein zusätzliches Reading generieren, wenn der Wert lastDeparture sich ändert mit dem Namen "lastDepature2"

das tut es aber leider nicht - was mache ich falsch?
Titel: Antw:Geofancy zusätzliche Readings
Beitrag von: logol01 am 31 Dezember 2018, 08:46:52
Ich komm da leider nicht weiter.....