Hauptmenü

Timestamp reading

Begonnen von Heiner, 26 Dezember 2022, 09:35:11

Vorheriges Thema - Nächstes Thema

Heiner

Wie krieg ich den Timestamp reading (json extrakt eines MQTT Devices) fuer die naechste Inspektion auf Jahr und Monat reduziert?

Das Reading zeigt:
2024-07-01T00:00:00.000Z
in einer ReadingGroup mit attr valueFormat und %1i bekomme ich das Jahr aber leider bekome ich auch mit %2i nicht den Monat.
Heiner
--------------------------------
fhem auf Pi3+
CUL 868MHz, Signalduino 434MHz, HM-CFG-USB
HM, THZ, Kostal, Somfy, Conbee, Pytonbinding, FritzBox, FTUI, MQTT2

DeeSPe

Mit einem "userReadings" z.B.:
attr <NAME> userReadings Inspektion:<TIMESTAMP READING> {ReadingsVal('<NAME>','<TIMESTAMP READING>','') =~ /^(\d\d\d\d)-(\d\d)-.*$/; return "$2-$1"}

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Heiner

Danke aber Ich kriegs nicht hin.

mein MQTT2Device heisst: 225xe
Das reading heisst:1_date_state_requiredService_4_dateTime

Ich mach nun ein attr 225xe userreadings 225xe:Inspektion {ReadingsVal('225xe':'1_date_state_requiredService_4_dateTime','') =~ /^(\d\d\d\d)-(\d\d)-.*$/; return "$2-$1"}

das erzeugt mir aber kein neues Reading mit dem Namen Inspektion an.
Heiner
--------------------------------
fhem auf Pi3+
CUL 868MHz, Signalduino 434MHz, HM-CFG-USB
HM, THZ, Kostal, Somfy, Conbee, Pytonbinding, FritzBox, FTUI, MQTT2

MadMax-FHEM

#3
1. userreadings vs. userReadings (evtl. nur ein "poste-Fehler"?)

2. das "neue" Reading hieße dann bei dir 225xe

3. der Trigger, bei dem das userReadings "berechnet" wird heißt bei dir Inspektion / ich bin sicher, dass es den nicht gibt -> keine "Berechnung" des userReadings

4. das "neue" Reading wird nur "erzeugt", wenn das userReadings auch "getriggert" wird, siehe 3.

Steht in der commandref und im Wiki (https://wiki.fhem.de/wiki/UserReadings)

also


attr DeviceNameWoDasNeueReadingHinSoll userReadings NeuerReadingName:TriggerWannDasUserReadingsBerechnetWerdenSoll {"Berechnungsformel"}


"Code-Tags" wären auch nett...
Und ein list des Devices hilfreich ;)

Siehe: https://forum.fhem.de/index.php/topic,71806.0.html

EDIT: wenn das hier stimmt
Zitat
mein MQTT2Device heisst: 225xe
Das reading heisst:1_date_state_requiredService_4_dateTime
dann könnte es so aussehen

attr 225xe userReadings Inspektion:1_date_state_requiredService_4_dateTime {ReadingsVal($name,'1_date_state_requiredService_4_dateTime','') =~ /^(\d\d\d\d)-(\d\d)-.*$/; return "$2-$1"}


Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Heiner

Hallo, klappt leider immer noch nicht:

Hier das Devicelist mit reduzierter Anzahl an readings:

Internals:
   FUUID      63a47e9b-f33f-f57f-1ded-5f65295f111dc27a
   IODev      MQTTServer
   LASTInputDev MQTTServer
   MQTTServer_CONN MQTTServer_127.0.0.1_46952
   MQTTServer_MSGCNT 36
   MQTTServer_TIME 2022-12-26 16:52:51
   MSGCNT     36
   NAME       225xe
   NR         407
   STATE      NOT_CHARGING
   TYPE       MQTT2_DEVICE
   eventCount 36
   READINGS:
     2022-12-26 16:52:51   1_available_attributes_1 gps_position
     2022-12-26 16:52:51   1_available_attributes_10 remaining_battery_percent
     2022-12-26 16:52:51   1_available_attributes_11 remaining_range_electric
     2022-12-26 16:52:51   1_available_attributes_12 last_charging_end_result
     2022-12-26 16:52:51   1_available_attributes_13 remaining_fuel
     2022-12-26 16:52:51   1_available_attributes_14 remaining_range_fuel
     2022-12-26 16:52:51   1_available_attributes_15 remaining_fuel_percent
     2022-12-26 16:52:51   1_available_attributes_16 condition_based_services
     2022-12-26 16:52:51   1_available_attributes_17 check_control_messages
     2022-12-26 16:52:51   1_available_attributes_18 door_lock_state
     2022-12-26 16:52:51   1_available_attributes_19 timestamp
     2022-12-26 16:52:51   1_available_attributes_2 vin
     2022-12-26 16:52:51   1_available_attributes_20 lids
     2022-12-26 16:52:51   1_available_attributes_21 windows
     2022-12-26 16:52:51   1_available_attributes_3 remaining_range_total
     2022-12-26 16:52:51   1_available_attributes_4 mileage
     2022-12-26 16:52:51   1_available_attributes_5 charging_time_remaining
     2022-12-26 16:52:51   1_available_attributes_6 charging_end_time
     2022-12-26 16:52:51   1_available_attributes_7 charging_time_label
     2022-12-26 16:52:51   1_available_attributes_8 charging_status
     2022-12-26 16:52:51   1_available_attributes_9 connection_status
     2022-12-26 16:52:51   1_brand         bmw
     2022-12-26 16:52:51   1_charging_profile_charging_mode IMMEDIATE_CHARGING
     2022-12-26 16:52:51   1_charging_profile_charging_preferences CHARGING_WINDOW
     2022-12-26 16:52:51   1_charging_profile_departure_times_1__timer_dict_action DEACTIVATE
     2022-12-26 16:52:51   1_charging_profile_departure_times_1__timer_dict_id 1
     2022-12-26 16:52:51   1_charging_profile_departure_times_1__timer_dict_timeStamp_hour 8
     2022-12-26 16:52:51   1_charging_profile_departure_times_1__timer_dict_timeStamp_minute 0
     2022-12-26 16:52:51   1_charging_profile_departure_times_1_action DEACTIVATE
     2022-12-26 16:52:51   1_data_state_requiredServices_4_dateTime 2024-07-01T00:00:00.000Z
     2022-12-26 16:52:51   1_data_state_requiredServices_4_description Next service due by the specified date.
     2022-12-26 16:52:51   1_data_state_requiredServices_4_status OK
     2022-12-26 16:52:51   1_data_state_requiredServices_4_type BRAKE_FLUID
     2022-12-26 16:52:51   1_vin           XXX
     2022-12-23 15:21:18   IODev           MQTTServer
Attributes:
   autocreate 0
   devStateIcon FINISHED_FULLY_CHARGED.*:electric_car_charger@green CHARGING.*:electric_car_icon@orange NOT_CHARGING:car@yellow
   icon       car
   readingList /BMW/Status:.* { json2nameValue($EVENT) }
   room       Garage
   stateFormat 1_fuel_and_battery_charging_status
   userReadings Inspektion:1_date_state_requiredServices_4_dateTime {ReadingsVal($name,'1_date_state_requiredServices_4_dateTime','') =~ /^(\d\d\d\d)-(\d\d)-.*$/; return "$2-$1"}
Heiner
--------------------------------
fhem auf Pi3+
CUL 868MHz, Signalduino 434MHz, HM-CFG-USB
HM, THZ, Kostal, Somfy, Conbee, Pytonbinding, FritzBox, FTUI, MQTT2

Beta-User

Der trigger-Ausdruck ist m.E. zu kurz, eher so:
attr 225xe userReadings Inspektion:1_date_state_requiredService_4_dateTime:.* {ReadingsVal($name,'1_date_state_requiredService_4_dateTime','') =~ m/^(\d\d\d\d)-(\d\d)-/? "$1-$2":undef}
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

CoolTux

#6
use feature qw /say/;

my $t = '2024-07-01T00:00:00.000Z';


$t = substr($t, 0, 7);

say $t;



attr 225xe userReadings Inspektion:1_date_state_requiredService_4_dateTime:.* { return substr(ReadingsVal($name,'1_date_state_requiredService_4_dateTime','0000-00-00T00:00:00.000Z'),0,7) }
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Heiner

Hi, Danke fuer die Tipps, funktioniert aber leider beides nicht.
Heiner
--------------------------------
fhem auf Pi3+
CUL 868MHz, Signalduino 434MHz, HM-CFG-USB
HM, THZ, Kostal, Somfy, Conbee, Pytonbinding, FritzBox, FTUI, MQTT2

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

frank

dieses reading "1_date_state_requiredService_4_dateTime" gibt es gar nicht!  ;)
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

MadMax-FHEM

#10
Zitat von: frank am 27 Dezember 2022, 01:05:15
dieses reading "1_date_state_requiredService_4_dateTime" gibt es gar nicht!  ;)

Stimmt, hab auch bestimmt tausend mal geschaut aber tatsächlich:

1_date_state_requiredService_4_dateTime vs. 1_data_state_requiredServices_4_dateTime

1_data_state_requiredServices_4_dateTime

Damit siehe 3. und 4. von hier: https://forum.fhem.de/index.php/topic,131158.msg1253611.html#msg1253611
Und auch mein EDIT: wenn die Dinge stimmen ;) (stimmten halt nicht / daher besser lists [möglichst sofort] bevor irgendwas aus dem Kopf geschrieben wird und alle in die Irre führt)

D.h. für eine der genannten Varianten entscheiden und den Trigger anpassen ;)
...und auch die Abfrage bei ReadingsVal in der "Berechnung"...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Heiner

Hi,

so ein Mist, immer dieser Typ vor der Tastatur. Habs korrigiert geht aber immer noch nicht.

Hier das neuste Listing:
Internals:
   FUUID      63a47e9b-f33f-f57f-1ded-5f65295f111dc27a
   IODev      MQTTServer
   LASTInputDev MQTTServer
   MQTTServer_CONN MQTTServer_127.0.0.1_52542
   MQTTServer_MSGCNT 43
   MQTTServer_TIME 2022-12-27 08:54:07
   MSGCNT     43
   NAME       225xe
   NR         407
   STATE      NOT_CHARGING
   TYPE       MQTT2_DEVICE
   eventCount 43
   READINGS:
     ...
     2022-12-27 08:54:06   1_data_state_requiredServices_4_dateTime 2024-07-01T00:00:00.000Z
     2022-12-27 08:54:06   1_data_state_requiredServices_4_description Next service due by the specified date.
     2022-12-27 08:54:06   1_data_state_requiredServices_4_status OK
     2022-12-27 08:54:06   1_data_state_requiredServices_4_type BRAKE_FLUID
     ...
     2022-12-23 15:21:18   IODev           MQTTServer
Attributes:
   autocreate 0
   devStateIcon FINISHED_FULLY_CHARGED.*:electric_car_charger@green CHARGING.*:electric_car_icon@orange NOT_CHARGING:car@yellow
   icon       car
   readingList /BMW/Status:.* { json2nameValue($EVENT) }
   room       Garage
   stateFormat 1_fuel_and_battery_charging_status
   userReadings Inspektion:1_date_state_requiredServices_4_dateTime:.* {ReadingsVal($name,'1_date_state_requiredServices_4_dateTime  ','') =~ m/^(\d\d\d\d)-(\d\d)-/? "$1-$2":undef}
Heiner
--------------------------------
fhem auf Pi3+
CUL 868MHz, Signalduino 434MHz, HM-CFG-USB
HM, THZ, Kostal, Somfy, Conbee, Pytonbinding, FritzBox, FTUI, MQTT2

OdfFhem

Zitat von: Heiner am 27 Dezember 2022, 09:36:06
Hier das neuste Listing:

einen Typo bereinigt, ein weiterer ist noch enthalten:

Das Reading beginnt mit 1_data_... und nicht mit 1_date_...

frank

ZitatHabs korrigiert
nein.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Heiner

Oh man, so doof kann man ja gar nicht sein, Tausendmal Entschuldigung, sehr peinlich. Jetzt klappt es natuerlich auch.
Vielen Dank fuer die Hilfe und die Geduld mit mir.
Heiner
--------------------------------
fhem auf Pi3+
CUL 868MHz, Signalduino 434MHz, HM-CFG-USB
HM, THZ, Kostal, Somfy, Conbee, Pytonbinding, FritzBox, FTUI, MQTT2