tellstick.conf

The file /etc/tellstick.conf is the file where all devices used by TellStick is configured under Linux. Each device is configured in its own block with the parameter as name/value-pairs:

device {
  foo = "bar"
}

A device has at least four values and another block names parameters. A typical device can look like this:

device {
  id = 1
  name = "Device 1"
  protocol = "arctech"
  model = "codeswitch"
  parameters {
    house = "A"
    unit = "1"
  }
}

idThis is a number and must be unique for each device.nameA name for easy identification of the device.protocolThis is the protocol the device uses. More on the different protocols later down.modelThe parameter model is only used by some protocols where there exists different types of devices using the same protocol. This can be dimmers versus non-dimmers, codeswitch versus selflearning etc. If the devices are configured from TelldusCenter, this string will also be followed by a brand name, to allow for TelldusCenter to show the correct device brand. E.g., the string will be appended by: “:proove”.parametersThis block depends on the protocol specified and is explained under each protocol.

Protocols

arctech

This protocol is used by a lot of devices. Some of them includes:

  • Byebye Standby
  • Chacon
  • CoCo Technologies
  • HomeEasy
  • Intertechno
  • Kappa
  • KlikAanKlikUit
  • Nexa
  • Proove
  • Rusta

It has four different models:codeswitchThis types of devices uses dials on the receiver and remote to address them. The parameter house can be A to P and the unit 1 to 16. A typical parameters-block can look like:

parameters {
  house = "A"
  unit = "1"
}

bellThis is bells of the codeswitch type. It only uses house and just as model codeswitch it is A to P. Example:

parameters {
  house = "C"
}

selflearning-switchRequires TellStick batch >= 5, TellStick Duo or TellStick Net
The newer ones where the code is learned by the remote/TellStick. Instead of housecodes A to P this is now 1 to 67108863. The unitcode is still 1 to 16. Example:

parameters {
  house = "953934"
  unit = "1"
}

selflearning-dimmerRequires TellStick batch >= 5, TellStick Duo or TellStick Net
This is the same as selflearning-switch only these devices supports dimming-commands

brateck

Requires TellStick batch >= 5, TellStick Duo (sending only) or TellStick Net (sending only)
This protocol is used by some projector screens. Example:

  • Roxcore

The only parameter used in this protocol is house. The code is 8 tri-state values soldered into the pcb. The state can be “1”, “0” or “-“. A real world example can be found here:  http://www.telldus.se/forum/viewtopic.php?t=416

Example:

parameters {
  house = "101-1011"
}

everflourish

Requires TellStick batch >= 5, TellStick Duo (sending only) or TellStick Net (sending only)
Added to telldus-core in 2.0.2.

This is the selflearning protocol. For the codeswitch, take a look at risingsun.

Brands:

  • Clas Ohlson
  • GAO

The protocol uses house (0 to 16383) and unit (1 to 4). Example:

parameters {
  house = "117"
  unit = "2"
}

fuhaote

Requires TellStick batch >= 5, TellStick Duo (sending only) or TellStick Net (sending only)
Added to telldus-core in 2.0.3.

The configuration of these devices is very similar to sartano but they are not compatible with each other.

Brands:

  • HQ
  • Rusta

It uses the parameter code and consists of ten ones and zeros. Example:

parameters {
  code = "0010010100"
}

hasta

TellStick Duo and TellStick Net can only send, not receive this protocol
Blinds
Uses house (1 to 65536) and unit (1 to 15). Example:

parameters {
  house = "1"
  unit = "1"
}

ikea

These receivers is not sold by Ikea anymore. There is both dimmers and non dimmers. One thing that differs this protocol against all other is that it can control up to ten receivers with just one device. It uses the parameters system, units and fade:

system can be 1 to 16.

units is a comma-separeted list of receivers to address (1 to 10).

fade is either true or false and tells a dimmer if is should fade smooth or instand between values.

Example:

parameters {
  system = "5"
  units = "2,6"
  fade = "true"
}

kangtai

Only TellStick Net compatible. TellStick Net can only send, not receive this protocol
Known brands:

  • Clas Ohlson, 36-8836

risingsun

TellStick Duo and TellStick Net can only send, not receive this protocol
Often small codeswitch receivers. Known brands:

  • Conrad (selflearning)
  • Clas Ohlson (codeswitch)
  • GAO (codeswitch)
  • Kjell & Company (codeswitch)
  • Otio (selflearning)

Two models, codeswitch or selflearning:codeswitchUses house (1 to 4) and unit (1 to 4). Example:

parameters {
  house = "1"
  unit = "1"
}

selflearningUses house (1 to 33554432) and unit (1 to 16). Example:

parameters {
  house = "5679"
  unit = "1"
}

sartano

This is a very common protocol used by a lot of receivers. It has 10 dip-switches to configure the adress-code. Brands:

  • Sartano
  • Alpha
  • Brennenstuhl
  • Elro

It uses the parameter code and consists of ten ones and zeros. Example:

parameters {
  code = "0010010100"
}

silvanchip

TellStick Duo and TellStick Net can only send, not receive this protocol
Brands:

  • Ecosavers
  • KingPin – KP100

Two models, ecosavers and kp100ecosaversUses house (1 to 1048575) and unit (1 to 4). Example:

parameters {
  house = "1"
  unit = "1"
}

kp100Uses house (1 to 1048575). Example:

parameters {
 house = "1"
}

upm

TellStick Duo and TellStick Net can only send, not receive this protocol
Uses parameters house (0 to 4095) and code (1 to 4). Each receiver can only remember one code at a time so using both a normal remote and TellStick is not possible. Example:

parameters {
  house = "123"
  unit = "1"
}

waveman

Very similar to arctech/codeswitch but the protocol differs just slightly. Brands:

  • Waveman

Example:

parameters {
  house = "A"
  unit = "1"
}

x10

Requires TellStick batch >= 9, TellStick Duo or TellStick Net

This protocol uses the same configuration as arctech/codeswitch. Example:

parameters {
  house = "A"
  unit = "1"
}

yidong

Added to telldus-core in 2.0.4. Brands:

  • Goobay

Uses unit (1 to 4). Example:

parameters {
  unit = "1"
}

Install Telldus-core on a raspberry pi with Buster

# Add telldus repository to apt sources
wget http://download.telldus.com/debian/telldus-public.key
sudo apt-key add telldus-public.key

sudo echo “deb-src https://s3.eu-central-1.amazonaws.com/download.telldus.com unstable main” >> /etc/apt/sources.list.d/telldus-unstable.list sudo apt-get update # Get packages needed for general builds sudo apt-get install build-essential fakeroot devscripts cmake # Needed to sucessfully run build of telldus-core but not specified as build deps sudo apt-get install libftdi-dev libconfuse-dev help2man # Get build deps that are specified in the package telldus core sudo apt-get build-dep telldus-core # Add the linker flag for pthread, otherwise linking will fail export DEB_LDFLAGS_APPEND=’-pthread’ # Get the source of telldus core # Get the source of telldus core apt-get source telldus-core cd telldus-core-2.1.3-beta1/ # Build packages (unsigned) debuild -b -uc -us # In case the build complains about a missing Doxyfile.in, create an empty one touch Doxyfile.in # Install the newly built packages sudo dpkg -i libtelldus-core2_2.1.3-beta1-1_amd64.deb sudo dpkg -i telldus-core_2.1.3-beta1-1_amd64.deb

OpenMediaVault Plugin

Plugins som ska installeras

INSTALLATION

FROM OMV WEB INTERFACE (PREFERRED METHOD)

Download the plugin to enable this repository here:

  1. For OMV 2.x (stoneburner) – openmediavault-omvextrasorg_latest_all.deb
  2. For OMV 3.x (erasmus) – openmediavault-omvextrasorg_latest_all3.deb
  3. For OMV 4.x (arrakis) – openmediavault-omvextrasorg_latest_all4.deb
  4. Go to the plugin tab in OMV’s web interface.
  5. Upload the file.
  6. Select the newly uploaded plugin openmediavault-omvextrasorg
  7. Click on Install. Refresh page.
  8. Go to the plugin tab and click Check.

OR

FROM COMMAND LINE AS ROOT

  • wget -O – http://omv-extras.org/install | bash

OPENMEDIAVAULT-TEAMVIEWERHOST

LATEST VERSION: 3.0.1

REPO: ARRAKIS-TEAMVIEWER

MAINTAINER: OPENMEDIAVAULT-PLUGIN-DEVELOPERS
DESCRIPTION:

Teamviewer Host plugin for OpenMediaVault.

OPENMEDIAVAULT-SHELLINABOX

LATEST VERSION: 3.4

REPO: ARRAKIS

MAINTAINER: OPENMEDIAVAULT-PLUGIN-DEVELOPERS
DESCRIPTION:

Web-based SSH client. Shell-in-a-box plugin that enables ssh access through the web-gui.

OPENMEDIAVAULT-REMOTEDESKTOP

MAINTAINER: OPENMEDIAVAULT-PLUGIN-DEVELOPERS
DESCRIPTION:

Remote desktop plugin for OpenMediaVault. Installs xfce4 minimal desktop environment and rdp server.

OPENMEDIAVAULT-PLEXMEDIASERVER

LATEST VERSION: 3.8.2

REPO: ARRAKIS-PLEX

MAINTAINER: OPENMEDIAVAULT-PLUGIN-DEVELOPERS
DESCRIPTION:

OpenMediaVault Plex Media Server plugin Stream media everywhere(tm) . Plex Media Server simplifies your life by organizing all of your personal media, making it beautiful and streaming it to all of your devices.

OMV On Ex470

https://forum.openmediavault.org/index.php/Thread/11530-Guide-Installed-OpenMediaVault-on-my-old-HP-EX470-Mediasmart-Windows-Home-Server/

I recently switched my HP EX470 Mediasmart home server from the end-of-lifed Windows Home Server to OpenMediaVault. At least upon first impression, everything seems to be working other than the internal network adapter, so I’ve used a USB network adapter in lieu of that. I’ve pasted in my notes on the process below in case it helps anyone else making the transition.

To start off with, you need access to a normal computer from which to prepare the install media. You’ll also need a USB keyboard.

On the other computer:
Download the ISO image of OpenMediaVault.
My other computer was on Windows, so I then used unetbootin.sourceforge.net/ to restore the image onto the flash drive.

The wiki installation instructions weren’t clear on this, but you’ll then need a second flash drive on which to install OpenMediaVault. The ISO image is an installer drive, and it’ll then install OpenMediaVault onto your second flash drive.

Once I had OpenMediaVault installed on my second flash drive, I booted it on my regular computer. Using the root password I set during the installation process, I logged in and deleted the existing network configuration with the following command:
rm /etc/udev/rules.d/70-persistent-net.rules

On the HP MediaSmart home server:
I removed all existing hard drives and inserted the flash drive into the bottom most rear USB port.

I plugged a USB keyboard into the front USB port. Powering on the home server, I repeatedly tapped F12 for 10 seconds. Apparently, this will bring up the boot menu. There is no harm in over pressing F12, so you can keep pressing to be sure. After that, I carefully hit the down arrow on the keyboard exactly 7 times, which apparently selects the USB boot option, and then hit enter. Doing this a single time seems to apply it every time in the future, as my home server always boots from the USB drive now. The process was developed by people who hacked VGA output into their servers.

From another computer:
After a minute or two, I connected to the home server’s IP address from a web browser, and the OpenMediaVault interface came up!

However, you’ll note that only the bottom and third from the bottom drive bays are functional. This is due to a BIOS setting that will need to be changed.

Back on the HP Mediasmart home server:
Using a USB keyboard, after power on as soon as the health LED begins to blink blue and red hit DELETE and it’ll become solid (either blue or red depending on what it was when you hit delete) and enter the BIOS. Advice on the Internet suggests to wait 5 seconds after this to ensure it’s in the BIOS. Press F10 and then ENTER to save and reboot. Repeat this process until you’re fully comfortable with the process of blindly booting into the BIOS and safely saving and exiting.

Boot into the BIOS again.

Press the DOWN arrow three (3) times to reach Integrated Peripherals
Press ENTER to select

Press the DOWN arrow one (1) time to select SIS OnChip PCI Device
Press ENTER to select

Press the DOWN arrow eight (8) times to select SIS Serial ATA Mode
Press PGDN one (1) time to select 4P(IDE)+4S(IDE).

Press F10 one (1) time to save and exit.
Press ENTER to confirm.

The server should now reboot again, and when you login again to the OpenMediaVault web interface, drives in all four bays should now be recognized.

Quirks:
As noted above, the internal Ethernet has serious problems. To read more about those problems, as well as more about how I got the BIOS working to recognize all four drives, see this thread.
The health light on the front of the server will continuously flash when it’s booted – apparently it does that whenever Windows isn’t installed.
The HP Mediasmart server have a built-in small flash partition for Windows recovery. This appears in OpenMediaVault as a 250MB drive connected to /dev/sda.
My HP Mediasmart is old enough that the CMOS battery is worn out. As a result, if the server is unplugged for an extended period, it will lose the BIOS settings, and I need to set the BIOS ATA mode again to re-enable drive bays 2 and 4.

Telldus duo raspberry pi

Raspberry Pi och en Tellstick
Tellstick från Telldus Technologies AB finns i tre varianter:
Tellstick (classic)
Tellstick Duo
Tellstick Net
Tellstick och Tellstick Duo kopplas till en dator (i vårt fall en Raspberry Pi) och kan sedan användas för att styra trådlösa stömbrytare och dimmers. Det fungerar med många olika märken av strömbrytare. Tellstick (classic) kan bara sända signaler medan Tellstick Duo också kan ta emot signaler.
Tellstick Net motsvarar Tellstic Duo men har “inbyggd dator” och är därför inte intressant ihop med Raspberry Pi.
Steg 1
Installera först bibliotek för FTDI. Programvaran från Telldus använder seriell USB kommunikation med Tellstick och använder de här biblioteken för detta.
sudo apt-get install libftdi1 libftdi-dev
Installera sedan libConfuse som används av programvaran från Telldus för att läsa textbaserade konfigurationsfiler.
sudo apt-get install libconfuse0 libconfuse-dev
Steg 2
Se till att din Tellstick är inkopplad i din Raspberry Pi. Vi behöver ta reda på om Raspbian har hittat och identifierat Tellstick-hårdvaran. Lista alla USB-enheter som hittats med kommandot:
lsusb
En Telldus Classic-sticka ska se ut så här i listan:
Bus 001 Device 00X: ID 1781:0c30 Multiple Vendors Telldus TellStick
medan en Tellstick Duo ser ut så här:
Bus 001 Device 00X: ID 1781:0c31 Multiple Vendors Telldus TellStick Duo
1781 är identifiering av tillverkaren och 0c30 eller 0c31 identifierar produkten.
Då ska vi manuellt ladda kernel-drivrutinsmodulen för FTDI med parametrar för vår Tellstick. Byt ut produkt-ID till 0x0c30 om du har en Tellstick (classic). Jag använder Tellstick Duo.
sudo modprobe ftdi_sio vendor=0x1781 product=0x0c31
Lista alla laddade kernel-moduler med kommandot:
lsmod
I mitt fall börjar listan så här och ftdi_sio har laddats.
Module Size Used by
ftdi_sio 29846 0
usbserial 26909 1 ftdi_sio
[…]
För att modulen ska laddas automatiskt måste vi lägga till den i filen /etc/modules. Lägg till en rad som sr ut så här: ftdi_sio vendor=0x1781 product=0x0c31. Byt produkt-ID om det behövs.
sudo nano /etc/modules
Så här ser min fil ut när jag är klar:
# /etc/modules: kernel modules to load at boot time.
#
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with “#” are ignored.
# Parameters can be specified after the module name.

snd-bcm2835
ftdi_sio vendor=0x1781 product=0x0c31
Steg 3
Då ska vi hämta programvaran telldus-core från Telldus hemsida. Vi hämtar den som källkod och kommer att kompilera den för Raspbian.
Först behöver vi hämta cmake för Raspbian, som vi kommer att använda vid kompileringen:
sudo apt-get install cmake
Sen ska vi hämta källkoden till telldus-core. När jag skriver det här är version 2.1.2 aktuell. Kontrollera på hämtningssidan vilken som är den senaste versionen och byt till den i följande kommandon om det kommit ny.
wget http://download.telldus.se/TellStick/Software/telldus-core/telldus-core-2.1.2.tar.gz
Packa upp den hämtade filen med följande kommando:
tar xfz telldus-core-2.1.2.tar.gz
Flytta till katalogen med den uppackade källkoden och kör cmake. När cmake är klar kompilerar du koden med make (ett kommando i taget, missa inte blanksteget och punkten efter cmake):
cd telldus-core-2.1.2/
cmake .
make
Steg 4
Dags att installera den kompilerade programvaran:
sudo make install
Skapa de symboliska länkar som behövs med kommandot ldconfig:
sudo ldconfig
Nu behöver vi skapa ett startupskript för Telldus-tjänsten. Skapa filen och börja editera den med följande kommando:
sudo nano /etc/init.d/telldusd
Klistra in följande kod i filen och spara den sedan.
#! /bin/sh
### BEGIN INIT INFO
# Provides: telldusd
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Tellstick service daemon
# Description: Tellstick service daemon controlling remove switches
### END INIT INFO

# Author: Kjell Haveskold (nimmis)

# Do NOT “set -e”

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin
DESC=”Tellstick service daemon”
NAME=telldusd
DAEMON=/usr/local/sbin/$NAME
DAEMON_ARGS=””
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Exit if the package is not installed
[ -x “$DAEMON” ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.2-14) to ensure that this file is present
# and status_of_proc is working.
. /lib/lsb/init-functions

#
# Function that starts the daemon/service
#
do_start()
{
# Return
# 0 if daemon has been started
# 1 if daemon was already running
# 2 if daemon could not be started
start-stop-daemon –start –quiet –pidfile $PIDFILE –exec $DAEMON –test > /dev/null \
|| return 1
start-stop-daemon –start –quiet –pidfile $PIDFILE –exec $DAEMON — \
$DAEMON_ARGS \
|| return 2
# Add code here, if necessary, that waits for the process to be ready
# to handle requests from services started subsequently which depend
# on this one. As a last resort, sleep for some time.
}

#
# Function that stops the daemon/service
#
do_stop()
{
# Return
# 0 if daemon has been stopped
# 1 if daemon was already stopped
# 2 if daemon could not be stopped
# other if a failure occurred
start-stop-daemon –stop –quiet –retry=TERM/30/KILL/5 –pidfile $PIDFILE –name $NAME
RETVAL=”$?”
[ “$RETVAL” = 2 ] && return 2
# Wait for children to finish too if this is a daemon that forks
# and if the daemon is only ever run from this initscript.
# If the above conditions are not satisfied then add some other code
# that waits for the process to drop all resources that could be
# needed by services started subsequently. A last resort is to
# sleep for some time.
start-stop-daemon –stop –quiet –oknodo –retry=0/30/KILL/5 –exec $DAEMON
[ “$?” = 2 ] && return 2
# Many daemons don’t delete their pidfiles when they exit.
rm -f $PIDFILE
return “$RETVAL”
}

#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
#
# If the daemon can reload its configuration without
# restarting (for example, when it is sent a SIGHUP),
# then implement that here.
#
start-stop-daemon –stop –signal 1 –quiet –pidfile $PIDFILE –name $NAME
return 0
}

case “$1” in
start)
[ “$VERBOSE” != no ] && log_daemon_msg “Starting $DESC” “$NAME”
do_start
case “$?” in
0|1) [ “$VERBOSE” != no ] && log_end_msg 0 ;;
2) [ “$VERBOSE” != no ] && log_end_msg 1 ;;
esac
;;
stop)
[ “$VERBOSE” != no ] && log_daemon_msg “Stopping $DESC” “$NAME”
do_stop
case “$?” in
0|1) [ “$VERBOSE” != no ] && log_end_msg 0 ;;
2) [ “$VERBOSE” != no ] && log_end_msg 1 ;;
esac
;;
status)
status_of_proc “$DAEMON” “$NAME” && exit 0 || exit $?
;;
#reload|force-reload)
#
# If do_reload() is not implemented then leave this commented out
# and leave ‘force-reload’ as an alias for ‘restart’.
#
#log_daemon_msg “Reloading $DESC” “$NAME”
#do_reload
#log_end_msg $?
#;;
restart|force-reload)
#
# If the “reload” option is implemented then remove the
# ‘force-reload’ alias
#
log_daemon_msg “Restarting $DESC” “$NAME”
do_stop
case “$?” in
0|1)
do_start
case “$?” in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
esac
;;
*)
# Failed to stop
log_end_msg 1
;;
esac
;;
*)
#echo “Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}” >&2
echo “Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}” >&2
exit 3
;;
esac
Vi måste sätta rättigheter på filen så att den blir körbar:
sudo chmod +x /etc/init.d/telldusd
Sen installerar vi filen i startsekvensen så att den startas automatiskt:
sudo update-rc.d telldusd defaults
Om du inte vill starta om din Raspberry Pi nu, kan du starta Telldus-tjänsten med följande kommando:
/etc/init.d/telldusd start
För mig dög det inte att starta om tjänsten, jag fick boota om och bryta strömmen för allt skulle hoppa igång. Jag vet inte vad det berodde på men det kan handla om strömförsörjningen. Alla mina USB-enheter, inklusive Raspberry Pi, får sin ström från en USB-hub.
Steg 5
Nu måste vi konfigurera telldus-core för våra strömbrytare. Detta görs i filen /etc/tellstick.conf.
sudo nano /etc/tellstick.conf
Jag har bara några strömbrytare från Nexa av två modeller: PBR-2300 för inomhusbruk och LGDR-3500 för utomhusbruk. Båda modellerna är “självlärande”.
Här nedan följer min testversion av /etc/tellstick.conf:
user = “nobody”
group = “plugdev”
ignoreControllerConfirmation = “false”

device {
id = 1
name = “Testbrytare PBR-2300”
protocol = “arctech”
model = “selflearning-switch:nexa”
parameters {
house = “123456”
unit = “1”
}
}

device {
id = 2
name = “Testbrytare LGDR-3500”
protocol = “arctech”
model = “selflearning-switch:nexa”
parameters {
house = “123456”
unit = “2”
}
}
Efter varje gång man ändrar i /etc/tellstick.conf måste man starta om Telldus-tjänsten med kommandot:
sudo /etc/init.d/telldusd restart
Parametrarna i konfigurationsfilen har jag hittat på. Hus-koden house ska vara ett nummer mellan 1 och 67108863. Enhets-koden unit ska vara ett nummer mellan 1 och 16. Sedan måste man “lära” mottagaren sina parametrar genom att sätta dem i inlärningsläge. På LGDR-3500 finns det en learn-knapp dom man startar inlärningen med. En röd lysdiod blinkar under det några sekunder långa inlärningsläget. PBR-2300 går automatiskt in i inlärningsläge när den ansluts till vägguttaget och en röd lysdiod blinkar under några sekunder.
För att lära strömbrytaren med id = 1 sin kod försätter man den i inlärningsläge och ger kommandot:
tdtool –learn 1
och sen detsamma den med id = 2:
tdtool –learn 2
När strömbrytarna är upplärda så slår de av och på sig själva ett par gånger under två sekunder.
Därefter kan man styra dem med kommandot:
tdtool –on 1
respektive
tdtool –off 1
Om du har andra typer av enheter måste /etc/tellstick.conf anpassas till dem. Läs mer om detta i Telldus Wiki.
För med hjälp om kommandot tdtool skriv:
tdtool –help

http://tummelplatsen.se/wiki/Raspberry_Pi_och_en_Tellstick

Octoprint Update

Hur uppdatera Octoprint

https://github.com/foosel/OctoPrint/wiki/Setup-on-a-Raspberry-Pi-running-Raspbian

Updating

In order to update your installation to the current status from the repository, perform the following steps:

Password: raspberry

cd ~/OctoPrint/
git pull
sudo pip install -r requirements.txt
If you want to switch to a different branch, e.g. devel or a feature branch, perform the following commands:

cd ~/OctoPrint/
git pull
git checkout
sudo pip install -r requirements.txt
The stable branch is master, the development branch is devel, feature branches vary depending on the current development focus.