View Single Post
Posts: 277 | Thanked: 319 times | Joined on Jan 2010
#959
Originally Posted by No!No!No!Yes! View Post
Hi, have you tried it in the Advanced Dialog Box Test Drive?
Yes, I tried it. The problem was the missing path.

I now have a working script that does what I want for a single node (you have to excuse my code, I really have never done this before):

PHP Code:
node=$(awk -F"~" "/$name/ "'{print $3}' /home/user/zwave/zwave.txt)
state=$(awk -F"~" "/$name/ "'{print $4}' /home/user/zwave/zwave.txt)
if [ 
"$state== "0" ]
then wget -O/home/user/zwave/zwave.txt "http://ipaddress:port/ZwaveCommand?command=device&id=${node}&level=99"
dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"$name ON"
exit 0
else wget -O/home/user/zwave/zwave.txt "http://ipaddress:port/ZwaveCommand?command=device&id=${node}&level=0"
dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"$name OFF"
exit 1
fi

I call it in QBW with:

PHP Code:
name="Node name"export namesh /home/user/zwave/script 
Now I'm trying to make them update on startup, update whenever zwave.txt gets rewritten and work as they do now.

I just tried this in QBW:

PHP Code:
name="Node name";
node=$(awk -F"~" "/$name/ "'{print $3}' /home/user/zwave/zwave.txt);
state=$(awk -F"~" "/$name/ "'{print $4}' /home/user/zwave/zwave.txt);
if [ 
"$QBW_EXEC_REASON== "QBW_STARTUP_UPDATE" ]; then
    
if [ "$state== "0" ]; then
        
exit 0;
    if [ 
"$state!= "0" ]; then
        
exit 1;
    
fi;
fi;
if [ 
"$QBW_EXEC_REASON== "QBW_DBUS_UPDATE_CONTENT" ]; then
    
if [ "$state== "0" ]; then
        
exit 0;
    if [ 
"$state!= "0" ]; then
        
exit 1;
    
fi;
fi;
if [ 
"$QBW_EXEC_REASON== "QBW_CLICK" ]; then
export name
;
sh /home/user/zwave/state;
run-standalone.sh dbus-send --session --type=method_call --dest=oh.no.more.qbw /oh/no/more/qbwid3 oh.no.more.qbw.update_content;
fi 
For some reason that didn't work, it just exits with code 2. I'll keep trying...

In the wiki there is:

Code:
run-standalone.sh dbus-send --session --type=method_call --dest=oh.no.more.qbw /oh/no/more/qbw<idX> oh.no.more.qbw.<method> <type1>:"<param1>" <type2>:"<param2>" ... <typeN>:"<paramN>"
Can I use multiple QBW ids in one command somehow? I'm trying to get a QBW to tell the others to update content when it is clicked.

Last edited by slarti; 2010-11-25 at 21:13.