msgDialog: Instant Messaging als FHEM Interface

Begonnen von igami, 30 September 2017, 15:09:01

Vorheriges Thema - Nächstes Thema

Fixel2012

Ich würde mir einfach ein extra Reading umrechnen lassen und dieses dann direkt ablesen und zur Ausgabe in Telegram nutzen.

Den Rest kannst du dir sicher selber erarbeiten.  ;)
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

Marlen

Ja, das wäre jetzt auch meine Lösung gewesen!
Und das geht nicht einfacher?

LG
  Marlen

Fixel2012

Zitat von: Marlen am 29 Dezember 2017, 23:40:32
Ja, das wäre jetzt auch meine Lösung gewesen!
Und das geht nicht einfacher?

LG
  Marlen

Warum hast du das nicht geschrieben und dein bisheriges Ergebnis präsentiert? Und spezifisch nach einer vereinfachten Lösung gefragt?

So wärst du bestimmt schneller ans Ziel gekommen...

Zu deiner Antwort: Ich habe mich mit dem Modul bisher nicht befasst, aber vielleicht kannst du auch direkt im Modul das entsprechende Reading Runden.
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify


Fixel2012

Zitat von: Marlen am 29 Dezember 2017, 23:40:32
Ja, das wäre jetzt auch meine Lösung gewesen!

Naja, hier hast du geschrieben,  dass das auch deine Idee wäre. Warum setzt du diese nicht um oder versuchst es und wendest dich nochmal ans Forum, wenn du nicht weiterkommst?

Das Ausrufezeichen betont das ganze so als hättest du es schon etwas angefangen???
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

Marlen

Jaein,

klar wäre es kein Problem in meinen Stromcalculator eine bzw. mehrere gerundete readings zu erzeugen.
Allerdings hat das Stromcalculatormodul schon genug readings extra nochmal 5 zusätzliche macht das ganze nicht übersichtlicher finde ich.
Und nur um im Dialog die Werte gerundet zu zeigen, finde ich die Lösung mit Kanonen auf Spatzen geschossen!
Ich dachte halt es gibt eine Möglichkeit das einfach im Dialog
"Strom: [Strom_Calculator:Strom_Zaehler_Umdr_d_state_EnergyDay]kWh "
mit einzubauen.

Gute Nacht!

vitolinker

Moin,

wie wäre es hiermit, vielleicht nicht schön, aber wenn's funktioniert:
attr Strom_Calculator userReadings Strom_Zaehler_Umdr_d_state_EnergyDay { round(( ReadingsVal("Strom_Calculator","Strom_Zaehler_Umdr_d_state_EnergyDay",0)*10)) / 10}

VG

igami

Commandref zu set
Zitat
Ab featurelevel 5.7 ersetzt das set und setreading Befehl [device:name] mit dem Wert des Readings, Internals oder Attributes für device, falls sowohl device, als auch Reading, Internal oder Attribut existiert, und nicht leer ist.
        Man kann einen der Präfixe r:, i: oder a: verwenden, um die Suche einzuschränken, genau wie im devspec.
        Das Suffix :d extrahiert die erste Zahl.
        Das Suffix :i extrahiert die erste Zahl als Ganzzahl.
        Das Suffix :r<n> extrahiert die erste Zahl, und rundet sie auf <n> Dezimalstellen. Falls <n> fehlt, dann wird auf eine Dezimalstelle gerundet.
        Das Suffix :t liefert den Zeitstempel des Readings
        Das Suffix :sec liefert Anzahl der Sekunden seit Änderung des Readings.
Also einfach mal mit

"Strom: [Strom_Calculator:Strom_Zaehler_Umdr_d_state_EnergyDay:r]kWh "

versuchen
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

Marlen

SUPER!
Das ist das was ich suche.

Danke!!!

LG
  Marlen :-*

ErzGabriel

Hallo.
Ich versuche gerade mir den meta_Dialog einzurichten und nach x Versuchen, erhalte ich immer noch die folgende Fehlermeldung.

Usage: define <name> msgDialog {JSON}

'"' expected, at character offset 1 (before "\\\n  "JARVIS\\Teleg...") at ./FHEM/76_msgDialog.pm line 93.

Ich verstehe nur nicht warum und woher der Fehler kommt. Kann mir bitte jemand helfen?
Danke.

igami

Was versuchst du denn in die DEF zu schreiben?
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

ErzGabriel

Ich habe versucht per DEF und auch per Raw Defination, die Daten aus dem Wiki einzutragen.

defmod meta_Dialog msgDialog {\
  "%me%": {\
    "match": "\/?(start|%me%)",\
    "commands": "deletereading TYPE=msgDialog $recipient_history",\
    "message": [\
      "{return('(' . join(') (', sort(split('\n', fhem('get TYPE=msgDialog:FILTER=NAME!=$SELF:FILTER=allowed=.*($recipient|everyone).* trigger'))), 'abbrechen') . ') ')}",\
      "Ich kann folgendes für dich tun:"\
    ]\
  },\
  "zurück": {\
    "commands": "set $recipient_history=.+|.+ say @$recipient {(ReadingsVal($DEV, '$recipient_history', '') =~ m/(.+)\\|.+$/;; return $2 ? $2 : $1;;)}"\
  },\
  "abbrechen": {\
    "match": "\/?abbrechen",\
    "commands": "deletereading TYPE=msgDialog $recipient_history",\
    "message": [\
      "TelegramBot_MTYPE=queryInline (%me%) ",\
      "Dialog abgebrochen."\
    ]\
  },\
  "beenden": {\
    "match": "\/?beenden",\
    "commands": "deletereading TYPE=msgDialog $recipient_history",\
    "message": [\
      "TelegramBot_MTYPE=queryInline (%me%) ",\
      "Dialog beendet."\
    ]\
  }\
}
attr meta_Dialog allowed everyone


BEi DEF natürlich ohne die erste und letzte Zeile.

schnitzelbrain

Zitat von: ErzGabriel am 06 Januar 2018, 08:25:03
Ich habe versucht per DEF und auch per Raw Defination, die Daten aus dem Wiki einzutragen.

defmod meta_Dialog msgDialog {\
  "%me%": {\
    "match": "\/?(start|%me%)",\
    "commands": "deletereading TYPE=msgDialog $recipient_history",\
    "message": [\
      "{return('(' . join(') (', sort(split('\n', fhem('get TYPE=msgDialog:FILTER=NAME!=$SELF:FILTER=allowed=.*($recipient|everyone).* trigger'))), 'abbrechen') . ') ')}",\
      "Ich kann folgendes für dich tun:"\
    ]\
  },\
  "zurück": {\
    "commands": "set $recipient_history=.+|.+ say @$recipient {(ReadingsVal($DEV, '$recipient_history', '') =~ m/(.+)\\|.+$/;; return $2 ? $2 : $1;;)}"\
  },\
  "abbrechen": {\
    "match": "\/?abbrechen",\
    "commands": "deletereading TYPE=msgDialog $recipient_history",\
    "message": [\
      "TelegramBot_MTYPE=queryInline (%me%) ",\
      "Dialog abgebrochen."\
    ]\
  },\
  "beenden": {\
    "match": "\/?beenden",\
    "commands": "deletereading TYPE=msgDialog $recipient_history",\
    "message": [\
      "TelegramBot_MTYPE=queryInline (%me%) ",\
      "Dialog beendet."\
    ]\
  }\
}
attr meta_Dialog allowed everyone


BEi DEF natürlich ohne die erste und letzte Zeile.
Nur mal so ins blaue, die backslash in jeder Zeile hast du aber noch copy paste entfernt?

Schnitzelbrain


ErzGabriel

#298
Ne, das habe ich mal wieder vergessen. Das wird der Fehler sein, verdammt.
Danke.

EDIT:
Nein, daran liegt es nicht. Erhalte immer noch den gleichen Fehler.

igami

Und nun bitte ein list oder Raw definition vom msgConfig device.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED