Seite 1 von 3
Whatsapp Message mit Variable versenden
Verfasst: 26. Sep 2015 11:28
von Cyrelian
Hallo zusammen,
ich möchte gerne in einen Rule per Whatsapp den Zustand des Garagentor mitschicken. Dazu habe ich folgendes gebaut:
Code: Alles auswählen
executeCommandLine ("/opt/yowsup/yowsup-cli@@demos@@-c@@/opt/yowsup/yowsup.config@@-s@@49160xxxxxxxxxxx-1440xxxxxx@g.us@@\"(GarageTorsensor.state)\"")
.
Die Nachricht kommt auch an, allerdings steht im Text "GarageTorsensor.state" und nicht "OPEN".
Hat jemand ne Idee?
THX
Re: Whatsapp Message mit Variable versenden
Verfasst: 26. Sep 2015 11:32
von seppy
Hi Kretzsche,
Dein Problem sind die Anführungszeichen:
Code: Alles auswählen
executeCommandLine ("/opt/yowsup/yowsup-cli@@demos@@-c@@/opt/yowsup/yowsup.config@@-s@@49160xxxxxxxxxxx-1440xxxxxx@g.us@@\"" + GarageTorsensor.state + "\"")
Versuch mal so. In Deiner Variante ist GarageTorsensor.state Text.
Re: Whatsapp Message mit Variable versenden
Verfasst: 26. Sep 2015 11:47
von seppy
seppy hat geschrieben:Hi Kretzsche,
Dein Problem sind die Anführungszeichen:
Code: Alles auswählen
executeCommandLine ("/opt/yowsup/yowsup-cli@@demos@@-c@@/opt/yowsup/yowsup.config@@-s@@49160xxxxxxxxxxx-1440xxxxxx@g.us@@\"" + GarageTorsensor.state + "\"")
Versuch mal so. In Deiner Variante ist GarageTorsensor.state Text.
Wenn Du noch Text einfügen willst dann so:
Code: Alles auswählen
executeCommandLine ("/opt/yowsup/yowsup-cli@@demos@@-c@@/opt/yowsup/yowsup.config@@-s@@49160xxxxxxxxxxx-1440xxxxxx@g.us@@\"DEIN TEXT" + GarageTorsensor.state + "DEIN TEXT\"")
Re: Whatsapp Message mit Variable versenden
Verfasst: 26. Sep 2015 16:22
von Cyrelian
Hi,
super, läuft
CU
Re: Whatsapp Message mit Variable versenden
Verfasst: 26. Sep 2015 18:14
von seppy
Für den WAF könntest Du doch mit Transformations arbeiten.
Schau mal was ich gefunden habe:
Code: Alles auswählen
var String sensorState = transform("MAP","DEINESENSORMAP.map",GarageTorsensor.state.toString)
executeCommandLine ("/opt/yowsup/yowsup-cli@@demos@@-c@@/opt/yowsup/yowsup.config@@-s@@49160xxxxxxxxxxx-1440xxxxxx@g.us@@\"DEIN TEXT" + sensorState + "DEIN TEXT\"")
Sollte funktionieren, habs aber nicht getestet.
Re: Whatsapp Message mit Variable versenden
Verfasst: 28. Sep 2015 10:43
von Cyrelian
Hi,
sehr "nice". Ist eingebaut und wird heute Abend getestet
beim einbauen sagt er mir:
Code: Alles auswählen
Couldn't resolve reference to JvmIdentifiableElement 'transform'.
Dank Dir
Re: Whatsapp Message mit Variable versenden
Verfasst: 28. Sep 2015 12:46
von seppy
Hi Kretzsche,
Du hast den passenden Import vergessen:
Code: Alles auswählen
import org.openhab.core.transform.actions.Transformation
Die Klasse Transformation enthält die benötigte Methode "transform". Folgende Zeilen haben bei mir funktioniert, allerdings hat der Designer immer noch rote Kringel geworfen :-/
Code: Alles auswählen
var String battery = "false"
var String tauschen = transform("MAP","battery.map",battery)
logInfo("HomeBox.Testing:Globals", "transformtest: " + tauschen)
Also teste nochmal mit dem richtigen Import!
Gruß,
Seppy
Re: Whatsapp Message mit Variable versenden
Verfasst: 28. Sep 2015 20:11
von Cyrelian
HI Seppy,
super, hat geklappt.
merci
Kretzsche
Re: Whatsapp Message mit Variable versenden
Verfasst: 28. Sep 2015 20:16
von seppy
Top [emoji106]
Sent from my iPhone using Tapatalk
Re: Whatsapp Message mit Variable versenden
Verfasst: 17. Nov 2015 16:17
von Cyrelian
Hi,
irgendwie will mein openhab keine Whatsapp mehr versenden
Auf der CLI funktioniert es.
Code: Alles auswählen
rule "Garage ist länger als 10 Minuten geöffnet (19:00 - 08:00)"
when
Time cron "0 0/10 19-8 * * ?"
then
if (GarageTorsensor.state == OPEN){
var String sensorState = transform("MAP","Kontakt.map",GarageTorsensor.state.toString)
executeCommandLine ("/opt/yowsup/yowsup-cli@@demos@@-c@@/opt/yowsup/yowsup.config@@-s@@49160xxxxxx-144xxxxxx@g.us@@\"Garagentor ist " + sensorState + "\"")
}
end
so siehts im Log aus:
Code: Alles auswählen
[INFO ] [g.openhab.io.net.exec.ExecUtil] - executed commandLine '[/opt/yowsup/yowsup-cli, demos, -c, /opt/yowsup/yowsup.config, -s, 49160xxxxx-14408xxxxx@g.us, "Garagentor ist CLOSED"]'
an der rule hat sich nix geändert.
HIer die Befehle die auf der CLI gehen:
Code: Alles auswählen
yowsup-cli demos -c /opt/yowsup/yowsup.config -s 49160xxxxx-14408xxxxx@g.us "Test"
yowsup-cli demos -s 49160xxxxx-1440xxxxx@g.us "Garagentor ist CLOSED" -c /opt/yowsup/yowsup.config
Führe ich den aus:
Code: Alles auswählen
/opt/yowsup/yowsup-cli demos -s 49160xxxxxx-144xxxxx@g.us "Garagentor ist CLOSED" -c /opt/yowsup/yowsup.config
kommt das:
Code: Alles auswählen
WARNING:yowsup.stacks.yowstack:Implicit declaration of parallel layers in a tuple is deprecated, pass a YowParallelLayer instead
Authentication Error: not-authorized