Get photos from google+ using the command line in linux

I used to have picasawebsync.py as my prefered tool in getting a backup copy of my photos and videos from google+, but it stopped working (for me). GoogleCL to the rescue.

To get all photos from the automatic backup just type

google -u yourusername picasa get "Auto Backup"

in your terminal.  The first time you run it, you will need to open a URL that GoogleCL gives you.

What I am missing is a “sync” feature, as all it does is download.

LogicMachine telnet user script

The following code enables you to open a telnet connection and send commands. I use it to connect to my Pioneer sound system. Add it to a user script.

telnet-lm


-- send Telnet command

function telnet(host, port, command)
  local socket = require("socket")
  local tcp = assert(socket.tcp())
  res, err = tcp:connect(host, port)
  res, err = tcp:send(command)

  while true do
    local s, status, threebytes = tcp:receive(3)
    if status == "closed" then break end
  end  
  tcp:close()
end

Usage

All you need to do now is call the function from your KNX-Object script. Example:


require('user.telnet')
telnet('192.168.0.24', 8102, 'PF\r\n\r\nclose\r\n\r\n')

The PF command tells my Pioneer to turn off. I’m not sure if a close command is necessary, but all the returns are. The IP address and port have to be changed to what you need.

DMX LogicMachine Lights user library

I have been optimizing my DMX scripts for the LogicMachine. The following is a set of functions that will enable you to turn a set of DMX channels on/off.


-- set of variables for zones in the apartment
 alllights = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24}

 bathroomlights = {7,8,20}
 livinglights = {5,6,9,10,11,12,14,15,16,17,18,19}
 kitchenlights = {13}
 bedroomlights = {1,2}
 entrancelights = {4}

-- turns DMX stripe to full on or off based on two groups
function dmxtoggle(channel, state)
 -- group that contains the value for ON
 on = grp.getvalue('5/7/17')
 -- group that contains the value for OFF
 off = grp.getvalue('5/7/18')
 if (state == true) then
  DMX.set(channel, on)
 else
  DMX.set(channel, off)
 end
end

-- loops through all lights
-- lights is an array of the channel(s) to be set
-- state is the state of the group
function dmxlooptoggle(lights, state)
 for index, value in ipairs(lights) do
  dmxtoggle(value, state)
 end
end

--Loops through an array of channels and sets them to a value
function dmxloopset(lights, value)
 for index, channel in ipairs(lights) do
  DMX.set(channel, value)
 end
end

To use it, create a user library, I called it mydmx. Then copy/paste the above code and change the variables to the light groups you want to switch together.

To then run it use the following code. The first line enables the above user library. Then the dmxlooptoggle is called to change the bathroom light to the value of the group (on/off). the last code updates a group that holds the status object (on/off).


require('user.mydmx')
dmxlooptoggle(bathroomlights, event.getvalue())
grp.write('5/7/24', event.getvalue())