Tasmota 5.1.0 und DHT22 Sensor

Begonnen von canis, 20 Juli 2017, 21:13:29

Vorheriges Thema - Nächstes Thema

canis

Ich würde gerne die DH22 Temperature und Humidity in FHEM angezeigt und archiviert bekommen,
verzweifele aber an dem JSON- String und ej3.
Hat das jemand realisiert bekommen und gibt es ein How To?

dev0

Poste jeweils ein list (FHEM Bedehl) vom Tasmota und expandJson Device in code tags (# Button).
Die commandref zu expandJSON hast Du gelesen?

canis

Ich konnte mit einem Update, expandJSON,attr ... enableControlSet 1; und set .... upgradeAttributes lösen,
Darstellung nun möglich, auch über ReadingGroups.

Nun verzweifele ich daran, die Feuchtigkeits- Meßwerte zum Steuern des Luftentfeuchters verwenden zu können,
z.B. mit DOIF ... ReadingsVal ....
Wie könnte das aussehen?
Laufende Meldungen:
2017-07-31 18:25:55 MQTT_DEVICE Serverraum_Temp DHT22_Temperature: 23.2

jsonlist2 Serverraum

{
  "Arg":"Serverraum",
  "Results": [
  {
    "Name":"Serverraum",
    "PossibleSets":"on:noArg off:noArg Ein:noArg Aus:noArg OFF ON",
    "PossibleAttrs":"alias comment:textField-long eventMap group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 IODev qos:at-least-once,at-most-once,exactly-once retain:0,1 publishSet publishSet_.* subscribeReading_.* autoSubscribeReadings event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat:textField-long timestamp-on-change-reading DbLogExclude DbLogInclude cmdIcon devStateIcon devStateStyle icon sortby webCmd widgetOverride room_map structexclude userattr",
    "Internals": {
      "NAME": "Serverraum",
      "NR": "44",
      "STATE": "on",
      "TYPE": "MQTT_DEVICE",
      "qos": "1",
      "retain": "1"
    },
    "Readings": {
      "DHT22_Humidity": { "Value":"54.9", "Time":"2017-07-31 12:05:42" },
      "DHT22_Temperature": { "Value":"23", "Time":"2017-07-31 12:05:42" },
      "Power": { "Value":"ON", "Time":"2017-07-31 18:18:06" },
      "SENSORJson": { "Value":"{\u0022Time\u0022:\u00222017-07-31T18:06:08\u0022, \u0022DHT22\u0022:{\u0022Temperature\u0022:24.0, \u0022Humidity\u0022:51.6}, \u0022TempUnit\u0022:\u0022C\u0022}", "Time":"2017-07-31 19:05:54" },
      "TempUnit": { "Value":"C", "Time":"2017-07-31 12:05:42" },
      "Time": { "Value":"2017-07-31T11:05:49", "Time":"2017-07-31 12:05:42" },
      "state": { "Value":"ON", "Time":"2017-07-31 18:18:06" },
      "transmission-state": { "Value":"incoming publish received", "Time":"2017-07-31 19:05:54" }
    },
    "Attributes": {
      "IODev": "mqtt",
      "alias": "Serverraum",
      "devStateIcon": "on:remotecontrol/black_btn_GREEN:off off:remotecontrol/black_btn_RED:on",
      "eventMap": "ON:on OFF:off ON:Ein OFF:Aus",
      "icon": "control_building_2_s_kg",
      "publishSet": "ON OFF Keller/Serverraum/cmnd/POWER",
      "qos": "at-least-once",
      "retain": "1",
      "room": "Keller,Router",
      "stateFormat": "Power",
      "subscribeReading_Power": "Keller/Serverraum/stat/POWER",
      "subscribeReading_SENSORJson": "Keller/Serverraum/tele/SENSOR",
      "subscribeReading_state": "Keller/Serverraum/cmnd/POWER",
      "userattr": "room_map structexclude",
      "webCmd": "ON:OFF"
    }
  }  ],
  "totalResultsReturned":1
}

Reinhart

zur Steuerung deines Luftbefeuchters kannst du dich an das Beispiel vom Wiki anlehnen, hier ging es um ein Thermostat aber im Prinzip ist es egal ob die Luftfeuchtigkeit als Sensor verwendet wird. Im Wiki ist das Beispiel noch an Tasmota 3.x dargestellt, d.h. es sind geringfügige Änderungen der Syntax notwendig die du im Prinzip ja schon hast.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

canis

#4
Danke, Kommando zurück, es muß im Perl- Code geschrieben wwerden, dann klappt das Alles.
In meinem Beispiel:
define Luftentfeuchter at +*00:15:00 { if (ReadingsVal("Serverraum_Hum","DHT22_Humidity",0) > 50) { fhem("set Serverraum on") } else { fhem("set Serverraum off") } }
LG

sbiermann

Als Alternative kann man im fhem das Modul Treshold verwenden, dann reagiert der Lüfter schneller. Es sollte aber eine Taupunkt Berechnung hinzu kommen, sonst läuft der Lüfter im Sommer Amok und die Luftfeuchtigkeit steigt und steigt.

Reinhart

#6
gute Idee von sbiermann, denn mit Threshold kannst du dir eine Hysterese einstellen und alles in einer Definition!

   Beispiel für Luftentfeuchter:
   
   define Hygrostat THRESHOLD S1:huminity dehydrator:on:off
   
   Beschreibung:

   Beim Überschreiten der Soll-Feuchtigkeit um 10 % ausgelesen über den Sensor S1 wird der Aktor "dehydrator" eingeschaltet
   und wieder ausgeschaltet beim Unterschreiben der Feuchtigkeit um 10 %.

hier ein Auszug aus dem Thread.


Ich bin mir persönlich jedoch nicht sicher ob die Genauigkeit und die Reaktion des Sensors für eine halbwegs brauchbare Steuerung ausreicht. Vor allem die Position zum Luftbefeuchter (möglichst weit weg) dürfte experimentell auszutesten sein, denn es wird sicherlich die größte Rolle spielen wie schnell und gleichmäßig sich die Luft verwirbelt/vermischt.

Hier ist auch eine gute Lösung diskutiert worden.

Schreib uns, wie es dir ergangen ist.


LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

canis

Entschuldigung, das  ich mich jetzt erst wieder melde.
Nach vorherigen/ parallelen Versuchen mit Home Assistant, Node Red und Domoticz ist mir nach Anschluß eines rfxcom der Raspberry zusammengebrochen bzw. es hat nichts mehr wirklich funktioniert, zuviele Zugriffe ergeben ein Problem für FHEM..
Ich haben das Ganze neu aufgesetzt (Am wichtigsten ist Postfix und MySQL für mich) und bin zu der Entscheidung gekommen, zukünftig ausschließlich mit FHEM zu automatisieren, wenn es denn auch mal komplizierter ist, aber weil es ein großartiges Forum dazu gibt und jede Menge Lösungen.

Zum Thema:
Die einfachste Lösung ist immer noch die Beste.
Es geht darum, die RELATIVE Luftfeuchtigkeit nicht über 55%steigen zu lassen, denn sollte es rosten, ging's ab noch Osten...
Natürlich könnte man es perfektionieren, mit Taupunkt etc, aber ich habe es hier mit einem abgeschlosenem Kellerraum zu tun, in dem nun mal mehrere Netzwerkgeräte untergebracht sind.
Das funktioniert eindfrei, der Kältetrockner wird bei 50 % relativer Luftfeuchte abgeschaltet, und bei überschreiten von54 % relativer Luftfeuchte gibt es alle 15 Minuten eine Puschover- Nachricht, daß sein Sammelbehälter ausgellert werden muß.
Anliegende Graphik veranschaulicht das: (Shit, wie bekomme ich ein png hier rein)
Leider bin ich der Einzige, der Zutritt zu dienm Raum hat, und das hat gute Gründe.

Kurze Erklärung des Serverraums: Das ist ein ca. 20 m² Kellerraum mit 2 Sandstein- Außenwänden, 2 Ziegelwänden, 1,75 m Höhe, einem flachen geschlossenem Fensterchen in einer Außenwand und einem Heizungs- Abgas- Rohr, welches in einem Bogen ca. 1 m durch eine Ecke in den Schornstein läuft.
In dem Raum werden selten genutzte Elektrogeräte und Ähnliches gelagert.
Die Temperatur in diesem Raum ist Sommer wie Winter sehr konstant, deswegen stehen die Geräte auch dort, allerdings ist durch die Sandstein- Wände ein kleines Problem mit der RELATIVEN Fuftfeuchtigkeit vorhanden.
Zudem steht ca. 30 cm vor einer Wand in einem Regal eine USV mit 2 Autobatterien, 1 Switch, 1 gemanagter Switch, 2 Router, 3 Diskstation, 1 erweiterte Diskstation und ein älterer redundanter Rack- Server, der aber nur 2 Stunden am Tag läuft, eigentlich laufen nur 2 Diskstations 24/7.
Hinter dem Regal enden 3 Kabelkanäle, aus denen jede Menge Kabel halbwegs geordnet zu den Geräten laufen.
Zur Stromversorgung gibt es noch ein kerniges 12 Volt Schaltnetzteil sowie ein kleineres 5 Volt Schaltnetzteil, die energievernichtenden Steckernetzteile werden bei mir konsequent verschrottet und durch Hutschienen- Schaltnetzteile mit großzügig dimensionierten Klemmleisten auf einem Wandbrett ersetzt.
Fast alle dieser Geräte haben Lüfter, der redundante Backup- Rack- Server allein hat den gefühlten Luftdurchsatz eines Wäschetrockners.
Der Sensor liegt irgendwo dazwischen, der Kältetrockner befindet sich neben dem Regal und pustet nach oben.
Als nächstes wird der Kältetrockner ca. 70 cm hoch vor der Wand neben dem Regal postiert und bekommt einen Abwasser- Schlauch verpaßt, der durch die Wand in ein dahinter liegendes Waschbecken gelegt wird.
Dann ist die "Nachsorge" des Kältetrockners entschärft.

LG