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 :D

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 :D

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