[98_JsonMod.pm] Wunschliste von neuen Funktionen

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

Vorheriges Thema - Nächstes Thema

khk123

Stimmt. Hab es nochmal ausprobiert, geht auch bei mir. Da habe ich beim Testen wohl etwas falsch gemacht bzw. die alten Readings blieben beim fehlerhaften Verarbeiten stehen.
FHEM6.2, RasPi4, RasPi Zero W,
CUL V3, HM, ZWave, IT, vcontrol, owntracks, alexa

herrmannj

genau, so wie yersinia sagt. Wenn die Daten nicht geladen werden können, werden natürlich keine Änderungen durchgeführt

yersinia

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

yersinia

@herrmannj: gibt es noch eine Chance, das du Punkte von der Wunschliste zeitnah noch in Code umwandelst? :)
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

herrmannj


yersinia

Och, ich fänd dies ganz cool:
Zitat von: yersinia am 24 Mai 2020, 14:46:22

  • korrekte Implementierung des Intervals auch für Wochentage (Thread)
  • Herausfiltern von spezifischen Array-Elementen (Thread, Thread und Thread)
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

KyleK

Hallo,

ich würde gerne innerhalb eines Filters 2 Expressions verwenden:

jsonPath("\$.orderDays.*.orderedMeals[?(\@.meal.categoryShortName =~ 'M.+' && \@.quantity == 1)]")

Nutze ich jeweils nur eine der beiden Expressions, ohne &&, funktioniert die query, aber mit beiden zusammen kommt nichts.
Ich gehe daher davon aus dass && und || noch nicht unterstützt werden.

Könnte das noch mit eingebaut werden?

Viele Grüße,
Frank
FHEM on Raspberry Pi 3B+
CUL868
7x MAX! Thermostat, 8x MAX! Fensterkontakte
Conbee II + deConz, TradFri Lampen, Osram Smart+ Steckdosen

betateilchen

Das lässt sich vermutlich über eine eigene perl-Funktion lösen, die Du in der 99.myUtils.pm unterbringen kannst.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

herrmannj

um das zu implementieren (logische Verknüpfungen wie "and" "or"), müsste ein eigener parser her. Das ist mir zu aufwändig

KyleK

Zitat von: betateilchen am 11 September 2022, 11:02:16
Das lässt sich vermutlich über eine eigene perl-Funktion lösen, die Du in der 99.myUtils.pm unterbringen kannst.
Könntest du das näher erläutern? Ich kenne zwar das Konzept der 99myUtils.pm, aber wüsste nicht wie ich eine dort definierte Funktion in einem JSONPath filter verwenden sollte.
FHEM on Raspberry Pi 3B+
CUL868
7x MAX! Thermostat, 8x MAX! Fensterkontakte
Conbee II + deConz, TradFri Lampen, Osram Smart+ Steckdosen

yersinia

Zitat von: KyleK am 11 September 2022, 22:08:57Könntest du das näher erläutern? Ich kenne zwar das Konzept der 99myUtils.pm, aber wüsste nicht wie ich eine dort definierte Funktion in einem JSONPath filter verwenden sollte.
Ich würde die Frage in einen eigenen Thread auslagern und ein Beispiel JSON mit erwarteter Ausgabe zur Verfügung stellen.
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

KyleK

Hallo,

ich hab noch eine Verständnisfrage, damit ich nicht in der falschen Richtung weiterprobiere.
Ich wollte folgenden jsonPath nutzen zum Filtern von Elementen:

jsonPath('$.orderDays[?(@.date == $.to)].orderedMeals[?(@.quantity==1)]')

Bei Goessner und Jayway funktioniert das, aber hier leider nicht.
Ich vermute mal:

  • 2 filter expressions in einem JsonPath werden nicht unterstützt?
  • Ein Vergleich "@.date == $.to" ist auch nicht möglich, weil $.to eine Referenz außerhalb des aktuellen Kontextes ist?

Leicht reduziertes JSON-Beispiel:

{
    "from": "2022-09-18",
    "to": "2022-09-19",
    "orderDays": [
        {
            "date": "2022-09-19",
            "orderedMeals": [
                {
                    "meal": {
                        "name": "Cremige Karotten-Kokossuppe"
                    },
                    "quantity": 0
                },
                {
                    "meal": {
                        "name": "H\u00fchnerfrikassee, "
                    },
                    "quantity": 1
                },
                {
                    "meal": {
                        "name": "Lachsw\u00fcrfel in Sahneso\u00dfe,"
                    },
                    "quantity": 0
                }
            ]
        }
    ]
}
FHEM on Raspberry Pi 3B+
CUL868
7x MAX! Thermostat, 8x MAX! Fensterkontakte
Conbee II + deConz, TradFri Lampen, Osram Smart+ Steckdosen

yersinia

Bitte mach' dafür einen neuen Thread auf - du bist hier (in der Wunschliste!) mit deiner Frage OT.
Zitat von: yersinia am 13 September 2022, 09:30:01Ich würde die Frage in einen eigenen Thread auslagern und ein Beispiel JSON mit erwarteter Ausgabe zur Verfügung stellen.
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

gestein

Hallo,

wäre es möglich, diesen Patch von Erwin ins Modul zu übernehmen?
https://forum.fhem.de/index.php/topic,127428.msg1219532.html#msg1219532

Bei mir läuft es, aber ich nutze es auch nur für die Abfrage bei Apple's "Wo ist?".
Ich weiß daher nicht, ob dadurch irgendwelche Seiteneffekte auftreten.

Danke, lg, Gerhard

binford6000

Zitat von: gestein am 22 September 2022, 09:24:59
Hallo,

wäre es möglich, diesen Patch von Erwin ins Modul zu übernehmen?
https://forum.fhem.de/index.php/topic,127428.msg1219532.html#msg1219532

Bei mir läuft es, aber ich nutze es auch nur für die Abfrage bei Apple's "Wo ist?".
Ich weiß daher nicht, ob dadurch irgendwelche Seiteneffekte auftreten.

Danke, lg, Gerhard

+1
VG Sebastian