Neues Modul: expandJSON

Begonnen von dev0, 15 März 2017, 12:59:11

Vorheriges Thema - Nächstes Thema

Thorsten Pferdekaemper

Zitat von: betateilchen am 17 März 2017, 10:40:47
Die Probleme, die sich daraus in Folge ergeben, sind schon jetzt in mehreren Problem-Threads nachzulesen.
Aha. Ich kann mich zumindest für HM485 an keinen erinnern, zumindest seit ich das per "update add..." mache. Kannst Du mal einen solchen Thread zeigen?
Gruß,
   Thorsten
FUIP

dev0

Zitat
Das wollte ich jetzt nachholen, aber ich habe es nicht gefunden. Wo finde ich es denn?
Das Modul ist zZ. ganz normal eingecheckt: Nach einem Update im ./FHEM Ordner ;)
Die korrigierte Version, die ich noch nicht eingecheckt habe findest Du hier: https://github.com/ddtlabs/expandJSON/

Zitat
dass ich bei Arrays einfach wieder in JSON gewandelt habe. Array-Elemente in Reading-Namen nummerieren bringt's ja auch nicht gerade.
Ich bin tatsächlich den Weg gegangen und nummeriere bei Arrays durch, etwas besseres ist mir bisher noch nicht eingefallen. Allerdings ist dieser Fall bei den bisherigen Sesoren auch nicht aufgetreten. In Objekten ist es ja eindeutig.

Zitat
Für mich macht die in letzter Zeit um sich greifende Unsitte, immer mehr Teile in externe repositories zu verlagern, auf Dauer wenig Sinn.
Bitte dieses Thema in einem eigenen Thread diskutieren.

Thorsten Pferdekaemper

Zitat von: dev0 am 17 März 2017, 11:10:37
Das Modul ist zZ. ganz normal eingecheckt: Nach einem Update im ./FHEM Ordner ;)
Ah, jetzt hab ichs auch gefunden...

Zitat
Ich bin tatsächlich den Weg gegangen und nummeriere bei Arrays durch, etwas besseres ist mir bisher noch nicht eingefallen. Allerdings ist dieser Fall bei den bisherigen Sesoren auch nicht aufgetreten. In Objekten ist es ja eindeutig.
Naja, bei meinem Staubsauger habe ich das ganze schon etwas verschachtelt, da würde es schon etwas hässlich werden. Ich denke immer noch, dass man das ganze gerätespezifisch lösen sollte.
Gruß,
   Thorsten
FUIP

dev0

Zitat von: Thorsten Pferdekaemper am 17 März 2017, 11:36:11
Ich denke immer noch, dass man das ganze gerätespezifisch lösen sollte.
Das sehe ich auch so und mache es zB. im ESPEasy Modul auch so.

Ich würde es auch begrüßen, wenn die Funktion zB. auch in die MQTT/KeyValue/... einfließen würde, wenn die erhaltenen Werte in dem Modul weiterverwarbeitet werden. Dann macht das mMn Sinn. Das weiß man aber eben nicht, wie bei average und dem statistics Modul auch, um Beispiele zu nennen. Aber ist zB. ein average oder statistics Modul deshalb überflüssig? Die Funktion könnte man auch in jedes x-beliebige Modul implementieren.

Thorsten Pferdekaemper

Zitat von: dev0 am 17 März 2017, 14:24:55Ich würde es auch begrüßen, wenn die Funktion zB. auch in die MQTT/KeyValue/... einfließen würde, wenn die erhaltenen Werte in dem Modul weiterverwarbeitet werden.
Ich weiß zwar nicht genau, was Du meinst, aber wenn Du das bei den MQTT-Modulen mit einbauen willst, dann fände ich das wiederum nicht so gut. MQTT macht ja keine Aussage darüber, wie die Payload aussieht. Natürlich könnten wir da auch einen FHEM-Standard schaffen, aber das dürfte man dann nicht MQTT nennen, sondern vielleicht ESPdev0...

Zitat
Dann macht das mMn Sinn. Das weiß man aber eben nicht, wie bei average und dem statistics Modul auch, um Beispiele zu nennen. Aber ist zB. ein average oder statistics Modul deshalb überflüssig? Die Funktion könnte man auch in jedes x-beliebige Modul implementieren.
Da hast Du schon irgendwie Recht, aber diese Hilfsmodule, die anderen Modulen Readings verpassen gefallen mir nicht ganz so gut. Ich fände es besser, wenn man eine Art Library hätte, die man im Gerät selbst aufrufen kann. Das wäre meiner Meinung nach klarer strukturiert.

Gruß,
   Thorsten
FUIP