[98_JsonMod.pm] Wunschliste von neuen Funktionen

Begonnen von yersinia, 24 Mai 2020, 14:46:22

Vorheriges Thema - Nächstes Thema

yersinia

Zitat von: herrmannj am 27 Juli 2020, 18:07:51Ohne das _hum sollte das funktionieren. Dann würde das Reading das complete generiert theoretisch einfach überschrieben werden
Halte ich _persönlich_ für unschön - ich hätte gern ein extra Reading. :)
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

Raemsna

Hallo zusammen,

möglicherweise habe ich einen kleinen Bug gefunden (oder es liegt an mir).

Das interval "* */1 * * *" sollte mWn eine Aktualisierung alle 1h hervorrufen. Bei mir passiert das aber minütlich.

Für Tipps bin ich sehr dankbar!
Vielen Dank für das tolle Modul!

P.S.: Die Webseite hab ich mal ge-X-t :)

Internals:
   API_LAST_RES 1597489140.13338
   API__LAST_MSG 200
   CFGFN     
   DEF        XXXXX
   FUUID      5f367aa2-f33f-ac4d-0985-4f8eee732c3fd2f6
   NAME       XXXXX
   NEXT       2020-08-15 13:00:00
   NOTIFYDEV  global
   NR         212
   NTFY_ORDER 50-XXXXX
   SOURCE     XXXXX (200)
   STATE      ???
   SVN        21711 2020-04-17 23:29:22 UTC
   TYPE       JsonMod
   CONFIG:
     IN_REQUEST 0
     SOURCE     XXXXX
     SECRET:
   READINGS:
     2020-08-15 12:59:00   ISIN            US00971T1016
     2020-08-15 12:59:00   description     Akamai ist der führende Anbieter von Cloud-Diensten, über die Unternehmen Inhalte und Anwendungen schnell und sicher an beliebige Geräte liefern können – unabhängig von ihrem Standort. Das Unternehmen bietet Lösungen, für die Beschleunigung von Online-Anwendungen und Geschäftsprozessen. So koordiniert und optimiert der Konzern etwa die Lastverteilung von Web-Inhalten. Dieser Dienst läuft beim Surfen im Internet im Hintergrund und ist für den Anwender kaum spürbar. Neben Web-Performance-Lösungen und Lösungen für die Online-Lieferung von Content bietet Akamai auch Cloud-Sicherheitslösungen, Cloud-Networking und Lösungen für Netzbetreiber. Kunden kommen zum Beispiel aus dem Einzelhandel und der Konsumgüterindustrie, der Software- und Technologiesparte, den Medien und der Unterhaltungsindustrie, der Touristik und dem öffentlichen Sektor.
Attributes:
   interval   * */1 * * *
   readingList single(jsonPath('$.Facts.4.Values.0.Key'), 'description', 'N/A');
single(jsonPath('$.Facts.0.Values.1.Value'), 'ISIN', 'N/A');

yersinia

Mal abgesehen davon, dass es _hier_ OT ist, aber du hast möglicherweise die cron-Notation nicht verstanden.
Zitat von: Raemsna am 15 August 2020, 13:04:38Das interval "* */1 * * *" sollte mWn eine Aktualisierung alle 1h hervorrufen. Bei mir passiert das aber minütlich.
Natürlich triggert das Intervall dann Menütlich, da die Stunde immer restlos durch 1 teilbar ist. Richtig für deine Anforderung wäre dann zum Beispiel
interval   0 */1 * * *
zu jeder vollen Stunde. Oder stündlich um halb:
interval   30 */1 * * *
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

Raemsna

Sorry für OT, war mein Denkfehler!
Und vielen Dank für die schnelle Antwort

Grüße
Raemsna

yersinia

Mit der freigegebenen Revision 22651 (seit heute morgen im Update) sind die Funktionen aus dem Beta-Test (Post #8) umgesetzt worden. Danke herrmannj!
Den ersten Post habe ich aktualisiert - und ich sammel immer noch weitere Wünsche für JsonMod. :)
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

Raemsna

Hallo zusammen,

in der Commandref habe ich zu meinem Problem leider nichts gefunden, daher frage ich hier mal nach.

Ich will einen Service nutzen der die HTTP Version 1.1 zwingend voraussetzt.
Wenn ich den JSON-String mit JsonMod abfrage, bekomme ich folgende Antwort:

2020.10.30 20:19:00 5: HttpUtils response header:
HTTP/1.1 426 Upgrade Required


Der Request dazu sieht wie folgt aus (verbose 5):

2020.10.30 20:20:00 5: HttpUtils request header:
GET /1/members/me/boards?fields=name,closed,id,url&key=xxx&token=xxx[b]HTTP/1.0[/b]


mit HTTPMOD schaffe ich es über das Attribut httpversion die Version auf 1.1 zu setzen und die Abfrage läuft OK durch.
Jetzt möchte ich aber die Vorzüge von JsonMod nutzen.

Ich habe schon das Attribut httpHeader auf "HTTP/1.1" gesetzt, aber der Request läuft weiterhin mit HTTP/1.0 durch

2020.10.30 20:20:00 5: HttpUtils request header:
GET /1/members/me/boards?fields=name,closed,id,url&key=xxx&token=xxx[b]HTTP/1.0[/b]
Host: api.trello.com
User-Agent: fhem
Accept-Encoding: gzip,deflate
[b]HTTP/1.1[/b]


Vielleicht kann hier jemand helfen?

Herzlichen dank und Grüße
Raemsna

herrmannj


ph1959de

@hermannj Hallo Jörg,

könntest Du gelegentlich für JsonMod einen Eintrag in der maintainer.txt "beantragen"?

Peter
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

pcjogi

Ich habe etwas mit complete() herumgespielt. Damit bekomme ich ja alles aus dem Json als Reading.

Wenn ich so etwas mache complete("departures.*.delayDeparture") bekomme ich schön die Readings für departures.1.delayDeparture, departures.2.delayDeparture und departures.3.delayDeparture.

Ich würde aber gerne auch noch departures.0.scheduledDeparture, departures.1.scheduledDeparture und departures.3.scheduledDeparture bekommen.

complete("departures.*.delayDeparture"|"departures.*.scheduledDeparture") funktioniert leider nicht. Was mache ich falsch, oder geht das nicht.

Zweite Frage: kann ich die Reading so umformatieren, das nicht ein Punkt sondern ein Unterstrich dazwischen ist. Also nicht departures.0.scheduledDeparture sondern departures_0_scheduledDeparture.

Der Jsonstring kommt aus https://dbf.finalrewind.org/Pulheim?mode=json&version=1&via=Köln-Ehrenfeld&version=3&limit=3

Danke
Internals:
   API_LAST_RES 1606244400.36876
   API__LAST_MSG 200
   CFGFN     
   DEF        https://dbf.finalrewind.org/Pulheim?mode=json&version=1&via=Köln-Ehrenfeld&version=3&limit=3
   FUUID      5fbbf2f8-f33f-e398-ea43-360320564c16417b
   NAME       TEST
   NEXT       2020-11-24 21:00:00
   NR         543
   SOURCE     https://dbf.finalrewind.org/Pulheim?mode=json&version=1&via=Köln-Ehrenfeld&version=3&limit=3 (200)
   STATE      ???
   SVN        22987 2020-10-18 13:26:05 UTC
   TYPE       JsonMod
   CONFIG:
     IN_REQUEST 0
     SOURCE     https://dbf.finalrewind.org/Pulheim?mode=json&version=1&via=Köln-Ehrenfeld&version=3&limit=3
     SECRET:
   OLDREADINGS:
   READINGS:
     2020-11-24 10:48:47   departures.0.scheduledDeparture 10:45
     2020-11-24 10:48:47   departures.1.scheduledDeparture 11:20
     2020-11-24 10:48:47   departures.2.scheduledDeparture 11:45
Attributes:
   readingList complete("departures.*.delayDeparture"|"departures.*.isCancelled"|"departures.*.scheduledDeparture")
   room       __VERKEHR



Haupt-Fhem (Docker auf Synology), Sub-Fhem (433Mhz und 833Mhz) auf RasPi, Sub-Fhem (Heizungssteuerung) auf RasPi, Sub_Fhem (System) auf RasPi, IoBroker zur Darstellung (Docker auf Synology), alles verbunden über einen MQTT Broker, insgesamt ca. 100 Sensoren/Aktoren

herrmannj

Zitatcomplete("departures.*.delayDeparture"|"departures.*.scheduledDeparture") funktioniert leider nicht. Was mache ich falsch, oder geht das nicht.

zu ->

complete("departures.*.delayDeparture");
complete("departures.*.scheduledDeparture");



pcjogi

Danke funktioniert!
Geht auch das umformatieren von . in _ ?
Danke
Haupt-Fhem (Docker auf Synology), Sub-Fhem (433Mhz und 833Mhz) auf RasPi, Sub-Fhem (Heizungssteuerung) auf RasPi, Sub_Fhem (System) auf RasPi, IoBroker zur Darstellung (Docker auf Synology), alles verbunden über einen MQTT Broker, insgesamt ca. 100 Sensoren/Aktoren

ph1959de

Zitat von: ph1959de am 09 November 2020, 18:50:44
@hermannj Hallo Jörg,

könntest Du gelegentlich für JsonMod einen Eintrag in der maintainer.txt "beantragen"?

Peter

:-[ freundliche Erinnerung  :-[
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"

yersinia

Zitat von: FHEMAN am 11 Dezember 2020, 10:54:37
Hallo,

wäre es möglich, das Modul um eine enable / disable Funktion zu erweitern? Ich nutze JsonMod zum Einlesen von Umweltsensoren (UV-A,UV-B) und benötige nachts keine Werte bzw. nur in größeren Intervallen. Eine (tägliche) Änderung des interval Attributs führt jedoch zum bekannten Fragezeichen.

Viele Grüße
Ronny
https://forum.fhem.de/index.php/topic,109413.msg1109533.html#msg1109533
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

khk123

#28
Hallo Joerg,

wäre es möglich eine Funktion zum Löschen der nicht mehr benötigter Readings einzubauen?
Bei  dem Modul 93_DbRep.pm gibt es folgende Funktion

set <name> eraseReadings

eraseReadings - Löscht alle angelegten Readings im Device, außer dem Reading "state" und Readings, die in der Ausnahmeliste definiert mit Attribut "readingPreventFromDel" enthalten sind.


Finde ich ganz praktisch, wenn sich die Json-Definitionen ändern.

Außerdem gibt es auch noch eine weitere nützliche Funktion:

set <name> clearReadings

    This function clears readings which were created by different DbLog-functions.


VG
Karlheinz


FHEM6.2, RasPi4, RasPi Zero W,
CUL V3, HM, ZWave, IT, vcontrol, owntracks, alexa

yersinia

Wenn ich das richtig überblicke, werden keine 'alten' readings behalten wenn das JsonMod-Device fehlerfrei die Json-Daten prozessiert - bestehende Readings werden aktualisiert, veraltete gelöscht. Oder irre ich? Wenn nicht, verstehe ich die Anforderung nicht.
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl