BMW mittels Bimmerconnect abfragen

Begonnen von Heiner, 17 Dezember 2022, 20:33:26

Vorheriges Thema - Nächstes Thema

Heiner

Hallo,

es gibt die Moeglichkeit mittels einer Anwendung namens Bimmerconnect, diverse modernere BMW Daten auf einem Pi abzufragen. Dabei wird der myBMW Zugang verwendet.

Zur Integration in fhem habe ich folgende Infos gefunden:

define d dummy
define j expandJSON d:json:.*
define d_anpassung1 readingsChange d json (\[\{"a) {sprintf("\{\"a")}
define d_anpassung2 readingsChange d json (i3s 120\"\}\]) {sprintf("i3s 120\"\}")}

in device d sind dann alle readings

um die Daten abzurufen soll folgender Befehl dienen den man mit einem AT Befehl regelmaessig wiederholen kann.
{my $result = qx "/home/pi/.local/bin/bimmerconnected status xxxx\@gmail.com xxxx rest_of_world --json";;fhem "setreading d json $result";;}

Genau hier ist das Problem, es klappt nicht.

An der PI Konsole fuert der Befehl :
/home/pi/.local/bin/bimmerconnected status xxxx\@gmail.com xxxx rest_of_world --json
zum Erfolg. Es gibt eine umfangreiche Antwort mit allerlei Infos zu meinem BMW

Ich vermute einen Syntax Fehler. Kann mir hier jemand helfen?

Das Log sagt:
Zitat2022.12.17 19:17:45 3: setbmw: Usage: setreading <name> [YYYY-MM-DD HH:MM:SS] <reading> <value>
where <name> is a single device name, a list separated by comma (,) or a regexp. See the devspec section in the commandref.html for details.

Traceback (most recent call last):
  File "/home/pi/.local/bin/bimmerconnected", line 5, in <module>
    from bimmer_connected.cli import main
ModuleNotFoundError: No module named 'bimmer_connected'

Vielen Dank schon mal.
Heiner
--------------------------------
fhem auf Pi3+
CUL 868MHz, Signalduino 434MHz, HM-CFG-USB
HM, THZ, Kostal, Somfy, Conbee, Pytonbinding, FritzBox, FTUI, MQTT2

Otto123

Hi,

was bekommst Du denn bei dem Befehl in der FHEM Kommandozeile zurück:
{qx "ls -lha /home/pi/.local/bin/bimmerconnected"}

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Heiner

Hallo Otto,

das bringt mir das zurueck
Zitat-rwxr-xr-x 1 pi pi 219 14. Dez 20:05 /home/pi/.local/bin/bimmerconnected
Heiner
--------------------------------
fhem auf Pi3+
CUL 868MHz, Signalduino 434MHz, HM-CFG-USB
HM, THZ, Kostal, Somfy, Conbee, Pytonbinding, FritzBox, FTUI, MQTT2

Otto123

Jetzt wäre die Frage:
ZitatGenau hier ist das Problem, es klappt nicht.
Gibt es eine nähere Beschreibung was nicht klappt?
Die Datei ist für alle ausführbar, die Vermutung wäre:
in .local gibt es weitere Dateien die der user pi zwar lesen kann, aber der user fhem nicht.
Es werden andere Komponenten benötigt die im aktuellen Pfad von pi gefunden werden, aber vom user fhem im anderen Pfad (/opt/fhem/) nicht.

Was gibt es denn für einen Meldung? Wenn Du das wieder in der FHEM Kommandozeile ausführst.
{qx "/home/pi/.local/bin/bimmerconnected status xxxx\@gmail.com xxxx rest_of_world --json"}
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Heiner

#4
Hi,

dannach steht im Logfile das:
Zitat2022.12.20 17:31:33 5: redefine at command setbmw as +*00:15:00 {my $result = qx "/home/pi/.local/bin/bimmerconnected status xxx\@yyy.de zzz rest_of_world -j";;fhem "setreading d  $result";;}
Traceback (most recent call last):
  File "/home/pi/.local/bin/bimmerconnected", line 5, in <module>
    from bimmer_connected.cli import main
ModuleNotFoundError: No module named 'bimmer_connected'

das ist auf dem PI

Zitatpi@rpi:~/.local/bin $ ls -l
insgesamt 8
-rwxr-xr-x 1 pi pi 219 14. Dez 20:05 bimmerconnected
-rwxr-xr-x 1 pi pi 204 14. Dez 20:05 httpx

Koennte ich nicht das tool Bimmer connected einfach irgendwie fuer alle user freigeben sowas wie: chmod +rwx bimmerconnected

Ist von hier nach vorgabe installiert:
Zitathttps://github.com/bimmerconnected/bimmer_connected
Heiner
--------------------------------
fhem auf Pi3+
CUL 868MHz, Signalduino 434MHz, HM-CFG-USB
HM, THZ, Kostal, Somfy, Conbee, Pytonbinding, FritzBox, FTUI, MQTT2

Otto123

#5
Vielleicht solltest Du besser diesen Lösungsvorschlag verwenden?
https://forum.fhem.de/index.php/topic,121625.msg1218195.html#msg1218195

Du hast jetzt nicht ganz das gemacht was ich final wollte, Du hast irgendwie Dein at Kommando ausgeführt.
Aber fast egal: ich meine Du hast pip3 install ... als user pi ausgeführt, damit hast Du mW dieses Ding für den user pi installiert und nicht für alle user.

In der System Kommandozeile siehst Du was für user pi installiert ist
pip3 list
Du kannst Dir auch unter FHEM auch anschauen was für user fhem installiert ist:
{qx (pip3 list) }

Siehe auch hier https://wiki.ubuntuusers.de/pip/
Also installiere eventuell dieses python Modul für alle:
sudo pip3 install --upgrade bimmer_connected
Ich kann aber nicht wirklich garantieren ob das so läuft, eventuell hast Du damit den Kram mehrfach installiert. Weil schon der Aufruf mit .local ist schräg ...
Danach kannst Du testen ob Du es jetzt von FHEM aus aufrufen kannst - unbedingt ohne die Pfad für pi:
{qx "bimmerconnected status xxxx\@gmail.com xxxx rest_of_world --json"}
Es kann immer noch sein, dass Dein FHEM keine komplette "Umgebung" und damit keinen Suchpfad hat. Siehst Du mit dem Befehl
{qx (env)}

Vielleicht kann jemand eingreifen der sich mit dem Schlangenfutter besser auskennt :)

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Heiner

Hallo Otto,

ich hab jetzt das gemacht:
Zitatan der PI Konsole:
pip3 uninstall bimmer-connected
sudo su - fhem
pip3 install --upgrade bimmer_connected
Dannach sagte mir dann der PI:
ZitatWARNING: The script bimmerconnected is installed in '/opt/fhem/.local/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.

Dannach funktioniert in fhem
Zitat{qx "/opt/fhem/.local/bin/bimmerconnected status xxx\@yyy.de zzz rest_of_world -j"}
aber nur mit diesem neuen Pfad, egal es funktioniert.

jetzt hab ich ein einzelnes langes reading mit dem Namen json im dummy d,
die Aufloesung in einzelne Readings  klappt noch nicht.
Ich habs mal mit einen Event-on-update auf json versucht, hilft aber leider nciht.

Das reading faengt so an:
Zitat[{"data": {"vin": "xxx", "mappingInfo": {"isAssociated": false, "isLmmEnabled": false, "mappingStatus": "CONFIRMED", "isPrimaryUser": true}, "appVehicleType": "CONNECTED", "attributes": {"lastFetched": "2022-12-20T19:17:20.815Z", "model": "225xe iPerformance", "year": 201.....
und endet so:
Zitat....."is_vehicle_active": false, "is_vehicle_tracking_enabled": true, "lsc_type": "ACTIVATED", "mileage": [35256, "km"], "name": "225xe iPerformance", "timestamp": "2022-12-20T19:17:22+00:00", "vin": "xxx"}]

Ich muesste noch die Zeile:
define d_anpassung2 readingsChange d json (i3s 120\"\}\]) {sprintf("i3s 120\"\}")}
anpassen und i3s gegen225xe iPerformance austauschen, geht aber auch nicht wohl wegen dem Leerzeichen.




Heiner
--------------------------------
fhem auf Pi3+
CUL 868MHz, Signalduino 434MHz, HM-CFG-USB
HM, THZ, Kostal, Somfy, Conbee, Pytonbinding, FritzBox, FTUI, MQTT2

Otto123

#7
Was es nicht alles gibt  ::)

Ich habe keine genaue Vorstellung was in diesem Konstrukt jetzt wirklich abgeht, aber wenn Du den String i3s im regExp gegen den String '225xe iPerformance' tauschen willst dann mach es damit 225xe.iPerformance - also ersetze das Leerzeichen durch einen Punkt.

Oder ist nicht Dein Beispiel die BMW Kiste i3s 120 und Du hast 225xe iPerformance ? Also tausche doch einfach, es ist in beiden doch ein Leerzeichen!?

Ich verstehe das regExp und den replace Ausdruck nicht - du ersetzt hier den Apfel mit dem gleichen Apfel - ich meine der Ausdruck ist insgesamt Unfug. Du solltest mal dort nachfragen, wo Du diese Informationen gefunden hast.
https://fhem.de/commandref.html#readingsChange

Schau Dir bitte meinen Link hier im Forum an, ich denke damit wirst Du glücklicher.

Ich kann da jetzt glaube ich nicht weiterhelfen.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Heiner

Hi,

also ich hab jetzt so geaendert.

d_anpassung2:  d json (225xe.iPerformance\"\}\]) {sprintf("225xe.iPerformance\"\}")}
d_anpassung1 bleibt auf d json (\[\{"a) {sprintf("\{\"a")}

Wo die 120 her kommt versteh ich auch nicht, muss ein copy Fehler gewesen sein

Klappt aber nicht d ist immer noch nur mit einem langen json reading.

Logfile sagt:
Zitat2022.12.20 20:50:21 5: Changing d:json [{"data": {"vin": "xxx", "mappingInfo": {"isAssociated": false, "isLmmEnabled": false, "mappingStatus": "CONFIRMED", "isPrimaryUser": true}, "appVehicleType": "CONNECTED", "attributes": {"lastFetched": "2022-12-20T19:50:18.096Z", "model": "225xe iPerformance", "year": 2019, "color": 4282731373, "brand": "BMW", "driveTrain": "PLUGIN_HYBRID", "headUnitType": "ENTRY_EVO", "headUnitRaw": "ENAVEVO", "hmiVersion": "ID5", "softwareVersionCurrent": {"puStep": {"month": 7, "year": 19}, "iStep": 530, "seriesCluster": "F056"}, "softwareVersionExFactory": {"puStep": {"month": 7, "year": 19}, "iStep": 530, "seriesCluster": "F056"}, "telematicsUnit": "ATM1", "bodyType": "F45", "countryOfOrigin": "DE", "a4aType": "BLUETOOTH", "driverGuideInfo": {"androidAppScheme": "com.bmwgroup.driversguide.row", "iosAppScheme": "bmwdriversguide:///open", "androidStoreUrl": "https://play.google.com/store/apps/details?id=com.bmwgroup.driversguide.row", "iosStoreUrl": "https://apps.apple.com/de/app/id714042749?mt=8"}}, "is_metric": true, "fetched_at": "2022-12-20T19:50:16.299502+00:00", "state": {"isLeftSteering": true, "lastFetched": "2022-12-20T19:50:19.250Z", "lastUpdatedAt": "2022-12-20T19:50:19Z", "isLscSupported": true, "range": 146, "doorsState": {"combinedSecurityState": "SECURED", "leftFront": "CLOSED", "leftRear": "CLOSED", "rightFront": "CLOSED", "rightRear": "CLOSED", "combinedState": "CLOSED", "hood": "CLOSED", "trunk": "CLOSED"}, "windowsState": {"leftFront": "CLOSED", "leftRear": "CLOSED", "rightFront": "CLOSED", "rightRear": "CLOSED", "combinedState": "CLOSED"}, "location": {"coordinates": {"latitude": 49.xxxx5555556, "longitude": 6.xxx0277777778}, "address": {"formatted": "xxxx 17, 54xxx yyyyy"}, "heading": 240}, "currentMileage": 35256, "requiredServices": [{"dateTime": "2024-07-01T00:00:00.000Z", "type": "VEHICLE_TUV", "status": "OK", "description": "Next state inspection due by the specified date."}, {"dateTime": "2023-07-01T00:00:00.000Z", "mileage": 20000, "type": "OIL", "status": "OK", "description": "Next service due after the specified distance or date."}, {"dateTime": "2023-07-01T00:00:00.000Z", "mileage": 20000, "type": "VEHICLE_CHECK", "status": "OK", "description": "Next vehicle check due after the specified distance or date."}, {"dateTime": "2024-07-01T00:00:00.000Z", "type": "BRAKE_FLUID", "status": "OK", "description": "Next service due by the specified date."}], "checkControlMessages": [{"type": "ENGINE_OIL", "severity": "LOW"}], "chargingProfile": {"chargingControlType": "TWO_TIMES_TIMER", "reductionOfChargeCurrent": {"start": {"hour": 0, "minute": 0}, "end": {"hour": 0, "minute": 0}}, "chargingMode": "IMMEDIATE_CHARGING", "chargingPreference": "CHARGING_WINDOW", "departureTimes": [{"id": 1, "timeStamp": {"hour": 8, "minute": 0}, "action": "ACTIVATE", "timerWeekDays": []}, {"id": 2, "action": "DEACTIVATE", "timerWeekDays": []}], "climatisationOn": false, "chargingSettings": {"targetSoc": 100, "idcc": "NO_ACTION", "hospitality": "NO_ACTION"}}, "electricChargingState": {"chargingLevelPercent": 25, "remainingChargingMinutes": 310, "range": 6, "isChargerConnected": true, "chargingConnectionType": "UNKNOWN", "chargingStatus": "CHARGING", "chargingTarget": 100}, "combustionFuelLevel": {"remainingFuelLiters": 10, "range": 146}, "driverPreferences": {"lscPrivacyMode": "OFF"}, "climateTimers": [{"isWeeklyTimer": false, "timerAction": "DEACTIVATE", "timerWeekDays": [], "departureTime": {"hour": 7, "minute": 0}}, {"isWeeklyTimer": true, "timerAction": "DEACTIVATE", "timerWeekDays": ["MONDAY"], "departureTime": {"hour": 7, "minute": 0}}, {"isWeeklyTimer": true, "timerAction": "DEACTIVATE", "timerWeekDays": ["MONDAY"], "departureTime": {"hour": 7, "minute": 0}}]}, "capabilities": {"a4aType": "BLUETOOTH", "climateNow": true, "climateFunction": "AIR_CONDITIONING", "horn": true, "isBmwChargingSupported": true, "isCarSharingSupported": false, "isChargeNowForBusinessSupported": true, "isChargingHistorySupported": true, "isChargingHospitalityEnabled": false, "isChargingLoudnessEnabled": false, "isChargingPlanSupported": true, "isChargingPowerLimitEnabled": false, "isChargingSettingsEnabled": false, "isChargingTargetSocEnabled": false, "isCustomerEsimSupported": false, "isDataPrivacyEnabled": false, "isDCSContractManagementSupported": true, "isEasyChargeEnabled": false, "isMiniChargingSupported": false, "isEvGoChargingSupported": false, "isRemoteHistoryDeletionSupported": false, "isRemoteEngineStartSupported": false, "isRemoteServicesActivationRequired": false, "isRemoteServicesBookingRequired": false, "isScanAndChargeSupported": true, "lastStateCallState": "ACTIVATED", "lights": true, "lock": true, "sendPoi": true, "unlock": true, "vehicleFinder": true, "vehicleStateSource": "LAST_STATE_CALL", "isRemoteHistorySupported": true, "isWifiHotspotServiceSupported": true, "isNonLscFeatureEnabled": false, "isSustainabilitySupported": false, "isSustainabilityAccumulatedViewEnabled": false, "checkSustainabilityDPP": false, "specialThemeSupport": [], "isRemoteParkingSupported": false, "remoteChargingCommands": {}, "isClimateTimerWeeklyActive": false, "digitalKey": {"bookedServicePackage": "NONE", "state": "NOT_AVAILABLE"}}}, "fuel_and_battery": {"remaining_range_fuel": [146, "km"], "remaining_range_electric": [6, "km"], "remaining_range_total": [152, "km"], "remaining_fuel": [10, "L"], "remaining_fuel_percent": null, "remaining_battery_percent": 25, "charging_status": "CHARGING", "charging_start_time_no_tz": null, "charging_end_time": "2022-12-21T01:00:16.299502+00:00", "is_charger_connected": true, "account_timezone": "CET", "charging_start_time": null}, "vehicle_location": {"location": {"latitude": 49.xxxxx555556, "longitude": 6.xxxxx0277777778}, "heading": 240, "vehicle_update_timestamp": "2022-12-20T19:50:19+00:00", "account_region": "row", "remote_service_position": null}, "doors_and_windows": {"door_lock_state": "SECURED", "lids": [{"name": "leftFront", "state": "CLOSED", "is_closed": true}, {"name": "leftRear", "state": "CLOSED", "is_closed": true}, {"name": "rightFront", "state": "CLOSED", "is_closed": true}, {"name": "rightRear", "state": "CLOSED", "is_closed": true}, {"name": "hood", "state": "CLOSED", "is_closed": true}, {"name": "trunk", "state": "CLOSED", "is_closed": true}], "windows": [{"name": "leftFront", "state": "CLOSED", "is_closed": true}, {"name": "leftRear", "state": "CLOSED", "is_closed": true}, {"name": "rightFront", "state": "CLOSED", "is_closed": true}, {"name": "rightRear", "state": "CLOSED", "is_closed": true}], "all_lids_closed": true, "all_windows_closed": true, "open_lids": [], "open_windows": []}, "condition_based_services": {"messages": [{"service_type": "VEHICLE_TUV", "state": "OK", "due_date": "2024-07-01T00:00:00+00:00", "due_distance": [null, null]}, {"service_type": "OIL", "state": "OK", "due_date": "2023-07-01T00:00:00+00:00", "due_distance": [20000, "km"]}, {"service_type": "VEHICLE_CHECK", "state": "OK", "due_date": "2023-07-01T00:00:00+00:00", "due_distance": [20000, "km"]}, {"service_type": "BRAKE_FLUID", "state": "OK", "due_date": "2024-07-01T00:00:00+00:00", "due_distance": [null, null]}], "is_service_required": false}, "check_control_messages": {"messages": [{"description_short": "ENGINE_OIL", "description_long": null, "state": "LOW"}], "has_check_control_messages": false}, "charging_profile": {"is_pre_entry_climatization_enabled": false, "timer_type": "TWO_TIMES_TIMER", "departure_times": [{"_timer_dict": {"id": 1, "timeStamp": {"hour": 8, "minute": 0}, "action": "ACTIVATE", "timerWeekDays": []}, "action": "ACTIVATE", "start_time": "08:00:00", "timer_id": 1, "weekdays": []}, {"_timer_dict": {"id": 2, "action": "DEACTIVATE", "timerWeekDays": []}, "action": "DEACTIVATE", "start_time": null, "timer_id": 2, "weekdays": []}], "preferred_charging_window": {"_window_dict": {"start": {"hour": 0, "minute": 0}, "end": {"hour": 0, "minute": 0}}, "end_time": "00:00:00", "start_time": "00:00:00"}, "charging_preferences": "CHARGING_WINDOW", "charging_mode": "IMMEDIATE_CHARGING"}, "available_attributes": ["gps_position", "vin", "remaining_range_total", "mileage", "charging_time_remaining", "charging_end_time", "charging_time_label", "charging_status", "connection_status", "remaining_battery_percent", "remaining_range_electric", "last_charging_end_result", "remaining_fuel", "remaining_range_fuel", "remaining_fuel_percent", "condition_based_services", "check_control_messages", "door_lock_state", "timestamp", "lids", "windows"], "brand": "bmw", "drive_train": "PLUGIN_HYBRID", "drive_train_attributes": ["remaining_range_total", "mileage", "charging_time_remaining", "charging_end_time", "charging_time_label", "charging_status", "connection_status", "remaining_battery_percent", "remaining_range_electric", "last_charging_end_result", "remaining_fuel", "remaining_range_fuel", "remaining_fuel_percent"], "has_combustion_drivetrain": true, "has_electric_drivetrain": true, "is_charging_plan_supported": true, "is_lsc_enabled": true, "is_vehicle_active": false, "is_vehicle_tracking_enabled": true, "lsc_type": "ACTIVATED", "mileage": [35256, "km"], "name": "225xe iPerformance", "timestamp": "2022-12-20T19:50:19+00:00", "vin": "xxx"}] via d_anpassung2

Vom Log Siehts ja eigentlich gut aus, oder?
Heiner
--------------------------------
fhem auf Pi3+
CUL 868MHz, Signalduino 434MHz, HM-CFG-USB
HM, THZ, Kostal, Somfy, Conbee, Pytonbinding, FritzBox, FTUI, MQTT2

Otto123

ich hatte editiert - siehe nochmal oben:
ZitatOder ist nicht Dein Beispiel die BMW Kiste i3s 120 und Du hast 225xe iPerformance ? Also tausche doch einfach, es ist in beiden doch ein Leerzeichen!?

Das ist doch von hier? https://www.active-tourer-forum.de/forum/thread/1231-auslesen-der-bmw-daten-mit-fhem-225xe/?postID=32125#post32125
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Heiner

Hi Otto, hast recht war wohl von der quelle, aber mit Leerzeichen krieg ich diesen Fehler:

Bad regexp (225xe: Unmatched ( in regex; marked by <-- HERE in m/^( <-- HERE 225xe$/ at ./FHEM/33_readingsChange.pm line 38.

mit dem punkt statt dessen wir es akzeptiert.

Wie auch immer die Readings werden nicht einzeln dargestellt, leider.
Heiner
--------------------------------
fhem auf Pi3+
CUL 868MHz, Signalduino 434MHz, HM-CFG-USB
HM, THZ, Kostal, Somfy, Conbee, Pytonbinding, FritzBox, FTUI, MQTT2

Heiner

die beiden d_Anpassungen sind doch eigentlich nur noetig, wenn das json reading nicht ganz "sauber" ist, um es so zu korrigieren das j es aufloesen kann, richtig?

Woran genau koennte ich erkennen ob eine Anpassung noetig ist?

Wenn ich das richtig sehe muss
jeglicher Text immer in "" stehen, und
es folgen immer ein Bezeichner auf einen Wert dazwischen ist ein :
die werte false und true sind aber ohne ""
und dann gibts noch Klammern die diverse Bezeichner mit ihren Werten unter einem oberbezeichner zusammen fassen.

Das heisst wenn ich in einem Editor so die Datei zusammenfasse, und keine Fehler feststelle brauchts auch keine Anpassung?

Waere das der Weg?
Heiner
--------------------------------
fhem auf Pi3+
CUL 868MHz, Signalduino 434MHz, HM-CFG-USB
HM, THZ, Kostal, Somfy, Conbee, Pytonbinding, FritzBox, FTUI, MQTT2

Otto123

#12
der Original Artikel endet ja auch im nirwana ... Du hast einfach die falsche Quelle. Wenn ich die richtig verstehe ist es eh eine halbgute Lösung.

Löst denn j nicht richtig auf?

Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Heiner

Hi, ja das ist das problem und da antwortet auch keiner.

Aber ich bin doch jetzt schon nah dran. Irgendwie muss es doch moeglich sein ein paar Daten individuell zu extrahieren.
Heiner
--------------------------------
fhem auf Pi3+
CUL 868MHz, Signalduino 434MHz, HM-CFG-USB
HM, THZ, Kostal, Somfy, Conbee, Pytonbinding, FritzBox, FTUI, MQTT2

Otto123

#14
Das Problem ist offenbar, das expandJson mit den Arrays nicht klar kommt, steht zumindest in der commandref. Mach doch die Lösung mit MQTT die in meinem Link stand?
https://forum.fhem.de/index.php/topic,121625.msg1218195.html#msg1218195

Edit: Das funktioniert mit Deinen Daten, kann man sicher noch verbessern.  ;D

Nochmal edit: Das Problem an Deinen Daten sind nur die eckigen Klammern am Start und Ende. Damit wird es gehen:
define d_anpassung1 readingsChange d json ^\[(.*)\]$ $1
delete d_anpassung2


Aber ich finde diese Konstruktion schräg, die mit MQTT ist sicher besser.
Der Hauptnachteil dieser Lösung: FHEM wird für den Zeitraum der Abfrage mit qx() blockieren.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz