Autor Thema: JSON -> Readings  (Gelesen 6833 mal)

Offline Dlay

  • Jr. Member
  • **
  • Beiträge: 62
Antw:JSON -> Readings
« Antwort #75 am: 19 Juni 2017, 00:14:46 »
Das macht doch keinen Sinn ?!?

In dem Reading ist die Uhrzeit enthalten. Die ändert sich ja ständig also ist  es doch nicht gut das mit reinzunehmen. Oder sehe ich da etwas falsch ?

Das SENSOR Reading ändert sich doch andauernd wegen der Zeit und erzeut somit auch Events.
« Letzte Änderung: 19 Juni 2017, 00:48:20 von Dlay »

Offline dev0

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2754
    • _.:|:._
Antw:JSON -> Readings
« Antwort #76 am: 19 Juni 2017, 08:05:31 »
Das siehst Du falsch, die Events werden benötigt.

Offline Dlay

  • Jr. Member
  • **
  • Beiträge: 62
Antw:JSON -> Readings
« Antwort #77 am: 19 Juni 2017, 14:47:59 »
Ich habe jetzt ein .* bei eocr gesetzt und es ist nun viel ruhiger im Eventlog. Die Readings werden aber trotzdem aktualisiert.

Danke für den Tipp !

Offline tobox

  • New Member
  • *
  • Beiträge: 36
Antw:JSON -> Readings
« Antwort #78 am: 27 Juni 2017, 08:46:36 »
Ich habe mal eine Frage zu j2r: Meine Klimaanlage liefert mir sämtliche Daten als JSON per MQTT, z.B. folgendes:

{
  "power" : "ON",
  "mode" : "COOL",
  "temperature" : 25,
  "fan" : "QUIET",
  "vane" : "1",
  "wideVane" : ">>",
  "iSee" : false
}

Mit j2r kann ich die jetzt als einzelne Readings anzeigen lassen, aber gibt es auch eine Möglichkeit für die Schreibrichtung? D.h., wenn ich power auf OFF stelle, soll das passende JSON hingeschickt werden.

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 9658
Antw:JSON -> Readings
« Antwort #79 am: 27 Juni 2017, 08:49:09 »
Nein das geht nicht!
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.me/MOldenburg
Mein GitHub: https://github.com/LeonGaultier
Zustimmung Zustimmung x 1 Liste anzeigen

Offline Dlay

  • Jr. Member
  • **
  • Beiträge: 62
Antw:JSON -> Readings
« Antwort #80 am: 27 Juni 2017, 23:36:47 »
Ich habe mal eine Frage zu j2r: Meine Klimaanlage liefert mir sämtliche Daten als JSON per MQTT, z.B. folgendes:

{
  "power" : "ON",
  "mode" : "COOL",
  "temperature" : 25,
  "fan" : "QUIET",
  "vane" : "1",
  "wideVane" : ">>",
  "iSee" : false
}

Mit j2r kann ich die jetzt als einzelne Readings anzeigen lassen, aber gibt es auch eine Möglichkeit für die Schreibrichtung? D.h., wenn ich power auf OFF stelle, soll das passende JSON hingeschickt werden.

Hallo tobox,

also ich sende nach zwei Sekunden ein JSON per MQTT an mein Sonoff IR Modul. Das sollte für dich auch funktionieren.

{ system "mosquitto_pub -h 192\.168\.1\.1 -t /zuhause/schalter/mqtt_sonoff_2/cmnd/IRSend -m \'\{\"protocol\": \"NEC\",\"bits\": 32, \"data\": 1082099831\}\' "}
Musst du halt nur an deine Daten anpassen.

Ist aber eher ein MQTT Thema.

Bei mir schalte ich eine Lampe ein und sende via MQTT JSON den Befehl um die Farbeinstellung der Lampe via Infrarotmodul zu setzen:

Licht_Wohnzimmer:on {
fhem ("set mqtt_sonoff_2 on")};
{ fhem ("sleep 2")};
{ system "mosquitto_pub -h 192\.168\.1\.1 -t /zuhause/schalter/mqtt_sonoff_2/cmnd/IRSend -m \'\{\"protocol\": \"NEC\",\"bits\": 32, \"data\": 1082099831\}\' "}

Gruß
Dlay
« Letzte Änderung: 27 Juni 2017, 23:42:23 von Dlay »

Offline Christian Uhlmann

  • Full Member
  • ***
  • Beiträge: 161
Antw:JSON -> Readings
« Antwort #81 am: 08 August 2017, 23:26:57 »
Hallo zusammen,

@dev0: vielen Dank für deine Arbeit am Modul, nutze es schon eine Weile.

Jetzt bin ich dabei ein wenig zu optimieren und möchte gerne meine Readings auch für die MQTT Devices so haben, wie sie normalerweise in FHEM sind.
Also in meinem Beispiel power und energy für aktueller Verbrauch und Gesamtverbrauch, so kenne ich es von anderen Geräten.

Gibt es eine Möglichkeit, das Zielreading zu bestimmen? bei
Target reading:
.*power.*
(Power|Current|Voltage|.*day)
habe ich kurz gedacht, dass es darüber geht, aber ich denke wohl eher nicht.

Kenne mich mit regex nicht so gut aus, daher die Frage hier in die Runde ob mein vorhaben umsetzbar ist ohne über userReadings zu gehen?
Vielleicht habe ich diese Möglichkeit ja auch einfach nur "übersehen" (den Wald vor lauter Bäumen nicht sehen :) )


Danke und Grüße

Christian
Host: Debian Stretch als XEN Guest
Gateways: DuoFern Stick, CUL433 Revolt, CUL MAX, CUL FS20, CUL HM, HMLan, HM-USB 2, JeeLink LaCrosse
Devices: 12x Rademacher Rollos, 6x TX 29 DT-HT, 10x HM-CC-RT-DN, 14x MAX Fensterkontakte, Diverse HM Aktoren für Licht, Klingel, Gong, Eingangstür, FS20 und andere

Offline dev0

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2754
    • _.:|:._
Antw:JSON -> Readings
« Antwort #82 am: 09 August 2017, 06:33:24 »
Zitat
Gibt es eine Möglichkeit, das Zielreading zu bestimmen?
Bin unsicher was Du genau meinst. Du kannst, mit dem letzen Argument im Define, bestimmen ob ein Reading angelegt wird. Die Namen der Readings sind durch den JSON String vorgegeben und nicht anpassbar. Wenn Du andere Readingnamen benötigst, dann kannst Du diese Readings zusätzlich anlegen (mit userReadings, notify, DOIF, ...).

Offline mynameisfu

  • New Member
  • *
  • Beiträge: 7
Antw:JSON -> Readings
« Antwort #83 am: 13 August 2017, 23:23:12 »
Gude
Ich bin glaube ich ein totaler Trottel oder ich verstehe es nicht so wirklich ich habe einen sonoff basic mit einem dht22, mqtt sendet mir lustig alles was ich auseinander nehmen möchte.

2017-08-13 23:16:59 MQTT_DEVICE Fernseher SENSOR: {"Time":"2017-08-13T22:16:59", "DHT22":{"Temperature":23.1, "Humidity":61.1}, "TempUnit":"C"}

das list von meinem ej3:

nternals:
   DEF        Fernseher.*:.*:.*
   NAME       ej3
   NOTIFYDEV  Fernseher.*
   NR         644
   NTFY_ORDER 50-ej3
   STATE      2017-08-13 23:11:59
   TYPE       expandJSON
   s_regexp   Fernseher.*:.*:.*
   t_regexp   .*
   version    1.11
   Readings:
     2017-08-13 23:05:33   state           active
   Helper:
Attributes:


und das list von meinem sonoff:

Internals:
   IODev      mqtt
   NAME       Fernseher
   NR         642
   STATE      OFF
   TYPE       MQTT_DEVICE
   qos        1
   retain     1
   Readings:
     2017-08-13 23:16:59   DHT22_Humidity  61.1
     2017-08-13 23:16:59   DHT22_Temperature 23.1
     2017-08-13 23:16:59   SENSOR          {"Time":"2017-08-13T22:16:59", "DHT22":{"Temperature":23.1, "Humidity":61.1}, "TempUnit":"C"}
     2017-08-13 23:16:59   TempUnit        C
     2017-08-13 23:16:59   Time            2017-08-13T22:16:59
     2017-08-13 22:59:20   presence        Online
     2017-08-13 22:42:12   state           OFF
     2017-08-13 23:16:59   transmission-state incoming publish received
   Message_ids:
   Publishsets:
     :
       topic      cmnd/Fernseher/POWER
       values:
         On
         Off
   Sets:
     Off
     On
   subscribe:
     tele/Fernseher/SENSOR
     tele/Fernseher/LWT
     stat/Fernseher/POWER
   subscribeExpr:
     ^tele\/Fernseher\/SENSOR$
     ^tele\/Fernseher\/LWT$
     ^stat\/Fernseher\/POWER$
   Subscribereadings:
     stat/Fernseher/POWER state
     tele/Fernseher/LWT presence
     tele/Fernseher/SENSOR SENSOR
Attributes:
   IODev      mqtt
   devStateIcon ON:rc_GREEN:OFF OFF:rc_RED:ON Offline:rc_BLUE:OFF
   group      Schalter_Wonzimmer
   icon       on
   publishSet On Off cmnd/Fernseher/POWER
   qos        at-least-once
   retain     1
   room       01_Haus,1.1 Wohnzimmer,MQTT
   stateFormat {ReadingsVal($name,"presence","") eq "Offline" ? "Offline" : ReadingsVal($name,"state","")}
   subscribeReading_SENSOR tele/Fernseher/SENSOR
   subscribeReading_presence tele/Fernseher/LWT
   subscribeReading_state stat/Fernseher/POWER
   webCmd     On:Off


doch leider Splittet er mir das nicht in die einzelnen Kategorien?
Wo liegt mein Fehler?
Lg Fu

Offline dev0

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2754
    • _.:|:._
Antw:JSON -> Readings
« Antwort #84 am: 14 August 2017, 07:25:53 »
     2017-08-13 23:16:59   DHT22_Humidity  61.1
     2017-08-13 23:16:59   DHT22_Temperature 23.1
     2017-08-13 23:16:59   SENSOR          {"Time":"2017-08-13T22:16:59", "DHT22":{"Temperature":23.1, "Humidity":61.1}, "TempUnit":"C"}
     2017-08-13 23:16:59   TempUnit        C
     2017-08-13 23:16:59   Time            2017-08-13T22:16:59

Ist doch alles so wie es sein soll, oder?

Btw: zum Posten von Code bitte die Code Tags verwenden (# Button), sonst ist das nur schwer lesbar.

Offline mynameisfu

  • New Member
  • *
  • Beiträge: 7
Antw:JSON -> Readings
« Antwort #85 am: 15 August 2017, 07:02:59 »
Ist doch alles so wie es sein soll, oder?

Btw: zum Posten von Code bitte die Code Tags verwenden (# Button), sonst ist das nur schwer lesbar.
Guten Morgen nein leider nicht... Die Temperatur wird mir mit der Luftfeuchtigkeit zusammen angezeigt ich wollte es aber irgend wie trennen!
LG fu

Gesendet von meinem SM-G950F mit Tapatalk


Offline dev0

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2754
    • _.:|:._
Antw:JSON -> Readings
« Antwort #86 am: 15 August 2017, 07:35:14 »
Zitat
     2017-08-13 23:16:59   DHT22_Humidity  61.1
     2017-08-13 23:16:59   DHT22_Temperature 23.1
Die Temperatur wird mir mit der Luftfeuchtigkeit zusammen angezeigt ich wollte es aber irgend wie trennen!

Die Temperatur und die Luftfeuchtigkeut aus dem JSON String werden korrekt verarbeitet und in zwei getrennte Readings geschrieben. Ich weiss beim besten Willen nicht wo Dein Problem liegt.

Offline Reinhart

  • Hero Member
  • *****
  • Beiträge: 1059
Antw:JSON -> Readings
« Antwort #87 am: 15 August 2017, 09:54:47 »
der MQTT String wird vom deinem Broker kompakt im Json Format unter der Rubrik "SENSOR" empfangen.

2017-08-13 23:16:59   SENSOR          {"Time":"2017-08-13T22:16:59", "DHT22":{"Temperature":23.1, "Humidity":61.1}, "TempUnit":"C"}
Das Modul von dev0 zerlegt dann erst diesen String und schreibt sie als einzelne Readings in Fhem.

2017-08-13 23:16:59   DHT22_Humidity  61.1
2017-08-13 23:16:59   DHT22_Temperature 23.1

Wenn du diese Reading auswertest hast du doch das gewünschte Ergebnis.

LG
FHEM auf Raspy3 mit Stretch + SSD, mit FS20, Homematic, ESP8266, Sonoff, Electrodragon, eBus, RPi mit COC,NanoCUL, HM-CFG-LAN Adapter, MQTT, ESPEasy Bridge, Alexa + Custom Skills

Offline mynameisfu

  • New Member
  • *
  • Beiträge: 7
Antw:JSON -> Readings
« Antwort #88 am: 15 August 2017, 17:38:27 »
oh man  :o ich bin ein blind fisch ;D danke ihr habt recht es steht ja genau oben drüber :DDD
danke nochmal für den hinweis.

 

decade-submarginal