[gelöst]: jsonMap und Unterstriche möglich?

Begonnen von dora71, 14 Mai 2024, 21:22:00

Vorheriges Thema - Nächstes Thema

dora71

Hallo zusammen,

nach dem ich gefühlt schon alles probiert habe und mir auch die Suchfunktion nicht weiterhelfen konnte, könnt Ihr mir vielleicht folgende Frage beantworten (dann muss ich nicht noch weiter erfolglos probieren).

Ich habe in einem MQTT2-Device ein Reading aus einem fürchterlich verschachtelten JSON erfolgreich extrahieren können mittels json2nameValue. Das erzeugte Reading heißt:

solarbank_info_solarbank_list_1_battery_power
Mein readingsList dazu sieht wie folgt aus:

readingList fhem/mein/mqtt/pfad/solix/scenInfo:.* { json2nameValue($EVENT,'',$JSONMAP,'list_1_battery_power') }
Soweit so gut. Wenn ich jetzt versuche, mit dem Attribut jsonMap das lesbarer zu machen, dann bekomme ich in dem alten Reading keine neuen Werte mehr, aber das neue Reading wird auch nicht erzeugt. Ich habe es sogar mit setreading manuell erstellt, aber es erfolgt auch keine Werteänderung.

Versucht habe ich es mit:

attr meinmqtt2device jsonMap solarbank_info_solarbank_list_1_battery_power:batterieladung
und hätte jetzt ein Reading batterieladung erwartet.

Wo habe ich meinen Denkfehler? Oder funktioniert jsonMap nicht mit Unterstrichen?

Danke für die Denkansätze. Grüße Rainer.

Otto123

#1
Hallo Rainer,

liegt das am vierten Parameter? siehe Wiki
Am Unterstrich liegt es mMn nicht.

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

dora71

Hallo Otto,

danke für die schnelle Antwort. Gerade mal das Device kopiert ... Du hast recht! Sobald der 4. Parameter weg ist, funktioniert es  :o

Hat für mich aber erstmal doch nichts miteinander zu tun. Ich dachte, der 4. Parameter wäre lediglich ein Filter.

Gibt es eine weitere sinnvolle Möglichkeit, einzelne Readings umzubenennen ohne gleich das komplette JSON zu haben?

rudolfkoenig

#3
ZitatIch dachte, der 4. Parameter wäre lediglich ein Filter.
Ist ja auch, er greift _nach_ der Umbenennung durch jsonMap.
Im Gegensatz dazu greift Parameter 5 (negativer Filter) vor der Umbenennung.

dora71

Zitat von: rudolfkoenig am 14 Mai 2024, 22:00:50Ist ja auch, er greift _nach_ der Umbenennung durch jsonMap.
Im Gegensatz dazu greift Parameter 5 (negativer Filter) vor der Umbenennung.

DAS muss man ja erstmal wissen ... und schon funktioniert es!

Danke Rudi. Ich setze das Thema auf gelöst. Wenn ich morgen Zeit habe, versuche ich das noch im Wiki unterzukriegen. Da ist auch noch ein Dreher drin bzgl. dem 4. und 5. Parameter.

Otto123

Ob das ein Dreher ist oder nur umständlich beschrieben, kann ich jetzt auf die Schnelle nicht feststellen :)
Eine verständliche Beschreibung wäre auf alle Fälle gut. ;)
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

dora71

Habe das Wiki ergänzt. Hoffe, das passt so und ist jetzt verständlicher. Gerne mal drüber lesen.

Skusi

Zitat von: dora71 am 14 Mai 2024, 21:22:00
Zitat von: dora71 am 14 Mai 2024, 21:22:00Ich habe in einem MQTT2-Device ein Reading aus einem fürchterlich verschachtelten JSON erfolgreich extrahieren können mittels json2nameValue. Das erzeugte Reading heißt:

Code Auswählen Erweitern
solarbank_info_solarbank_list_1_battery_power
Mein readingsList dazu sieht wie folgt aus:

Code Auswählen Erweitern
readingList fhem/mein/mqtt/pfad/solix/scenInfo:.* { json2nameValue($EVENT,'',$JSONMAP,'list_1_battery_power') }

Hallo dora71,
ich entnehme Deinem Post das Du eine Anker SOLIX Solarbank erfolgreich in Fhem eingebunden hast. Ich habe mir auch so einen Akku zugelegt, bekomme es aber irgendwie nicht hin.

Ich habe es hiernach versucht:
https://github.com/tomquist/solix2mqtt

Auch schon über "Eingeadenes Mittglied" eines zweiten Kontos.

Wie hast Du das gemacht.

Ich brach mal Starthilfe...
RPI3B, SIGNALduino, NanoCul868 (a-culfw), JeeLink Clone (LaCrosse), Firmata  für FB Heizung,Wasser+Gas+Klingel+Lux, Somfy Rolladen, Pollin Steckd.,TX29DTH,ESPEasy an S0 Stromz., MAX Fensterkontakte, IButton, SonOff Tasmota, ESP LED Controler

Thoffi1978

Hallo,
Ich versuche meine Solix2 in FHEM zu integrieren. Ich verstehe den ganzen Wald mit Bäumen nicht. Ein paar angelernte Grundkenntnisse durch FHEM habe ich. Doch mit node.js, npm, komme ich nicht weiter.
Gibt es vielleicht eine Schritt für Schritt Anleitung die Solix2 Daten zu integrieren? Könntet Ihr das bereitstellen?

Vielen Dank
Hoffi

dora71

@Thoffi1978 und @Skusi

Ich benutze noch die Solix 1600 der ersten Generation.
Die Anbindung läuft bei mir über das Docker Image problemlos. Hatte es vorher auch erfolglos direkt versucht. Inwieweit die Anbindung auch für die Solix2 funktioniert, weiß ich leider nicht.

@Skusi hat den Link ja schon geschrieben. Dem bin ich auch gefolgt.

Euch viel Erfolg.

Groby

Hallo Zusammen,

ich habe seit einer Ewigkeit diese Docker nodered Lösung für die E1600 der 1. Generation verwendet:

https://flows.nodered.org/node/ankersolixe1600

  • Solarenergie auslesen hat bei mir noch nie funktioniert
  • Seit heute morgen fehlt leider die Information über den Ladezustandes des Akkus
  • Ändern der Ausgabeleistung über fhem weiterhin möglich

Gruß
Groby